diff --git a/pkg/model/action.go b/pkg/model/action.go index 9a69e64..6da142e 100644 --- a/pkg/model/action.go +++ b/pkg/model/action.go @@ -20,7 +20,7 @@ func (a *ActionRunsUsing) UnmarshalYAML(unmarshal func(interface{}) error) error // Force input to lowercase for case insensitive comparison format := ActionRunsUsing(strings.ToLower(using)) switch format { - case ActionRunsUsingNode16, ActionRunsUsingNode12, ActionRunsUsingDocker, ActionRunsUsingComposite: + case ActionRunsUsingNode20, ActionRunsUsingNode16, ActionRunsUsingNode12, ActionRunsUsingDocker, ActionRunsUsingComposite: *a = format default: return fmt.Errorf(fmt.Sprintf("The runs.using key in action.yml must be one of: %v, got %s", []string{ @@ -28,6 +28,7 @@ func (a *ActionRunsUsing) UnmarshalYAML(unmarshal func(interface{}) error) error ActionRunsUsingDocker, ActionRunsUsingNode12, ActionRunsUsingNode16, + ActionRunsUsingNode20, }, format)) } return nil @@ -36,8 +37,10 @@ func (a *ActionRunsUsing) UnmarshalYAML(unmarshal func(interface{}) error) error const ( // ActionRunsUsingNode12 for running with node12 ActionRunsUsingNode12 = "node12" - // ActionRunsUsingNode12 for running with node16 + // ActionRunsUsingNode16 for running with node16 ActionRunsUsingNode16 = "node16" + // ActionRunsUsingNode20 for running with node20 + ActionRunsUsingNode20 = "node20" // ActionRunsUsingDocker for running with docker ActionRunsUsingDocker = "docker" // ActionRunsUsingComposite for running composite diff --git a/pkg/runner/action.go b/pkg/runner/action.go index 9bab9ba..a8b8912 100644 --- a/pkg/runner/action.go +++ b/pkg/runner/action.go @@ -149,7 +149,7 @@ func runActionImpl(step actionStep, actionDir string, remoteAction *remoteAction logger.Debugf("type=%v actionDir=%s actionPath=%s workdir=%s actionCacheDir=%s actionName=%s containerActionDir=%s", stepModel.Type(), actionDir, actionPath, rc.Config.Workdir, rc.ActionCacheDir(), actionName, containerActionDir) switch action.Runs.Using { - case model.ActionRunsUsingNode12, model.ActionRunsUsingNode16: + case model.ActionRunsUsingNode12, model.ActionRunsUsingNode16, model.ActionRunsUsingNode20: if err := maybeCopyToActionDir(ctx, step, actionDir, actionPath, containerActionDir); err != nil { return err } @@ -176,6 +176,7 @@ func runActionImpl(step actionStep, actionDir string, remoteAction *remoteAction model.ActionRunsUsingDocker, model.ActionRunsUsingNode12, model.ActionRunsUsingNode16, + model.ActionRunsUsingNode20, model.ActionRunsUsingComposite, }, action.Runs.Using)) } @@ -456,7 +457,8 @@ func hasPreStep(step actionStep) common.Conditional { action := step.getActionModel() return action.Runs.Using == model.ActionRunsUsingComposite || ((action.Runs.Using == model.ActionRunsUsingNode12 || - action.Runs.Using == model.ActionRunsUsingNode16) && + action.Runs.Using == model.ActionRunsUsingNode16 || + action.Runs.Using == model.ActionRunsUsingNode20) && action.Runs.Pre != "") } } @@ -471,7 +473,7 @@ func runPreStep(step actionStep) common.Executor { action := step.getActionModel() switch action.Runs.Using { - case model.ActionRunsUsingNode12, model.ActionRunsUsingNode16: + case model.ActionRunsUsingNode12, model.ActionRunsUsingNode16, model.ActionRunsUsingNode20: // defaults in pre steps were missing, however provided inputs are available populateEnvsFromInput(ctx, step.getEnv(), action, rc) // todo: refactor into step @@ -551,7 +553,8 @@ func hasPostStep(step actionStep) common.Conditional { action := step.getActionModel() return action.Runs.Using == model.ActionRunsUsingComposite || ((action.Runs.Using == model.ActionRunsUsingNode12 || - action.Runs.Using == model.ActionRunsUsingNode16) && + action.Runs.Using == model.ActionRunsUsingNode16 || + action.Runs.Using == model.ActionRunsUsingNode20) && action.Runs.Post != "") } } @@ -586,7 +589,7 @@ func runPostStep(step actionStep) common.Executor { _, containerActionDir := getContainerActionPaths(stepModel, actionLocation, rc) switch action.Runs.Using { - case model.ActionRunsUsingNode12, model.ActionRunsUsingNode16: + case model.ActionRunsUsingNode12, model.ActionRunsUsingNode16, model.ActionRunsUsingNode20: populateEnvsFromSavedState(step.getEnv(), step, rc) diff --git a/pkg/runner/testdata/actions/node20/README.md b/pkg/runner/testdata/actions/node20/README.md new file mode 100644 index 0000000..95b1819 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/README.md @@ -0,0 +1,3 @@ +### Updating + +If an update to this app is required, it must be done manually via `npm run-script build` since the `node_modules` are not shared. diff --git a/pkg/runner/testdata/actions/node20/action.yml b/pkg/runner/testdata/actions/node20/action.yml new file mode 100644 index 0000000..740c617 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/action.yml @@ -0,0 +1,13 @@ +name: 'Hello World' +description: 'Greet someone and record the time' +inputs: + who-to-greet: # id of input + description: 'Who to greet' + required: true + default: 'World' +outputs: + time: # id of output + description: 'The time we greeted you' +runs: + using: 'node20' + main: 'dist/index.js' diff --git a/pkg/runner/testdata/actions/node20/dist/index.js b/pkg/runner/testdata/actions/node20/dist/index.js new file mode 100644 index 0000000..152f248 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/dist/index.js @@ -0,0 +1,8666 @@ +module.exports = +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 2932: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +const core = __webpack_require__(2186); +const github = __webpack_require__(5438); + +try { + // `who-to-greet` input defined in action metadata file + const nameToGreet = core.getInput('who-to-greet'); + console.log(`Hello ${nameToGreet}!`); + const time = (new Date()).toTimeString(); + core.setOutput("time", time); + // Get the JSON webhook payload for the event that triggered the workflow + const payload = JSON.stringify(github.context.payload, undefined, 2) + console.log(`The event payload: ${payload}`); +} catch (error) { + core.setFailed(error.message); +} + +/***/ }), + +/***/ 7351: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(__webpack_require__(2087)); +const utils_1 = __webpack_require__(5278); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map + +/***/ }), + +/***/ 2186: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +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()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +const command_1 = __webpack_require__(7351); +const file_command_1 = __webpack_require__(717); +const utils_1 = __webpack_require__(5278); +const os = __importStar(__webpack_require__(2087)); +const path = __importStar(__webpack_require__(5622)); +const oidc_utils_1 = __webpack_require__(8041); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + const delimiter = '_GitHubActionsFileCommandDelimeter_'; + const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; + file_command_1.issueCommand('ENV', commandValue); + } + else { + command_1.issueCommand('set-env', { name }, convertedVal); + } +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + file_command_1.issueCommand('PATH', inputPath); + } + else { + command_1.issueCommand('add-path', {}, inputPath); + } + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + return inputs; +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, value); +} +exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.error = error; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + command_1.issueCommand('save-state', { name }, value); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +//# sourceMappingURL=core.js.map + +/***/ }), + +/***/ 717: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// For internal use, subject to change. +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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.issueCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const fs = __importStar(__webpack_require__(5747)); +const os = __importStar(__webpack_require__(2087)); +const utils_1 = __webpack_require__(5278); +function issueCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueCommand = issueCommand; +//# sourceMappingURL=file-command.js.map + +/***/ }), + +/***/ 8041: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +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()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OidcClient = void 0; +const http_client_1 = __webpack_require__(9925); +const auth_1 = __webpack_require__(3702); +const core_1 = __webpack_require__(2186); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map + +/***/ }), + +/***/ 5278: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 4087: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Context = void 0; +const fs_1 = __webpack_require__(5747); +const os_1 = __webpack_require__(2087); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map + +/***/ }), + +/***/ 5438: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"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 (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOctokit = exports.context = void 0; +const Context = __importStar(__webpack_require__(4087)); +const utils_1 = __webpack_require__(3030); +exports.context = new Context.Context(); +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokit(token, options) { + return new utils_1.GitHub(utils_1.getOctokitOptions(token, options)); +} +exports.getOctokit = getOctokit; +//# sourceMappingURL=github.js.map + +/***/ }), + +/***/ 7914: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"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 (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; +const httpClient = __importStar(__webpack_require__(9925)); +function getAuthString(token, options) { + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; +} +exports.getAuthString = getAuthString; +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +exports.getProxyAgent = getProxyAgent; +function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; +} +exports.getApiBaseUrl = getApiBaseUrl; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 3030: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"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 (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOctokitOptions = exports.GitHub = exports.context = void 0; +const Context = __importStar(__webpack_require__(4087)); +const Utils = __importStar(__webpack_require__(7914)); +// octokit + plugins +const core_1 = __webpack_require__(6762); +const plugin_rest_endpoint_methods_1 = __webpack_require__(3044); +const plugin_paginate_rest_1 = __webpack_require__(4193); +exports.context = new Context.Context(); +const baseUrl = Utils.getApiBaseUrl(); +const defaults = { + baseUrl, + request: { + agent: Utils.getProxyAgent(baseUrl) + } +}; +exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(defaults); +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokitOptions(token, options) { + const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = Utils.getAuthString(token, opts); + if (auth) { + opts.auth = auth; + } + return opts; +} +exports.getOctokitOptions = getOctokitOptions; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 3702: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + options.headers['Authorization'] = + 'Basic ' + + Buffer.from(this.username + ':' + this.password).toString('base64'); + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + options.headers['Authorization'] = 'Bearer ' + this.token; + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + options.headers['Authorization'] = + 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; + + +/***/ }), + +/***/ 9925: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const http = __webpack_require__(8605); +const https = __webpack_require__(7211); +const pm = __webpack_require__(6443); +let tunnel; +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return new Promise(async (resolve, reject) => { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + let parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + } + get(requestUrl, additionalHeaders) { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + } + del(requestUrl, additionalHeaders) { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + } + post(requestUrl, data, additionalHeaders) { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + } + patch(requestUrl, data, additionalHeaders) { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + } + put(requestUrl, data, additionalHeaders) { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + } + head(requestUrl, additionalHeaders) { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return this.request(verb, requestUrl, stream, additionalHeaders); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + async getJson(requestUrl, additionalHeaders = {}) { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + let res = await this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async postJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async putJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async patchJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + async request(verb, requestUrl, data, headers) { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + let parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + while (numTries < maxTries) { + response = await this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (let i = 0; i < this.handlers.length; i++) { + if (this.handlers[i].canHandleAuthentication(response)) { + authenticationHandler = this.handlers[i]; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + let parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol == 'https:' && + parsedUrl.protocol != parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + await response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (let header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = await this.requestRaw(info, data); + redirectsRemaining--; + } + if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + await response.readBody(); + await this._performExponentialBackoff(numTries); + } + } + return response; + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return new Promise((resolve, reject) => { + let callbackForResult = function (err, res) { + if (err) { + reject(err); + } + resolve(res); + }; + this.requestRawWithCallback(info, data, callbackForResult); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + let socket; + if (typeof data === 'string') { + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + let handleResult = (err, res) => { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + }; + let req = info.httpModule.request(info.options, (msg) => { + let res = new HttpClientResponse(msg); + handleResult(null, res); + }); + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error('Request timeout: ' + info.options.path), null); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err, null); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + let parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + this.handlers.forEach(handler => { + handler.prepareRequest(info.options); + }); + } + return info; + } + _mergeHeaders(headers) { + const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + let proxyUrl = pm.getProxyUrl(parsedUrl); + let useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (!!agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (!!this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + if (useProxy) { + // If using proxy, need tunnel + if (!tunnel) { + tunnel = __webpack_require__(4294); + } + const agentOptions = { + maxSockets: maxSockets, + keepAlive: this._keepAlive, + proxy: { + ...((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + }), + host: proxyUrl.hostname, + port: proxyUrl.port + } + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + } + static dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + let a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + async _processResponse(res, options) { + return new Promise(async (resolve, reject) => { + const statusCode = res.message.statusCode; + const response = { + statusCode: statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode == HttpCodes.NotFound) { + resolve(response); + } + let obj; + let contents; + // get the result from the body + try { + contents = await res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = 'Failed request: (' + statusCode + ')'; + } + let err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + }); + } +} +exports.HttpClient = HttpClient; + + +/***/ }), + +/***/ 6443: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +function getProxyUrl(reqUrl) { + let usingSsl = reqUrl.protocol === 'https:'; + let proxyUrl; + if (checkBypass(reqUrl)) { + return proxyUrl; + } + let proxyVar; + if (usingSsl) { + proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + if (proxyVar) { + proxyUrl = new URL(proxyVar); + } + return proxyUrl; +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + let upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (let upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; + + +/***/ }), + +/***/ 334: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 6762: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var universalUserAgent = __webpack_require__(5030); +var beforeAfterHook = __webpack_require__(3682); +var request = __webpack_require__(6234); +var graphql = __webpack_require__(8467); +var authToken = __webpack_require__(334); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +const VERSION = "3.5.1"; + +const _excluded = ["authStrategy"]; +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); + + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 + + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } + + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } + + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 9440: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var isPlainObject = __webpack_require__(3287); +var universalUserAgent = __webpack_require__(5030); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten + + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + + if (names.length === 0) { + return url; + } + + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; + +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} + +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + + if (!matches) { + return []; + } + + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 OWNER 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. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + + return part; + }).join(""); +} + +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} + +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} + +function isDefined(value) { + return value !== undefined && value !== null; +} + +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} + +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + + return result; +} + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} + +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later + + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set + + + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + + + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 8467: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var request = __webpack_require__(6234); +var universalUserAgent = __webpack_require__(5030); + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 4193: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const VERSION = "2.17.0"; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } + + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return _objectSpread2(_objectSpread2({}, response), {}, { + data: [] + }); + } + + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + + response.data.total_count = totalCount; + return response; +} + +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) return { + done: true + }; + + try { + const response = await requestMethod({ + method, + url, + headers + }); + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: normalizedResponse + }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} + +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + + let earlyExit = false; + + function done() { + earlyExit = true; + } + + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + + if (earlyExit) { + return results; + } + + return gather(octokit, results, iterator, mapFn); + }); +} + +const composePaginateRest = Object.assign(paginate, { + iterator +}); + +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/actions/runners/downloads", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/runners/downloads", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/blocks", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/events", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runners/downloads", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/autolinks", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /scim/v2/enterprises/{enterprise}/Groups", "GET /scim/v2/enterprises/{enterprise}/Users", "GET /scim/v2/organizations/{org}/Users", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/team-sync/group-mappings", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; +exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 3044: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { + renamed: ["actions", "getGithubActionsPermissionsRepository"] + }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: ["POST /content_references/{content_reference_id}/attachments", { + mediaType: { + previews: ["corsair"] + } + }], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { + renamedParameters: { + alert_id: "alert_number" + } + }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct", { + mediaType: { + previews: ["scarlet-witch"] + } + }], + getConductCode: ["GET /codes_of_conduct/{key}", { + mediaType: { + previews: ["scarlet-witch"] + } + }], + getForRepo: ["GET /repos/{owner}/{repo}/community/code_of_conduct", { + mediaType: { + previews: ["scarlet-witch"] + } + }] + }, + emojis: { + get: ["GET /emojis"] + }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], + getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], + listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], + setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], + setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], + setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { + renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] + }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { + renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] + }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { + renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] + }] + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", { + mediaType: { + previews: ["mockingbird"] + } + }], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: ["POST /markdown/raw", { + headers: { + "content-type": "text/plain; charset=utf-8" + } + }] + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}", { + mediaType: { + previews: ["wyandotte"] + } + }], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}", { + mediaType: { + previews: ["wyandotte"] + } + }], + listForAuthenticatedUser: ["GET /user/migrations", { + mediaType: { + previews: ["wyandotte"] + } + }], + listForOrg: ["GET /orgs/{org}/migrations", { + mediaType: { + previews: ["wyandotte"] + } + }], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories", { + mediaType: { + previews: ["wyandotte"] + } + }], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", { + mediaType: { + previews: ["wyandotte"] + } + }], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", { + mediaType: { + previews: ["wyandotte"] + } + }], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", { + mediaType: { + previews: ["wyandotte"] + } + }], + updateImport: ["PATCH /repos/{owner}/{repo}/import"] + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}", { + mediaType: { + previews: ["inertia"] + } + }], + createCard: ["POST /projects/columns/{column_id}/cards", { + mediaType: { + previews: ["inertia"] + } + }], + createColumn: ["POST /projects/{project_id}/columns", { + mediaType: { + previews: ["inertia"] + } + }], + createForAuthenticatedUser: ["POST /user/projects", { + mediaType: { + previews: ["inertia"] + } + }], + createForOrg: ["POST /orgs/{org}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + createForRepo: ["POST /repos/{owner}/{repo}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + delete: ["DELETE /projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + deleteCard: ["DELETE /projects/columns/cards/{card_id}", { + mediaType: { + previews: ["inertia"] + } + }], + deleteColumn: ["DELETE /projects/columns/{column_id}", { + mediaType: { + previews: ["inertia"] + } + }], + get: ["GET /projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + getCard: ["GET /projects/columns/cards/{card_id}", { + mediaType: { + previews: ["inertia"] + } + }], + getColumn: ["GET /projects/columns/{column_id}", { + mediaType: { + previews: ["inertia"] + } + }], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission", { + mediaType: { + previews: ["inertia"] + } + }], + listCards: ["GET /projects/columns/{column_id}/cards", { + mediaType: { + previews: ["inertia"] + } + }], + listCollaborators: ["GET /projects/{project_id}/collaborators", { + mediaType: { + previews: ["inertia"] + } + }], + listColumns: ["GET /projects/{project_id}/columns", { + mediaType: { + previews: ["inertia"] + } + }], + listForOrg: ["GET /orgs/{org}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + listForRepo: ["GET /repos/{owner}/{repo}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + listForUser: ["GET /users/{username}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + moveCard: ["POST /projects/columns/cards/{card_id}/moves", { + mediaType: { + previews: ["inertia"] + } + }], + moveColumn: ["POST /projects/columns/{column_id}/moves", { + mediaType: { + previews: ["inertia"] + } + }], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}", { + mediaType: { + previews: ["inertia"] + } + }], + update: ["PATCH /projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + updateCard: ["PATCH /projects/columns/cards/{card_id}", { + mediaType: { + previews: ["inertia"] + } + }], + updateColumn: ["PATCH /projects/columns/{column_id}", { + mediaType: { + previews: ["inertia"] + } + }] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", { + mediaType: { + previews: ["lydian"] + } + }], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] + }, + rateLimit: { + get: ["GET /rate_limit"] + }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteLegacy: ["DELETE /reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }, { + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy" + }], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }] + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts", { + mediaType: { + previews: ["dorian"] + } + }], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { + mediaType: { + previews: ["zzzax"] + } + }], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages", { + mediaType: { + previews: ["switcheroo"] + } + }], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate", { + mediaType: { + previews: ["baptiste"] + } + }], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { + mediaType: { + previews: ["zzzax"] + } + }], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages", { + mediaType: { + previews: ["switcheroo"] + } + }], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes", { + mediaType: { + previews: ["london"] + } + }], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts", { + mediaType: { + previews: ["dorian"] + } + }], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { + renamed: ["repos", "downloadZipballArchive"] + }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes", { + mediaType: { + previews: ["london"] + } + }], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts", { + mediaType: { + previews: ["dorian"] + } + }], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics", { + mediaType: { + previews: ["mercy"] + } + }], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { + mediaType: { + previews: ["zzzax"] + } + }], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", { + mediaType: { + previews: ["groot"] + } + }], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", { + mediaType: { + previews: ["groot"] + } + }], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics", { + mediaType: { + previews: ["mercy"] + } + }], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { + renamed: ["repos", "updateStatusCheckProtection"] + }], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { + baseUrl: "https://uploads.github.com" + }] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits", { + mediaType: { + previews: ["cloak"] + } + }], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { + mediaType: { + previews: ["mercy"] + } + }], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; + +const VERSION = "4.15.1"; + +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ + method, + url + }, defaults); + + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + + const scopeMethods = newMethods[scope]; + + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + + return newMethods; +} + +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` + + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined + }); + return requestWithDefaults(options); + } + + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + + if (!(alias in options)) { + options[alias] = options[name]; + } + + delete options[name]; + } + } + + return requestWithDefaults(options); + } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + + + return requestWithDefaults(...args); + } + + return Object.assign(withDecorations, requestWithDefaults); +} + +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return _objectSpread2(_objectSpread2({}, api), {}, { + rest: api + }); +} +restEndpointMethods.VERSION = VERSION; + +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 537: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __webpack_require__(8932); +var once = _interopDefault(__webpack_require__(1223)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options + + + const requestCopy = Object.assign({}, options.request); + + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); + } + +} + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 6234: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = __webpack_require__(9440); +var universalUserAgent = __webpack_require__(5030); +var isPlainObject = __webpack_require__(3287); +var nodeFetch = _interopDefault(__webpack_require__(467)); +var requestError = __webpack_require__(537); + +const VERSION = "5.6.2"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requests + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); + } + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); + }); +} + +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 3682: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var register = __webpack_require__(4670) +var addHook = __webpack_require__(5549) +var removeHook = __webpack_require__(6819) + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind +var bindable = bind.bind(bind) + +function bindApi (hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]) + hook.api = { remove: removeHookRef } + hook.remove = removeHookRef + + ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind] + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) + }) +} + +function HookSingular () { + var singularHookName = 'h' + var singularHookState = { + registry: {} + } + var singularHook = register.bind(null, singularHookState, singularHookName) + bindApi(singularHook, singularHookState, singularHookName) + return singularHook +} + +function HookCollection () { + var state = { + registry: {} + } + + var hook = register.bind(null, state) + bindApi(hook, state) + + return hook +} + +var collectionHookDeprecationMessageDisplayed = false +function Hook () { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4') + collectionHookDeprecationMessageDisplayed = true + } + return HookCollection() +} + +Hook.Singular = HookSingular.bind() +Hook.Collection = HookCollection.bind() + +module.exports = Hook +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook +module.exports.Singular = Hook.Singular +module.exports.Collection = Hook.Collection + + +/***/ }), + +/***/ 5549: +/***/ ((module) => { + +module.exports = addHook; + +function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = function (method, options) { + var result; + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_; + return orig(result, options); + }) + .then(function () { + return result; + }); + }; + } + + if (kind === "error") { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} + + +/***/ }), + +/***/ 4670: +/***/ ((module) => { + +module.exports = register; + +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + + if (!options) { + options = {}; + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} + + +/***/ }), + +/***/ 6819: +/***/ ((module) => { + +module.exports = removeHook; + +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} + + +/***/ }), + +/***/ 8932: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; + + +/***/ }), + +/***/ 3287: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(o) { + return Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (ctor === undefined) return true; + + // If has modified prototype + prot = ctor.prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +exports.isPlainObject = isPlainObject; + + +/***/ }), + +/***/ 467: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(__webpack_require__(2413)); +var http = _interopDefault(__webpack_require__(8605)); +var Url = _interopDefault(__webpack_require__(8835)); +var whatwgUrl = _interopDefault(__webpack_require__(8665)); +var https = _interopDefault(__webpack_require__(7211)); +var zlib = _interopDefault(__webpack_require__(8761)); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = __webpack_require__(2877).convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; +const resolve_url = Url.resolve; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + request.body.destroy(error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + finalize(); + }); + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + const locationURL = location === null ? null : resolve_url(request.url, location); + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.default = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; + + +/***/ }), + +/***/ 1223: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var wrappy = __webpack_require__(2940) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + + +/***/ }), + +/***/ 4256: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var punycode = __webpack_require__(4213); +var mappingTable = __webpack_require__(68); + +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; + + +/***/ }), + +/***/ 4294: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +module.exports = __webpack_require__(4219); + + +/***/ }), + +/***/ 4219: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +var net = __webpack_require__(1631); +var tls = __webpack_require__(4016); +var http = __webpack_require__(8605); +var https = __webpack_require__(7211); +var events = __webpack_require__(8614); +var assert = __webpack_require__(2357); +var util = __webpack_require__(1669); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test + + +/***/ }), + +/***/ 5030: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + + return ""; +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 4886: +/***/ ((module) => { + +"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; +}; + + +/***/ }), + +/***/ 7537: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +const usm = __webpack_require__(2158); + +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; + } +}; + + +/***/ }), + +/***/ 3394: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +const conversions = __webpack_require__(4886); +const utils = __webpack_require__(3185); +const Impl = __webpack_require__(7537); + +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 } + } +}; + + + +/***/ }), + +/***/ 8665: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.URL = __webpack_require__(3394).interface; +exports.serializeURL = __webpack_require__(2158).serializeURL; +exports.serializeURLOrigin = __webpack_require__(2158).serializeURLOrigin; +exports.basicURLParse = __webpack_require__(2158).basicURLParse; +exports.setTheUsername = __webpack_require__(2158).setTheUsername; +exports.setThePassword = __webpack_require__(2158).setThePassword; +exports.serializeHost = __webpack_require__(2158).serializeHost; +exports.serializeInteger = __webpack_require__(2158).serializeInteger; +exports.parseURL = __webpack_require__(2158).parseURL; + + +/***/ }), + +/***/ 2158: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + +const punycode = __webpack_require__(4213); +const tr46 = __webpack_require__(4256); + +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 }); +}; + + +/***/ }), + +/***/ 3185: +/***/ ((module) => { + +"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]; +}; + + + +/***/ }), + +/***/ 2940: +/***/ ((module) => { + +// 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 + } +} + + +/***/ }), + +/***/ 2877: +/***/ ((module) => { + +module.exports = eval("require")("encoding"); + + +/***/ }), + +/***/ 68: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse("[[[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\"]]"); + +/***/ }), + +/***/ 2357: +/***/ ((module) => { + +"use strict"; +module.exports = require("assert"); + +/***/ }), + +/***/ 8614: +/***/ ((module) => { + +"use strict"; +module.exports = require("events"); + +/***/ }), + +/***/ 5747: +/***/ ((module) => { + +"use strict"; +module.exports = require("fs"); + +/***/ }), + +/***/ 8605: +/***/ ((module) => { + +"use strict"; +module.exports = require("http"); + +/***/ }), + +/***/ 7211: +/***/ ((module) => { + +"use strict"; +module.exports = require("https"); + +/***/ }), + +/***/ 1631: +/***/ ((module) => { + +"use strict"; +module.exports = require("net"); + +/***/ }), + +/***/ 2087: +/***/ ((module) => { + +"use strict"; +module.exports = require("os"); + +/***/ }), + +/***/ 5622: +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }), + +/***/ 4213: +/***/ ((module) => { + +"use strict"; +module.exports = require("punycode"); + +/***/ }), + +/***/ 2413: +/***/ ((module) => { + +"use strict"; +module.exports = require("stream"); + +/***/ }), + +/***/ 4016: +/***/ ((module) => { + +"use strict"; +module.exports = require("tls"); + +/***/ }), + +/***/ 8835: +/***/ ((module) => { + +"use strict"; +module.exports = require("url"); + +/***/ }), + +/***/ 1669: +/***/ ((module) => { + +"use strict"; +module.exports = require("util"); + +/***/ }), + +/***/ 8761: +/***/ ((module) => { + +"use strict"; +module.exports = require("zlib"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete __webpack_module_cache__[moduleId]; +/******/ } +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat */ +/******/ +/******/ __webpack_require__.ab = __dirname + "/";/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __webpack_require__(2932); +/******/ })() +; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/index.js b/pkg/runner/testdata/actions/node20/index.js new file mode 100644 index 0000000..5767cf1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/index.js @@ -0,0 +1,15 @@ +const core = require('@actions/core'); +const github = require('@actions/github'); + +try { + // `who-to-greet` input defined in action metadata file + const nameToGreet = core.getInput('who-to-greet'); + console.log(`Hello ${nameToGreet}!`); + const time = (new Date()).toTimeString(); + core.setOutput("time", time); + // Get the JSON webhook payload for the event that triggered the workflow + const payload = JSON.stringify(github.context.payload, undefined, 2) + console.log(`The event payload: ${payload}`); +} catch (error) { + core.setFailed(error.message); +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/.bin/ncc b/pkg/runner/testdata/actions/node20/node_modules/.bin/ncc new file mode 120000 index 0000000..e05914a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/.bin/ncc @@ -0,0 +1 @@ +../@vercel/ncc/dist/ncc/cli.js \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/.bin/uuid b/pkg/runner/testdata/actions/node20/node_modules/.bin/uuid new file mode 120000 index 0000000..588f70e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/.bin/uuid @@ -0,0 +1 @@ +../uuid/dist/bin/uuid \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/.package-lock.json b/pkg/runner/testdata/actions/node20/node_modules/.package-lock.json new file mode 100644 index 0000000..45314f1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/.package-lock.json @@ -0,0 +1,244 @@ +{ + "name": "node16", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/github": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-4.0.0.tgz", + "integrity": "sha512-Ej/Y2E+VV6sR9X7pWL5F3VgEWrABaT292DRqRU6R4hnQjPtC/zD3nagxVdXWiRQvYDh8kHXo7IDmG42eJ/dOMA==", + "dependencies": { + "@actions/http-client": "^1.0.8", + "@octokit/core": "^3.0.0", + "@octokit/plugin-paginate-rest": "^2.2.3", + "@octokit/plugin-rest-endpoint-methods": "^4.0.0" + } + }, + "node_modules/@actions/github/node_modules/@actions/http-client": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", + "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "dependencies": { + "tunnel": "0.0.6" + } + }, + "node_modules/@actions/http-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.1.tgz", + "integrity": "sha512-qhrkRMB40bbbLo7gF+0vu+X+UawOvQQqNAA/5Unx774RS8poaOhThDOG6BGmxvAnxhQnDp2BG/ZUm65xZILTpw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "dependencies": { + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.15.1.tgz", + "integrity": "sha512-4gQg4ySoW7ktKB0Mf38fHzcSffVZd6mT5deJQtpqkuPuAqzlED5AJTeW8Uk7dPRn7KaOlWcXB0MedTFJU1j4qA==", + "dependencies": { + "@octokit/types": "^6.13.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@vercel/ncc": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.24.1.tgz", + "integrity": "sha512-r9m7brz2hNmq5TF3sxrK4qR/FhXn44XIMglQUir4sT7Sh5GOaYXlMYikHFwJStf8rmQGTlvOoBXt4yHVonRG8A==", + "dev": true, + "bin": { + "ncc": "dist/ncc/cli.js" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/LICENSE.md b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/LICENSE.md new file mode 100644 index 0000000..dbae2ed --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +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. \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/README.md b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/README.md new file mode 100644 index 0000000..3c20c8e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/README.md @@ -0,0 +1,335 @@ +# `@actions/core` + +> Core functions for setting results, logging, registering secrets and exporting variables across actions + +## Usage + +### Import the package + +```js +// javascript +const core = require('@actions/core'); + +// typescript +import * as core from '@actions/core'; +``` + +#### Inputs/Outputs + +Action inputs can be read with `getInput` which returns a `string` or `getBooleanInput` which parses a boolean based on the [yaml 1.2 specification](https://yaml.org/spec/1.2/spec.html#id2804923). If `required` set to be false, the input should have a default value in `action.yml`. + +Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled. + +```js +const myInput = core.getInput('inputName', { required: true }); +const myBooleanInput = core.getBooleanInput('booleanInputName', { required: true }); +const myMultilineInput = core.getMultilineInput('multilineInputName', { required: true }); +core.setOutput('outputKey', 'outputVal'); +``` + +#### Exporting variables + +Since each step runs in a separate process, you can use `exportVariable` to add it to this step and future steps environment blocks. + +```js +core.exportVariable('envVar', 'Val'); +``` + +#### Setting a secret + +Setting a secret registers the secret with the runner to ensure it is masked in logs. + +```js +core.setSecret('myPassword'); +``` + +#### PATH Manipulation + +To make a tool's path available in the path for the remainder of the job (without altering the machine or containers state), use `addPath`. The runner will prepend the path given to the jobs PATH. + +```js +core.addPath('/path/to/mytool'); +``` + +#### Exit codes + +You should use this library to set the failing exit code for your action. If status is not set and the script runs to completion, that will lead to a success. + +```js +const core = require('@actions/core'); + +try { + // Do stuff +} +catch (err) { + // setFailed logs the message and sets a failing exit code + core.setFailed(`Action failed with error ${err}`); +} +``` + +Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned. + +#### Logging + +Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs). + +```js +const core = require('@actions/core'); + +const myInput = core.getInput('input'); +try { + core.debug('Inside try block'); + + if (!myInput) { + core.warning('myInput was not set'); + } + + if (core.isDebug()) { + // curl -v https://github.com + } else { + // curl https://github.com + } + + // Do stuff + core.info('Output to the actions build log') + + core.notice('This is a message that will also emit an annotation') +} +catch (err) { + core.error(`Error ${err}, action may still succeed though`); +} +``` + +This library can also wrap chunks of output in foldable groups. + +```js +const core = require('@actions/core') + +// Manually wrap output +core.startGroup('Do some function') +doSomeFunction() +core.endGroup() + +// Wrap an asynchronous function call +const result = await core.group('Do something async', async () => { + const response = await doSomeHTTPRequest() + return response +}) +``` + +#### Annotations + +This library has 3 methods that will produce [annotations](https://docs.github.com/en/rest/reference/checks#create-a-check-run). +```js +core.error('This is a bad error. This will also fail the build.') + +core.warning('Something went wrong, but it\'s not bad enough to fail the build.') + +core.notice('Something happened that you might want to know about.') +``` + +These will surface to the UI in the Actions page and on Pull Requests. They look something like this: + +![Annotations Image](../../docs/assets/annotations.png) + +These annotations can also be attached to particular lines and columns of your source files to show exactly where a problem is occuring. + +These options are: +```typescript +export interface AnnotationProperties { + /** + * A title for the annotation. + */ + title?: string + + /** + * The name of the file for which the annotation should be created. + */ + file?: string + + /** + * The start line for the annotation. + */ + startLine?: number + + /** + * The end line for the annotation. Defaults to `startLine` when `startLine` is provided. + */ + endLine?: number + + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + */ + startColumn?: number + + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * Defaults to `startColumn` when `startColumn` is provided. + */ + endColumn?: number +} +``` + +#### Styling output + +Colored output is supported in the Action logs via standard [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code). 3/4 bit, 8 bit and 24 bit colors are all supported. + +Foreground colors: + +```js +// 3/4 bit +core.info('\u001b[35mThis foreground will be magenta') + +// 8 bit +core.info('\u001b[38;5;6mThis foreground will be cyan') + +// 24 bit +core.info('\u001b[38;2;255;0;0mThis foreground will be bright red') +``` + +Background colors: + +```js +// 3/4 bit +core.info('\u001b[43mThis background will be yellow'); + +// 8 bit +core.info('\u001b[48;5;6mThis background will be cyan') + +// 24 bit +core.info('\u001b[48;2;255;0;0mThis background will be bright red') +``` + +Special styles: + +```js +core.info('\u001b[1mBold text') +core.info('\u001b[3mItalic text') +core.info('\u001b[4mUnderlined text') +``` + +ANSI escape codes can be combined with one another: + +```js +core.info('\u001b[31;46mRed foreground with a cyan background and \u001b[1mbold text at the end'); +``` + +> Note: Escape codes reset at the start of each line + +```js +core.info('\u001b[35mThis foreground will be magenta') +core.info('This foreground will reset to the default') +``` + +Manually typing escape codes can be a little difficult, but you can use third party modules such as [ansi-styles](https://github.com/chalk/ansi-styles). + +```js +const style = require('ansi-styles'); +core.info(style.color.ansi16m.hex('#abcdef') + 'Hello world!') +``` + +#### Action state + +You can use this library to save state and get state for sharing information between a given wrapper action: + +**action.yml**: + +```yaml +name: 'Wrapper action sample' +inputs: + name: + default: 'GitHub' +runs: + using: 'node12' + main: 'main.js' + post: 'cleanup.js' +``` + +In action's `main.js`: + +```js +const core = require('@actions/core'); + +core.saveState("pidToKill", 12345); +``` + +In action's `cleanup.js`: + +```js +const core = require('@actions/core'); + +var pid = core.getState("pidToKill"); + +process.kill(pid); +``` + +#### OIDC Token + +You can use these methods to interact with the GitHub OIDC provider and get a JWT ID token which would help to get access token from third party cloud providers. + +**Method Name**: getIDToken() + +**Inputs** + +audience : optional + +**Outputs** + +A [JWT](https://jwt.io/) ID Token + +In action's `main.ts`: +```js +const core = require('@actions/core'); +async function getIDTokenAction(): Promise { + + const audience = core.getInput('audience', {required: false}) + + const id_token1 = await core.getIDToken() // ID Token with default audience + const id_token2 = await core.getIDToken(audience) // ID token with custom audience + + // this id_token can be used to get access token from third party cloud providers +} +getIDTokenAction() +``` + +In action's `actions.yml`: + +```yaml +name: 'GetIDToken' +description: 'Get ID token from Github OIDC provider' +inputs: + audience: + description: 'Audience for which the ID token is intended for' + required: false +outputs: + id_token1: + description: 'ID token obtained from OIDC provider' + id_token2: + description: 'ID token obtained from OIDC provider' +runs: + using: 'node12' + main: 'dist/index.js' +``` + +#### Filesystem path helpers + +You can use these methods to manipulate file paths across operating systems. + +The `toPosixPath` function converts input paths to Posix-style (Linux) paths. +The `toWin32Path` function converts input paths to Windows-style paths. These +functions work independently of the underlying runner operating system. + +```js +toPosixPath('\\foo\\bar') // => /foo/bar +toWin32Path('/foo/bar') // => \foo\bar +``` + +The `toPlatformPath` function converts input paths to the expected value on the runner's operating system. + +```js +// On a Windows runner. +toPlatformPath('/foo/bar') // => \foo\bar + +// On a Linux runner. +toPlatformPath('\\foo\\bar') // => /foo/bar +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.d.ts new file mode 100644 index 0000000..53f8f4b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.d.ts @@ -0,0 +1,15 @@ +export interface CommandProperties { + [key: string]: any; +} +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +export declare function issueCommand(command: string, properties: CommandProperties, message: any): void; +export declare function issue(name: string, message?: string): void; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.js new file mode 100644 index 0000000..0b28c66 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.js @@ -0,0 +1,92 @@ +"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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(require("os")); +const utils_1 = require("./utils"); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.js.map new file mode 100644 index 0000000..51c7c63 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC9C,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.d.ts new file mode 100644 index 0000000..1defb57 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.d.ts @@ -0,0 +1,198 @@ +/** + * Interface for getInput options + */ +export interface InputOptions { + /** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */ + required?: boolean; + /** Optional. Whether leading/trailing whitespace will be trimmed for the input. Defaults to true */ + trimWhitespace?: boolean; +} +/** + * The code to exit an action + */ +export declare enum ExitCode { + /** + * A code indicating that the action was successful + */ + Success = 0, + /** + * A code indicating that the action was a failure + */ + Failure = 1 +} +/** + * Optional properties that can be sent with annotatation commands (notice, error, and warning) + * See: https://docs.github.com/en/rest/reference/checks#create-a-check-run for more information about annotations. + */ +export interface AnnotationProperties { + /** + * A title for the annotation. + */ + title?: string; + /** + * The path of the file for which the annotation should be created. + */ + file?: string; + /** + * The start line for the annotation. + */ + startLine?: number; + /** + * The end line for the annotation. Defaults to `startLine` when `startLine` is provided. + */ + endLine?: number; + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + */ + startColumn?: number; + /** + * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * Defaults to `startColumn` when `startColumn` is provided. + */ + endColumn?: number; +} +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +export declare function exportVariable(name: string, val: any): void; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +export declare function setSecret(secret: string): void; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +export declare function addPath(inputPath: string): void; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +export declare function getInput(name: string, options?: InputOptions): string; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +export declare function getMultilineInput(name: string, options?: InputOptions): string[]; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +export declare function getBooleanInput(name: string, options?: InputOptions): boolean; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +export declare function setOutput(name: string, value: any): void; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +export declare function setCommandEcho(enabled: boolean): void; +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +export declare function setFailed(message: string | Error): void; +/** + * Gets whether Actions Step Debug is on or not + */ +export declare function isDebug(): boolean; +/** + * Writes debug message to user log + * @param message debug message + */ +export declare function debug(message: string): void; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function error(message: string | Error, properties?: AnnotationProperties): void; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function warning(message: string | Error, properties?: AnnotationProperties): void; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +export declare function notice(message: string | Error, properties?: AnnotationProperties): void; +/** + * Writes info to log with console.log. + * @param message info message + */ +export declare function info(message: string): void; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +export declare function startGroup(name: string): void; +/** + * End an output group. + */ +export declare function endGroup(): void; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +export declare function group(name: string, fn: () => Promise): Promise; +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +export declare function saveState(name: string, value: any): void; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +export declare function getState(name: string): string; +export declare function getIDToken(aud?: string): Promise; +/** + * Summary exports + */ +export { summary } from './summary'; +/** + * @deprecated use core.summary + */ +export { markdownSummary } from './summary'; +/** + * Path exports + */ +export { toPosixPath, toWin32Path, toPlatformPath } from './path-utils'; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.js new file mode 100644 index 0000000..48df6ad --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.js @@ -0,0 +1,336 @@ +"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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +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()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +const command_1 = require("./command"); +const file_command_1 = require("./file-command"); +const utils_1 = require("./utils"); +const os = __importStar(require("os")); +const path = __importStar(require("path")); +const oidc_utils_1 = require("./oidc-utils"); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + } + command_1.issueCommand('set-env', { name }, convertedVal); +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + file_command_1.issueFileCommand('PATH', inputPath); + } + else { + command_1.issueCommand('add-path', {}, inputPath); + } + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); +} +exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.error = error; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = require("./summary"); +Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); +/** + * @deprecated use core.summary + */ +var summary_2 = require("./summary"); +Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); +/** + * Path exports + */ +var path_utils_1 = require("./path-utils"); +Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); +Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); +Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); +//# sourceMappingURL=core.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.js.map new file mode 100644 index 0000000..99f7fd8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/core.js.map @@ -0,0 +1 @@ +{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,iDAAuE;AACvE,mCAA2D;AAE3D,uCAAwB;AACxB,2CAA4B;AAE5B,6CAAuC;AAavC;;GAEG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB;;OAEG;IACH,6CAAW,CAAA;IAEX;;OAEG;IACH,6CAAW,CAAA;AACb,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAuCD,yEAAyE;AACzE,YAAY;AACZ,yEAAyE;AAEzE;;;;GAIG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,YAAY,GAAG,sBAAc,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAChD,IAAI,QAAQ,EAAE;QACZ,OAAO,+BAAgB,CAAC,KAAK,EAAE,qCAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;KAClE;IAED,sBAAY,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,EAAE,YAAY,CAAC,CAAA;AAC/C,CAAC;AAVD,wCAUC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAiB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IACjD,IAAI,QAAQ,EAAE;QACZ,+BAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACpC;SAAM;QACL,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AARD,0BAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAsB;IAC3D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;KAC5D;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,GAAG,CAAA;KACX;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAZD,4BAYC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,IAAY,EACZ,OAAsB;IAEtB,MAAM,MAAM,GAAa,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAC7C,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAExB,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,MAAM,CAAA;KACd;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC;AAbD,8CAaC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,OAAsB;IAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,IAAI,SAAS,CACjB,6DAA6D,IAAI,IAAI;QACnE,4EAA4E,CAC/E,CAAA;AACH,CAAC;AAVD,0CAUC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;IACnD,IAAI,QAAQ,EAAE;QACZ,OAAO,+BAAgB,CAAC,QAAQ,EAAE,qCAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACvE;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC5B,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AARD,8BAQC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAgB;IAC7C,eAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAFD,wCAEC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAuB;IAC/C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;AAChB,CAAC;AAJD,8BAIC;AAED,yEAAyE;AACzE,mBAAmB;AACnB,yEAAyE;AAEzE;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAA;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,sBAAY,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAFD,sBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CACnB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,OAAO,EACP,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,sBASC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CACrB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,SAAS,EACT,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,0BASC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,QAAQ,EACR,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,wBASC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,eAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,eAAK,CAAC,UAAU,CAAC,CAAA;AACnB,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAI,IAAY,EAAE,EAAoB;;QAC/D,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,MAAS,CAAA;QAEb,IAAI;YACF,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;SACpB;gBAAS;YACR,QAAQ,EAAE,CAAA;SACX;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAZD,sBAYC;AAED,yEAAyE;AACzE,uBAAuB;AACvB,yEAAyE;AAEzE;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAClD,IAAI,QAAQ,EAAE;QACZ,OAAO,+BAAgB,CAAC,OAAO,EAAE,qCAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACtE;IAED,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AAPD,8BAOC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;AAC3C,CAAC;AAFD,4BAEC;AAED,SAAsB,UAAU,CAAC,GAAY;;QAC3C,OAAO,MAAM,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAAA;AAFD,gCAEC;AAED;;GAEG;AACH,qCAAiC;AAAzB,kGAAA,OAAO,OAAA;AAEf;;GAEG;AACH,qCAAyC;AAAjC,0GAAA,eAAe,OAAA;AAEvB;;GAEG;AACH,2CAAqE;AAA7D,yGAAA,WAAW,OAAA;AAAE,yGAAA,WAAW,OAAA;AAAE,4GAAA,cAAc,OAAA"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.d.ts new file mode 100644 index 0000000..2d1f2f4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.d.ts @@ -0,0 +1,2 @@ +export declare function issueFileCommand(command: string, message: any): void; +export declare function prepareKeyValueMessage(key: string, value: any): string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.js new file mode 100644 index 0000000..2d0d738 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.js @@ -0,0 +1,58 @@ +"use strict"; +// For internal use, subject to change. +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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const fs = __importStar(require("fs")); +const os = __importStar(require("os")); +const uuid_1 = require("uuid"); +const utils_1 = require("./utils"); +function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; +//# sourceMappingURL=file-command.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.js.map new file mode 100644 index 0000000..b1a9d54 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/file-command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,+BAAiC;AACjC,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,SAAM,EAAE,EAAE,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.d.ts new file mode 100644 index 0000000..657c7f4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.d.ts @@ -0,0 +1,7 @@ +export declare class OidcClient { + private static createHttpClient; + private static getRequestToken; + private static getIDTokenUrl; + private static getCall; + static getIDToken(audience?: string): Promise; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.js new file mode 100644 index 0000000..f701277 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.js @@ -0,0 +1,77 @@ +"use strict"; +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()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OidcClient = void 0; +const http_client_1 = require("@actions/http-client"); +const auth_1 = require("@actions/http-client/lib/auth"); +const core_1 = require("./core"); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.js.map new file mode 100644 index 0000000..284fa1d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/oidc-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"oidc-utils.js","sourceRoot":"","sources":["../src/oidc-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,sDAA+C;AAC/C,wDAAqE;AACrE,iCAAuC;AAKvC,MAAa,UAAU;IACb,MAAM,CAAC,gBAAgB,CAC7B,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,EAAE;QAEb,MAAM,cAAc,GAAmB;YACrC,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,QAAQ;SACrB,CAAA;QAED,OAAO,IAAI,wBAAU,CACnB,qBAAqB,EACrB,CAAC,IAAI,8BAAuB,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,EAC3D,cAAc,CACf,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,aAAa;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAO,OAAO,CAAC,YAAoB;;;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;YAEhD,MAAM,GAAG,GAAG,MAAM,UAAU;iBACzB,OAAO,CAAgB,YAAY,CAAC;iBACpC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,MAAM,IAAI,KAAK,CACb;uBACa,KAAK,CAAC,UAAU;yBACd,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CACtC,CAAA;YACH,CAAC,CAAC,CAAA;YAEJ,MAAM,QAAQ,SAAG,GAAG,CAAC,MAAM,0CAAE,KAAK,CAAA;YAClC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;aACjE;YACD,OAAO,QAAQ,CAAA;;KAChB;IAED,MAAM,CAAO,UAAU,CAAC,QAAiB;;YACvC,IAAI;gBACF,gDAAgD;gBAChD,IAAI,YAAY,GAAW,UAAU,CAAC,aAAa,EAAE,CAAA;gBACrD,IAAI,QAAQ,EAAE;oBACZ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBACpD,YAAY,GAAG,GAAG,YAAY,aAAa,eAAe,EAAE,CAAA;iBAC7D;gBAED,YAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBAExC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACvD,gBAAS,CAAC,QAAQ,CAAC,CAAA;gBACnB,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;CACF;AAzED,gCAyEC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.d.ts new file mode 100644 index 0000000..1fee9f3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.d.ts @@ -0,0 +1,25 @@ +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +export declare function toPosixPath(pth: string): string; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +export declare function toWin32Path(pth: string): string; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +export declare function toPlatformPath(pth: string): string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.js new file mode 100644 index 0000000..7251c82 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.js @@ -0,0 +1,58 @@ +"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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(require("path")); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.js.map new file mode 100644 index 0000000..7ab1cac --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/path-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.d.ts new file mode 100644 index 0000000..bb79255 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.d.ts @@ -0,0 +1,202 @@ +export declare const SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; +export declare const SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; +export declare type SummaryTableRow = (SummaryTableCell | string)[]; +export interface SummaryTableCell { + /** + * Cell content + */ + data: string; + /** + * Render cell as header + * (optional) default: false + */ + header?: boolean; + /** + * Number of columns the cell extends + * (optional) default: '1' + */ + colspan?: string; + /** + * Number of rows the cell extends + * (optional) default: '1' + */ + rowspan?: string; +} +export interface SummaryImageOptions { + /** + * The width of the image in pixels. Must be an integer without a unit. + * (optional) + */ + width?: string; + /** + * The height of the image in pixels. Must be an integer without a unit. + * (optional) + */ + height?: string; +} +export interface SummaryWriteOptions { + /** + * Replace all existing content in summary file with buffer contents + * (optional) default: false + */ + overwrite?: boolean; +} +declare class Summary { + private _buffer; + private _filePath?; + constructor(); + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + private filePath; + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + private wrap; + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options?: SummaryWriteOptions): Promise; + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear(): Promise; + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify(): string; + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer(): boolean; + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer(): Summary; + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text: string, addEOL?: boolean): Summary; + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL(): Summary; + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code: string, lang?: string): Summary; + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items: string[], ordered?: boolean): Summary; + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows: SummaryTableRow[]): Summary; + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label: string, content: string): Summary; + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src: string, alt: string, options?: SummaryImageOptions): Summary; + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text: string, level?: number | string): Summary; + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator(): Summary; + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak(): Summary; + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text: string, cite?: string): Summary; + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text: string, href: string): Summary; +} +/** + * @deprecated use `core.summary` + */ +export declare const markdownSummary: Summary; +export declare const summary: Summary; +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.js new file mode 100644 index 0000000..04a335b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.js @@ -0,0 +1,283 @@ +"use strict"; +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()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = require("os"); +const fs_1 = require("fs"); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.js.map new file mode 100644 index 0000000..d598f26 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/summary.js.map @@ -0,0 +1 @@ +{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAsB;AACtB,2BAAsC;AACtC,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,aAAQ,CAAA;AAEnC,QAAA,eAAe,GAAG,qBAAqB,CAAA;AACvC,QAAA,gBAAgB,GAC3B,2GAA2G,CAAA;AA+C7G,MAAM,OAAO;IAIX;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACW,QAAQ;;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAA;aACtB;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAe,CAAC,CAAA;YAChD,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,uBAAe,6DAA6D,CACzH,CAAA;aACF;YAED,IAAI;gBACF,MAAM,MAAM,CAAC,WAAW,EAAE,cAAS,CAAC,IAAI,GAAG,cAAS,CAAC,IAAI,CAAC,CAAA;aAC3D;YAAC,WAAM;gBACN,MAAM,IAAI,KAAK,CACb,mCAAmC,WAAW,0DAA0D,CACzG,CAAA;aACF;YAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAA;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;KAAA;IAED;;;;;;;;OAQG;IACK,IAAI,CACV,GAAW,EACX,OAAsB,EACtB,QAAuC,EAAE;QAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,KAAK,GAAG,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,GAAG,GAAG,SAAS,GAAG,CAAA;SAC9B;QAED,OAAO,IAAI,GAAG,GAAG,SAAS,IAAI,OAAO,KAAK,GAAG,GAAG,CAAA;IAClD,CAAC;IAED;;;;;;OAMG;IACG,KAAK,CAAC,OAA6B;;YACvC,MAAM,SAAS,GAAG,CAAC,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,CAAA;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;YACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAA;YAC3D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAC3B,CAAC;KAAA;IAED;;;;OAIG;IACG,KAAK;;YACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;QACpD,CAAC;KAAA;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAY,EAAE,MAAM,GAAG,KAAK;QACjC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;QACpB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAG,CAAC,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,IAAY,EAAE,IAAa;QACtC,MAAM,KAAK,qBACN,CAAC,IAAI,IAAI,EAAC,IAAI,EAAC,CAAC,CACpB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,KAAe,EAAE,OAAO,GAAG,KAAK;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAuB;QAC9B,MAAM,SAAS,GAAG,IAAI;aACnB,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,MAAM,KAAK,GAAG,GAAG;iBACd,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;iBAC7B;gBAED,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,IAAI,CAAA;gBAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;gBAChC,MAAM,KAAK,mCACN,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC,GACtB,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC,CAC1B,CAAA;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACpC,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;YAEX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,KAAa,EAAE,OAAe;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,OAA6B;QAC9D,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,IAAI,EAAE,CAAA;QACrC,MAAM,KAAK,mCACN,CAAC,KAAK,IAAI,EAAC,KAAK,EAAC,CAAC,GAClB,CAAC,MAAM,IAAI,EAAC,MAAM,EAAC,CAAC,CACxB,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,kBAAG,GAAG,EAAE,GAAG,IAAK,KAAK,EAAE,CAAA;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAY,EAAE,KAAuB;QAC9C,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnE,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAY,EAAE,IAAa;QAClC,MAAM,KAAK,qBACN,CAAC,IAAI,IAAI,EAAC,IAAI,EAAC,CAAC,CACpB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY,EAAE,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;AAE9B;;GAEG;AACU,QAAA,eAAe,GAAG,QAAQ,CAAA;AAC1B,QAAA,OAAO,GAAG,QAAQ,CAAA"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.d.ts new file mode 100644 index 0000000..3b9e28d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.d.ts @@ -0,0 +1,14 @@ +import { AnnotationProperties } from './core'; +import { CommandProperties } from './command'; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +export declare function toCommandValue(input: any): string; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +export declare function toCommandProperties(annotationProperties: AnnotationProperties): CommandProperties; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.js new file mode 100644 index 0000000..9b5ca44 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.js @@ -0,0 +1,40 @@ +"use strict"; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.js.map new file mode 100644 index 0000000..8211bb7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;;AAKvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,oBAA0C;IAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAA;KACV;IAED,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,IAAI,EAAE,oBAAoB,CAAC,SAAS;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,GAAG,EAAE,oBAAoB,CAAC,WAAW;QACrC,SAAS,EAAE,oBAAoB,CAAC,SAAS;KAC1C,CAAA;AACH,CAAC;AAfD,kDAeC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/core/package.json b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/package.json new file mode 100644 index 0000000..1f3824d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/core/package.json @@ -0,0 +1,46 @@ +{ + "name": "@actions/core", + "version": "1.10.0", + "description": "Actions core lib", + "keywords": [ + "github", + "actions", + "core" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/core", + "license": "MIT", + "main": "lib/core.js", + "types": "lib/core.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/core" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@types/node": "^12.0.2", + "@types/uuid": "^8.3.4" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/README.md b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/README.md new file mode 100644 index 0000000..02e9be0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/README.md @@ -0,0 +1,97 @@ +# `@actions/github` + +> A hydrated Octokit client. + +## Usage + +Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners) and correctly sets GHES base urls. See https://octokit.github.io/rest.js for the API. + +```js +const github = require('@actions/github'); +const core = require('@actions/core'); + +async function run() { + // This should be a token with access to your repository scoped in as a secret. + // The YML workflow will need to set myToken with the GitHub Secret Token + // myToken: ${{ secrets.GITHUB_TOKEN }} + // https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token#about-the-github_token-secret + const myToken = core.getInput('myToken'); + + const octokit = github.getOctokit(myToken) + + // You can also pass in additional options as a second parameter to getOctokit + // const octokit = github.getOctokit(myToken, {userAgent: "MyActionVersion1"}); + + const { data: pullRequest } = await octokit.pulls.get({ + owner: 'octokit', + repo: 'rest.js', + pull_number: 123, + mediaType: { + format: 'diff' + } + }); + + console.log(pullRequest); +} + +run(); +``` + +You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API. + +```js +const result = await octokit.graphql(query, variables); +``` + +Finally, you can get the context of the current action: + +```js +const github = require('@actions/github'); + +const context = github.context; + +const newIssue = await octokit.issues.create({ + ...context.repo, + title: 'New issue!', + body: 'Hello Universe!' +}); +``` + +## Webhook payload typescript definitions + +The npm module `@octokit/webhooks` provides type definitions for the response payloads. You can cast the payload to these types for better type information. + +First, install the npm module `npm install @octokit/webhooks` + +Then, assert the type based on the eventName +```ts +import * as core from '@actions/core' +import * as github from '@actions/github' +import * as Webhooks from '@octokit/webhooks' +if (github.context.eventName === 'push') { + const pushPayload = github.context.payload as Webhooks.WebhookPayloadPush + core.info(`The head commit is: ${pushPayload.head}`) +} +``` + +## Extending the Octokit instance +`@octokit/core` now supports the [plugin architecture](https://github.com/octokit/core.js#plugins). You can extend the GitHub instance using plugins. + +For example, using the `@octokit/plugin-enterprise-server` you can now access enterprise admin apis on GHES instances. + +```ts +import { GitHub, getOctokitOptions } from '@actions/github/lib/utils' +import { enterpriseServer220Admin } from '@octokit/plugin-enterprise-server' + +const octokit = GitHub.plugin(enterpriseServer220Admin) +// or override some of the default values as well +// const octokit = GitHub.plugin(enterpriseServer220Admin).defaults({userAgent: "MyNewUserAgent"}) + +const myToken = core.getInput('myToken'); +const myOctokit = new octokit(getOctokitOptions(token)) +// Create a new user +myOctokit.enterpriseAdmin.createUser({ + login: "testuser", + email: "testuser@test.com", +}); +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.d.ts new file mode 100644 index 0000000..daab690 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.d.ts @@ -0,0 +1,29 @@ +import { WebhookPayload } from './interfaces'; +export declare class Context { + /** + * Webhook payload object that triggered the workflow + */ + payload: WebhookPayload; + eventName: string; + sha: string; + ref: string; + workflow: string; + action: string; + actor: string; + job: string; + runNumber: number; + runId: number; + /** + * Hydrate the context from the environment + */ + constructor(); + get issue(): { + owner: string; + repo: string; + number: number; + }; + get repo(): { + owner: string; + repo: string; + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.js new file mode 100644 index 0000000..dd4d10a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.js @@ -0,0 +1,50 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Context = void 0; +const fs_1 = require("fs"); +const os_1 = require("os"); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.js.map new file mode 100644 index 0000000..9c4eafe --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAgBlB;;OAEG;IACH;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAA2B,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAuB,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AApED,0BAoEC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.d.ts new file mode 100644 index 0000000..90c3b98 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.d.ts @@ -0,0 +1,11 @@ +import * as Context from './context'; +import { GitHub } from './utils'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare const context: Context.Context; +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +export declare function getOctokit(token: string, options?: OctokitOptions): InstanceType; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.js new file mode 100644 index 0000000..e30e81e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.js @@ -0,0 +1,36 @@ +"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 (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOctokit = exports.context = void 0; +const Context = __importStar(require("./context")); +const utils_1 = require("./utils"); +exports.context = new Context.Context(); +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokit(token, options) { + return new utils_1.GitHub(utils_1.getOctokitOptions(token, options)); +} +exports.getOctokit = getOctokit; +//# sourceMappingURL=github.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.js.map new file mode 100644 index 0000000..717d03e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/github.js.map @@ -0,0 +1 @@ +{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB;IAExB,OAAO,IAAI,cAAM,CAAC,yBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACtD,CAAC;AALD,gCAKC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.d.ts new file mode 100644 index 0000000..f810333 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.d.ts @@ -0,0 +1,40 @@ +export interface PayloadRepository { + [key: string]: any; + full_name?: string; + name: string; + owner: { + [key: string]: any; + login: string; + name?: string; + }; + html_url?: string; +} +export interface WebhookPayload { + [key: string]: any; + repository?: PayloadRepository; + issue?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + pull_request?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + sender?: { + [key: string]: any; + type: string; + }; + action?: string; + installation?: { + id: number; + [key: string]: any; + }; + comment?: { + id: number; + [key: string]: any; + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.js new file mode 100644 index 0000000..a660b5e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.js @@ -0,0 +1,4 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.js.map new file mode 100644 index 0000000..dc2c960 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,uDAAuD"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.d.ts new file mode 100644 index 0000000..5790d91 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.d.ts @@ -0,0 +1,6 @@ +/// +import * as http from 'http'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare function getAuthString(token: string, options: OctokitOptions): string | undefined; +export declare function getProxyAgent(destinationUrl: string): http.Agent; +export declare function getApiBaseUrl(): string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.js new file mode 100644 index 0000000..197a441 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.js @@ -0,0 +1,43 @@ +"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 (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; +const httpClient = __importStar(require("@actions/http-client")); +function getAuthString(token, options) { + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; +} +exports.getAuthString = getAuthString; +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +exports.getProxyAgent = getProxyAgent; +function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; +} +exports.getApiBaseUrl = getApiBaseUrl; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.js.map new file mode 100644 index 0000000..f1f519d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/internal/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAGlD,SAAgB,aAAa,CAC3B,KAAa,EACb,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;SAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;KAC5E;IAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;AAC3E,CAAC;AAXD,sCAWC;AAED,SAAgB,aAAa,CAAC,cAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAHD,sCAGC;AAED,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAA;AAClE,CAAC;AAFD,sCAEC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.d.ts new file mode 100644 index 0000000..0015a35 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.d.ts @@ -0,0 +1,21 @@ +import * as Context from './context'; +import { Octokit } from '@octokit/core'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; +export declare const context: Context.Context; +export declare const GitHub: (new (...args: any[]) => { + [x: string]: any; +}) & { + new (...args: any[]): { + [x: string]: any; + }; + plugins: any[]; +} & typeof Octokit & import("@octokit/core/dist-types/types").Constructor; +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +export declare function getOctokitOptions(token: string, options?: OctokitOptions): OctokitOptions; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.js new file mode 100644 index 0000000..b066c22 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.js @@ -0,0 +1,54 @@ +"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 (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOctokitOptions = exports.GitHub = exports.context = void 0; +const Context = __importStar(require("./context")); +const Utils = __importStar(require("./internal/utils")); +// octokit + plugins +const core_1 = require("@octokit/core"); +const plugin_rest_endpoint_methods_1 = require("@octokit/plugin-rest-endpoint-methods"); +const plugin_paginate_rest_1 = require("@octokit/plugin-paginate-rest"); +exports.context = new Context.Context(); +const baseUrl = Utils.getApiBaseUrl(); +const defaults = { + baseUrl, + request: { + agent: Utils.getProxyAgent(baseUrl) + } +}; +exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(defaults); +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokitOptions(token, options) { + const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = Utils.getAuthString(token, opts); + if (auth) { + opts.auth = auth; + } + return opts; +} +exports.getOctokitOptions = getOctokitOptions; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.js.map new file mode 100644 index 0000000..3a6f6b4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,wDAAyC;AAEzC,oBAAoB;AACpB,wCAAqC;AAErC,wFAAyE;AACzE,wEAA0D;AAE7C,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;AACrC,MAAM,QAAQ,GAAG;IACf,OAAO;IACP,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;KACpC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG,cAAO,CAAC,MAAM,CAClC,kDAAmB,EACnB,mCAAY,CACb,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAEpB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA,CAAC,iEAAiE;IAE/G,OAAO;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,8CAaC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/LICENSE new file mode 100644 index 0000000..5823a51 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/LICENSE @@ -0,0 +1,21 @@ +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +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/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/README.md b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/README.md new file mode 100644 index 0000000..be61eb3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/README.md @@ -0,0 +1,79 @@ + +

+ +

+ +# Actions Http-Client + +[![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) + +A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. + +## Features + + - HTTP client with TypeScript generics and async/await/Promises + - Typings included so no need to acquire separately (great for intellisense and no versioning drift) + - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner + - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. + - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. + - Redirects supported + +Features and releases [here](./RELEASES.md) + +## Install + +``` +npm install @actions/http-client --save +``` + +## Samples + +See the [HTTP](./__tests__) tests for detailed examples. + +## Errors + +### HTTP + +The HTTP client does not throw unless truly exceptional. + +* A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. +* Redirects (3xx) will be followed by default. + +See [HTTP tests](./__tests__) for detailed examples. + +## Debugging + +To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: + +``` +export NODE_DEBUG=http +``` + +## Node support + +The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. + +## Support and Versioning + +We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). + +## Contributing + +We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. + +once: + +```bash +$ npm install +``` + +To build: + +```bash +$ npm run build +``` + +To run all tests: +```bash +$ npm test +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/RELEASES.md b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/RELEASES.md new file mode 100644 index 0000000..935178a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/RELEASES.md @@ -0,0 +1,26 @@ +## Releases + +## 1.0.10 + +Contains a bug fix where proxy is defined without a user and password. see [PR here](https://github.com/actions/http-client/pull/42) + +## 1.0.9 +Throw HttpClientError instead of a generic Error from the \Json() helper methods when the server responds with a non-successful status code. + +## 1.0.8 +Fixed security issue where a redirect (e.g. 302) to another domain would pass headers. The fix was to strip the authorization header if the hostname was different. More [details in PR #27](https://github.com/actions/http-client/pull/27) + +## 1.0.7 +Update NPM dependencies and add 429 to the list of HttpCodes + +## 1.0.6 +Automatically sends Content-Type and Accept application/json headers for \Json() helper methods if not set in the client or parameters. + +## 1.0.5 +Adds \Json() helper methods for json over http scenarios. + +## 1.0.4 +Started to add \Json() helper methods. Do not use this release for that. Use >= 1.0.5 since there was an issue with types. + +## 1.0.1 to 1.0.3 +Adds proxy support. diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/actions.png b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/actions.png new file mode 100644 index 0000000..1857ef3 Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/actions.png differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/auth.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/auth.d.ts new file mode 100644 index 0000000..1094189 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/auth.d.ts @@ -0,0 +1,23 @@ +import ifm = require('./interfaces'); +export declare class BasicCredentialHandler implements ifm.IRequestHandler { + username: string; + password: string; + constructor(username: string, password: string); + prepareRequest(options: any): void; + canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; + handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; +} +export declare class BearerCredentialHandler implements ifm.IRequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: any): void; + canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; + handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; +} +export declare class PersonalAccessTokenCredentialHandler implements ifm.IRequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: any): void; + canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; + handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/auth.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/auth.js new file mode 100644 index 0000000..67a58aa --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/auth.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + options.headers['Authorization'] = + 'Basic ' + + Buffer.from(this.username + ':' + this.password).toString('base64'); + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + options.headers['Authorization'] = 'Bearer ' + this.token; + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + options.headers['Authorization'] = + 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/index.d.ts new file mode 100644 index 0000000..9583dc7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/index.d.ts @@ -0,0 +1,124 @@ +/// +import http = require('http'); +import ifm = require('./interfaces'); +export declare enum HttpCodes { + OK = 200, + MultipleChoices = 300, + MovedPermanently = 301, + ResourceMoved = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + SwitchProxy = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + TooManyRequests = 429, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504 +} +export declare enum Headers { + Accept = "accept", + ContentType = "content-type" +} +export declare enum MediaTypes { + ApplicationJson = "application/json" +} +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +export declare function getProxyUrl(serverUrl: string): string; +export declare class HttpClientError extends Error { + constructor(message: string, statusCode: number); + statusCode: number; + result?: any; +} +export declare class HttpClientResponse implements ifm.IHttpClientResponse { + constructor(message: http.IncomingMessage); + message: http.IncomingMessage; + readBody(): Promise; +} +export declare function isHttps(requestUrl: string): boolean; +export declare class HttpClient { + userAgent: string | undefined; + handlers: ifm.IRequestHandler[]; + requestOptions: ifm.IRequestOptions; + private _ignoreSslError; + private _socketTimeout; + private _allowRedirects; + private _allowRedirectDowngrade; + private _maxRedirects; + private _allowRetries; + private _maxRetries; + private _agent; + private _proxyAgent; + private _keepAlive; + private _disposed; + constructor(userAgent?: string, handlers?: ifm.IRequestHandler[], requestOptions?: ifm.IRequestOptions); + options(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + get(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + del(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; + head(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: ifm.IHeaders): Promise; + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise>; + postJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + putJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + patchJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: ifm.IHeaders): Promise; + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose(): void; + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream): Promise; + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: ifm.IHttpClientResponse) => void): void; + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl: string): http.Agent; + private _prepareRequest; + private _mergeHeaders; + private _getExistingOrDefaultHeader; + private _getAgent; + private _performExponentialBackoff; + private static dateTimeDeserializer; + private _processResponse; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/index.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/index.js new file mode 100644 index 0000000..43b2b10 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/index.js @@ -0,0 +1,537 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const http = require("http"); +const https = require("https"); +const pm = require("./proxy"); +let tunnel; +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return new Promise(async (resolve, reject) => { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + let parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + } + get(requestUrl, additionalHeaders) { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + } + del(requestUrl, additionalHeaders) { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + } + post(requestUrl, data, additionalHeaders) { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + } + patch(requestUrl, data, additionalHeaders) { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + } + put(requestUrl, data, additionalHeaders) { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + } + head(requestUrl, additionalHeaders) { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return this.request(verb, requestUrl, stream, additionalHeaders); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + async getJson(requestUrl, additionalHeaders = {}) { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + let res = await this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async postJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async putJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async patchJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + async request(verb, requestUrl, data, headers) { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + let parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + while (numTries < maxTries) { + response = await this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (let i = 0; i < this.handlers.length; i++) { + if (this.handlers[i].canHandleAuthentication(response)) { + authenticationHandler = this.handlers[i]; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + let parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol == 'https:' && + parsedUrl.protocol != parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + await response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (let header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = await this.requestRaw(info, data); + redirectsRemaining--; + } + if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + await response.readBody(); + await this._performExponentialBackoff(numTries); + } + } + return response; + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return new Promise((resolve, reject) => { + let callbackForResult = function (err, res) { + if (err) { + reject(err); + } + resolve(res); + }; + this.requestRawWithCallback(info, data, callbackForResult); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + let socket; + if (typeof data === 'string') { + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + let handleResult = (err, res) => { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + }; + let req = info.httpModule.request(info.options, (msg) => { + let res = new HttpClientResponse(msg); + handleResult(null, res); + }); + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error('Request timeout: ' + info.options.path), null); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err, null); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + let parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + this.handlers.forEach(handler => { + handler.prepareRequest(info.options); + }); + } + return info; + } + _mergeHeaders(headers) { + const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + let proxyUrl = pm.getProxyUrl(parsedUrl); + let useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (!!agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (!!this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + if (useProxy) { + // If using proxy, need tunnel + if (!tunnel) { + tunnel = require('tunnel'); + } + const agentOptions = { + maxSockets: maxSockets, + keepAlive: this._keepAlive, + proxy: { + ...((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + }), + host: proxyUrl.hostname, + port: proxyUrl.port + } + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + } + static dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + let a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + async _processResponse(res, options) { + return new Promise(async (resolve, reject) => { + const statusCode = res.message.statusCode; + const response = { + statusCode: statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode == HttpCodes.NotFound) { + resolve(response); + } + let obj; + let contents; + // get the result from the body + try { + contents = await res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = 'Failed request: (' + statusCode + ')'; + } + let err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + }); + } +} +exports.HttpClient = HttpClient; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.d.ts new file mode 100644 index 0000000..78bd85b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.d.ts @@ -0,0 +1,49 @@ +/// +import http = require('http'); +export interface IHeaders { + [key: string]: any; +} +export interface IHttpClient { + options(requestUrl: string, additionalHeaders?: IHeaders): Promise; + get(requestUrl: string, additionalHeaders?: IHeaders): Promise; + del(requestUrl: string, additionalHeaders?: IHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: IHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: IHeaders): Promise; + requestRaw(info: IRequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRawWithCallback(info: IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: IHttpClientResponse) => void): void; +} +export interface IRequestHandler { + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(response: IHttpClientResponse): boolean; + handleAuthentication(httpClient: IHttpClient, requestInfo: IRequestInfo, objs: any): Promise; +} +export interface IHttpClientResponse { + message: http.IncomingMessage; + readBody(): Promise; +} +export interface IRequestInfo { + options: http.RequestOptions; + parsedUrl: URL; + httpModule: any; +} +export interface IRequestOptions { + headers?: IHeaders; + socketTimeout?: number; + ignoreSslError?: boolean; + allowRedirects?: boolean; + allowRedirectDowngrade?: boolean; + maxRedirects?: number; + maxSockets?: number; + keepAlive?: boolean; + deserializeDates?: boolean; + allowRetries?: boolean; + maxRetries?: number; +} +export interface ITypedResponse { + statusCode: number; + result: T | null; + headers: Object; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.js new file mode 100644 index 0000000..c8ad2e5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/interfaces.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/package.json b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/package.json new file mode 100644 index 0000000..0c99fd4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/package.json @@ -0,0 +1,39 @@ +{ + "name": "@actions/http-client", + "version": "1.0.11", + "description": "Actions Http Client", + "main": "index.js", + "scripts": { + "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", + "test": "jest", + "format": "prettier --write *.ts && prettier --write **/*.ts", + "format-check": "prettier --check *.ts && prettier --check **/*.ts", + "audit-check": "npm audit --audit-level=moderate" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/http-client.git" + }, + "keywords": [ + "Actions", + "Http" + ], + "author": "GitHub, Inc.", + "license": "MIT", + "bugs": { + "url": "https://github.com/actions/http-client/issues" + }, + "homepage": "https://github.com/actions/http-client#readme", + "devDependencies": { + "@types/jest": "^25.1.4", + "@types/node": "^12.12.31", + "jest": "^25.1.0", + "prettier": "^2.0.4", + "proxy": "^1.0.1", + "ts-jest": "^25.2.1", + "typescript": "^3.8.3" + }, + "dependencies": { + "tunnel": "0.0.6" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/proxy.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/proxy.d.ts new file mode 100644 index 0000000..4599865 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/proxy.d.ts @@ -0,0 +1,2 @@ +export declare function getProxyUrl(reqUrl: URL): URL | undefined; +export declare function checkBypass(reqUrl: URL): boolean; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/proxy.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/proxy.js new file mode 100644 index 0000000..88f00ec --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/node_modules/@actions/http-client/proxy.js @@ -0,0 +1,57 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function getProxyUrl(reqUrl) { + let usingSsl = reqUrl.protocol === 'https:'; + let proxyUrl; + if (checkBypass(reqUrl)) { + return proxyUrl; + } + let proxyVar; + if (usingSsl) { + proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + if (proxyVar) { + proxyUrl = new URL(proxyVar); + } + return proxyUrl; +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + let upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (let upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/github/package.json b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/package.json new file mode 100644 index 0000000..0288f17 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/github/package.json @@ -0,0 +1,50 @@ +{ + "name": "@actions/github", + "version": "4.0.0", + "description": "Actions github lib", + "keywords": [ + "github", + "actions" + ], + "homepage": "https://github.com/actions/toolkit/tree/master/packages/github", + "license": "MIT", + "main": "lib/github.js", + "types": "lib/github.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/github" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --audit-level=moderate", + "test": "jest", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/http-client": "^1.0.8", + "@octokit/core": "^3.0.0", + "@octokit/plugin-paginate-rest": "^2.2.3", + "@octokit/plugin-rest-endpoint-methods": "^4.0.0" + }, + "devDependencies": { + "jest": "^25.1.0", + "proxy": "^1.0.1" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/LICENSE new file mode 100644 index 0000000..5823a51 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/LICENSE @@ -0,0 +1,21 @@ +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +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/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/README.md b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/README.md new file mode 100644 index 0000000..7e06ade --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/README.md @@ -0,0 +1,73 @@ +# `@actions/http-client` + +A lightweight HTTP client optimized for building actions. + +## Features + + - HTTP client with TypeScript generics and async/await/Promises + - Typings included! + - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner + - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. + - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. + - Redirects supported + +Features and releases [here](./RELEASES.md) + +## Install + +``` +npm install @actions/http-client --save +``` + +## Samples + +See the [tests](./__tests__) for detailed examples. + +## Errors + +### HTTP + +The HTTP client does not throw unless truly exceptional. + +* A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. +* Redirects (3xx) will be followed by default. + +See the [tests](./__tests__) for detailed examples. + +## Debugging + +To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: + +```shell +export NODE_DEBUG=http +``` + +## Node support + +The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. + +## Support and Versioning + +We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). + +## Contributing + +We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. + +once: + +``` +npm install +``` + +To build: + +``` +npm run build +``` + +To run all tests: + +``` +npm test +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.d.ts new file mode 100644 index 0000000..8cc9fc3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.d.ts @@ -0,0 +1,26 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +import { HttpClientResponse } from './index'; +export declare class BasicCredentialHandler implements ifm.RequestHandler { + username: string; + password: string; + constructor(username: string, password: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class BearerCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class PersonalAccessTokenCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.js new file mode 100644 index 0000000..2c150a3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.js @@ -0,0 +1,81 @@ +"use strict"; +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()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.js.map new file mode 100644 index 0000000..62cc16b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/auth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAa,sBAAsB;IAIjC,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA1BD,wDA0BC;AAED,MAAa,uBAAuB;IAGlC,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAA;IAC3D,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AAxBD,0DAwBC;AAED,MAAa,oCAAoC;IAK/C,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,OAAO,IAAI,CAAC,KAAK,EAAE,CACpB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA5BD,oFA4BC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.d.ts new file mode 100644 index 0000000..b6682b0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.d.ts @@ -0,0 +1,124 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +export declare enum HttpCodes { + OK = 200, + MultipleChoices = 300, + MovedPermanently = 301, + ResourceMoved = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + SwitchProxy = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + TooManyRequests = 429, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504 +} +export declare enum Headers { + Accept = "accept", + ContentType = "content-type" +} +export declare enum MediaTypes { + ApplicationJson = "application/json" +} +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +export declare function getProxyUrl(serverUrl: string): string; +export declare class HttpClientError extends Error { + constructor(message: string, statusCode: number); + statusCode: number; + result?: any; +} +export declare class HttpClientResponse { + constructor(message: http.IncomingMessage); + message: http.IncomingMessage; + readBody(): Promise; + readBodyBuffer?(): Promise; +} +export declare function isHttps(requestUrl: string): boolean; +export declare class HttpClient { + userAgent: string | undefined; + handlers: ifm.RequestHandler[]; + requestOptions: ifm.RequestOptions | undefined; + private _ignoreSslError; + private _socketTimeout; + private _allowRedirects; + private _allowRedirectDowngrade; + private _maxRedirects; + private _allowRetries; + private _maxRetries; + private _agent; + private _proxyAgent; + private _keepAlive; + private _disposed; + constructor(userAgent?: string, handlers?: ifm.RequestHandler[], requestOptions?: ifm.RequestOptions); + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + head(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + postJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + putJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + patchJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream | null, headers?: http.OutgoingHttpHeaders): Promise; + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose(): void; + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null, onResult: (err?: Error, res?: HttpClientResponse) => void): void; + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl: string): http.Agent; + private _prepareRequest; + private _mergeHeaders; + private _getExistingOrDefaultHeader; + private _getAgent; + private _performExponentialBackoff; + private _processResponse; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.js new file mode 100644 index 0000000..0f157be --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.js @@ -0,0 +1,618 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +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()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(require("http")); +const https = __importStar(require("https")); +const pm = __importStar(require("./proxy")); +const tunnel = __importStar(require("tunnel")); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on('data', (chunk) => { + chunks.push(chunk); + }); + this.message.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.js.map new file mode 100644 index 0000000..272b6ac --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,2CAA4B;AAC5B,6CAA8B;AAG9B,4CAA6B;AAC7B,+CAAgC;AAEhC,IAAY,SA4BX;AA5BD,WAAY,SAAS;IACnB,uCAAQ,CAAA;IACR,iEAAqB,CAAA;IACrB,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,qEAAuB,CAAA;IACvB,qEAAuB,CAAA;IACvB,uDAAgB,CAAA;IAChB,2DAAkB,CAAA;IAClB,iEAAqB,CAAA;IACrB,qDAAe,CAAA;IACf,mDAAc,CAAA;IACd,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,yFAAiC,CAAA;IACjC,+DAAoB,CAAA;IACpB,mDAAc,CAAA;IACd,2CAAU,CAAA;IACV,iEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,+DAAoB,CAAA;IACpB,uDAAgB,CAAA;IAChB,uEAAwB,CAAA;IACxB,+DAAoB,CAAA;AACtB,CAAC,EA5BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA4BpB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,uCAA4B,CAAA;AAC9B,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB;AAED,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,kDAAoC,CAAA;AACtC,CAAC,EAFW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAErB;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,SAAiB;IAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACtC,CAAC;AAHD,kCAGC;AAED,MAAM,iBAAiB,GAAa;IAClC,SAAS,CAAC,gBAAgB;IAC1B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,iBAAiB;CAC5B,CAAA;AACD,MAAM,sBAAsB,GAAa;IACvC,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,cAAc;CACzB,CAAA;AACD,MAAM,kBAAkB,GAAa,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACzE,MAAM,yBAAyB,GAAG,EAAE,CAAA;AACpC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAErC,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CAIF;AAVD,0CAUC;AAED,MAAa,kBAAkB;IAC7B,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAGK,QAAQ;;YACZ,OAAO,IAAI,OAAO,CAAS,CAAM,OAAO,EAAC,EAAE;gBACzC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAE5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC5B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEK,cAAc;;YAClB,OAAO,IAAI,OAAO,CAAS,CAAM,OAAO,EAAC,EAAE;gBACzC,MAAM,MAAM,GAAa,EAAE,CAAA;gBAE3B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBAChC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAjCD,gDAiCC;AAED,SAAgB,OAAO,CAAC,UAAkB;IACxC,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;AACxC,CAAC;AAHD,0BAGC;AAED,MAAa,UAAU;IAiBrB,YACE,SAAkB,EAClB,QAA+B,EAC/B,cAAmC;QAf7B,oBAAe,GAAG,KAAK,CAAA;QAEvB,oBAAe,GAAG,IAAI,CAAA;QACtB,4BAAuB,GAAG,KAAK,CAAA;QAC/B,kBAAa,GAAG,EAAE,CAAA;QAClB,kBAAa,GAAG,KAAK,CAAA;QACrB,gBAAW,GAAG,CAAC,CAAA;QAGf,eAAU,GAAG,KAAK,CAAA;QAClB,cAAS,GAAG,KAAK,CAAA;QAOvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,cAAc,EAAE;YAClB,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,aAAa,CAAA;YAElD,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,cAAc,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBACjD,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,sBAAsB,CAAA;aACrE;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;aAC9D;YAED,IAAI,cAAc,CAAC,SAAS,IAAI,IAAI,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAA;aAC3C;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,YAAY,CAAA;aACjD;YAED,IAAI,cAAc,CAAC,UAAU,IAAI,IAAI,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,UAAU,CAAA;aAC7C;SACF;IACH,CAAC;IAEK,OAAO,CACX,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC3E,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,KAAK,CACT,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,UAAU,CACd,IAAY,EACZ,UAAkB,EAClB,MAA6B,EAC7B,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAClE,CAAC;KAAA;IAED;;;OAGG;IACG,OAAO,CACX,UAAkB,EAClB,oBAA8C,EAAE;;YAEhD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,QAAQ,CACZ,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,IAAI,CAC7C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,OAAO,CACX,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,SAAS,CACb,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,KAAK,CAC9C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAED;;;;OAIG;IACG,OAAO,CACX,IAAY,EACZ,UAAkB,EAClB,IAA2C,EAC3C,OAAkC;;YAElC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;aACrD;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;YACrC,IAAI,IAAI,GAAoB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAE1E,oEAAoE;YACpE,MAAM,QAAQ,GACZ,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrD,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC;gBACtB,CAAC,CAAC,CAAC,CAAA;YACP,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,IAAI,QAAwC,CAAA;YAC5C,GAAG;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAE5C,4CAA4C;gBAC5C,IACE,QAAQ;oBACR,QAAQ,CAAC,OAAO;oBAChB,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,YAAY,EACtD;oBACA,IAAI,qBAAqD,CAAA;oBAEzD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,IAAI,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;4BAC7C,qBAAqB,GAAG,OAAO,CAAA;4BAC/B,MAAK;yBACN;qBACF;oBAED,IAAI,qBAAqB,EAAE;wBACzB,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;qBACpE;yBAAM;wBACL,+EAA+E;wBAC/E,yCAAyC;wBACzC,OAAO,QAAQ,CAAA;qBAChB;iBACF;gBAED,IAAI,kBAAkB,GAAW,IAAI,CAAC,aAAa,CAAA;gBACnD,OACE,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC3B,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;oBACvD,IAAI,CAAC,eAAe;oBACpB,kBAAkB,GAAG,CAAC,EACtB;oBACA,MAAM,WAAW,GACf,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;oBACtC,IAAI,CAAC,WAAW,EAAE;wBAChB,kDAAkD;wBAClD,MAAK;qBACN;oBACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;oBAC9C,IACE,SAAS,CAAC,QAAQ,KAAK,QAAQ;wBAC/B,SAAS,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;wBACjD,CAAC,IAAI,CAAC,uBAAuB,EAC7B;wBACA,MAAM,IAAI,KAAK,CACb,8KAA8K,CAC/K,CAAA;qBACF;oBAED,qEAAqE;oBACrE,mCAAmC;oBACnC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBAEzB,mEAAmE;oBACnE,IAAI,iBAAiB,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;wBACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;4BAC5B,oCAAoC;4BACpC,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE;gCAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;6BACvB;yBACF;qBACF;oBAED,kDAAkD;oBAClD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAC7D,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC5C,kBAAkB,EAAE,CAAA;iBACrB;gBAED,IACE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC5B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAC7D;oBACA,8DAA8D;oBAC9D,OAAO,QAAQ,CAAA;iBAChB;gBAED,QAAQ,IAAI,CAAC,CAAA;gBAEb,IAAI,QAAQ,GAAG,QAAQ,EAAE;oBACvB,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACzB,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;iBAChD;aACF,QAAQ,QAAQ,GAAG,QAAQ,EAAC;YAE7B,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SACtB;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACG,UAAU,CACd,IAAqB,EACrB,IAA2C;;YAE3C,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzD,SAAS,iBAAiB,CAAC,GAAW,EAAE,GAAwB;oBAC9D,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM,IAAI,CAAC,GAAG,EAAE;wBACf,qDAAqD;wBACrD,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;qBACnC;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,CAAA;qBACb;gBACH,CAAC;gBAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,IAAqB,EACrB,IAA2C,EAC3C,QAAyD;QAEzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAA;aAC1B;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACzE;QAED,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,SAAS,YAAY,CAAC,GAAW,EAAE,GAAwB;YACzD,IAAI,CAAC,cAAc,EAAE;gBACnB,cAAc,GAAG,IAAI,CAAA;gBACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;aACnB;QACH,CAAC;QAED,MAAM,GAAG,GAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CACrD,IAAI,CAAC,OAAO,EACZ,CAAC,GAAyB,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAuB,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC3D,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC,CACF,CAAA;QAED,IAAI,MAAkB,CAAA;QACtB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACtB,MAAM,GAAG,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,wEAAwE;QACxE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE;YACpD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,GAAG,EAAE,CAAA;aACb;YACD,YAAY,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG;YAC3B,8BAA8B;YAC9B,0BAA0B;YAC1B,YAAY,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACxB;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;gBACf,GAAG,CAAC,GAAG,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACf;aAAM;YACL,GAAG,CAAC,GAAG,EAAE,CAAA;SACV;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAiB;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,UAAe,EACf,OAAkC;QAElC,MAAM,IAAI,GAAqC,EAAE,CAAA;QAEjD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAA;QAC3B,MAAM,QAAQ,GAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAC9D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,MAAM,WAAW,GAAW,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/C,IAAI,CAAC,OAAO,GAAwB,EAAE,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;YACrC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,WAAW,CAAA;QACf,IAAI,CAAC,OAAO,CAAC,IAAI;YACf,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEnD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrC;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa,CACnB,OAAkC;QAElC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAC1C,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAC7B,CAAA;SACF;QAED,OAAO,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAEO,2BAA2B,CACjC,iBAA2C,EAC3C,MAAc,EACd,QAAgB;QAEhB,IAAI,YAAgC,CAAA;QACpC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;SAClE;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAA;IAC9D,CAAC;IAEO,SAAS,CAAC,SAAc;QAC9B,IAAI,KAAK,CAAA;QACT,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAA;QAE9C,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;YAC/B,KAAK,GAAG,IAAI,CAAC,WAAW,CAAA;SACzB;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE;YAChC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;SACpB;QAED,+CAA+C;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAChD,IAAI,UAAU,GAAG,GAAG,CAAA;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAA;SAC3E;QAED,sGAAsG;QACtG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACjC,MAAM,YAAY,GAAG;gBACnB,UAAU;gBACV,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,KAAK,kCACA,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC9C,SAAS,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;iBACvD,CAAC,KACF,IAAI,EAAE,QAAQ,CAAC,QAAQ,EACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,GACpB;aACF,CAAA;YAED,IAAI,WAAqB,CAAA;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;YAChD,IAAI,QAAQ,EAAE;gBACZ,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;aACvE;iBAAM;gBACL,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;aACrE;YAED,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;SACzB;QAED,wFAAwF;QACxF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,OAAO,GAAG,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAC,CAAA;YACxD,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QAED,gFAAgF;QAChF,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;SACxD;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YACpC,wGAAwG;YACxG,kFAAkF;YAClF,mDAAmD;YACnD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACjD,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAA;SACH;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEa,0BAA0B,CAAC,WAAmB;;YAC1D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAA;YAC9D,MAAM,EAAE,GAAW,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;YACzE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC;KAAA;IAEa,gBAAgB,CAC5B,GAAuB,EACvB,OAA4B;;YAE5B,OAAO,IAAI,OAAO,CAAuB,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAA;gBAE9C,MAAM,QAAQ,GAAyB;oBACrC,UAAU;oBACV,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE;iBACZ,CAAA;gBAED,uCAAuC;gBACvC,IAAI,UAAU,KAAK,SAAS,CAAC,QAAQ,EAAE;oBACrC,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;gBAED,+BAA+B;gBAE/B,SAAS,oBAAoB,CAAC,GAAQ,EAAE,KAAU;oBAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;wBACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;4BACvB,OAAO,CAAC,CAAA;yBACT;qBACF;oBAED,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,GAAQ,CAAA;gBACZ,IAAI,QAA4B,CAAA;gBAEhC,IAAI;oBACF,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;oBAC/B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE;4BACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;yBACjD;6BAAM;4BACL,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;yBAC3B;wBAED,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;qBACtB;oBAED,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA;iBACvC;gBAAC,OAAO,GAAG,EAAE;oBACZ,iEAAiE;iBAClE;gBAED,yDAAyD;gBACzD,IAAI,UAAU,GAAG,GAAG,EAAE;oBACpB,IAAI,GAAW,CAAA;oBAEf,0DAA0D;oBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;wBACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;qBAClB;yBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,yEAAyE;wBACzE,GAAG,GAAG,QAAQ,CAAA;qBACf;yBAAM;wBACL,GAAG,GAAG,oBAAoB,UAAU,GAAG,CAAA;qBACxC;oBAED,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;oBAChD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;oBAE5B,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAlpBD,gCAkpBC;AAED,MAAM,aAAa,GAAG,CAAC,GAA2B,EAAO,EAAE,CACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.d.ts new file mode 100644 index 0000000..54fd4a8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.d.ts @@ -0,0 +1,44 @@ +/// +import * as http from 'http'; +import * as https from 'https'; +import { HttpClientResponse } from './index'; +export interface HttpClient { + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: http.OutgoingHttpHeaders): Promise; + requestRaw(info: RequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRawWithCallback(info: RequestInfo, data: string | NodeJS.ReadableStream, onResult: (err?: Error, res?: HttpClientResponse) => void): void; +} +export interface RequestHandler { + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(response: HttpClientResponse): boolean; + handleAuthentication(httpClient: HttpClient, requestInfo: RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; +} +export interface RequestInfo { + options: http.RequestOptions; + parsedUrl: URL; + httpModule: typeof http | typeof https; +} +export interface RequestOptions { + headers?: http.OutgoingHttpHeaders; + socketTimeout?: number; + ignoreSslError?: boolean; + allowRedirects?: boolean; + allowRedirectDowngrade?: boolean; + maxRedirects?: number; + maxSockets?: number; + keepAlive?: boolean; + deserializeDates?: boolean; + allowRetries?: boolean; + maxRetries?: number; +} +export interface TypedResponse { + statusCode: number; + result: T | null; + headers: http.IncomingHttpHeaders; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.js new file mode 100644 index 0000000..db91911 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.js.map new file mode 100644 index 0000000..8fb5f7d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.d.ts new file mode 100644 index 0000000..4599865 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.d.ts @@ -0,0 +1,2 @@ +export declare function getProxyUrl(reqUrl: URL): URL | undefined; +export declare function checkBypass(reqUrl: URL): boolean; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.js b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.js new file mode 100644 index 0000000..d9c43ad --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.js @@ -0,0 +1,82 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + try { + return new URL(proxyVar); + } + catch (_a) { + if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) + return new URL(`http://${proxyVar}`); + } + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +//# sourceMappingURL=proxy.js.map \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.js.map b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.js.map new file mode 100644 index 0000000..585c17d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/lib/proxy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,MAAW;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAE7C,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ,EAAE;YACZ,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;SAChE;aAAM;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;SAC9D;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,QAAQ,EAAE;QACZ,IAAI;YACF,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;SACzB;QAAC,WAAM;YACN,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;gBACrE,OAAO,IAAI,GAAG,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAA;SACvC;KACF;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAzBD,kCAyBC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC/B,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACxE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAA;KACb;IAED,6BAA6B;IAC7B,IAAI,OAA2B,CAAA;IAC/B,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KAC9B;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;QACtC,OAAO,GAAG,EAAE,CAAA;KACb;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACvC,OAAO,GAAG,GAAG,CAAA;KACd;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;KACrD;IAED,uCAAuC;IACvC,KAAK,MAAM,gBAAgB,IAAI,OAAO;SACnC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjB,IACE,gBAAgB,KAAK,GAAG;YACxB,aAAa,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,CACF,CAAC,KAAK,gBAAgB;gBACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAClC,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC/B,CAAC,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC,CACvC,EACD;YACA,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAnDD,kCAmDC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,CACL,SAAS,KAAK,WAAW;QACzB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAC5B,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7B,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAC1C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/package.json b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/package.json new file mode 100644 index 0000000..f0c747b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@actions/http-client/package.json @@ -0,0 +1,48 @@ +{ + "name": "@actions/http-client", + "version": "2.1.1", + "description": "Actions Http Client", + "keywords": [ + "github", + "actions", + "http" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/http-client", + "license": "MIT", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/http-client" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "devDependencies": { + "@types/tunnel": "0.0.3", + "proxy": "^1.0.1" + }, + "dependencies": { + "tunnel": "^0.0.6" + } +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +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/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/README.md new file mode 100644 index 0000000..a1f6d35 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/README.md @@ -0,0 +1,290 @@ +# auth-token.js + +> GitHub API token authentication for browsers and Node.js + +[![@latest](https://img.shields.io/npm/v/@octokit/auth-token.svg)](https://www.npmjs.com/package/@octokit/auth-token) +[![Build Status](https://github.com/octokit/auth-token.js/workflows/Test/badge.svg)](https://github.com/octokit/auth-token.js/actions?query=workflow%3ATest) + +`@octokit/auth-token` is the simplest of [GitHub’s authentication strategies](https://github.com/octokit/auth.js). + +It is useful if you want to support multiple authentication strategies, as it’s API is compatible with its sibling packages for [basic](https://github.com/octokit/auth-basic.js), [GitHub App](https://github.com/octokit/auth-app.js) and [OAuth app](https://github.com/octokit/auth.js) authentication. + + + +- [Usage](#usage) +- [`createTokenAuth(token) options`](#createtokenauthtoken-options) +- [`auth()`](#auth) +- [Authentication object](#authentication-object) +- [`auth.hook(request, route, options)` or `auth.hook(request, options)`](#authhookrequest-route-options-or-authhookrequest-options) +- [Find more information](#find-more-information) + - [Find out what scopes are enabled for oauth tokens](#find-out-what-scopes-are-enabled-for-oauth-tokens) + - [Find out if token is a personal access token or if it belongs to an OAuth app](#find-out-if-token-is-a-personal-access-token-or-if-it-belongs-to-an-oauth-app) + - [Find out what permissions are enabled for a repository](#find-out-what-permissions-are-enabled-for-a-repository) + - [Use token for git operations](#use-token-for-git-operations) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/auth-token` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/auth-token + +```js +const { createTokenAuth } = require("@octokit/auth-token"); +// or: import { createTokenAuth } from "@octokit/auth-token"; +``` + +
+ +```js +const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +const authentication = await auth(); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } +``` + +## `createTokenAuth(token) options` + +The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: + +- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) +- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) +- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) + +Examples + +```js +// Personal access token or OAuth access token +createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghs_InstallallationOrActionToken00000000"); +// { +// type: 'token', +// token: 'ghs_InstallallationOrActionToken00000000', +// tokenType: 'installation' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghu_InstallationUserToServer000000000000"); +// { +// type: 'token', +// token: 'ghu_InstallationUserToServer000000000000', +// tokenType: 'user-to-server' +// } +``` + +## `auth()` + +The `auth()` method has no options. It returns a promise which resolves with the the authentication object. + +## Authentication object + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ type + + string + + "token" +
+ token + + string + + The provided token. +
+ tokenType + + string + + Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. +
+ +## `auth.hook(request, route, options)` or `auth.hook(request, options)` + +`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. + +The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). + +`auth.hook()` can be called directly to send an authenticated request + +```js +const { data: authorizations } = await auth.hook( + request, + "GET /authorizations" +); +``` + +Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). + +```js +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: authorizations } = await requestWithAuth("GET /authorizations"); +``` + +## Find more information + +`auth()` does not send any requests, it only transforms the provided token string into an authentication object. + +Here is a list of things you can do to retrieve further information + +### Find out what scopes are enabled for oauth tokens + +Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); + +if (scopes.length) { + console.log( + `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}` + ); +} else { + console.log(`"${TOKEN}" has no scopes enabled`); +} +``` + +### Find out if token is a personal access token or if it belongs to an OAuth app + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const clientId = response.headers["x-oauth-client-id"]; + +if (clientId) { + console.log( + `"${token}" is an OAuth token, its app’s client_id is ${clientId}.` + ); +} else { + console.log(`"${token}" is a personal access token`); +} +``` + +### Find out what permissions are enabled for a repository + +Note that the `permissions` key is not set when authenticated using an installation access token. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("GET /repos/{owner}/{repo}", { + owner: 'octocat', + repo: 'hello-world' + headers: authentication.headers +}); + +console.log(response.data.permissions) +// { +// admin: true, +// push: true, +// pull: true +// } +``` + +### Use token for git operations + +Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). + +This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const { token, tokenType } = await auth(); +const tokenWithPrefix = + tokenType === "installation" ? `x-access-token:${token}` : token; + +const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; + +const { stdout } = await execa("git", ["push", repositoryUrl]); +console.log(stdout); +``` + +## License + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-node/index.js new file mode 100644 index 0000000..af0f0a6 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-node/index.js @@ -0,0 +1,55 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-node/index.js.map new file mode 100644 index 0000000..af0c2e2 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":["REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","token","isApp","split","length","isInstallation","test","isUserToServer","tokenType","type","withAuthorizationPrefix","hook","request","route","parameters","endpoint","merge","headers","authorization","createTokenAuth","Error","replace","Object","assign","bind"],"mappings":";;;;AAAA,MAAMA,4BAA4B,GAAG,OAArC;AACA,MAAMC,qBAAqB,GAAG,OAA9B;AACA,MAAMC,uBAAuB,GAAG,OAAhC;AACO,eAAeC,IAAf,CAAoBC,KAApB,EAA2B;AAC9B,QAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAA3C;AACA,QAAMC,cAAc,GAAGR,4BAA4B,CAACS,IAA7B,CAAkCL,KAAlC,KACnBH,qBAAqB,CAACQ,IAAtB,CAA2BL,KAA3B,CADJ;AAEA,QAAMM,cAAc,GAAGR,uBAAuB,CAACO,IAAxB,CAA6BL,KAA7B,CAAvB;AACA,QAAMO,SAAS,GAAGN,KAAK,GACjB,KADiB,GAEjBG,cAAc,GACV,cADU,GAEVE,cAAc,GACV,gBADU,GAEV,OANd;AAOA,SAAO;AACHE,IAAAA,IAAI,EAAE,OADH;AAEHR,IAAAA,KAAK,EAAEA,KAFJ;AAGHO,IAAAA;AAHG,GAAP;AAKH;;ACpBD;AACA;AACA;AACA;AACA;AACA,AAAO,SAASE,uBAAT,CAAiCT,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WAAQ,UAASH,KAAM,EAAvB;AACH;;AACD,SAAQ,SAAQA,KAAM,EAAtB;AACH;;ACTM,eAAeU,IAAf,CAAoBV,KAApB,EAA2BW,OAA3B,EAAoCC,KAApC,EAA2CC,UAA3C,EAAuD;AAC1D,QAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAR,CAAiBC,KAAjB,CAAuBH,KAAvB,EAA8BC,UAA9B,CAAjB;AACAC,EAAAA,QAAQ,CAACE,OAAT,CAAiBC,aAAjB,GAAiCR,uBAAuB,CAACT,KAAD,CAAxD;AACA,SAAOW,OAAO,CAACG,QAAD,CAAd;AACH;;MCHYI,eAAe,GAAG,SAASA,eAAT,CAAyBlB,KAAzB,EAAgC;AAC3D,MAAI,CAACA,KAAL,EAAY;AACR,UAAM,IAAImB,KAAJ,CAAU,0DAAV,CAAN;AACH;;AACD,MAAI,OAAOnB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAM,IAAImB,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACDnB,EAAAA,KAAK,GAAGA,KAAK,CAACoB,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAR;AACA,SAAOC,MAAM,CAACC,MAAP,CAAcvB,IAAI,CAACwB,IAAL,CAAU,IAAV,EAAgBvB,KAAhB,CAAd,EAAsC;AACzCU,IAAAA,IAAI,EAAEA,IAAI,CAACa,IAAL,CAAU,IAAV,EAAgBvB,KAAhB;AADmC,GAAtC,CAAP;AAGH,CAXM;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/auth.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 0000000..b22ce98 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/auth.js @@ -0,0 +1,21 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +export async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp + ? "app" + : isInstallation + ? "installation" + : isUserToServer + ? "user-to-server" + : "oauth"; + return { + type: "token", + token: token, + tokenType, + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/hook.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 0000000..f8e47f0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/hook.js @@ -0,0 +1,6 @@ +import { withAuthorizationPrefix } from "./with-authorization-prefix"; +export async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 0000000..f2ddd63 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/index.js @@ -0,0 +1,14 @@ +import { auth } from "./auth"; +import { hook } from "./hook"; +export const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token), + }); +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 0000000..9035813 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -0,0 +1,11 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 0000000..dc41835 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -0,0 +1,2 @@ +import { Token, Authentication } from "./types"; +export declare function auth(token: Token): Promise; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 0000000..21e4b6f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -0,0 +1,2 @@ +import { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; +export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 0000000..5999429 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import { StrategyInterface, Token, Authentication } from "./types"; +export declare type Types = { + StrategyOptions: Token; + AuthOptions: never; + Authentication: Authentication; +}; +export declare const createTokenAuth: StrategyInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 0000000..0ae24de --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -0,0 +1,33 @@ +import * as OctokitTypes from "@octokit/types"; +export declare type AnyResponse = OctokitTypes.OctokitResponse; +export declare type StrategyInterface = OctokitTypes.StrategyInterface<[ + Token +], [ +], Authentication>; +export declare type EndpointDefaults = OctokitTypes.EndpointDefaults; +export declare type EndpointOptions = OctokitTypes.EndpointOptions; +export declare type RequestParameters = OctokitTypes.RequestParameters; +export declare type RequestInterface = OctokitTypes.RequestInterface; +export declare type Route = OctokitTypes.Route; +export declare type Token = string; +export declare type OAuthTokenAuthentication = { + type: "token"; + tokenType: "oauth"; + token: Token; +}; +export declare type InstallationTokenAuthentication = { + type: "token"; + tokenType: "installation"; + token: Token; +}; +export declare type AppAuthentication = { + type: "token"; + tokenType: "app"; + token: Token; +}; +export declare type UserToServerAuthentication = { + type: "token"; + tokenType: "user-to-server"; + token: Token; +}; +export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 0000000..2e52c31 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts @@ -0,0 +1,6 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export declare function withAuthorizationPrefix(token: string): string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-web/index.js new file mode 100644 index 0000000..8b1cd7d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-web/index.js @@ -0,0 +1,55 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp + ? "app" + : isInstallation + ? "installation" + : isUserToServer + ? "user-to-server" + : "oauth"; + return { + type: "token", + token: token, + tokenType, + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token), + }); +}; + +export { createTokenAuth }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-web/index.js.map new file mode 100644 index 0000000..1d6197b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":[],"mappings":"AAAA,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAC7C,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACjC,eAAe,IAAI,CAAC,KAAK,EAAE;AAClC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACjD,IAAI,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC;AACnE,QAAQ,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,IAAI,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,SAAS,GAAG,KAAK;AAC3B,UAAU,KAAK;AACf,UAAU,cAAc;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,kBAAkB,gBAAgB;AAClC,kBAAkB,OAAO,CAAC;AAC1B,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;ACpBA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAQ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;;ACTM,eAAe,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;;ACHW,MAAC,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/D,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACjD,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/package.json new file mode 100644 index 0000000..1b0df71 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/auth-token/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit/auth-token", + "description": "GitHub API token authentication for browsers and Node.js", + "version": "2.5.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "octokit", + "authentication", + "api" + ], + "repository": "github:octokit/auth-token.js", + "dependencies": { + "@octokit/types": "^6.0.3" + }, + "devDependencies": { + "@octokit/core": "^3.0.0", + "@octokit/request": "^5.3.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.4.1", + "semantic-release": "^17.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +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/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/README.md new file mode 100644 index 0000000..b540cb9 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/README.md @@ -0,0 +1,448 @@ +# core.js + +> Extendable client for GitHub's REST & GraphQL APIs + +[![@latest](https://img.shields.io/npm/v/@octokit/core.svg)](https://www.npmjs.com/package/@octokit/core) +[![Build Status](https://github.com/octokit/core.js/workflows/Test/badge.svg)](https://github.com/octokit/core.js/actions?query=workflow%3ATest+branch%3Amaster) + + + +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) +- [Options](#options) +- [Defaults](#defaults) +- [Authentication](#authentication) +- [Logging](#logging) +- [Hooks](#hooks) +- [Plugins](#plugins) +- [Build your own Octokit with Plugins and Defaults](#build-your-own-octokit-with-plugins-and-defaults) +- [LICENSE](#license) + + + +If you need a minimalistic library to utilize GitHub's [REST API](https://developer.github.com/v3/) and [GraphQL API](https://developer.github.com/v4/) which you can extend with plugins as needed, then `@octokit/core` is a great starting point. + +If you don't need the Plugin API then using [`@octokit/request`](https://github.com/octokit/request.js/) or [`@octokit/graphql`](https://github.com/octokit/graphql.js/) directly is a good alternative. + +## Usage + + + + + + +
+Browsers + +Load @octokit/core directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/core + +```js +const { Octokit } = require("@octokit/core"); +// or: import { Octokit } from "@octokit/core"; +``` + +
+ +### REST API example + +```js +// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo +const octokit = new Octokit({ auth: `personal-access-token123` }); + +const response = await octokit.request("GET /orgs/{org}/repos", { + org: "octokit", + type: "private", +}); +``` + +See [`@octokit/request`](https://github.com/octokit/request.js) for full documentation of the `.request` method. + +### GraphQL example + +```js +const octokit = new Octokit({ auth: `secret123` }); + +const response = await octokit.graphql( + `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + { login: "octokit" } +); +``` + +See [`@octokit/graphql`](https://github.com/octokit/graphql.js) for full documentation of the `.graphql` method. + +## Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ options.authStrategy + + Function + + Defaults to @octokit/auth-token. See Authentication below for examples. +
+ options.auth + + String or Object + + See Authentication below for examples. +
+ options.baseUrl + + String + + +When using with GitHub Enterprise Server, set `options.baseUrl` to the root URL of the API. For example, if your GitHub Enterprise Server's hostname is `github.acme-inc.com`, then set `options.baseUrl` to `https://github.acme-inc.com/api/v3`. Example + +```js +const octokit = new Octokit({ + baseUrl: "https://github.acme-inc.com/api/v3", +}); +``` + +
+ options.previews + + Array of Strings + + +Some REST API endpoints require preview headers to be set, or enable +additional features. Preview headers can be set on a per-request basis, e.g. + +```js +octokit.request("POST /repos/{owner}/{repo}/pulls", { + mediaType: { + previews: ["shadow-cat"], + }, + owner, + repo, + title: "My pull request", + base: "master", + head: "my-feature", + draft: true, +}); +``` + +You can also set previews globally, by setting the `options.previews` option on the constructor. Example: + +```js +const octokit = new Octokit({ + previews: ["shadow-cat"], +}); +``` + +
+ options.request + + Object + + +Set a default request timeout (`options.request.timeout`) or an [`http(s).Agent`](https://nodejs.org/api/http.html#http_class_http_agent) e.g. for proxy usage (Node only, `options.request.agent`). + +There are more `options.request.*` options, see [`@octokit/request` options](https://github.com/octokit/request.js#request). `options.request` can also be set on a per-request basis. + +
+ options.timeZone + + String + + +Sets the `Time-Zone` header which defines a timezone according to the [list of names from the Olson database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +```js +const octokit = new Octokit({ + timeZone: "America/Los_Angeles", +}); +``` + +The time zone header will determine the timezone used for generating the timestamp when creating commits. See [GitHub's Timezones documentation](https://developer.github.com/v3/#timezones). + +
+ options.userAgent + + String + + +A custom user agent string for your app or library. Example + +```js +const octokit = new Octokit({ + userAgent: "my-app/v1.2.3", +}); +``` + +
+ +## Defaults + +You can create a new Octokit class with customized default options. + +```js +const MyOctokit = Octokit.defaults({ + auth: "personal-access-token123", + baseUrl: "https://github.acme-inc.com/api/v3", + userAgent: "my-app/v1.2.3", +}); +const octokit1 = new MyOctokit(); +const octokit2 = new MyOctokit(); +``` + +If you pass additional options to your new constructor, the options will be merged shallowly. + +```js +const MyOctokit = Octokit.defaults({ + foo: { + opt1: 1, + }, +}); +const octokit = new MyOctokit({ + foo: { + opt2: 1, + }, +}); +// options will be { foo: { opt2: 1 }} +``` + +If you need a deep or conditional merge, you can pass a function instead. + +```js +const MyOctokit = Octokit.defaults((options) => { + return { + foo: Object.assign({}, options.foo, { opt2: 1 }), + }; +}); +const octokit = new MyOctokit({ + foo: { opt2: 1 }, +}); +// options will be { foo: { opt1: 1, opt2: 1 }} +``` + +Be careful about mutating the `options` object in the `Octokit.defaults` callback, as it can have unforeseen consequences. + +## Authentication + +Authentication is optional for some REST API endpoints accessing public data, but is required for GraphQL queries. Using authentication also increases your [API rate limit](https://developer.github.com/v3/#rate-limiting). + +By default, Octokit authenticates using the [token authentication strategy](https://github.com/octokit/auth-token.js). Pass in a token using `options.auth`. It can be a personal access token, an OAuth token, an installation access token or a JSON Web Token for GitHub App authentication. The `Authorization` header will be set according to the type of token. + +```js +import { Octokit } from "@octokit/core"; + +const octokit = new Octokit({ + auth: "mypersonalaccesstoken123", +}); + +const { data } = await octokit.request("/user"); +``` + +To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). + +Example + +```js +import { Octokit } from "@octokit/core"; +import { createAppAuth } from "@octokit/auth-app"; + +const appOctokit = new Octokit({ + authStrategy: createAppAuth, + auth: { + appId: 123, + privateKey: process.env.PRIVATE_KEY, + }, +}); + +const { data } = await appOctokit.request("/app"); +``` + +The `.auth()` method returned by the current authentication strategy can be accessed at `octokit.auth()`. Example + +```js +const { token } = await appOctokit.auth({ + type: "installation", + installationId: 123, +}); +``` + +## Logging + +There are four built-in log methods + +1. `octokit.log.debug(message[, additionalInfo])` +1. `octokit.log.info(message[, additionalInfo])` +1. `octokit.log.warn(message[, additionalInfo])` +1. `octokit.log.error(message[, additionalInfo])` + +They can be configured using the [`log` client option](client-options). By default, `octokit.log.debug()` and `octokit.log.info()` are no-ops, while the other two call `console.warn()` and `console.error()` respectively. + +This is useful if you build reusable [plugins](#plugins). + +If you would like to make the log level configurable using an environment variable or external option, we recommend the [console-log-level](https://github.com/watson/console-log-level) package. Example + +```js +const octokit = new Octokit({ + log: require("console-log-level")({ level: "info" }), +}); +``` + +## Hooks + +You can customize Octokit's request lifecycle with hooks. + +```js +octokit.hook.before("request", async (options) => { + validate(options); +}); +octokit.hook.after("request", async (response, options) => { + console.log(`${options.method} ${options.url}: ${response.status}`); +}); +octokit.hook.error("request", async (error, options) => { + if (error.status === 304) { + return findInCache(error.response.headers.etag); + } + + throw error; +}); +octokit.hook.wrap("request", async (request, options) => { + // add logic before, after, catch errors or replace the request altogether + return request(options); +}); +``` + +See [before-after-hook](https://github.com/gr2m/before-after-hook#readme) for more documentation on hooks. + +## Plugins + +Octokit’s functionality can be extended using plugins. The `Octokit.plugin()` method accepts a plugin (or many) and returns a new constructor. + +A plugin is a function which gets two arguments: + +1. the current instance +2. the options passed to the constructor. + +In order to extend `octokit`'s API, the plugin must return an object with the new methods. + +```js +// index.js +const { Octokit } = require("@octokit/core") +const MyOctokit = Octokit.plugin( + require("./lib/my-plugin"), + require("octokit-plugin-example") +); + +const octokit = new MyOctokit({ greeting: "Moin moin" }); +octokit.helloWorld(); // logs "Moin moin, world!" +octokit.request("GET /"); // logs "GET / - 200 in 123ms" + +// lib/my-plugin.js +module.exports = (octokit, options = { greeting: "Hello" }) => { + // hook into the request lifecycle + octokit.hook.wrap("request", async (request, options) => { + const time = Date.now(); + const response = await request(options); + console.log( + `${options.method} ${options.url} – ${response.status} in ${Date.now() - + time}ms` + ); + return response; + }); + + // add a custom method + return { + helloWorld: () => console.log(`${options.greeting}, world!`); + } +}; +``` + +## Build your own Octokit with Plugins and Defaults + +You can build your own Octokit class with preset default options and plugins. In fact, this is mostly how the `@octokit/` modules work, such as [`@octokit/action`](https://github.com/octokit/action.js): + +```js +const { Octokit } = require("@octokit/core"); +const MyActionOctokit = Octokit.plugin( + require("@octokit/plugin-paginate-rest").paginateRest, + require("@octokit/plugin-throttling").throttling, + require("@octokit/plugin-retry").retry +).defaults({ + throttle: { + onAbuseLimit: (retryAfter, options) => { + /* ... */ + }, + onRateLimit: (retryAfter, options) => { + /* ... */ + }, + }, + authStrategy: require("@octokit/auth-action").createActionAuth, + userAgent: `my-octokit-action/v1.2.3`, +}); + +const octokit = new MyActionOctokit(); +const installations = await octokit.paginate("GET /app/installations"); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-node/index.js new file mode 100644 index 0000000..0f46e61 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-node/index.js @@ -0,0 +1,176 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var universalUserAgent = require('universal-user-agent'); +var beforeAfterHook = require('before-after-hook'); +var request = require('@octokit/request'); +var graphql = require('@octokit/graphql'); +var authToken = require('@octokit/auth-token'); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +const VERSION = "3.6.0"; + +const _excluded = ["authStrategy"]; +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); + + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 + + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } + + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } + + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-node/index.js.map new file mode 100644 index 0000000..3467e52 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;ACAP,AAMO,MAAMC,OAAN,CAAc;AACjBC,EAAAA,WAAW,CAACC,OAAO,GAAG,EAAX,EAAe;AACtB,UAAMC,IAAI,GAAG,IAAIC,0BAAJ,EAAb;AACA,UAAMC,eAAe,GAAG;AACpBC,MAAAA,OAAO,EAAEC,eAAO,CAACC,QAAR,CAAiBC,QAAjB,CAA0BH,OADf;AAEpBI,MAAAA,OAAO,EAAE,EAFW;AAGpBH,MAAAA,OAAO,EAAEI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACK,OAA1B,EAAmC;AACxC;AACAJ,QAAAA,IAAI,EAAEA,IAAI,CAACU,IAAL,CAAU,IAAV,EAAgB,SAAhB;AAFkC,OAAnC,CAHW;AAOpBC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,EADH;AAEPC,QAAAA,MAAM,EAAE;AAFD;AAPS,KAAxB,CAFsB;;AAetBX,IAAAA,eAAe,CAACK,OAAhB,CAAwB,YAAxB,IAAwC,CACpCR,OAAO,CAACe,SAD4B,EAEnC,mBAAkBlB,OAAQ,IAAGmB,+BAAY,EAAG,EAFT,EAInCC,MAJmC,CAI5BC,OAJ4B,EAKnCC,IALmC,CAK9B,GAL8B,CAAxC;;AAMA,QAAInB,OAAO,CAACI,OAAZ,EAAqB;AACjBD,MAAAA,eAAe,CAACC,OAAhB,GAA0BJ,OAAO,CAACI,OAAlC;AACH;;AACD,QAAIJ,OAAO,CAACa,QAAZ,EAAsB;AAClBV,MAAAA,eAAe,CAACS,SAAhB,CAA0BC,QAA1B,GAAqCb,OAAO,CAACa,QAA7C;AACH;;AACD,QAAIb,OAAO,CAACoB,QAAZ,EAAsB;AAClBjB,MAAAA,eAAe,CAACK,OAAhB,CAAwB,WAAxB,IAAuCR,OAAO,CAACoB,QAA/C;AACH;;AACD,SAAKf,OAAL,GAAeA,eAAO,CAACgB,QAAR,CAAiBlB,eAAjB,CAAf;AACA,SAAKmB,OAAL,GAAeC,yBAAiB,CAAC,KAAKlB,OAAN,CAAjB,CAAgCgB,QAAhC,CAAyClB,eAAzC,CAAf;AACA,SAAKqB,GAAL,GAAWf,MAAM,CAACC,MAAP,CAAc;AACrBe,MAAAA,KAAK,EAAE,MAAM,EADQ;AAErBC,MAAAA,IAAI,EAAE,MAAM,EAFS;AAGrBC,MAAAA,IAAI,EAAEC,OAAO,CAACD,IAAR,CAAahB,IAAb,CAAkBiB,OAAlB,CAHe;AAIrBC,MAAAA,KAAK,EAAED,OAAO,CAACC,KAAR,CAAclB,IAAd,CAAmBiB,OAAnB;AAJc,KAAd,EAKR5B,OAAO,CAACwB,GALA,CAAX;AAMA,SAAKvB,IAAL,GAAYA,IAAZ,CAtCsB;AAwCtB;AACA;AACA;AACA;;AACA,QAAI,CAACD,OAAO,CAAC8B,YAAb,EAA2B;AACvB,UAAI,CAAC9B,OAAO,CAAC+B,IAAb,EAAmB;AACf;AACA,aAAKA,IAAL,GAAY,aAAa;AACrBC,UAAAA,IAAI,EAAE;AADe,SAAb,CAAZ;AAGH,OALD,MAMK;AACD;AACA,cAAMD,IAAI,GAAGE,yBAAe,CAACjC,OAAO,CAAC+B,IAAT,CAA5B,CAFC;;AAID9B,QAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,aAAK8B,IAAL,GAAYA,IAAZ;AACH;AACJ,KAdD,MAeK;AACD,YAAM;AAAED,QAAAA;AAAF,UAAoC9B,OAA1C;AAAA,YAAyBmC,YAAzB,4BAA0CnC,OAA1C;;AACA,YAAM+B,IAAI,GAAGD,YAAY,CAACrB,MAAM,CAACC,MAAP,CAAc;AACpCL,QAAAA,OAAO,EAAE,KAAKA,OADsB;AAEpCmB,QAAAA,GAAG,EAAE,KAAKA,GAF0B;AAGpC;AACA;AACA;AACA;AACA;AACAY,QAAAA,OAAO,EAAE,IAR2B;AASpCC,QAAAA,cAAc,EAAEF;AAToB,OAAd,EAUvBnC,OAAO,CAAC+B,IAVe,CAAD,CAAzB,CAFC;;AAcD9B,MAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,WAAK8B,IAAL,GAAYA,IAAZ;AACH,KA3EqB;AA6EtB;;;AACA,UAAMO,gBAAgB,GAAG,KAAKvC,WAA9B;AACAuC,IAAAA,gBAAgB,CAACC,OAAjB,CAAyBC,OAAzB,CAAkCC,MAAD,IAAY;AACzChC,MAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB+B,MAAM,CAAC,IAAD,EAAOzC,OAAP,CAA1B;AACH,KAFD;AAGH;;AACc,SAARqB,QAAQ,CAACA,QAAD,EAAW;AACtB,UAAMqB,mBAAmB,GAAG,cAAc,IAAd,CAAmB;AAC3C3C,MAAAA,WAAW,CAAC,GAAG4C,IAAJ,EAAU;AACjB,cAAM3C,OAAO,GAAG2C,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA3B;;AACA,YAAI,OAAOtB,QAAP,KAAoB,UAAxB,EAAoC;AAChC,gBAAMA,QAAQ,CAACrB,OAAD,CAAd;AACA;AACH;;AACD,cAAMS,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBW,QAAlB,EAA4BrB,OAA5B,EAAqCA,OAAO,CAACe,SAAR,IAAqBM,QAAQ,CAACN,SAA9B,GACrC;AACEA,UAAAA,SAAS,EAAG,GAAEf,OAAO,CAACe,SAAU,IAAGM,QAAQ,CAACN,SAAU;AADxD,SADqC,GAIrC,IAJA,CAAN;AAKH;;AAZ0C,KAA/C;AAcA,WAAO2B,mBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,SAAND,MAAM,CAAC,GAAGG,UAAJ,EAAgB;AACzB,QAAIC,EAAJ;;AACA,UAAMC,cAAc,GAAG,KAAKP,OAA5B;AACA,UAAMQ,UAAU,IAAIF,EAAE,GAAG,cAAc,IAAd,CAAmB,EAAxB,EAEhBA,EAAE,CAACN,OAAH,GAAaO,cAAc,CAACE,MAAf,CAAsBJ,UAAU,CAAC3B,MAAX,CAAmBwB,MAAD,IAAY,CAACK,cAAc,CAACG,QAAf,CAAwBR,MAAxB,CAA/B,CAAtB,CAFG,EAGhBI,EAHY,CAAhB;AAIA,WAAOE,UAAP;AACH;;AAnHgB;AAqHrBjD,OAAO,CAACD,OAAR,GAAkBA,OAAlB;AACAC,OAAO,CAACyC,OAAR,GAAkB,EAAlB;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/index.js new file mode 100644 index 0000000..bdbc335 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/index.js @@ -0,0 +1,125 @@ +import { getUserAgent } from "universal-user-agent"; +import { Collection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; +import { VERSION } from "./version"; +export class Octokit { + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request"), + }), + mediaType: { + previews: [], + format: "", + }, + }; + // prepend default user agent with `options.userAgent` if set + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${getUserAgent()}`, + ] + .filter(Boolean) + .join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => { }, + info: () => { }, + warn: console.warn.bind(console), + error: console.error.bind(console), + }, options.log); + this.hook = hook; + // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated", + }); + } + else { + // (2) + const auth = createTokenAuth(options.auth); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + } + else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions, + }, options.auth)); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + // apply plugins + // https://stackoverflow.com/a/16345172 + const classConstructor = this.constructor; + classConstructor.plugins.forEach((plugin) => { + Object.assign(this, plugin(this, options)); + }); + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent + ? { + userAgent: `${options.userAgent} ${defaults.userAgent}`, + } + : null)); + } + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, + _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), + _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/version.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/version.js new file mode 100644 index 0000000..bace1a9 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "3.6.0"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/index.d.ts new file mode 100644 index 0000000..b757c5b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/index.d.ts @@ -0,0 +1,30 @@ +import { HookCollection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql } from "@octokit/graphql"; +import { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; +export declare class Octokit { + static VERSION: string; + static defaults>(this: S, defaults: OctokitOptions | Function): S; + static plugins: OctokitPlugin[]; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin & { + plugins: any[]; + }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): S & Constructor>>; + constructor(options?: OctokitOptions); + request: typeof request; + graphql: typeof graphql; + log: { + debug: (message: string, additionalInfo?: object) => any; + info: (message: string, additionalInfo?: object) => any; + warn: (message: string, additionalInfo?: object) => any; + error: (message: string, additionalInfo?: object) => any; + [key: string]: any; + }; + hook: HookCollection; + auth: (...args: unknown[]) => Promise; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/types.d.ts new file mode 100644 index 0000000..3970d0d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/types.d.ts @@ -0,0 +1,44 @@ +import * as OctokitTypes from "@octokit/types"; +import { RequestError } from "@octokit/request-error"; +import { Octokit } from "."; +export declare type RequestParameters = OctokitTypes.RequestParameters; +export interface OctokitOptions { + authStrategy?: any; + auth?: any; + userAgent?: string; + previews?: string[]; + baseUrl?: string; + log?: { + debug: (message: string) => unknown; + info: (message: string) => unknown; + warn: (message: string) => unknown; + error: (message: string) => unknown; + }; + request?: OctokitTypes.RequestRequestOptions; + timeZone?: string; + [option: string]: any; +} +export declare type Constructor = new (...args: any[]) => T; +export declare type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; +/** + * @author https://stackoverflow.com/users/2887218/jcalz + * @see https://stackoverflow.com/a/50375286/10325032 + */ +export declare type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; +declare type AnyFunction = (...args: any) => any; +export declare type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { + [key: string]: any; +} | void; +export declare type Hooks = { + request: { + Options: Required; + Result: OctokitTypes.OctokitResponse; + Error: RequestError | Error; + }; + [key: string]: { + Options: unknown; + Result: unknown; + Error: unknown; + }; +}; +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/version.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/version.d.ts new file mode 100644 index 0000000..f1a3d02 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "3.6.0"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-web/index.js new file mode 100644 index 0000000..741d231 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-web/index.js @@ -0,0 +1,130 @@ +import { getUserAgent } from 'universal-user-agent'; +import { Collection } from 'before-after-hook'; +import { request } from '@octokit/request'; +import { withCustomRequest } from '@octokit/graphql'; +import { createTokenAuth } from '@octokit/auth-token'; + +const VERSION = "3.6.0"; + +class Octokit { + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request"), + }), + mediaType: { + previews: [], + format: "", + }, + }; + // prepend default user agent with `options.userAgent` if set + requestDefaults.headers["user-agent"] = [ + options.userAgent, + `octokit-core.js/${VERSION} ${getUserAgent()}`, + ] + .filter(Boolean) + .join(" "); + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => { }, + info: () => { }, + warn: console.warn.bind(console), + error: console.error.bind(console), + }, options.log); + this.hook = hook; + // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated", + }); + } + else { + // (2) + const auth = createTokenAuth(options.auth); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + } + else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions, + }, options.auth)); + // @ts-ignore ¯\_(ツ)_/¯ + hook.wrap("request", auth.hook); + this.auth = auth; + } + // apply plugins + // https://stackoverflow.com/a/16345172 + const classConstructor = this.constructor; + classConstructor.plugins.forEach((plugin) => { + Object.assign(this, plugin(this, options)); + }); + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent + ? { + userAgent: `${options.userAgent} ${defaults.userAgent}`, + } + : null)); + } + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + var _a; + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this { + }, + _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), + _a); + return NewOctokit; + } +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +export { Octokit }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-web/index.js.map new file mode 100644 index 0000000..238c82e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACMnC,MAAM,OAAO,CAAC;AACrB,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;AACtD,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;AACxD;AACA,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,SAAS,EAAE;AACvB,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,aAAa;AACb,SAAS,CAAC;AACV;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;AAChD,YAAY,OAAO,CAAC,SAAS;AAC7B,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAS;AACT,aAAa,MAAM,CAAC,OAAO,CAAC;AAC5B,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtD,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClE,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpE,SAAS;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,YAAY,KAAK,EAAE,MAAM,GAAG;AAC5B,YAAY,IAAI,EAAE,MAAM,GAAG;AAC3B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B;AACA,gBAAgB,IAAI,CAAC,IAAI,GAAG,aAAa;AACzC,oBAAoB,IAAI,EAAE,iBAAiB;AAC3C,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AAC9D,YAAY,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACpD,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,cAAc,EAAE,YAAY;AAC5C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,QAAQ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACrD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,MAAM,mBAAmB,GAAG,cAAc,IAAI,CAAC;AACvD,YAAY,WAAW,CAAC,GAAG,IAAI,EAAE;AACjC,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;AAClG,sBAAsB;AACtB,wBAAwB,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,qBAAqB;AACrB,sBAAsB,IAAI,CAAC,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,mBAAmB,CAAC;AACnC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,GAAG,UAAU,EAAE;AACjC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,UAAU,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/G,YAAY,EAAE,CAAC,CAAC;AAChB,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/package.json new file mode 100644 index 0000000..548e76c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/core/package.json @@ -0,0 +1,57 @@ +{ + "name": "@octokit/core", + "description": "Extendable client for GitHub's REST & GraphQL APIs", + "version": "3.6.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/core.js", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth": "^3.0.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "http-proxy-agent": "^5.0.0", + "jest": "^27.0.0", + "lolex": "^6.0.0", + "prettier": "2.4.1", + "proxy": "^1.0.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +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/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/README.md new file mode 100644 index 0000000..1e5153f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/README.md @@ -0,0 +1,421 @@ +# endpoint.js + +> Turns GitHub REST API endpoints into generic request options + +[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) +![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg) + +`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. + + + + + +- [Usage](#usage) +- [API](#api) + - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) + - [`endpoint.defaults()`](#endpointdefaults) + - [`endpoint.DEFAULTS`](#endpointdefaults) + - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) + - [`endpoint.parse()`](#endpointparse) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) + + + +## Usage + + + + + + +
+Browsers + +Load @octokit/endpoint directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/endpoint + +```js +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; +``` + +
+ +Example for [List organization repositories](https://developer.github.com/v3/repos/#list-organization-repositories) + +```js +const requestOptions = endpoint("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +The resulting `requestOptions` looks as follows + +```json +{ + "method": "GET", + "url": "https://api.github.com/orgs/octokit/repos?type=private", + "headers": { + "accept": "application/vnd.github.v3+json", + "authorization": "token 0000000000000000000000000000000000000001", + "user-agent": "octokit/endpoint.js v1.2.3" + } +} +``` + +You can pass `requestOptions` to common request libraries + +```js +const { url, ...options } = requestOptions; +// using with fetch (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) +fetch(url, options); +// using with request (https://github.com/request/request) +request(requestOptions); +// using with got (https://github.com/sindresorhus/got) +got[options.method](url, options); +// using with axios +axios(requestOptions); +``` + +## API + +### `endpoint(route, options)` or `endpoint(options)` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/{org}. If it’s set to a URL, only the method defaults to GET. +
+ options.method + + String + + Required unless route is set. Any supported http verb. Defaults to GET. +
+ options.url + + String + + Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders, + e.g., /orgs/{org}/repos. The url is parsed using url-template. +
+ options.baseUrl + + String + + Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
+
+ options.mediaType.format + + String + + Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. +
+ options.mediaType.previews + + Array of Strings + + Name of previews, such as mercy, symmetra, or scarlet-witch. See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults(). +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below. +
+ options.request + + Object + + Pass custom meta information for the request. The request object will be returned as is. +
+ +All other options will be passed depending on the `method` and `url` options. + +1. If the option key has a placeholder in the `url`, it will be used as the replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`. +2. If the `method` is `GET` or `HEAD`, the option is passed as a query parameter. +3. Otherwise, the parameter is passed in the request body as a JSON key. + +**Result** + +`endpoint()` is a synchronous method and returns an object with the following keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
methodStringThe http method. Always lowercase.
urlStringThe url with placeholders replaced with passed parameters.
headersObjectAll header names are lowercased.
bodyAnyThe request body if one is present. Only for PATCH, POST, PUT, DELETE requests.
requestObjectRequest meta option, it will be returned as it was passed into endpoint()
+ +### `endpoint.defaults()` + +Override or set default options. Example: + +```js +const request = require("request"); +const myEndpoint = require("@octokit/endpoint").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +request(myEndpoint(`GET /orgs/{org}/repos`)); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectEndpointWithAuth = myProjectEndpoint.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectEndpointWithAuth` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +### `endpoint.DEFAULTS` + +The current default options. + +```js +endpoint.DEFAULTS.baseUrl; // https://api.github.com +const myEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", +}); +myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3 +``` + +### `endpoint.merge(route, options)` or `endpoint.merge(options)` + +Get the defaulted endpoint options, but without parsing them into request options: + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +myProjectEndpoint.merge("GET /orgs/{org}/repos", { + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-secret-project", + type: "private", +}); + +// { +// baseUrl: 'https://github-enterprise.acme-inc.com/api/v3', +// method: 'GET', +// url: '/orgs/{org}/repos', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: `token 0000000000000000000000000000000000000001`, +// 'user-agent': 'myApp/1.2.3' +// }, +// org: 'my-secret-project', +// type: 'private' +// } +``` + +### `endpoint.parse()` + +Stateless method to turn endpoint options into request options. Calling +`endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead, the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const options = endpoint("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// options is +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case, you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +endpoint( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + } +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-node/index.js new file mode 100644 index 0000000..70f24ff --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-node/index.js @@ -0,0 +1,390 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var isPlainObject = require('is-plain-object'); +var universalUserAgent = require('universal-user-agent'); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten + + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + + if (names.length === 0) { + return url; + } + + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; + +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} + +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + + if (!matches) { + return []; + } + + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 OWNER 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. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + + return part; + }).join(""); +} + +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} + +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} + +function isDefined(value) { + return value !== undefined && value !== null; +} + +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} + +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + + return result; +} + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} + +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later + + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set + + + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + + + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 0000000..003e4f2 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","removeUndefinedProperties","obj","undefined","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":";;;;;;;AAAO,SAASA,aAAT,CAAuBC,MAAvB,EAA+B;AAClC,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,EAAP;AACH;;AACD,SAAOC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC/CD,IAAAA,MAAM,CAACC,GAAG,CAACC,WAAJ,EAAD,CAAN,GAA4BN,MAAM,CAACK,GAAD,CAAlC;AACA,WAAOD,MAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;ACPM,SAASG,SAAT,CAAmBC,QAAnB,EAA6BC,OAA7B,EAAsC;AACzC,QAAMC,MAAM,GAAGT,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBH,QAAlB,CAAf;AACAP,EAAAA,MAAM,CAACC,IAAP,CAAYO,OAAZ,EAAqBG,OAArB,CAA8BP,GAAD,IAAS;AAClC,QAAIQ,2BAAa,CAACJ,OAAO,CAACJ,GAAD,CAAR,CAAjB,EAAiC;AAC7B,UAAI,EAAEA,GAAG,IAAIG,QAAT,CAAJ,EACIP,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB,EADJ,KAGIK,MAAM,CAACL,GAAD,CAAN,GAAcE,SAAS,CAACC,QAAQ,CAACH,GAAD,CAAT,EAAgBI,OAAO,CAACJ,GAAD,CAAvB,CAAvB;AACP,KALD,MAMK;AACDJ,MAAAA,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB;AACH;AACJ,GAVD;AAWA,SAAOK,MAAP;AACH;;ACfM,SAASI,yBAAT,CAAmCC,GAAnC,EAAwC;AAC3C,OAAK,MAAMV,GAAX,IAAkBU,GAAlB,EAAuB;AACnB,QAAIA,GAAG,CAACV,GAAD,CAAH,KAAaW,SAAjB,EAA4B;AACxB,aAAOD,GAAG,CAACV,GAAD,CAAV;AACH;AACJ;;AACD,SAAOU,GAAP;AACH;;ACJM,SAASE,KAAT,CAAeT,QAAf,EAAyBU,KAAzB,EAAgCT,OAAhC,EAAyC;AAC5C,MAAI,OAAOS,KAAP,KAAiB,QAArB,EAA+B;AAC3B,QAAI,CAACC,MAAD,EAASC,GAAT,IAAgBF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAApB;AACAZ,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAcS,GAAG,GAAG;AAAED,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAH,GAAqB;AAAEA,MAAAA,GAAG,EAAED;AAAP,KAAtC,EAAuDV,OAAvD,CAAV;AACH,GAHD,MAIK;AACDA,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBO,KAAlB,CAAV;AACH,GAP2C;;;AAS5CT,EAAAA,OAAO,CAACa,OAAR,GAAkBvB,aAAa,CAACU,OAAO,CAACa,OAAT,CAA/B,CAT4C;;AAW5CR,EAAAA,yBAAyB,CAACL,OAAD,CAAzB;AACAK,EAAAA,yBAAyB,CAACL,OAAO,CAACa,OAAT,CAAzB;AACA,QAAMC,aAAa,GAAGhB,SAAS,CAACC,QAAQ,IAAI,EAAb,EAAiBC,OAAjB,CAA/B,CAb4C;;AAe5C,MAAID,QAAQ,IAAIA,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAA4BC,MAA5C,EAAoD;AAChDH,IAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCjB,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAC9BE,MAD8B,CACtBC,OAAD,IAAa,CAACL,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCI,QAAjC,CAA0CD,OAA1C,CADS,EAE9BE,MAF8B,CAEvBP,aAAa,CAACC,SAAd,CAAwBC,QAFD,CAAnC;AAGH;;AACDF,EAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCF,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCM,GAAjC,CAAsCH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,UAAhB,EAA4B,EAA5B,CAAlD,CAAnC;AACA,SAAOT,aAAP;AACH;;ACzBM,SAASU,kBAAT,CAA4Bb,GAA5B,EAAiCc,UAAjC,EAA6C;AAChD,QAAMC,SAAS,GAAG,KAAKC,IAAL,CAAUhB,GAAV,IAAiB,GAAjB,GAAuB,GAAzC;AACA,QAAMiB,KAAK,GAAGpC,MAAM,CAACC,IAAP,CAAYgC,UAAZ,CAAd;;AACA,MAAIG,KAAK,CAACX,MAAN,KAAiB,CAArB,EAAwB;AACpB,WAAON,GAAP;AACH;;AACD,SAAQA,GAAG,GACPe,SADI,GAEJE,KAAK,CACAN,GADL,CACUO,IAAD,IAAU;AACf,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd,aAAQ,OAAOJ,UAAU,CAACK,CAAX,CAAalB,KAAb,CAAmB,GAAnB,EAAwBU,GAAxB,CAA4BS,kBAA5B,EAAgDC,IAAhD,CAAqD,GAArD,CAAf;AACH;;AACD,WAAQ,GAAEH,IAAK,IAAGE,kBAAkB,CAACN,UAAU,CAACI,IAAD,CAAX,CAAmB,EAAvD;AACH,GAND,EAOKG,IAPL,CAOU,GAPV,CAFJ;AAUH;;AChBD,MAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,cAAT,CAAwBC,YAAxB,EAAsC;AAClC,SAAOA,YAAY,CAACZ,OAAb,CAAqB,YAArB,EAAmC,EAAnC,EAAuCX,KAAvC,CAA6C,GAA7C,CAAP;AACH;;AACD,AAAO,SAASwB,uBAAT,CAAiCzB,GAAjC,EAAsC;AACzC,QAAM0B,OAAO,GAAG1B,GAAG,CAAC2B,KAAJ,CAAUL,gBAAV,CAAhB;;AACA,MAAI,CAACI,OAAL,EAAc;AACV,WAAO,EAAP;AACH;;AACD,SAAOA,OAAO,CAACf,GAAR,CAAYY,cAAZ,EAA4BxC,MAA5B,CAAmC,CAAC6C,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAAClB,MAAF,CAASmB,CAAT,CAA7C,EAA0D,EAA1D,CAAP;AACH;;ACVM,SAASC,IAAT,CAAclD,MAAd,EAAsBmD,UAAtB,EAAkC;AACrC,SAAOlD,MAAM,CAACC,IAAP,CAAYF,MAAZ,EACF2B,MADE,CACMyB,MAAD,IAAY,CAACD,UAAU,CAACtB,QAAX,CAAoBuB,MAApB,CADlB,EAEFjD,MAFE,CAEK,CAACY,GAAD,EAAMV,GAAN,KAAc;AACtBU,IAAAA,GAAG,CAACV,GAAD,CAAH,GAAWL,MAAM,CAACK,GAAD,CAAjB;AACA,WAAOU,GAAP;AACH,GALM,EAKJ,EALI,CAAP;AAMH;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,SAASsC,cAAT,CAAwBC,GAAxB,EAA6B;AACzB,SAAOA,GAAG,CACLjC,KADE,CACI,oBADJ,EAEFU,GAFE,CAEE,UAAUwB,IAAV,EAAgB;AACrB,QAAI,CAAC,eAAenB,IAAf,CAAoBmB,IAApB,CAAL,EAAgC;AAC5BA,MAAAA,IAAI,GAAGC,SAAS,CAACD,IAAD,CAAT,CAAgBvB,OAAhB,CAAwB,MAAxB,EAAgC,GAAhC,EAAqCA,OAArC,CAA6C,MAA7C,EAAqD,GAArD,CAAP;AACH;;AACD,WAAOuB,IAAP;AACH,GAPM,EAQFd,IARE,CAQG,EARH,CAAP;AASH;;AACD,SAASgB,gBAAT,CAA0BH,GAA1B,EAA+B;AAC3B,SAAOd,kBAAkB,CAACc,GAAD,CAAlB,CAAwBtB,OAAxB,CAAgC,UAAhC,EAA4C,UAAU0B,CAAV,EAAa;AAC5D,WAAO,MAAMA,CAAC,CAACC,UAAF,CAAa,CAAb,EAAgBC,QAAhB,CAAyB,EAAzB,EAA6BC,WAA7B,EAAb;AACH,GAFM,CAAP;AAGH;;AACD,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,KAA/B,EAAsC3D,GAAtC,EAA2C;AACvC2D,EAAAA,KAAK,GACDD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,GACMV,cAAc,CAACW,KAAD,CADpB,GAEMP,gBAAgB,CAACO,KAAD,CAH1B;;AAIA,MAAI3D,GAAJ,EAAS;AACL,WAAOoD,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8B2D,KAArC;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;;AACD,SAASC,SAAT,CAAmBD,KAAnB,EAA0B;AACtB,SAAOA,KAAK,KAAKhD,SAAV,IAAuBgD,KAAK,KAAK,IAAxC;AACH;;AACD,SAASE,aAAT,CAAuBH,QAAvB,EAAiC;AAC7B,SAAOA,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,IAAwCA,QAAQ,KAAK,GAA5D;AACH;;AACD,SAASI,SAAT,CAAmBC,OAAnB,EAA4BL,QAA5B,EAAsC1D,GAAtC,EAA2CgE,QAA3C,EAAqD;AACjD,MAAIL,KAAK,GAAGI,OAAO,CAAC/D,GAAD,CAAnB;AAAA,MAA0BK,MAAM,GAAG,EAAnC;;AACA,MAAIuD,SAAS,CAACD,KAAD,CAAT,IAAoBA,KAAK,KAAK,EAAlC,EAAsC;AAClC,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEA,OAAOA,KAAP,KAAiB,SAFrB,EAEgC;AAC5BA,MAAAA,KAAK,GAAGA,KAAK,CAACJ,QAAN,EAAR;;AACA,UAAIS,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9BL,QAAAA,KAAK,GAAGA,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmBC,QAAQ,CAACF,QAAD,EAAW,EAAX,CAA3B,CAAR;AACH;;AACD3D,MAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,KARD,MASK;AACD,UAAIgE,QAAQ,KAAK,GAAjB,EAAsB;AAClB,YAAII,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CtD,YAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,WAFD;AAGH,SAJD,MAKK;AACDJ,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBjE,cAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAhB,EAAqBA,CAArB,CAAvB;AACH;AACJ,WAJD;AAKH;AACJ,OAbD,MAcK;AACD,cAAMC,GAAG,GAAG,EAAZ;;AACA,YAAIH,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CY,YAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAX,CAApB;AACH,WAFD;AAGH,SAJD,MAKK;AACD/D,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBC,cAAAA,GAAG,CAACJ,IAAJ,CAASf,gBAAgB,CAACkB,CAAD,CAAzB;AACAC,cAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAL,CAASf,QAAT,EAAX,CAApB;AACH;AACJ,WALD;AAMH;;AACD,YAAIM,aAAa,CAACH,QAAD,CAAjB,EAA6B;AACzBrD,UAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8BuE,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAA1C;AACH,SAFD,MAGK,IAAImC,GAAG,CAAClD,MAAJ,KAAe,CAAnB,EAAsB;AACvBhB,UAAAA,MAAM,CAAC8D,IAAP,CAAYI,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAAZ;AACH;AACJ;AACJ;AACJ,GAhDD,MAiDK;AACD,QAAIsB,QAAQ,KAAK,GAAjB,EAAsB;AAClB,UAAIE,SAAS,CAACD,KAAD,CAAb,EAAsB;AAClBtD,QAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAA5B;AACH;AACJ,KAJD,MAKK,IAAI2D,KAAK,KAAK,EAAV,KAAiBD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAlD,CAAJ,EAA4D;AAC7DrD,MAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAApC;AACH,KAFI,MAGA,IAAI2D,KAAK,KAAK,EAAd,EAAkB;AACnBtD,MAAAA,MAAM,CAAC8D,IAAP,CAAY,EAAZ;AACH;AACJ;;AACD,SAAO9D,MAAP;AACH;;AACD,AAAO,SAASmE,QAAT,CAAkBC,QAAlB,EAA4B;AAC/B,SAAO;AACHC,IAAAA,MAAM,EAAEA,MAAM,CAACC,IAAP,CAAY,IAAZ,EAAkBF,QAAlB;AADL,GAAP;AAGH;;AACD,SAASC,MAAT,CAAgBD,QAAhB,EAA0BV,OAA1B,EAAmC;AAC/B,MAAIa,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAhB;AACA,SAAOH,QAAQ,CAAC9C,OAAT,CAAiB,4BAAjB,EAA+C,UAAUkD,CAAV,EAAaC,UAAb,EAAyBC,OAAzB,EAAkC;AACpF,QAAID,UAAJ,EAAgB;AACZ,UAAIpB,QAAQ,GAAG,EAAf;AACA,YAAMsB,MAAM,GAAG,EAAf;;AACA,UAAIJ,SAAS,CAACK,OAAV,CAAkBH,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAlB,MAA4C,CAAC,CAAjD,EAAoD;AAChDxB,QAAAA,QAAQ,GAAGoB,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAX;AACAJ,QAAAA,UAAU,GAAGA,UAAU,CAACK,MAAX,CAAkB,CAAlB,CAAb;AACH;;AACDL,MAAAA,UAAU,CAAC9D,KAAX,CAAiB,IAAjB,EAAuBT,OAAvB,CAA+B,UAAU6E,QAAV,EAAoB;AAC/C,YAAIb,GAAG,GAAG,4BAA4Bc,IAA5B,CAAiCD,QAAjC,CAAV;AACAJ,QAAAA,MAAM,CAACb,IAAP,CAAYL,SAAS,CAACC,OAAD,EAAUL,QAAV,EAAoBa,GAAG,CAAC,CAAD,CAAvB,EAA4BA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD,CAAzC,CAArB;AACH,OAHD;;AAIA,UAAIb,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9B,YAAI5B,SAAS,GAAG,GAAhB;;AACA,YAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AAClB5B,UAAAA,SAAS,GAAG,GAAZ;AACH,SAFD,MAGK,IAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AACvB5B,UAAAA,SAAS,GAAG4B,QAAZ;AACH;;AACD,eAAO,CAACsB,MAAM,CAAC3D,MAAP,KAAkB,CAAlB,GAAsBqC,QAAtB,GAAiC,EAAlC,IAAwCsB,MAAM,CAAC5C,IAAP,CAAYN,SAAZ,CAA/C;AACH,OATD,MAUK;AACD,eAAOkD,MAAM,CAAC5C,IAAP,CAAY,GAAZ,CAAP;AACH;AACJ,KAxBD,MAyBK;AACD,aAAOY,cAAc,CAAC+B,OAAD,CAArB;AACH;AACJ,GA7BM,CAAP;AA8BH;;AC/JM,SAASO,KAAT,CAAelF,OAAf,EAAwB;AAC3B;AACA,MAAIU,MAAM,GAAGV,OAAO,CAACU,MAAR,CAAe0C,WAAf,EAAb,CAF2B;;AAI3B,MAAIzC,GAAG,GAAG,CAACX,OAAO,CAACW,GAAR,IAAe,GAAhB,EAAqBY,OAArB,CAA6B,cAA7B,EAA6C,MAA7C,CAAV;AACA,MAAIV,OAAO,GAAGrB,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBF,OAAO,CAACa,OAA1B,CAAd;AACA,MAAIsE,IAAJ;AACA,MAAI1D,UAAU,GAAGgB,IAAI,CAACzC,OAAD,EAAU,CAC3B,QAD2B,EAE3B,SAF2B,EAG3B,KAH2B,EAI3B,SAJ2B,EAK3B,SAL2B,EAM3B,WAN2B,CAAV,CAArB,CAP2B;;AAgB3B,QAAMoF,gBAAgB,GAAGhD,uBAAuB,CAACzB,GAAD,CAAhD;AACAA,EAAAA,GAAG,GAAGyD,QAAQ,CAACzD,GAAD,CAAR,CAAc2D,MAAd,CAAqB7C,UAArB,CAAN;;AACA,MAAI,CAAC,QAAQE,IAAR,CAAahB,GAAb,CAAL,EAAwB;AACpBA,IAAAA,GAAG,GAAGX,OAAO,CAACqF,OAAR,GAAkB1E,GAAxB;AACH;;AACD,QAAM2E,iBAAiB,GAAG9F,MAAM,CAACC,IAAP,CAAYO,OAAZ,EACrBkB,MADqB,CACbyB,MAAD,IAAYyC,gBAAgB,CAAChE,QAAjB,CAA0BuB,MAA1B,CADE,EAErBtB,MAFqB,CAEd,SAFc,CAA1B;AAGA,QAAMkE,mBAAmB,GAAG9C,IAAI,CAAChB,UAAD,EAAa6D,iBAAb,CAAhC;AACA,QAAME,eAAe,GAAG,6BAA6B7D,IAA7B,CAAkCd,OAAO,CAAC4E,MAA1C,CAAxB;;AACA,MAAI,CAACD,eAAL,EAAsB;AAClB,QAAIxF,OAAO,CAACe,SAAR,CAAkB2E,MAAtB,EAA8B;AAC1B;AACA7E,MAAAA,OAAO,CAAC4E,MAAR,GAAiB5E,OAAO,CAAC4E,MAAR,CACZ7E,KADY,CACN,GADM,EAEZU,GAFY,CAEPH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,kDAAhB,EAAqE,uBAAsBvB,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EAApH,CAFL,EAGZ1D,IAHY,CAGP,GAHO,CAAjB;AAIH;;AACD,QAAIhC,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2BC,MAA/B,EAAuC;AACnC,YAAM0E,wBAAwB,GAAG9E,OAAO,CAAC4E,MAAR,CAAenD,KAAf,CAAqB,qBAArB,KAA+C,EAAhF;AACAzB,MAAAA,OAAO,CAAC4E,MAAR,GAAiBE,wBAAwB,CACpCtE,MADY,CACLrB,OAAO,CAACe,SAAR,CAAkBC,QADb,EAEZM,GAFY,CAEPH,OAAD,IAAa;AAClB,cAAMuE,MAAM,GAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAlB,GACR,IAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EADpB,GAET,OAFN;AAGA,eAAQ,0BAAyBvE,OAAQ,WAAUuE,MAAO,EAA1D;AACH,OAPgB,EAQZ1D,IARY,CAQP,GARO,CAAjB;AASH;AACJ,GA9C0B;AAgD3B;;;AACA,MAAI,CAAC,KAAD,EAAQ,MAAR,EAAgBZ,QAAhB,CAAyBV,MAAzB,CAAJ,EAAsC;AAClCC,IAAAA,GAAG,GAAGa,kBAAkB,CAACb,GAAD,EAAM4E,mBAAN,CAAxB;AACH,GAFD,MAGK;AACD,QAAI,UAAUA,mBAAd,EAAmC;AAC/BJ,MAAAA,IAAI,GAAGI,mBAAmB,CAACK,IAA3B;AACH,KAFD,MAGK;AACD,UAAIpG,MAAM,CAACC,IAAP,CAAY8F,mBAAZ,EAAiCtE,MAArC,EAA6C;AACzCkE,QAAAA,IAAI,GAAGI,mBAAP;AACH,OAFD,MAGK;AACD1E,QAAAA,OAAO,CAAC,gBAAD,CAAP,GAA4B,CAA5B;AACH;AACJ;AACJ,GAhE0B;;;AAkE3B,MAAI,CAACA,OAAO,CAAC,cAAD,CAAR,IAA4B,OAAOsE,IAAP,KAAgB,WAAhD,EAA6D;AACzDtE,IAAAA,OAAO,CAAC,cAAD,CAAP,GAA0B,iCAA1B;AACH,GApE0B;AAsE3B;;;AACA,MAAI,CAAC,OAAD,EAAU,KAAV,EAAiBO,QAAjB,CAA0BV,MAA1B,KAAqC,OAAOyE,IAAP,KAAgB,WAAzD,EAAsE;AAClEA,IAAAA,IAAI,GAAG,EAAP;AACH,GAzE0B;;;AA2E3B,SAAO3F,MAAM,CAACU,MAAP,CAAc;AAAEQ,IAAAA,MAAF;AAAUC,IAAAA,GAAV;AAAeE,IAAAA;AAAf,GAAd,EAAwC,OAAOsE,IAAP,KAAgB,WAAhB,GAA8B;AAAEA,IAAAA;AAAF,GAA9B,GAAyC,IAAjF,EAAuFnF,OAAO,CAAC6F,OAAR,GAAkB;AAAEA,IAAAA,OAAO,EAAE7F,OAAO,CAAC6F;AAAnB,GAAlB,GAAiD,IAAxI,CAAP;AACH;;AC9EM,SAASC,oBAAT,CAA8B/F,QAA9B,EAAwCU,KAAxC,EAA+CT,OAA/C,EAAwD;AAC3D,SAAOkF,KAAK,CAAC1E,KAAK,CAACT,QAAD,EAAWU,KAAX,EAAkBT,OAAlB,CAAN,CAAZ;AACH;;ACDM,SAAS+F,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AACnD,QAAMC,QAAQ,GAAG1F,KAAK,CAACwF,WAAD,EAAcC,WAAd,CAAtB;AACA,QAAME,QAAQ,GAAGL,oBAAoB,CAACvB,IAArB,CAA0B,IAA1B,EAAgC2B,QAAhC,CAAjB;AACA,SAAO1G,MAAM,CAACU,MAAP,CAAciG,QAAd,EAAwB;AAC3BD,IAAAA,QAD2B;AAE3BnG,IAAAA,QAAQ,EAAEgG,YAAY,CAACxB,IAAb,CAAkB,IAAlB,EAAwB2B,QAAxB,CAFiB;AAG3B1F,IAAAA,KAAK,EAAEA,KAAK,CAAC+D,IAAN,CAAW,IAAX,EAAiB2B,QAAjB,CAHoB;AAI3BhB,IAAAA;AAJ2B,GAAxB,CAAP;AAMH;;ACZM,MAAMkB,OAAO,GAAG,mBAAhB;;ACEP,MAAMC,SAAS,GAAI,uBAAsBD,OAAQ,IAAGE,+BAAY,EAAG,EAAnE;AAEA;;AACA,AAAO,MAAMJ,QAAQ,GAAG;AACpBxF,EAAAA,MAAM,EAAE,KADY;AAEpB2E,EAAAA,OAAO,EAAE,wBAFW;AAGpBxE,EAAAA,OAAO,EAAE;AACL4E,IAAAA,MAAM,EAAE,gCADH;AAEL,kBAAcY;AAFT,GAHW;AAOpBtF,EAAAA,SAAS,EAAE;AACP2E,IAAAA,MAAM,EAAE,EADD;AAEP1E,IAAAA,QAAQ,EAAE;AAFH;AAPS,CAAjB;;MCHMmF,QAAQ,GAAGJ,YAAY,CAAC,IAAD,EAAOG,QAAP,CAA7B;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/defaults.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 0000000..456e586 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +export const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 0000000..5763758 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,5 @@ +import { merge } from "./merge"; +import { parse } from "./parse"; +export function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 0000000..599917f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,3 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +export const endpoint = withDefaults(null, DEFAULTS); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/merge.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 0000000..1abcecf --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,26 @@ +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; +export function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } + else { + options = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews + .filter((preview) => !mergedOptions.mediaType.previews.includes(preview)) + .concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); + return mergedOptions; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/parse.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 0000000..6bdd1bf --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,81 @@ +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; +export function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType", + ]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options) + .filter((option) => urlVariableNames.includes(option)) + .concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept + .split(/,/) + .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) + .join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map((preview) => { + const format = options.mediaType.format + ? `.${options.mediaType.format}` + : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }) + .join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } + else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } + else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js new file mode 100644 index 0000000..d26be31 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,17 @@ +export function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return (url + + separator + + names + .map((name) => { + if (name === "q") { + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }) + .join("&")); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js new file mode 100644 index 0000000..3e75db2 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -0,0 +1,11 @@ +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +export function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 0000000..0780642 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -0,0 +1,9 @@ +export function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 0000000..d92aca3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,16 @@ +import { isPlainObject } from "is-plain-object"; +export function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/omit.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 0000000..6245031 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -0,0 +1,8 @@ +export function omit(object, keysToOmit) { + return Object.keys(object) + .filter((option) => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 0000000..6b5ee5f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -0,0 +1,8 @@ +export function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 0000000..439b3fe --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,164 @@ +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 OWNER 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. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +export function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/version.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 0000000..930e255 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "6.0.12"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 0000000..81baf6c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -0,0 +1,13 @@ +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; +export function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse, + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 0000000..30fcd20 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults } from "@octokit/types"; +export declare const DEFAULTS: EndpointDefaults; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts new file mode 100644 index 0000000..ff39e5e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -0,0 +1,3 @@ +import { EndpointOptions, RequestParameters, Route } from "@octokit/types"; +import { DEFAULTS } from "./defaults"; +export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/index.d.ts new file mode 100644 index 0000000..1ede136 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/merge.d.ts new file mode 100644 index 0000000..b75a15e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/parse.d.ts new file mode 100644 index 0000000..fbe2144 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults, RequestOptions } from "@octokit/types"; +export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts new file mode 100644 index 0000000..4b192ac --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts @@ -0,0 +1,4 @@ +export declare function addQueryParameters(url: string, parameters: { + [x: string]: string | undefined; + q?: string; +}): string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts new file mode 100644 index 0000000..93586d4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts @@ -0,0 +1 @@ +export declare function extractUrlVariableNames(url: string): string[]; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts new file mode 100644 index 0000000..1daf307 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts @@ -0,0 +1,5 @@ +export declare function lowercaseKeys(object?: { + [key: string]: any; +}): { + [key: string]: any; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts new file mode 100644 index 0000000..914411c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts @@ -0,0 +1 @@ +export declare function mergeDeep(defaults: any, options: any): object; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts new file mode 100644 index 0000000..06927d6 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts @@ -0,0 +1,5 @@ +export declare function omit(object: { + [key: string]: any; +}, keysToOmit: string[]): { + [key: string]: any; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts new file mode 100644 index 0000000..92d8d85 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts @@ -0,0 +1 @@ +export declare function removeUndefinedProperties(obj: any): any; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts new file mode 100644 index 0000000..5d967ca --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts @@ -0,0 +1,3 @@ +export declare function parseUrl(template: string): { + expand: (context: object) => string; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/version.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 0000000..330d47a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.0.12"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..6f5afd1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-web/index.js new file mode 100644 index 0000000..e152163 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-web/index.js @@ -0,0 +1,381 @@ +import { isPlainObject } from 'is-plain-object'; +import { getUserAgent } from 'universal-user-agent'; + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } + else { + options = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews + .filter((preview) => !mergedOptions.mediaType.previews.includes(preview)) + .concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return (url + + separator + + names + .map((name) => { + if (name === "q") { + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }) + .join("&")); +} + +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object) + .filter((option) => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 OWNER 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. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType", + ]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options) + .filter((option) => urlVariableNames.includes(option)) + .concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept + .split(/,/) + .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) + .join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map((preview) => { + const format = options.mediaType.format + ? `.${options.mediaType.format}` + : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }) + .join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } + else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } + else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse, + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, +}; + +const endpoint = withDefaults(null, DEFAULTS); + +export { endpoint }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 0000000..1d60d02 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":";;;AAAO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACvD,QAAQ,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;;ACPO,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC7C,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1C,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,YAAY,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC;AAClC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/D;AACA,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;;ACfM,SAAS,yBAAyB,CAAC,GAAG,EAAE;AAC/C,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACpC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;ACJM,SAAS,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AAClF,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACvC,IAAI,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAI,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ;AACtE,aAAa,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrF,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1H,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;;ACzBM,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;AACpD,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACjD,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,QAAQ,GAAG;AACf,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,YAAY,IAAI,IAAI,KAAK,GAAG,EAAE;AAC9B,gBAAgB,QAAQ,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1F,aAAa;AACb,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,CAAC;;AChBD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;AAC7C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;;ACVM,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;AACzC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,SAAS,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAC9B,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,IAAI,OAAO,GAAG;AACd,SAAS,KAAK,CAAC,oBAAoB,CAAC;AACpC,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxC,YAAY,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,IAAI,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;AACpE,QAAQ,OAAO,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;AAC3C,IAAI,KAAK;AACT,QAAQ,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;AAC5C,cAAc,cAAc,CAAC,KAAK,CAAC;AACnC,cAAc,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,EAAE;AACb,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AACnD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AACD,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,IAAI,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AACpE,CAAC;AACD,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AACrD,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAC1C,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1C,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,SAAS,EAAE;AACxC,YAAY,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACrC,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,GAAG,EAAE;AAClC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACtG,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/D,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,iBAAiB;AACjB,qBAAqB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9B,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;AACzE,YAAY,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,EAAE;AAC/B,YAAY,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,AAAO,SAAS,QAAQ,CAAC,QAAQ,EAAE;AACnC,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;AAC5F,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC9B,YAAY,MAAM,MAAM,GAAG,EAAE,CAAC;AAC9B,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAChE,gBAAgB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,gBAAgB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,aAAa;AACb,YAAY,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC/D,gBAAgB,IAAI,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,gBAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,IAAI,SAAS,GAAG,GAAG,CAAC;AACpC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,EAAE;AACtC,oBAAoB,SAAS,GAAG,GAAG,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC3C,oBAAoB,SAAS,GAAG,QAAQ,CAAC;AACzC,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;;AC/JM,SAAS,KAAK,CAAC,OAAO,EAAE;AAC/B;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9C;AACA,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC5B,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAClD,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9D,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpE,IAAI,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;AACtC;AACA,YAAY,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3C,iBAAiB,KAAK,CAAC,GAAG,CAAC;AAC3B,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzJ,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC/C,YAAY,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAC/F,YAAY,OAAO,CAAC,MAAM,GAAG,wBAAwB;AACrD,iBAAiB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnD,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK;AAClC,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;AACvD,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,sBAAsB,OAAO,CAAC;AAC9B,gBAAgB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,aAAa,CAAC;AACd,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1C,QAAQ,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAC3D,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE;AAC3C,YAAY,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;AAC5C,SAAS;AACT,aAAa;AACb,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;AACzD,gBAAgB,IAAI,GAAG,mBAAmB,CAAC;AAC3C,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACjE,QAAQ,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;AACpE,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AAC1E,QAAQ,IAAI,GAAG,EAAE,CAAC;AAClB,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,IAAI,KAAK,WAAW,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACzJ,CAAC;;AC9EM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;;ACDM,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AACvD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/D,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,QAAQ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzC,QAAQ,KAAK;AACb,KAAK,CAAC,CAAC;AACP,CAAC;;ACZM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACE3C,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AACrE;AACA;AACA,AAAO,MAAM,QAAQ,GAAG;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO,EAAE,wBAAwB;AACrC,IAAI,OAAO,EAAE;AACb,QAAQ,MAAM,EAAE,gCAAgC;AAChD,QAAQ,YAAY,EAAE,SAAS;AAC/B,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,QAAQ,EAAE,EAAE;AACpB,KAAK;AACL,CAAC,CAAC;;ACdU,MAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000..4e4d425 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,44 @@ +{ + "name": "@octokit/endpoint", + "description": "Turns REST API endpoints into generic request options", + "version": "6.0.12", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "repository": "github:octokit/endpoint.js", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "jest": "^27.0.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +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/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/README.md new file mode 100644 index 0000000..fe7881c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/README.md @@ -0,0 +1,409 @@ +# graphql.js + +> GitHub GraphQL API client for browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql) +[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amaster) + + + +- [Usage](#usage) + - [Send a simple query](#send-a-simple-query) + - [Authentication](#authentication) + - [Variables](#variables) + - [Pass query together with headers and variables](#pass-query-together-with-headers-and-variables) + - [Use with GitHub Enterprise](#use-with-github-enterprise) + - [Use custom `@octokit/request` instance](#use-custom-octokitrequest-instance) +- [TypeScript](#typescript) + - [Additional Types](#additional-types) +- [Errors](#errors) +- [Partial responses](#partial-responses) +- [Writing tests](#writing-tests) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/graphql + +```js +const { graphql } = require("@octokit/graphql"); +// or: import { graphql } from "@octokit/graphql"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Authentication + +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + id: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + }` +); +``` + +### Variables + +⚠️ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead: + +```js +const { lastIssues } = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + edges { + node { + title + } + } + } + } + } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Pass query together with headers and variables + +```js +const { graphql } = require("@octokit/graphql"); +const { lastIssues } = await graphql({ + query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`, + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, +}); +``` + +### Use with GitHub Enterprise + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api", + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +### Use custom `@octokit/request` instance + +```js +const { request } = require("@octokit/request"); +const { withCustomRequest } = require("@octokit/graphql"); + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + authentication: "token secret123", + }, + request: { + hook(request, options) { + requestCounter++; + return request(options); + }, + }, +}); +const myGraphql = withCustomRequest(myRequest); +await request("/"); +await myGraphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +// requestCounter is now 2 +``` + +## TypeScript + +`@octokit/graphql` is exposing proper types for its usage with TypeScript projects. + +### Additional Types + +Additionally, `GraphQlQueryResponseData` has been exposed to users: + +```ts +import type { GraphQlQueryResponseData } from "@octokit/graphql"; +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. + +```js +let { graphql, GraphqlResponseError } = require("@octokit/graphql"); +graphqlt = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + viewer { + bioHtml + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } +} +``` + +## Partial responses + +A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data` + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + repository(name: "probot", owner: "probot") { + name + ref(qualifiedName: "master") { + target { + ... on Commit { + history(first: 25, after: "invalid cursor") { + nodes { + message + } + } + } + } + } + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + // server responds with + // { + // "data": { + // "repository": { + // "name": "probot", + // "ref": null + // } + // }, + // "errors": [ + // { + // "type": "INVALID_CURSOR_ARGUMENTS", + // "path": [ + // "repository", + // "ref", + // "target", + // "history" + // ], + // "locations": [ + // { + // "line": 7, + // "column": 11 + // } + // ], + // "message": "`invalid cursor` does not appear to be a valid cursor." + // } + // ] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // `invalid cursor` does not appear to be a valid cursor. + console.log(error.data); // { repository: { name: 'probot', ref: null } } +} +``` + +## Writing tests + +You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests + +```js +const assert = require("assert"); +const fetchMock = require("fetch-mock/es5/server"); + +const { graphql } = require("@octokit/graphql"); + +graphql("{ viewer { login } }", { + headers: { + authorization: "token secret123", + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + assert.strictEqual(options.headers.authorization, "token secret123"); + assert.strictEqual( + options.body, + '{"query":"{ viewer { login } }"}', + "Sends correct query" + ); + return { data: {} }; + }), + }, +}); +``` + +## License + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-node/index.js new file mode 100644 index 0000000..6401417 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-node/index.js @@ -0,0 +1,118 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var request = require('@octokit/request'); +var universalUserAgent = require('universal-user-agent'); + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-node/index.js.map new file mode 100644 index 0000000..873a8d4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","_buildMessageForResponseErrors","data","errors","map","e","message","join","GraphqlResponseError","Error","constructor","request","headers","response","name","captureStackTrace","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","key","includes","parsedOptions","Object","assign","requestOptions","keys","reduce","result","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP,SAASC,8BAAT,CAAwCC,IAAxC,EAA8C;AAC1C,SAAS,oDAAD,GACJA,IAAI,CAACC,MAAL,CAAYC,GAAZ,CAAiBC,CAAD,IAAQ,MAAKA,CAAC,CAACC,OAAQ,EAAvC,EAA0CC,IAA1C,CAA+C,IAA/C,CADJ;AAEH;;AACD,AAAO,MAAMC,oBAAN,SAAmCC,KAAnC,CAAyC;AAC5CC,EAAAA,WAAW,CAACC,OAAD,EAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AACpC,UAAMZ,8BAA8B,CAACY,QAAD,CAApC;AACA,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,IAAL,GAAY,sBAAZ,CALoC;;AAOpC,SAAKX,MAAL,GAAcU,QAAQ,CAACV,MAAvB;AACA,SAAKD,IAAL,GAAYW,QAAQ,CAACX,IAArB,CARoC;;AAUpC;;AACA,QAAIO,KAAK,CAACM,iBAAV,EAA6B;AACzBN,MAAAA,KAAK,CAACM,iBAAN,CAAwB,IAAxB,EAA8B,KAAKL,WAAnC;AACH;AACJ;;AAf2C;;ACHhD,MAAMM,oBAAoB,GAAG,CACzB,QADyB,EAEzB,SAFyB,EAGzB,KAHyB,EAIzB,SAJyB,EAKzB,SALyB,EAMzB,OANyB,EAOzB,WAPyB,CAA7B;AASA,MAAMC,0BAA0B,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAAnC;AACA,MAAMC,oBAAoB,GAAG,eAA7B;AACA,AAAO,SAASC,OAAT,CAAiBR,OAAjB,EAA0BS,KAA1B,EAAiCC,OAAjC,EAA0C;AAC7C,MAAIA,OAAJ,EAAa;AACT,QAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6B,WAAWC,OAA5C,EAAqD;AACjD,aAAOC,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,4DAAX,CAAf,CAAP;AACH;;AACD,SAAK,MAAMe,GAAX,IAAkBH,OAAlB,EAA2B;AACvB,UAAI,CAACJ,0BAA0B,CAACQ,QAA3B,CAAoCD,GAApC,CAAL,EACI;AACJ,aAAOF,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,uBAAsBe,GAAI,mCAArC,CAAf,CAAP;AACH;AACJ;;AACD,QAAME,aAAa,GAAG,OAAON,KAAP,KAAiB,QAAjB,GAA4BO,MAAM,CAACC,MAAP,CAAc;AAAER,IAAAA;AAAF,GAAd,EAAyBC,OAAzB,CAA5B,GAAgED,KAAtF;AACA,QAAMS,cAAc,GAAGF,MAAM,CAACG,IAAP,CAAYJ,aAAZ,EAA2BK,MAA3B,CAAkC,CAACC,MAAD,EAASR,GAAT,KAAiB;AACtE,QAAIR,oBAAoB,CAACS,QAArB,CAA8BD,GAA9B,CAAJ,EAAwC;AACpCQ,MAAAA,MAAM,CAACR,GAAD,CAAN,GAAcE,aAAa,CAACF,GAAD,CAA3B;AACA,aAAOQ,MAAP;AACH;;AACD,QAAI,CAACA,MAAM,CAACC,SAAZ,EAAuB;AACnBD,MAAAA,MAAM,CAACC,SAAP,GAAmB,EAAnB;AACH;;AACDD,IAAAA,MAAM,CAACC,SAAP,CAAiBT,GAAjB,IAAwBE,aAAa,CAACF,GAAD,CAArC;AACA,WAAOQ,MAAP;AACH,GAVsB,EAUpB,EAVoB,CAAvB,CAZ6C;AAwB7C;;AACA,QAAME,OAAO,GAAGR,aAAa,CAACQ,OAAd,IAAyBvB,OAAO,CAACwB,QAAR,CAAiBC,QAAjB,CAA0BF,OAAnE;;AACA,MAAIhB,oBAAoB,CAACmB,IAArB,CAA0BH,OAA1B,CAAJ,EAAwC;AACpCL,IAAAA,cAAc,CAACS,GAAf,GAAqBJ,OAAO,CAACK,OAAR,CAAgBrB,oBAAhB,EAAsC,cAAtC,CAArB;AACH;;AACD,SAAOP,OAAO,CAACkB,cAAD,CAAP,CAAwBW,IAAxB,CAA8B3B,QAAD,IAAc;AAC9C,QAAIA,QAAQ,CAACX,IAAT,CAAcC,MAAlB,EAA0B;AACtB,YAAMS,OAAO,GAAG,EAAhB;;AACA,WAAK,MAAMY,GAAX,IAAkBG,MAAM,CAACG,IAAP,CAAYjB,QAAQ,CAACD,OAArB,CAAlB,EAAiD;AAC7CA,QAAAA,OAAO,CAACY,GAAD,CAAP,GAAeX,QAAQ,CAACD,OAAT,CAAiBY,GAAjB,CAAf;AACH;;AACD,YAAM,IAAIhB,oBAAJ,CAAyBqB,cAAzB,EAAyCjB,OAAzC,EAAkDC,QAAQ,CAACX,IAA3D,CAAN;AACH;;AACD,WAAOW,QAAQ,CAACX,IAAT,CAAcA,IAArB;AACH,GATM,CAAP;AAUH;;ACjDM,SAASuC,YAAT,CAAsB9B,SAAtB,EAA+B+B,WAA/B,EAA4C;AAC/C,QAAMC,UAAU,GAAGhC,SAAO,CAACiC,QAAR,CAAiBF,WAAjB,CAAnB;;AACA,QAAMG,MAAM,GAAG,CAACzB,KAAD,EAAQC,OAAR,KAAoB;AAC/B,WAAOF,OAAO,CAACwB,UAAD,EAAavB,KAAb,EAAoBC,OAApB,CAAd;AACH,GAFD;;AAGA,SAAOM,MAAM,CAACC,MAAP,CAAciB,MAAd,EAAsB;AACzBD,IAAAA,QAAQ,EAAEH,YAAY,CAACK,IAAb,CAAkB,IAAlB,EAAwBH,UAAxB,CADe;AAEzBR,IAAAA,QAAQ,EAAEY,eAAO,CAACZ;AAFO,GAAtB,CAAP;AAIH;;MCPYhB,SAAO,GAAGsB,YAAY,CAAC9B,eAAD,EAAU;AACzCC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBZ,OAAQ,IAAGgD,+BAAY,EAAG;AADzD,GADgC;AAIzCC,EAAAA,MAAM,EAAE,MAJiC;AAKzCX,EAAAA,GAAG,EAAE;AALoC,CAAV,CAA5B;AAOP,AACO,SAASY,iBAAT,CAA2BC,aAA3B,EAA0C;AAC7C,SAAOV,YAAY,CAACU,aAAD,EAAgB;AAC/BF,IAAAA,MAAM,EAAE,MADuB;AAE/BX,IAAAA,GAAG,EAAE;AAF0B,GAAhB,CAAnB;AAIH;;;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/error.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/error.js new file mode 100644 index 0000000..182f967 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/error.js @@ -0,0 +1,21 @@ +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +export class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/graphql.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/graphql.js new file mode 100644 index 0000000..8297f84 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/graphql.js @@ -0,0 +1,52 @@ +import { GraphqlResponseError } from "./error"; +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +export function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + return response.data.data; + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/index.js new file mode 100644 index 0000000..2a7d06b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/index.js @@ -0,0 +1,18 @@ +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import { withDefaults } from "./with-defaults"; +export const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +export { GraphqlResponseError } from "./error"; +export function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/version.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/version.js new file mode 100644 index 0000000..3a4f8ff --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "4.8.0"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/with-defaults.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/with-defaults.js new file mode 100644 index 0000000..6ea309e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -0,0 +1,12 @@ +import { request as Request } from "@octokit/request"; +import { graphql } from "./graphql"; +export function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: Request.endpoint, + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/error.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/error.d.ts new file mode 100644 index 0000000..3bd37ad --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -0,0 +1,13 @@ +import { ResponseHeaders } from "@octokit/types"; +import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; +declare type ServerResponseData = Required>; +export declare class GraphqlResponseError extends Error { + readonly request: GraphQlEndpointOptions; + readonly headers: ResponseHeaders; + readonly response: ServerResponseData; + name: string; + readonly errors: GraphQlQueryResponse["errors"]; + readonly data: ResponseData; + constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); +} +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/graphql.d.ts new file mode 100644 index 0000000..2942b8b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { RequestParameters, GraphQlQueryResponseData } from "./types"; +export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/index.d.ts new file mode 100644 index 0000000..282f98a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -0,0 +1,5 @@ +import { request } from "@octokit/request"; +export declare const graphql: import("./types").graphql; +export { GraphQlQueryResponseData } from "./types"; +export { GraphqlResponseError } from "./error"; +export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/types.d.ts new file mode 100644 index 0000000..b266bdb --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -0,0 +1,55 @@ +import { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export declare type GraphQlEndpointOptions = EndpointOptions & { + variables?: { + [key: string]: unknown; + }; +}; +export declare type RequestParameters = RequestParametersType; +export declare type Query = string; +export interface graphql { + /** + * Sends a GraphQL query request based on endpoint options + * The GraphQL query must be specified in `options`. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: RequestParameters): GraphQlResponse; + /** + * Sends a GraphQL query request based on endpoint options + * + * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (query: Query, parameters?: RequestParameters): GraphQlResponse; + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => graphql; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} +export declare type GraphQlResponse = Promise; +export declare type GraphQlQueryResponseData = { + [key: string]: any; +}; +export declare type GraphQlQueryResponse = { + data: ResponseData; + errors?: [ + { + type: string; + message: string; + path: [string]; + extensions: { + [key: string]: any; + }; + locations: [ + { + line: number; + column: number; + } + ]; + } + ]; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/version.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/version.d.ts new file mode 100644 index 0000000..e80848e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "4.8.0"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..03edc32 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { graphql as ApiInterface, RequestParameters } from "./types"; +export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-web/index.js new file mode 100644 index 0000000..5307e26 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-web/index.js @@ -0,0 +1,106 @@ +import { request } from '@octokit/request'; +import { getUserAgent } from 'universal-user-agent'; + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return (`Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n")); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} + +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) + continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.endpoint, + }); +} + +const graphql$1 = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} + +export { GraphqlResponseError, graphql$1 as graphql, withCustomRequest }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-web/index.js.map new file mode 100644 index 0000000..3c6a6ed --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":";;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C,SAAS,8BAA8B,CAAC,IAAI,EAAE;AAC9C,IAAI,QAAQ,CAAC,kDAAkD,CAAC;AAChE,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9D,CAAC;AACD,AAAO,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAChD,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,QAAQ,KAAK,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;AAC3C;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,QAAQ,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClC;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL,CAAC;;ACnBD,MAAM,oBAAoB,GAAG;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW;AACf,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,AAAO,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE;AAC7D,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC;AAC3G,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,gBAAgB,SAAS;AACzB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AAChG,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9E,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,YAAY,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/E,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AACtD,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,EAAE,CAAC;AAC/B,YAAY,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,MAAM,IAAI,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACjDM,SAAS,YAAY,CAACA,SAAO,EAAE,WAAW,EAAE;AACnD,IAAI,MAAM,UAAU,GAAGA,SAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,QAAQ,QAAQ,EAAEC,OAAO,CAAC,QAAQ;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACPW,MAACC,SAAO,GAAG,YAAY,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,GAAG,EAAE,UAAU;AACnB,CAAC,CAAC,CAAC;AACH,AACO,SAAS,iBAAiB,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,YAAY,CAAC,aAAa,EAAE;AACvC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,UAAU;AACvB,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/package.json new file mode 100644 index 0000000..9ba3cb7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/graphql/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/graphql", + "description": "GitHub GraphQL API client for browsers and Node", + "version": "4.8.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "repository": "github:octokit/graphql.js", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.2.5", + "@types/jest": "^27.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.3.2", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/LICENSE new file mode 100644 index 0000000..c61fbbe --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/LICENSE @@ -0,0 +1,7 @@ +Copyright 2020 Gregor Martynus + +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. \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/README.md new file mode 100644 index 0000000..9da833c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/README.md @@ -0,0 +1,17 @@ +# @octokit/openapi-types + +> Generated TypeScript definitions based on GitHub's OpenAPI spec + +This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) + +## Usage + +```ts +import { components } from "@octokit/openapi-types"; + +type Repository = components["schemas"]["full-repository"]; +``` + +## License + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/package.json new file mode 100644 index 0000000..24484a5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/package.json @@ -0,0 +1,20 @@ +{ + "name": "@octokit/openapi-types", + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", + "repository": { + "type": "git", + "url": "https://github.com/octokit/openapi-types.ts.git", + "directory": "packages/openapi-types" + }, + "publishConfig": { + "access": "public" + }, + "version": "12.11.0", + "main": "", + "types": "types.d.ts", + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "octokit": { + "openapi-version": "6.8.0" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/types.d.ts new file mode 100644 index 0000000..88dc62d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/openapi-types/types.d.ts @@ -0,0 +1,47095 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + get: operations["meta/root"]; + }; + "/app": { + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + }; + "/app-manifests/{code}/conversions": { + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + post: operations["apps/create-from-manifest"]; + }; + "/app/hook/config": { + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-config-for-app"]; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + patch: operations["apps/update-webhook-config-for-app"]; + }; + "/app/hook/deliveries": { + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + }; + "/app/hook/deliveries/{delivery_id}": { + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + }; + "/app/installations": { + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + get: operations["apps/list-installations"]; + }; + "/app/installations/{installation_id}": { + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-installation"]; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + }; + "/app/installations/{installation_id}/access_tokens": { + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + }; + "/app/installations/{installation_id}/suspended": { + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + put: operations["apps/suspend-installation"]; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + }; + "/applications/grants": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + get: operations["oauth-authorizations/list-grants"]; + }; + "/applications/grants/{grant_id}": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-grant"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["oauth-authorizations/delete-grant"]; + }; + "/applications/{client_id}/grant": { + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["apps/delete-authorization"]; + }; + "/applications/{client_id}/token": { + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/check-token"]; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + delete: operations["apps/delete-token"]; + /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + patch: operations["apps/reset-token"]; + }; + "/applications/{client_id}/token/scoped": { + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/scope-token"]; + }; + "/apps/{app_slug}": { + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/get-by-slug"]; + }; + "/authorizations": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/list-authorizations"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + post: operations["oauth-authorizations/create-authorization"]; + }; + "/authorizations/clients/{client_id}": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; + }; + "/authorizations/clients/{client_id}/{fingerprint}": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; + }; + "/authorizations/{authorization_id}": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-authorization"]; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + delete: operations["oauth-authorizations/delete-authorization"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + patch: operations["oauth-authorizations/update-authorization"]; + }; + "/codes_of_conduct": { + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + }; + "/codes_of_conduct/{key}": { + get: operations["codes-of-conduct/get-conduct-code"]; + }; + "/emojis": { + /** Lists all the emojis available to use on GitHub. */ + get: operations["emojis/get"]; + }; + "/enterprise-installation/{enterprise_or_org}/server-statistics": { + /** + * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. + * + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. + * + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + */ + get: operations["enterprise-admin/get-server-statistics"]; + }; + "/enterprises/{enterprise}/actions/cache/usage": { + /** + * Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/oidc/customization/issuer": { + /** + * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + put: operations["actions/set-actions-oidc-custom-issuer-policy-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-github-actions-permissions-enterprise"]; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-github-actions-permissions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations": { + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise"]; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/enable-selected-organization-github-actions-enterprise"]; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/disable-selected-organization-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + /** + * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-allowed-actions-enterprise"]; + /** + * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-allowed-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-enterprise"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups": { + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runner-groups-for-enterprise"]; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + post: operations["enterprise-admin/create-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-self-hosted-runner-group-for-enterprise"]; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/delete-self-hosted-runner-group-from-enterprise"]; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + patch: operations["enterprise-admin/update-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise"]; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": { + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise"]; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runners-in-group-for-enterprise"]; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-self-hosted-runners-in-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + put: operations["enterprise-admin/add-self-hosted-runner-to-group-for-enterprise"]; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners": { + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runners-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-runner-applications-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + post: operations["enterprise-admin/create-registration-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["enterprise-admin/create-remove-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-self-hosted-runner-for-enterprise"]; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/delete-self-hosted-runner-from-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise"]; + /** + * Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + post: operations["enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise"]; + /** + * Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise"]; + }; + "/enterprises/{enterprise}/audit-log": { + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + get: operations["enterprise-admin/get-audit-log"]; + }; + "/enterprises/{enterprise}/code-scanning/alerts": { + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + get: operations["code-scanning/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-github-actions-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/advanced-security": { + /** + * Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + get: operations["billing/get-github-advanced-security-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-github-packages-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-shared-storage-billing-ghe"]; + }; + "/events": { + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + get: operations["activity/list-public-events"]; + }; + "/feeds": { + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; + }; + "/gists": { + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + get: operations["gists/list"]; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + post: operations["gists/create"]; + }; + "/gists/public": { + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + get: operations["gists/list-public"]; + }; + "/gists/starred": { + /** List the authenticated user's starred gists: */ + get: operations["gists/list-starred"]; + }; + "/gists/{gist_id}": { + get: operations["gists/get"]; + delete: operations["gists/delete"]; + /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */ + patch: operations["gists/update"]; + }; + "/gists/{gist_id}/comments": { + get: operations["gists/list-comments"]; + post: operations["gists/create-comment"]; + }; + "/gists/{gist_id}/comments/{comment_id}": { + get: operations["gists/get-comment"]; + delete: operations["gists/delete-comment"]; + patch: operations["gists/update-comment"]; + }; + "/gists/{gist_id}/commits": { + get: operations["gists/list-commits"]; + }; + "/gists/{gist_id}/forks": { + get: operations["gists/list-forks"]; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + post: operations["gists/fork"]; + }; + "/gists/{gist_id}/star": { + get: operations["gists/check-is-starred"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["gists/star"]; + delete: operations["gists/unstar"]; + }; + "/gists/{gist_id}/{sha}": { + get: operations["gists/get-revision"]; + }; + "/gitignore/templates": { + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + get: operations["gitignore/get-all-templates"]; + }; + "/gitignore/templates/{name}": { + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + get: operations["gitignore/get-template"]; + }; + "/installation/repositories": { + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + }; + "/installation/token": { + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + }; + "/issues": { + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list"]; + }; + "/licenses": { + get: operations["licenses/get-all-commonly-used"]; + }; + "/licenses/{license}": { + get: operations["licenses/get"]; + }; + "/markdown": { + post: operations["markdown/render"]; + }; + "/markdown/raw": { + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + post: operations["markdown/render-raw"]; + }; + "/marketplace_listing/accounts/{account_id}": { + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + }; + "/marketplace_listing/plans": { + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + }; + "/marketplace_listing/stubbed/plans": { + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + }; + "/meta": { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + get: operations["meta/get"]; + }; + "/networks/{owner}/{repo}/events": { + get: operations["activity/list-public-events-for-repo-network"]; + }; + "/notifications": { + /** List all notifications for the current user, sorted by most recently updated. */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + put: operations["activity/mark-notifications-as-read"]; + }; + "/notifications/threads/{thread_id}": { + get: operations["activity/get-thread"]; + patch: operations["activity/mark-thread-as-read"]; + }; + "/notifications/threads/{thread_id}/subscription": { + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + delete: operations["activity/delete-thread-subscription"]; + }; + "/octocat": { + /** Get the octocat as ASCII art */ + get: operations["meta/get-octocat"]; + }; + "/organizations": { + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + }; + "/organizations/{organization_id}/custom_roles": { + /** + * List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ + get: operations["orgs/list-custom-roles"]; + }; + "/orgs/{org}": { + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + get: operations["orgs/get"]; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + patch: operations["orgs/update"]; + }; + "/orgs/{org}/actions/cache/usage": { + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + }; + "/orgs/{org}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories": { + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-allowed-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + }; + "/orgs/{org}/actions/runner-groups": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + }; + "/orgs/{org}/actions/runners": { + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + }; + "/orgs/{org}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-org"]; + }; + "/orgs/{org}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-org"]; + }; + "/orgs/{org}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/secrets": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/list-org-secrets"]; + }; + "/orgs/{org}/actions/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/get-org-public-key"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-org-secret"]; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + delete: operations["actions/delete-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + put: operations["actions/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + put: operations["actions/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/audit-log": { + /** + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." + */ + get: operations["orgs/get-audit-log"]; + }; + "/orgs/{org}/blocks": { + /** List the users blocked by an organization. */ + get: operations["orgs/list-blocked-users"]; + }; + "/orgs/{org}/blocks/{username}": { + get: operations["orgs/check-blocked-user"]; + put: operations["orgs/block-user"]; + delete: operations["orgs/unblock-user"]; + }; + "/orgs/{org}/code-scanning/alerts": { + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/codespaces": { + /** + * Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + }; + "/orgs/{org}/credential-authorizations": { + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + get: operations["orgs/list-saml-sso-authorizations"]; + }; + "/orgs/{org}/credential-authorizations/{credential_id}": { + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + delete: operations["orgs/remove-saml-sso-authorization"]; + }; + "/orgs/{org}/dependabot/secrets": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/list-org-secrets"]; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/get-org-public-key"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-org-secret"]; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + delete: operations["dependabot/delete-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/events": { + get: operations["activity/list-public-org-events"]; + }; + "/orgs/{org}/external-group/{group_id}": { + /** + * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/external-idp-group-info-for-org"]; + }; + "/orgs/{org}/external-groups": { + /** + * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/list-external-idp-groups-for-org"]; + }; + "/orgs/{org}/failed_invitations": { + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + get: operations["orgs/list-failed-invitations"]; + }; + "/orgs/{org}/hooks": { + get: operations["orgs/list-webhooks"]; + /** Here's how you can create a hook that posts payloads in JSON format: */ + post: operations["orgs/create-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}": { + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + get: operations["orgs/get-webhook"]; + delete: operations["orgs/delete-webhook"]; + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + patch: operations["orgs/update-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + get: operations["orgs/get-webhook-config-for-org"]; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + get: operations["orgs/list-webhook-deliveries"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in an organization. */ + get: operations["orgs/get-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a delivery for a webhook configured in an organization. */ + post: operations["orgs/redeliver-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + post: operations["orgs/ping-webhook"]; + }; + "/orgs/{org}/installation": { + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + }; + "/orgs/{org}/installations": { + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + get: operations["orgs/list-app-installations"]; + }; + "/orgs/{org}/interaction-limits": { + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + get: operations["interactions/get-restrictions-for-org"]; + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + put: operations["interactions/set-restrictions-for-org"]; + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + delete: operations["interactions/remove-restrictions-for-org"]; + }; + "/orgs/{org}/invitations": { + /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ + get: operations["orgs/list-pending-invitations"]; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["orgs/create-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}": { + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + get: operations["orgs/list-invitation-teams"]; + }; + "/orgs/{org}/issues": { + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-org"]; + }; + "/orgs/{org}/members": { + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + get: operations["orgs/list-members"]; + }; + "/orgs/{org}/members/{username}": { + /** Check if a user is, publicly or privately, a member of the organization. */ + get: operations["orgs/check-membership-for-user"]; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + delete: operations["orgs/remove-member"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + }; + "/orgs/{org}/memberships/{username}": { + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + get: operations["orgs/get-membership-for-user"]; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + put: operations["orgs/set-membership-for-user"]; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + delete: operations["orgs/remove-membership-for-user"]; + }; + "/orgs/{org}/migrations": { + /** Lists the most recent migrations. */ + get: operations["migrations/list-for-org"]; + /** Initiates the generation of a migration archive. */ + post: operations["migrations/start-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}": { + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + /** Fetches the URL to a migration archive. */ + get: operations["migrations/download-archive-for-org"]; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + delete: operations["migrations/delete-archive-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + delete: operations["migrations/unlock-repo-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + /** List all the repositories for this organization migration. */ + get: operations["migrations/list-repos-for-org"]; + }; + "/orgs/{org}/outside_collaborators": { + /** List all users who are outside collaborators of an organization. */ + get: operations["orgs/list-outside-collaborators"]; + }; + "/orgs/{org}/outside_collaborators/{username}": { + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + /** Removing a user from this list will remove them from all the organization's repositories. */ + delete: operations["orgs/remove-outside-collaborator"]; + }; + "/orgs/{org}/packages": { + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-organization"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-organization"]; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-organization"]; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-org"]; + }; + "/orgs/{org}/projects": { + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/list-for-org"]; + /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-org"]; + }; + "/orgs/{org}/public_members": { + /** Members of an organization can choose to have their membership publicized or not. */ + get: operations["orgs/list-public-members"]; + }; + "/orgs/{org}/public_members/{username}": { + get: operations["orgs/check-public-membership-for-user"]; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + }; + "/orgs/{org}/repos": { + /** Lists repositories for the specified organization. */ + get: operations["repos/list-for-org"]; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-in-org"]; + }; + "/orgs/{org}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-actions-billing-org"]; + }; + "/orgs/{org}/settings/billing/advanced-security": { + /** + * Gets the GitHub Advanced Security active committers for an organization per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository. + * + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + get: operations["billing/get-github-advanced-security-billing-org"]; + }; + "/orgs/{org}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-packages-billing-org"]; + }; + "/orgs/{org}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-shared-storage-billing-org"]; + }; + "/orgs/{org}/team-sync/groups": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + */ + get: operations["teams/list-idp-groups-for-org"]; + }; + "/orgs/{org}/teams": { + /** Lists all teams in an organization that are visible to the authenticated user. */ + get: operations["teams/list"]; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + }; + "/orgs/{org}/teams/{team_slug}": { + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + get: operations["teams/get-by-name"]; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + delete: operations["teams/delete-in-org"]; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + get: operations["teams/list-discussions-in-org"]; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + post: operations["teams/create-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + get: operations["teams/get-discussion-in-org"]; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + delete: operations["teams/delete-discussion-in-org"]; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + patch: operations["teams/update-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + get: operations["teams/list-discussion-comments-in-org"]; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + post: operations["teams/create-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + get: operations["teams/get-discussion-comment-in-org"]; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion"]; + }; + "/orgs/{org}/teams/{team_slug}/external-groups": { + /** + * Lists a connection between a team and an external group. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; + /** + * Deletes a connection between a team and an external group. + * + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; + /** + * Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + patch: operations["teams/link-external-idp-group-to-team-for-org"]; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/members": { + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + get: operations["teams/list-projects-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + delete: operations["teams/remove-project-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + get: operations["teams/list-idp-groups-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + patch: operations["teams/create-or-update-idp-group-connections-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + }; + "/projects/columns/cards/{card_id}": { + get: operations["projects/get-card"]; + delete: operations["projects/delete-card"]; + patch: operations["projects/update-card"]; + }; + "/projects/columns/cards/{card_id}/moves": { + post: operations["projects/move-card"]; + }; + "/projects/columns/{column_id}": { + get: operations["projects/get-column"]; + delete: operations["projects/delete-column"]; + patch: operations["projects/update-column"]; + }; + "/projects/columns/{column_id}/cards": { + get: operations["projects/list-cards"]; + post: operations["projects/create-card"]; + }; + "/projects/columns/{column_id}/moves": { + post: operations["projects/move-column"]; + }; + "/projects/{project_id}": { + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/get"]; + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + delete: operations["projects/delete"]; + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + patch: operations["projects/update"]; + }; + "/projects/{project_id}/collaborators": { + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + get: operations["projects/list-collaborators"]; + }; + "/projects/{project_id}/collaborators/{username}": { + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + put: operations["projects/add-collaborator"]; + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + delete: operations["projects/remove-collaborator"]; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + get: operations["projects/get-permission-for-user"]; + }; + "/projects/{project_id}/columns": { + get: operations["projects/list-columns"]; + post: operations["projects/create-column"]; + }; + "/rate_limit": { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + }; + "/repos/{owner}/{repo}": { + /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ + get: operations["repos/get"]; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: operations["repos/delete"]; + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + patch: operations["repos/update"]; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-artifacts-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-artifact"]; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + delete: operations["actions/delete-artifact"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-artifact"]; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + }; + "/repos/{owner}/{repo}/actions/caches": { + /** + * Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/re-run-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + /** + * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + /** + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-allowed-actions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/runners": { + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs": { + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow-run"]; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-reviews-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-workflow-run-artifacts"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + get: operations["actions/get-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + delete: operations["actions/delete-workflow-run-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/re-run-workflow"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + post: operations["actions/re-run-workflow-failed-jobs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run-usage"]; + }; + "/repos/{owner}/{repo}/actions/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/actions/workflows": { + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-repo-workflows"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + post: operations["actions/create-workflow-dispatch"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + get: operations["actions/list-workflow-runs"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-usage"]; + }; + "/repos/{owner}/{repo}/assignees": { + /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + get: operations["issues/list-assignees"]; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + }; + "/repos/{owner}/{repo}/autolinks": { + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + /** Users with admin access to the repository can create an autolink. */ + post: operations["repos/create-autolink"]; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + put: operations["repos/enable-automated-security-fixes"]; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + delete: operations["repos/disable-automated-security-fixes"]; + }; + "/repos/{owner}/{repo}/branches": { + get: operations["repos/list-branches"]; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + get: operations["repos/get-branch"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/delete-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-admin-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-pull-request-review-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/delete-pull-request-review-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-status-checks-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/remove-status-check-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-all-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + put: operations["repos/set-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + post: operations["repos/add-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/remove-status-check-contexts"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-app-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-team-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + }; + "/repos/{owner}/{repo}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/get"]; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + patch: operations["checks/update"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + get: operations["checks/list-annotations"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-run"]; + }; + "/repos/{owner}/{repo}/check-suites": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + post: operations["checks/create-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + patch: operations["checks/set-suites-preferences"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/get-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/list-for-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-suite"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + get: operations["code-scanning/get-alert"]; + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + patch: operations["code-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + /** + * Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alert-instances"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + get: operations["code-scanning/list-recent-analyses"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + get: operations["code-scanning/get-analysis"]; + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + delete: operations["code-scanning/delete-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + post: operations["code-scanning/upload-sarif"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + get: operations["code-scanning/get-sarif"]; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + /** + * List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + get: operations["repos/codeowners-errors"]; + }; + "/repos/{owner}/{repo}/codespaces": { + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + /** + * List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/new": { + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. + * + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["codespaces/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + delete: operations["codespaces/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/collaborators": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + get: operations["repos/get-commit-comment"]; + delete: operations["repos/delete-commit-comment"]; + patch: operations["repos/update-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + get: operations["reactions/list-for-commit-comment"]; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + delete: operations["reactions/delete-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits": { + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + get: operations["repos/list-comments-for-commit"]; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/list-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + }; + "/repos/{owner}/{repo}/community/profile": { + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits-with-basehead"]; + }; + "/repos/{owner}/{repo}/contents/{path}": { + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + get: operations["repos/get-content"]; + /** Creates a new file or replaces an existing file in a repository. */ + put: operations["repos/create-or-update-file-contents"]; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + delete: operations["repos/delete-file"]; + }; + "/repos/{owner}/{repo}/contributors": { + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + get: operations["repos/list-contributors"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + delete: operations["dependabot/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + get: operations["dependency-graph/diff-range"]; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ + post: operations["dependency-graph/create-repository-snapshot"]; + }; + "/repos/{owner}/{repo}/deployments": { + /** Simple filtering of deployments is available via query parameters: */ + get: operations["repos/list-deployments"]; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + post: operations["repos/create-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + get: operations["repos/get-deployment"]; + /** + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + delete: operations["repos/delete-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + /** Users with pull access can view deployment statuses for a deployment: */ + get: operations["repos/list-deployment-statuses"]; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + post: operations["repos/create-deployment-status"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + /** Users with pull access can view a deployment status for a deployment: */ + get: operations["repos/get-deployment-status"]; + }; + "/repos/{owner}/{repo}/dispatches": { + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + post: operations["repos/create-dispatch-event"]; + }; + "/repos/{owner}/{repo}/environments": { + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-all-environments"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + delete: operations["repos/delete-an-environment"]; + }; + "/repos/{owner}/{repo}/events": { + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + get: operations["repos/list-forks"]; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + post: operations["repos/create-fork"]; + }; + "/repos/{owner}/{repo}/git/blobs": { + post: operations["git/create-blob"]; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + }; + "/repos/{owner}/{repo}/git/commits": { + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-commit"]; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + }; + "/repos/{owner}/{repo}/git/refs": { + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + post: operations["git/create-ref"]; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + delete: operations["git/delete-ref"]; + patch: operations["git/update-ref"]; + }; + "/repos/{owner}/{repo}/git/tags": { + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-tag"]; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + }; + "/repos/{owner}/{repo}/git/trees": { + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + post: operations["git/create-tree"]; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + get: operations["git/get-tree"]; + }; + "/repos/{owner}/{repo}/hooks": { + get: operations["repos/list-webhooks"]; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + get: operations["repos/get-webhook"]; + delete: operations["repos/delete-webhook"]; + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + patch: operations["repos/update-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + get: operations["repos/get-webhook-config-for-repo"]; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + get: operations["repos/list-webhook-deliveries"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in a repository. */ + get: operations["repos/get-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + post: operations["repos/redeliver-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + post: operations["repos/ping-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + }; + "/repos/{owner}/{repo}/import": { + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** Start a source import to a GitHub repository using GitHub Importer. */ + put: operations["migrations/start-import"]; + /** Stop an import for a repository. */ + delete: operations["migrations/cancel-import"]; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + */ + patch: operations["migrations/update-import"]; + }; + "/repos/{owner}/{repo}/import/authors": { + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + get: operations["migrations/get-commit-authors"]; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + patch: operations["migrations/map-commit-author"]; + }; + "/repos/{owner}/{repo}/import/large_files": { + /** List files larger than 100MB found during the import */ + get: operations["migrations/get-large-files"]; + }; + "/repos/{owner}/{repo}/import/lfs": { + /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). */ + patch: operations["migrations/set-lfs-preference"]; + }; + "/repos/{owner}/{repo}/installation": { + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + }; + "/repos/{owner}/{repo}/interaction-limits": { + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + get: operations["interactions/get-restrictions-for-repo"]; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + put: operations["interactions/set-restrictions-for-repo"]; + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + delete: operations["interactions/remove-restrictions-for-repo"]; + }; + "/repos/{owner}/{repo}/invitations": { + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + get: operations["repos/list-invitations"]; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + delete: operations["repos/delete-invitation"]; + patch: operations["repos/update-invitation"]; + }; + "/repos/{owner}/{repo}/issues": { + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-repo"]; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["issues/create"]; + }; + "/repos/{owner}/{repo}/issues/comments": { + /** By default, Issue Comments are ordered by ascending ID. */ + get: operations["issues/list-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + get: operations["issues/get-comment"]; + delete: operations["issues/delete-comment"]; + patch: operations["issues/update-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + get: operations["reactions/list-for-issue-comment"]; + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + post: operations["reactions/create-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + delete: operations["reactions/delete-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/events": { + get: operations["issues/list-events-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + get: operations["issues/get-event"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/get"]; + /** Issue owners and users with push access can edit an issue. */ + patch: operations["issues/update"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + post: operations["issues/add-assignees"]; + /** Removes one or more assignees from an issue. */ + delete: operations["issues/remove-assignees"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + /** Issue Comments are ordered by ascending ID. */ + get: operations["issues/list-comments"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["issues/create-comment"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + get: operations["issues/list-events"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + get: operations["issues/list-labels-on-issue"]; + /** Removes any previous labels and sets the new labels for an issue. */ + put: operations["issues/set-labels"]; + post: operations["issues/add-labels"]; + delete: operations["issues/remove-all-labels"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + delete: operations["issues/remove-label"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["issues/lock"]; + /** Users with push access can unlock an issue's conversation. */ + delete: operations["issues/unlock"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + get: operations["reactions/list-for-issue"]; + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + post: operations["reactions/create-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + delete: operations["reactions/delete-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + get: operations["issues/list-events-for-timeline"]; + }; + "/repos/{owner}/{repo}/keys": { + get: operations["repos/list-deploy-keys"]; + /** You can create a read-only deploy key. */ + post: operations["repos/create-deploy-key"]; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + get: operations["repos/get-deploy-key"]; + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + delete: operations["repos/delete-deploy-key"]; + }; + "/repos/{owner}/{repo}/labels": { + get: operations["issues/list-labels-for-repo"]; + post: operations["issues/create-label"]; + }; + "/repos/{owner}/{repo}/labels/{name}": { + get: operations["issues/get-label"]; + delete: operations["issues/delete-label"]; + patch: operations["issues/update-label"]; + }; + "/repos/{owner}/{repo}/languages": { + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + get: operations["repos/list-languages"]; + }; + "/repos/{owner}/{repo}/lfs": { + put: operations["repos/enable-lfs-for-repo"]; + delete: operations["repos/disable-lfs-for-repo"]; + }; + "/repos/{owner}/{repo}/license": { + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + get: operations["licenses/get-for-repo"]; + }; + "/repos/{owner}/{repo}/merge-upstream": { + /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ + post: operations["repos/merge-upstream"]; + }; + "/repos/{owner}/{repo}/merges": { + post: operations["repos/merge"]; + }; + "/repos/{owner}/{repo}/milestones": { + get: operations["issues/list-milestones"]; + post: operations["issues/create-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + get: operations["issues/get-milestone"]; + delete: operations["issues/delete-milestone"]; + patch: operations["issues/update-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + get: operations["issues/list-labels-for-milestone"]; + }; + "/repos/{owner}/{repo}/notifications": { + /** List all notifications for the current user. */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + put: operations["activity/mark-repo-notifications-as-read"]; + }; + "/repos/{owner}/{repo}/pages": { + get: operations["repos/get-pages"]; + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + put: operations["repos/update-information-about-pages-site"]; + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + post: operations["repos/create-pages-site"]; + delete: operations["repos/delete-pages-site"]; + }; + "/repos/{owner}/{repo}/pages/builds": { + get: operations["repos/list-pages-builds"]; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + get: operations["repos/get-latest-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + get: operations["repos/get-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/health": { + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + }; + "/repos/{owner}/{repo}/projects": { + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/list-for-repo"]; + /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls": { + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["pulls/list"]; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + post: operations["pulls/create"]; + }; + "/repos/{owner}/{repo}/pulls/comments": { + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + get: operations["pulls/list-review-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + /** Provides details for a review comment. */ + get: operations["pulls/get-review-comment"]; + /** Deletes a review comment. */ + delete: operations["pulls/delete-review-comment"]; + /** Enables you to edit a review comment. */ + patch: operations["pulls/update-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + get: operations["reactions/list-for-pull-request-review-comment"]; + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + post: operations["reactions/create-for-pull-request-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: operations["pulls/get"]; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + patch: operations["pulls/update"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + get: operations["pulls/list-review-comments"]; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-reply-for-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + get: operations["pulls/list-commits"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + get: operations["pulls/list-files"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + get: operations["pulls/check-if-merged"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + put: operations["pulls/merge"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ + get: operations["pulls/list-requested-reviewers"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["pulls/request-reviewers"]; + delete: operations["pulls/remove-requested-reviewers"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + /** The list of reviews returns in chronological order. */ + get: operations["pulls/list-reviews"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + post: operations["pulls/create-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + get: operations["pulls/get-review"]; + /** Update the review summary comment with new text. */ + put: operations["pulls/update-review"]; + delete: operations["pulls/delete-pending-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + /** List comments for a specific pull request review. */ + get: operations["pulls/list-comments-for-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + put: operations["pulls/dismiss-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + post: operations["pulls/submit-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + put: operations["pulls/update-branch"]; + }; + "/repos/{owner}/{repo}/readme": { + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme"]; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme-in-directory"]; + }; + "/repos/{owner}/{repo}/releases": { + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-release"]; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + get: operations["repos/get-release-asset"]; + delete: operations["repos/delete-release-asset"]; + /** Users with push access to the repository can edit a release asset. */ + patch: operations["repos/update-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + post: operations["repos/generate-release-notes"]; + }; + "/repos/{owner}/{repo}/releases/latest": { + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + /** Get a published release with the specified tag. */ + get: operations["repos/get-release-by-tag"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + get: operations["repos/get-release"]; + /** Users with push access to the repository can delete a release. */ + delete: operations["repos/delete-release"]; + /** Users with push access to the repository can edit a release. */ + patch: operations["repos/update-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + get: operations["repos/list-release-assets"]; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + get: operations["reactions/list-for-release"]; + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + post: operations["reactions/create-for-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). + */ + delete: operations["reactions/delete-for-release"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + /** + * Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/get-alert"]; + /** + * Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + patch: operations["secret-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + }; + "/repos/{owner}/{repo}/stargazers": { + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-stargazers-for-repo"]; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + get: operations["repos/get-code-frequency-stats"]; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + get: operations["repos/get-commit-activity-stats"]; + }; + "/repos/{owner}/{repo}/stats/contributors": { + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + get: operations["repos/get-contributors-stats"]; + }; + "/repos/{owner}/{repo}/stats/participation": { + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + get: operations["repos/get-participation-stats"]; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + }; + "/repos/{owner}/{repo}/subscribers": { + /** Lists the people watching the specified repository. */ + get: operations["activity/list-watchers-for-repo"]; + }; + "/repos/{owner}/{repo}/subscription": { + get: operations["activity/get-repo-subscription"]; + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + put: operations["activity/set-repo-subscription"]; + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + delete: operations["activity/delete-repo-subscription"]; + }; + "/repos/{owner}/{repo}/tags": { + get: operations["repos/list-tags"]; + }; + "/repos/{owner}/{repo}/tags/protection": { + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-tarball-archive"]; + }; + "/repos/{owner}/{repo}/teams": { + get: operations["repos/list-teams"]; + }; + "/repos/{owner}/{repo}/topics": { + get: operations["repos/get-all-topics"]; + put: operations["repos/replace-all-topics"]; + }; + "/repos/{owner}/{repo}/traffic/clones": { + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + get: operations["repos/get-clones"]; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + /** Get the top 10 popular contents over the last 14 days. */ + get: operations["repos/get-top-paths"]; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + /** Get the top 10 referrers over the last 14 days. */ + get: operations["repos/get-top-referrers"]; + }; + "/repos/{owner}/{repo}/traffic/views": { + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + get: operations["repos/get-views"]; + }; + "/repos/{owner}/{repo}/transfer": { + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ + post: operations["repos/transfer"]; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + get: operations["repos/check-vulnerability-alerts"]; + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + put: operations["repos/enable-vulnerability-alerts"]; + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + delete: operations["repos/disable-vulnerability-alerts"]; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-zipball-archive"]; + }; + "/repos/{template_owner}/{template_repo}/generate": { + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-using-template"]; + }; + "/repositories": { + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-environment-secrets"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-public-key"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-secret"]; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-environment-secret"]; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-environment-secret"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Users": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; + }; + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-user-from-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; + }; + "/scim/v2/organizations/{org}/Users": { + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + get: operations["scim/list-provisioned-identities"]; + /** Provision organization membership for a user, and send an activation email to the email address. */ + post: operations["scim/provision-and-invite-user"]; + }; + "/scim/v2/organizations/{org}/Users/{scim_user_id}": { + get: operations["scim/get-provisioning-information-for-user"]; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + put: operations["scim/set-information-for-provisioned-user"]; + delete: operations["scim/delete-user-from-org"]; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + patch: operations["scim/update-attribute-for-user"]; + }; + "/search/code": { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + get: operations["search/code"]; + }; + "/search/commits": { + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + }; + "/search/issues": { + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + get: operations["search/issues-and-pull-requests"]; + }; + "/search/labels": { + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + }; + "/search/repositories": { + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + get: operations["search/repos"]; + }; + "/search/topics": { + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + }; + "/search/users": { + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + get: operations["search/users"]; + }; + "/teams/{team_id}": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + get: operations["teams/get-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + }; + "/teams/{team_id}/discussions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussion-comments-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + }; + "/teams/{team_id}/invitations": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + }; + "/teams/{team_id}/members": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + }; + "/teams/{team_id}/members/{username}": { + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-member-legacy"]; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + }; + "/teams/{team_id}/memberships/{username}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + }; + "/teams/{team_id}/projects": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + get: operations["teams/list-projects-legacy"]; + }; + "/teams/{team_id}/projects/{project_id}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + delete: operations["teams/remove-project-legacy"]; + }; + "/teams/{team_id}/repos": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + get: operations["teams/list-repos-legacy"]; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + }; + "/teams/{team_id}/team-sync/group-mappings": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + get: operations["teams/list-idp-groups-for-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + patch: operations["teams/create-or-update-idp-group-connections-legacy"]; + }; + "/teams/{team_id}/teams": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + get: operations["teams/list-child-legacy"]; + }; + "/user": { + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + get: operations["users/get-authenticated"]; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + patch: operations["users/update-authenticated"]; + }; + "/user/blocks": { + /** List the users you've blocked on your personal account. */ + get: operations["users/list-blocked-by-authenticated-user"]; + }; + "/user/blocks/{username}": { + get: operations["users/check-blocked"]; + put: operations["users/block"]; + delete: operations["users/unblock"]; + }; + "/user/codespaces": { + /** + * Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + /** + * Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + }; + "/user/codespaces/secrets": { + /** + * Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + }; + "/user/codespaces/secrets/public-key": { + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}": { + /** + * Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + /** + * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + /** + * List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Select the repositories that will use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + /** + * Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}": { + /** + * Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports": { + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + /** + * Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/machines": { + /** + * List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/start": { + /** + * Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/stop": { + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + }; + "/user/email/visibility": { + /** Sets the visibility for your primary email addresses. */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + }; + "/user/emails": { + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-emails-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + post: operations["users/add-email-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + delete: operations["users/delete-email-for-authenticated-user"]; + }; + "/user/followers": { + /** Lists the people following the authenticated user. */ + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + /** Lists the people who the authenticated user follows. */ + get: operations["users/list-followed-by-authenticated-user"]; + }; + "/user/following/{username}": { + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + put: operations["users/follow"]; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + }; + "/user/installations": { + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + }; + "/user/interaction-limits": { + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + /** Removes any interaction restrictions from your public repositories. */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + }; + "/user/issues": { + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + }; + "/user/keys/{key_id}": { + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + }; + "/user/marketplace_purchases": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + get: operations["orgs/get-membership-for-authenticated-user"]; + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + /** Lists all migrations a user has started. */ + get: operations["migrations/list-for-authenticated-user"]; + /** Initiates the generation of a user migration archive. */ + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + /** Lists all the repositories for this user migration. */ + get: operations["migrations/list-repos-for-authenticated-user"]; + }; + "/user/orgs": { + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/packages": { + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}": { + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-authenticated-user"]; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/restore": { + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + }; + "/user/projects": { + /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-authenticated-user"]; + }; + "/user/public_emails": { + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-public-emails-for-authenticated-user"]; + }; + "/user/repos": { + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + delete: operations["repos/decline-invitation-for-authenticated-user"]; + patch: operations["repos/accept-invitation-for-authenticated-user"]; + }; + "/user/starred": { + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["activity/star-repo-for-authenticated-user"]; + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + /** Lists repositories the authenticated user is watching. */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + get: operations["teams/list-for-authenticated-user"]; + }; + "/users": { + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + get: operations["users/list"]; + }; + "/users/{username}": { + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + get: operations["users/get-by-username"]; + }; + "/users/{username}/events": { + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + /** Lists the people following the specified user. */ + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + /** Lists the people who the specified user follows. */ + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + /** Lists public gists for the specified user: */ + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/packages": { + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-user"]; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-user"]; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-user"]; + }; + "/users/{username}/projects": { + get: operations["projects/list-for-user"]; + }; + "/users/{username}/received_events": { + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/starred": { + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + /** Lists repositories a user is watching. */ + get: operations["activity/list-repos-watched-by-user"]; + }; + "/zen": { + /** Get a random sentence from the Zen of GitHub */ + get: operations["meta/get-zen"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + }; +} + +export interface components { + schemas: { + root: { + /** Format: uri-template */ + current_user_url: string; + /** Format: uri-template */ + current_user_authorizations_html_url: string; + /** Format: uri-template */ + authorizations_url: string; + /** Format: uri-template */ + code_search_url: string; + /** Format: uri-template */ + commit_search_url: string; + /** Format: uri-template */ + emails_url: string; + /** Format: uri-template */ + emojis_url: string; + /** Format: uri-template */ + events_url: string; + /** Format: uri-template */ + feeds_url: string; + /** Format: uri-template */ + followers_url: string; + /** Format: uri-template */ + following_url: string; + /** Format: uri-template */ + gists_url: string; + /** Format: uri-template */ + hub_url: string; + /** Format: uri-template */ + issue_search_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + label_search_url: string; + /** Format: uri-template */ + notifications_url: string; + /** Format: uri-template */ + organization_url: string; + /** Format: uri-template */ + organization_repositories_url: string; + /** Format: uri-template */ + organization_teams_url: string; + /** Format: uri-template */ + public_gists_url: string; + /** Format: uri-template */ + rate_limit_url: string; + /** Format: uri-template */ + repository_url: string; + /** Format: uri-template */ + repository_search_url: string; + /** Format: uri-template */ + current_user_repositories_url: string; + /** Format: uri-template */ + starred_url: string; + /** Format: uri-template */ + starred_gists_url: string; + /** Format: uri-template */ + topic_search_url?: string; + /** Format: uri-template */ + user_url: string; + /** Format: uri-template */ + user_organizations_url: string; + /** Format: uri-template */ + user_repositories_url: string; + /** Format: uri-template */ + user_search_url: string; + }; + /** + * Simple User + * @description Simple User + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * Format: uri + * @description The URL to which the payloads will be delivered. + * @example https://example.com/webhook + */ + "webhook-config-url": string; + /** + * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + * @example "json" + */ + "webhook-config-content-type": string; + /** + * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + * @example "********" + */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** + * Webhook Configuration + * @description Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. + */ + "hook-delivery-item": { + /** + * @description Unique identifier of the webhook delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the webhook delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Describes the response returned after attempting the delivery. + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + }; + /** + * Scim Error + * @description Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Validation Error + * @description Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** + * @description Unique identifier of the delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Description of the status of the attempted delivery + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * @description The URL target of the delivery. + * @example https://www.example.com + */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { [key: string]: unknown } | null; + /** @description The webhook payload. */ + payload: { [key: string]: unknown } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { [key: string]: unknown } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; + /** + * Simple User + * @description Simple User + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** + * Enterprise + * @description An enterprise account + */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * App Permissions + * @description The permissions granted to the user-to-server access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + }; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | (Partial & + Partial) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + }; + /** + * Application Grant + * @description The authorization associated with an OAuth Access. + */ + "application-grant": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/applications/grants/1 + */ + url: string; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * @example [ + * "public_repo" + * ] + */ + scopes: string[]; + user?: components["schemas"]["nullable-simple-user"]; + }; + /** Scoped Installation */ + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ + url: string; + /** + * @example # Contributor Covenant Code of Conduct + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + * + * [homepage]: http://contributor-covenant.org + * [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** + * Server Statistics Proxy Endpoint + * @description Response of S4 Proxy endpoint that provides GHES statistics + */ + "server-statistics": { + server_id?: string; + collection_date?: string; + schema_version?: string; + ghes_version?: string; + host_name?: string; + github_connect?: { + features_enabled?: string[]; + }; + ghe_stats?: { + comments?: { + total_commit_comments?: number; + total_gist_comments?: number; + total_issue_comments?: number; + total_pull_request_comments?: number; + }; + gists?: { + total_gists?: number; + private_gists?: number; + public_gists?: number; + }; + hooks?: { + total_hooks?: number; + active_hooks?: number; + inactive_hooks?: number; + }; + issues?: { + total_issues?: number; + open_issues?: number; + closed_issues?: number; + }; + milestones?: { + total_milestones?: number; + open_milestones?: number; + closed_milestones?: number; + }; + orgs?: { + total_orgs?: number; + disabled_orgs?: number; + total_teams?: number; + total_team_members?: number; + }; + pages?: { + total_pages?: number; + }; + pulls?: { + total_pulls?: number; + merged_pulls?: number; + mergeable_pulls?: number; + unmergeable_pulls?: number; + }; + repos?: { + total_repos?: number; + root_repos?: number; + fork_repos?: number; + org_repos?: number; + total_pushes?: number; + total_wikis?: number; + }; + users?: { + total_users?: number; + admin_users?: number; + suspended_users?: number; + }; + }; + dormant_users?: { + total_dormant_users?: number; + dormancy_threshold?: string; + }; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; + "actions-oidc-custom-issuer-policy-for-enterprise": { + /** + * @description Whether the enterprise customer requested a custom issuer URL. + * @example true + */ + include_enterprise_slug?: boolean; + }; + /** + * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-organizations": "all" | "none" | "selected"; + /** + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-enterprise-permissions": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + /** @description The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ + selected_organizations_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** + * Organization Simple + * @description Organization Simple + */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed?: string[]; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "runner-groups-enterprise": { + id: number; + name: string; + visibility: string; + default: boolean; + selected_organizations_url?: string; + runners_url: string; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** + * @description The id of the runner. + * @example 5 + */ + id: number; + /** + * @description The name of the runner. + * @example iMac + */ + name: string; + /** + * @description The Operating System of the runner. + * @example macos + */ + os: string; + /** + * @description The status of the runner. + * @example online + */ + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { + /** + * @description The token used for authentication + * @example v1.1f699f1069f60xxx + */ + token: string; + /** + * Format: date-time + * @description The time this token expires + * @example 2016-07-11T22:14:10Z + */ + expires_at: string; + /** + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions?: { [key: string]: unknown }; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + /** @example config.yaml */ + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection?: "all" | "selected"; + }; + "audit-log-event": { + /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** @description The actor who performed the action. */ + actor?: string; + /** @description The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { [key: string]: unknown }; + org_id?: number; + /** @description The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: { [key: string]: unknown }[]; + config_was?: { [key: string]: unknown }[]; + content_type?: string; + /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** @description A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: { [key: string]: unknown }[]; + events_were?: { [key: string]: unknown }[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** @description The name of the repository. */ + repo?: string; + /** @description The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** @description The user that was affected by the action performed (if available). */ + user?: string; + /** @description The repository visibility, for example `public` or `private`. */ + visibility?: string; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; + /** @description The security alert number. */ + "alert-number": number; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-created-at": string; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-updated-at": string; + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ + "alert-url": string; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + "alert-html-url": string; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-dismissed-at": string | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": + | (null | "false positive" | "won't fix" | "used in tests") + | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: ("low" | "medium" | "high" | "critical") | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. + */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": + | ("source" | "generated" | "test" | "library") + | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + /** + * Simple Repository + * @description Simple Repository + */ + "simple-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The repository description. + * @example This your first repo! + */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ + archive_url: string; + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ + assignees_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ + blobs_url: string; + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ + branches_url: string; + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ + collaborators_url: string; + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ + comments_url: string; + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ + commits_url: string; + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ + compare_url: string; + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ + git_commits_url: string; + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ + git_refs_url: string; + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ + issue_comment_url: string; + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ + issue_events_url: string; + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ + issues_url: string; + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ + keys_url: string; + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ + milestones_url: string; + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ + notifications_url: string; + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ + pulls_url: string; + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "nullable-alert-updated-at": string | null; + /** + * @description Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution": + | (null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests") + | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "advanced-security-active-committers-user": { + user_login: string; + /** @example 2021-11-03 */ + last_pushed_date: string; + }; + "advanced-security-active-committers-repository": { + /** @example octocat/Hello-World */ + name: string; + /** @example 25 */ + advanced_security_committers: number; + advanced_security_committers_breakdown: components["schemas"]["advanced-security-active-committers-user"][]; + }; + "advanced-security-active-committers": { + /** @example 25 */ + total_advanced_security_committers?: number; + /** @example 2 */ + total_count?: number; + repositories: components["schemas"]["advanced-security-active-committers-repository"][]; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Actor + * @description Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + "nullable-milestone": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + "nullable-integration": { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + } | null; + /** + * author_association + * @description How the author is associated with the repository. + * @example OWNER + * @enum {string} + */ + "author-association": + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + */ + state_reason?: string | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: ( + | string + | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + /** @example https://github.com/timeline */ + timeline_url: string; + /** @example https://github.com/{user} */ + user_url: string; + /** @example https://github.com/octocat */ + current_user_public_url?: string; + /** @example https://github.com/octocat.private?token=abc123 */ + current_user_url?: string; + /** @example https://github.com/octocat.private.actor?token=abc123 */ + current_user_actor_url?: string; + /** @example https://github.com/octocat-org */ + current_user_organization_url?: string; + /** + * @example [ + * "https://github.com/organizations/github/octocat.private.atom?token=abc123" + * ] + */ + current_user_organization_urls?: string[]; + /** @example https://github.com/security-advisories */ + security_advisories_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + /** @example 1 */ + private_gists?: number; + /** @example 2 */ + total_private_repos?: number; + /** @example 2 */ + owned_private_repos?: number; + /** @example 1 */ + disk_usage?: number; + /** @example 3 */ + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: uri */ + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: + | { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] + | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; + /** + * Gist + * @description Gist + */ + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { + /** @example 1 */ + id: number; + /** @example MDExOkdpc3RDb21tZW50MQ== */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 + */ + url: string; + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { + /** + * Format: uri + * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f + */ + url: string; + /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + /** + * Format: date-time + * @example 2010-04-14T02:15:15Z + */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + /** @example C */ + name: string; + /** + * @example # Object files + * *.o + * + * # Libraries + * *.lib + * *.a + * + * # Shared objects (inc. Windows DLLs) + * *.dll + * *.so + * *.so.* + * *.dylib + * + * # Executables + * *.exe + * *.out + * *.app + */ + source: string; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + }; + /** + * License + * @description License + */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** @example MIT */ + spdx_id: string | null; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** + * Format: uri + * @example http://choosealicense.com/licenses/mit/ + */ + html_url: string; + /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ + description: string; + /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ + implementation: string; + /** + * @example [ + * "commercial-use", + * "modifications", + * "distribution", + * "sublicense", + * "private-use" + * ] + */ + permissions: string[]; + /** + * @example [ + * "include-copyright" + * ] + */ + conditions: string[]; + /** + * @example [ + * "no-liability" + * ] + */ + limitations: string[]; + /** + * @example + * + * The MIT License (MIT) + * + * Copyright (c) [year] [fullname] + * + * 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. + */ + body: string; + /** @example true */ + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313/accounts + */ + accounts_url: string; + /** @example 1313 */ + id: number; + /** @example 3 */ + number: number; + /** @example Pro */ + name: string; + /** @example A professional-grade CI solution */ + description: string; + /** @example 1099 */ + monthly_price_in_cents: number; + /** @example 11870 */ + yearly_price_in_cents: number; + /** @example flat-rate */ + price_model: string; + /** @example true */ + has_free_trial: boolean; + unit_name: string | null; + /** @example published */ + state: string; + /** + * @example [ + * "Up to 25 private repositories", + * "11 concurrent builds" + * ] + */ + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + /** + * @example [ + * "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" + * ] + */ + ssh_keys?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + hooks?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + web?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + api?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + git?: string[]; + /** + * @example [ + * "13.65.0.0/16", + * "157.55.204.33/32", + * "2a01:111:f403:f90c::/62" + * ] + */ + packages?: string[]; + /** + * @example [ + * "192.30.252.153/32", + * "192.30.252.154/32" + * ] + */ + pages?: string[]; + /** + * @example [ + * "54.158.161.132", + * "54.226.70.38" + * ] + */ + importer?: string[]; + /** + * @example [ + * "13.64.0.0/16", + * "13.65.0.0/16" + * ] + */ + actions?: string[]; + /** + * @example [ + * "192.168.7.15/32", + * "192.168.7.16/32" + * ] + */ + dependabot?: string[]; + }; + /** + * Repository + * @description A git repository + */ + "nullable-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + }; + /** + * Thread + * @description Thread + */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + /** @example https://api.github.com/notifications/threads/2/subscription */ + subscription_url: string; + }; + /** + * Thread Subscription + * @description Thread Subscription + */ + "thread-subscription": { + /** @example true */ + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string | null; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1 + */ + thread_url?: string; + /** + * Format: uri + * @example https://api.github.com/repos/1 + */ + repository_url?: string; + }; + /** + * Organization Custom Repository Role + * @description Custom repository roles created by organization administrators + */ + "organization-custom-repository-role": { + id: number; + name: string; + }; + /** + * Organization Full + * @description Organization Full + */ + "organization-full": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** Format: date-time */ + updated_at: string; + }; + /** + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** + * @description The repository owner and name for the cache usage being shown. + * @example octo-org/Hello-World + */ + full_name: string; + /** + * @description The sum of the size in bytes of all the active cache items in the repository. + * @example 2322142 + */ + active_caches_size_in_bytes: number; + /** + * @description The number of active caches in the repository. + * @example 3 + */ + active_caches_count: number; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": { [key: string]: unknown }; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "runner-groups-org": { + id: number; + name: string; + visibility: string; + default: boolean; + /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "nullable-codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 8 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 8589934592 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: ("none" | "ready" | "in_progress") | null; + } | null; + /** + * Codespace + * @description A codespace. + */ + codespace: { + /** @example 1 */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The Azure region where this codespace is located. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + }; + /** + * Credential Authorization + * @description Credential Authorization + */ + "credential-authorization": { + /** + * @description User login that owns the underlying credential. + * @example monalisa + */ + login: string; + /** + * @description Unique identifier for the credential. + * @example 1 + */ + credential_id: number; + /** + * @description Human-readable description of the credential type. + * @example SSH Key + */ + credential_type: string; + /** + * @description Last eight characters of the credential. Only included in responses with credential_type of personal access token. + * @example 12345678 + */ + token_last_eight?: string; + /** + * Format: date-time + * @description Date when the credential was authorized for use. + * @example 2011-01-26T19:06:43Z + */ + credential_authorized_at: string; + /** + * @description List of oauth scopes the token has been granted. + * @example [ + * "user", + * "repo" + * ] + */ + scopes?: string[]; + /** + * @description Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. + * @example jklmnop12345678 + */ + fingerprint?: string; + /** + * Format: date-time + * @description Date when the credential was last accessed. May be null if it was never accessed + * @example 2011-01-26T19:06:43Z + */ + credential_accessed_at: string | null; + /** @example 12345678 */ + authorized_credential_id: number | null; + /** + * @description The title given to the ssh key. This will only be present when the credential is an ssh key. + * @example my ssh key + */ + authorized_credential_title?: string | null; + /** + * @description The note given to the token. This will only be present when the credential is a token. + * @example my token + */ + authorized_credential_note?: string | null; + /** + * Format: date-time + * @description The expiry for the token. This will only be present when the credential is a token. + */ + authorized_credential_expires_at?: string | null; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * ExternalGroup + * @description Information about an external group's usage and its members + */ + "external-group": { + /** + * @description The internal ID of the group + * @example 1 + */ + group_id: number; + /** + * @description The display name for the group + * @example group-azuread-test + */ + group_name: string; + /** + * @description The date when the group was last updated_at + * @example 2021-01-03 22:27:15:000 -700 + */ + updated_at?: string; + /** + * @description An array of teams linked to this group + * @example [ + * { + * "team_id": 1, + * "team_name": "team-test" + * }, + * { + * "team_id": 2, + * "team_name": "team-test2" + * } + * ] + */ + teams: { + /** + * @description The id for a team + * @example 1 + */ + team_id: number; + /** + * @description The name of the team + * @example team-test + */ + team_name: string; + }[]; + /** + * @description An array of external members linked to this group + * @example [ + * { + * "member_id": 1, + * "member_login": "mona-lisa_eocsaxrs", + * "member_name": "Mona Lisa", + * "member_email": "mona_lisa@github.com" + * }, + * { + * "member_id": 2, + * "member_login": "octo-lisa_eocsaxrs", + * "member_name": "Octo Lisa", + * "member_email": "octo_lisa@github.com" + * } + * ] + */ + members: { + /** + * @description The internal user ID of the identity + * @example 1 + */ + member_id: number; + /** + * @description The handle/login for the user + * @example mona-lisa_eocsaxrs + */ + member_login: string; + /** + * @description The user display name/profile name + * @example Mona Lisa + */ + member_name: string; + /** + * @description An email attached to a user + * @example mona_lisa@github.com + */ + member_email: string; + }[]; + }; + /** + * ExternalGroups + * @description A list of external groups available to be connected to a team + */ + "external-groups": { + /** + * @description An array of external groups available to be mapped to a team + * @example [ + * { + * "group_id": 1, + * "group_name": "group-azuread-test", + * "updated_at": "2021-01-03 22:27:15:000 -700" + * }, + * { + * "group_id": 2, + * "group_name": "group-azuread-test2", + * "updated_at": "2021-06-03 22:27:15:000 -700" + * } + * ] + */ + groups?: { + /** + * @description The internal ID of the group + * @example 1 + */ + group_id: number; + /** + * @description The display name of the group + * @example group-azuread-test + */ + group_name: string; + /** + * @description The time of the last update for this group + * @example 2019-06-03 22:27:15:000 -700 + */ + updated_at: string; + }[]; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ + node_id: string; + /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ + invitation_teams_url: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/deliveries + */ + deliveries_url?: string; + /** @example web */ + name: string; + /** + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + /** @example true */ + active: boolean; + config: { + /** @example "http://example.com/2" */ + url?: string; + /** @example "0" */ + insecure_ssl?: string; + /** @example "form" */ + content_type?: string; + /** @example "********" */ + secret?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + type: string; + }; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @example collaborators_only + * @enum {string} + */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + /** @example repository */ + origin: string; + /** + * Format: date-time + * @example 2018-08-17T04:18:39Z + */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @example one_month + * @enum {string} + */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/memberships/defunkt + */ + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @example active + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @example admin + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat + */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + /** @example 79 */ + id: number; + owner: components["schemas"]["nullable-simple-user"]; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + guid: string; + /** @example pending */ + state: string; + /** @example true */ + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + repositories: components["schemas"]["repository"][]; + /** + * Format: uri + * @example https://api.github.com/orgs/octo-org/migrations/79 + */ + url: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + updated_at: string; + node_id: string; + /** Format: uri */ + archive_url?: string; + exclude?: unknown[]; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + } | null; + /** + * Package + * @description A software package + */ + package: { + /** + * @description Unique identifier of the package. + * @example 1 + */ + id: number; + /** + * @description The name of the package. + * @example super-linter + */ + name: string; + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @example https://api.github.com/orgs/github/packages/container/super-linter */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + html_url: string; + /** + * @description The number of versions of the package. + * @example 1 + */ + version_count: number; + /** + * @example private + * @enum {string} + */ + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** + * @description Unique identifier of the package version. + * @example 1 + */ + id: number; + /** + * @description The name of the package version. + * @example latest + */ + name: string; + /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + package_html_url: string; + /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ + html_url?: string; + /** @example MIT */ + license?: string; + description?: string; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + } & { + tags: unknown; + }; + }; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test + */ + owner_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604 + */ + url: string; + /** + * Format: uri + * @example https://github.com/api-playground/projects-test/projects/12 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604/columns + */ + columns_url: string; + /** @example 1002604 */ + id: number; + /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ + node_id: string; + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body: string | null; + /** @example 1 */ + number: number; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** + * GroupMapping + * @description External Groups to be mapped to a team for membership + */ + "group-mapping": { + /** + * @description Array of groups to be mapped to this team + * @example [ + * { + * "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", + * "group_name": "saml-azuread-test", + * "group_description": "A group of Developers working on AzureAD SAML SSO" + * }, + * { + * "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2", + * "group_name": "saml-azuread-test2", + * "group_description": "Another group of Developers working on AzureAD SAML SSO" + * } + * ] + */ + groups?: { + /** + * @description The ID of the group + * @example 111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa + */ + group_id: string; + /** + * @description The name of the group + * @example saml-azuread-test + */ + group_name: string; + /** + * @description a description of the group + * @example A group of Developers working on AzureAD SAML SSO + */ + group_description: string; + /** + * @description synchronization status for this group mapping + * @example unsynced + */ + status?: string; + /** + * @description the time of the last sync for this group-mapping + * @example 2019-06-03 22:27:15:000 -700 + */ + synced_at?: string | null; + }[]; + }; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** + * @description Unique identifier of the team + * @example 42 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * @description Name of the team + * @example Developers + */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** + * @description The level of privacy this team should have + * @example closed + * @enum {string} + */ + privacy?: "closed" | "secret"; + /** + * @description Permission that the team will have for its repositories + * @example push + */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** + * Format: date-time + * @example 2017-07-14T16:53:42Z + */ + created_at: string; + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ + updated_at: string; + organization: components["schemas"]["organization-full"]; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. + */ + body: string; + /** @example

Hi! This is an area for us to collaborate as a team

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** @example 0 */ + comments_count: number; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments + */ + comments_url: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1 + */ + html_url: string; + /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ + node_id: string; + /** + * @description The unique sequence number of a team discussion. + * @example 42 + */ + number: number; + /** + * @description Whether or not this discussion should be pinned for easy retrieval. + * @example true + */ + pinned: boolean; + /** + * @description Whether or not this discussion should be restricted to team members and organization administrators. + * @example true + */ + private: boolean; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027 + */ + team_url: string; + /** + * @description The title of the discussion. + * @example How can we improve our workflow? + */ + title: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027/discussions/1 + */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Team Discussion Comment + * @description A reply to a discussion within a team. + */ + "team-discussion-comment": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the comment. + * @example I agree with this suggestion. + */ + body: string; + /** @example

Do you like apples?

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1 + */ + discussion_url: string; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1 + */ + html_url: string; + /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */ + node_id: string; + /** + * @description The unique sequence number of a team discussion comment. + * @example 42 + */ + number: number; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 + */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. + */ + reaction: { + /** @example 1 */ + id: number; + /** @example MDg6UmVhY3Rpb24x */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The reaction to use + * @example heart + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Format: date-time + * @example 2016-05-20T20:09:31Z + */ + created_at: string; + }; + /** + * Team Membership + * @description Team Membership + */ + "team-membership": { + /** Format: uri */ + url: string; + /** + * @description The role of the user in the team. + * @default member + * @example member + * @enum {string} + */ + role: "member" | "maintainer"; + /** + * @description The state of the user's membership in the team. + * @enum {string} + */ + state: "active" | "pending"; + }; + /** + * Team Project + * @description A team's access to a project. + */ + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string | null; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** @description The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** @description Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; + }; + /** + * Team Repository + * @description A team's access to a repository. + */ + "team-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** @example admin */ + role_name?: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow forking this repo + * @default false + * @example false + */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + }; + /** + * Project Card + * @description Project cards represent a scope of work. + */ + "project-card": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/cards/1478 + */ + url: string; + /** + * @description The project card's ID + * @example 42 + */ + id: number; + /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ + node_id: string; + /** @example Add payload for delete Project column */ + note: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2016-09-05T14:21:06Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:20:22Z + */ + updated_at: string; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + column_name?: string; + project_id?: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + column_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test/issues/3 + */ + content_url?: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + }; + /** + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367/cards + */ + cards_url: string; + /** + * @description The unique identifier of the project column + * @example 42 + */ + id: number; + /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ + node_id: string; + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + /** + * Format: date-time + * @example 2016-09-05T14:18:44Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:22:28Z + */ + updated_at: string; + }; + /** + * Project Collaborator Permission + * @description Project Collaborator Permission + */ + "project-collaborator-permission": { + permission: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + }; + "security-and-analysis": { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** + * @example [ + * "octocat", + * "atom", + * "electron", + * "API" + * ] + */ + topics?: string[]; + /** @example true */ + has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @example true */ + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @example public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; + /** @example true */ + allow_forking?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** + * @description Whether anonymous git access is allowed. + * @default true + */ + anonymous_access_enabled?: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Artifact + * @description An artifact + */ + artifact: { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The name of the artifact. + * @example AdventureWorks.Framework + */ + name: string; + /** + * @description The size in bytes of the artifact. + * @example 12345 + */ + size_in_bytes: number; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5 */ + url: string; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip */ + archive_download_url: string; + /** @description Whether or not the artifact has expired. */ + expired: boolean; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + expires_at: string | null; + /** Format: date-time */ + updated_at: string | null; + workflow_run?: { + /** @example 10 */ + id?: number; + /** @example 42 */ + repository_id?: number; + /** @example 42 */ + head_repository_id?: number; + /** @example main */ + head_branch?: string; + /** @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha?: string; + } | null; + }; + /** + * Repository actions caches + * @description Repository actions caches + */ + "actions-cache-list": { + /** + * @description Total number of caches + * @example 2 + */ + total_count: number; + /** @description Array of caches */ + actions_caches: { + /** @example 2 */ + id?: number; + /** @example refs/heads/main */ + ref?: string; + /** @example Linux-node-958aff96db2d75d67787d1e634ae70b659de937b */ + key?: string; + /** @example 73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0 */ + version?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + last_accessed_at?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created_at?: string; + /** @example 1024 */ + size_in_bytes?: number; + }[]; + }; + /** + * Job + * @description Information of a job execution in a workflow run + */ + job: { + /** + * @description The id of the job. + * @example 21 + */ + id: number; + /** + * @description The id of the associated workflow run. + * @example 5 + */ + run_id: number; + /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + run_url: string; + /** + * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** + * @description The SHA of the commit that is being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://api.github.com/repos/github/hello-world/actions/jobs/21 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @example success + */ + conclusion: string | null; + /** + * Format: date-time + * @description The time that the job started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at: string; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @description Steps in this job. */ + steps?: { + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @example success + */ + conclusion: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @example 1 */ + number: number; + /** + * Format: date-time + * @description The time that the step started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at?: string | null; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at?: string | null; + }[]; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + check_run_url: string; + /** + * @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. + * @example [ + * "self-hosted", + * "foo", + * "bar" + * ] + */ + labels: string[]; + /** + * @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 1 + */ + runner_id: number | null; + /** + * @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner + */ + runner_name: string | null; + /** + * @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 2 + */ + runner_group_id: number | null; + /** + * @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner group + */ + runner_group_name: string | null; + }; + /** + * The json payload enables/disables the use of sub claim customization + * @description OIDC Customer Subject + */ + "opt-out-oidc-custom-sub": { + use_default: boolean; + }; + /** @description Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "actions-workflow-access-to-repository": { + /** + * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the + * repository. `none` means access is only possible from workflows in this repository. + * @enum {string} + */ + access_level: "none" | "organization" | "enterprise"; + }; + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow + */ + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }; + /** + * Simple Commit + * @description Simple Commit + */ + "nullable-simple-commit": { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** + * Workflow Run + * @description An invocation of a workflow + */ + "workflow-run": { + /** + * @description The ID of the workflow run. + * @example 5 + */ + id: number; + /** + * @description The name of the workflow run. + * @example Build + */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The ID of the associated check suite. + * @example 42 + */ + check_suite_id?: number; + /** + * @description The node ID of the associated check suite. + * @example MDEwOkNoZWNrU3VpdGU0Mg== + */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** + * @description The SHA of the head commit that points to the version of the workflow being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** + * @description The full path of the workflow + * @example octocat/octo-repo/.github/workflows/ci.yml@main + */ + path: string; + /** + * @description The auto incrementing run number for the workflow run. + * @example 106 + */ + run_number: number; + /** + * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + referenced_workflows?: + | components["schemas"]["referenced-workflow"][] + | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** + * @description The ID of the parent workflow. + * @example 5 + */ + workflow_id: number; + /** + * @description The URL to the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5 + */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The start time of the latest run. Resets on re-run. + */ + run_started_at?: string; + /** + * @description The URL to the jobs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs + */ + jobs_url: string; + /** + * @description The URL to download the logs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs + */ + logs_url: string; + /** + * @description The URL to the associated check suite. + * @example https://api.github.com/repos/github/hello-world/check-suites/12 + */ + check_suite_url: string; + /** + * @description The URL to the artifacts for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts + */ + artifacts_url: string; + /** + * @description The URL to cancel the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel + */ + cancel_url: string; + /** + * @description The URL to rerun the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun + */ + rerun_url: string; + /** + * @description The URL to the previous attempted run of this workflow, if one exists. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 + */ + previous_attempt_url?: string | null; + /** + * @description The URL to the workflow. + * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml + */ + workflow_url: string; + head_commit: components["schemas"]["nullable-simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + /** @example 5 */ + head_repository_id?: number; + }; + /** + * Environment Approval + * @description An entry in the reviews log for environment deployments + */ + "environment-approvals": { + /** @description The list of environments that were approved or rejected */ + environments: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at?: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at?: string; + }[]; + /** + * @description Whether deployment to the environment(s) was approved or rejected + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + user: components["schemas"]["simple-user"]; + /** + * @description The comment submitted with the deployment review + * @example Ship it! + */ + comment: string; + }; + /** + * @description The type of reviewer. + * @example User + * @enum {string} + */ + "deployment-reviewer-type": "User" | "Team"; + /** + * Pending Deployment + * @description Details of a deployment that is waiting for protection rules to pass + */ + "pending-deployment": { + environment: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + }; + /** + * @description The set duration of the wait timer + * @example 30 + */ + wait_timer: number; + /** + * Format: date-time + * @description The time that the wait timer began. + * @example 2020-11-23T22:00:40Z + */ + wait_timer_started_at: string | null; + /** + * @description Whether the currently authenticated user can approve the deployment + * @example true + */ + current_user_can_approve: boolean; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: Partial & + Partial; + }[]; + }; + /** + * Deployment + * @description A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d */ + sha: string; + /** + * @description The ref to deploy. This can be a branch, tag, or sha. + * @example topic-branch + */ + ref: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + payload: { [key: string]: unknown } | string; + /** @example staging */ + original_environment?: string; + /** + * @description Name for the target deployment environment. + * @example production + */ + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses + */ + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Workflow Run Usage + * @description Workflow Run Usage + */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + }; + run_duration_ms?: number; + }; + /** + * Actions Secret + * @description Set secrets for GitHub Actions. + */ + "actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Workflow + * @description A GitHub Actions workflow + */ + workflow: { + /** @example 5 */ + id: number; + /** @example MDg6V29ya2Zsb3cxMg== */ + node_id: string; + /** @example CI */ + name: string; + /** @example ruby.yaml */ + path: string; + /** + * @example active + * @enum {string} + */ + state: + | "active" + | "deleted" + | "disabled_fork" + | "disabled_inactivity" + | "disabled_manually"; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + created_at: string; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + updated_at: string; + /** @example https://api.github.com/repos/actions/setup-ruby/workflows/5 */ + url: string; + /** @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml */ + html_url: string; + /** @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg */ + badge_url: string; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + deleted_at?: string; + }; + /** + * Workflow Usage + * @description Workflow Usage + */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; + }; + }; + /** + * Autolink reference + * @description An autolink reference. + */ + autolink: { + /** @example 3 */ + id: number; + /** + * @description The prefix of a key that is linkified. + * @example TICKET- + */ + key_prefix: string; + /** + * @description A template for the target URL that is generated if a key was found. + * @example https://example.com/TICKET?query= + */ + url_template: string; + /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters. */ + is_alphanumeric?: boolean; + }; + /** + * Protected Branch Required Status Check + * @description Protected Branch Required Status Check + */ + "protected-branch-required-status-check": { + url?: string; + enforcement_level?: string; + contexts: string[]; + checks: { + context: string; + app_id: number | null; + }[]; + contexts_url?: string; + strict?: boolean; + }; + /** + * Protected Branch Admin Enforced + * @description Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins + */ + url: string; + /** @example true */ + enabled: boolean; + }; + /** + * Protected Branch Pull Request Review + * @description Protected Branch Pull Request Review + */ + "protected-branch-pull-request-review": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions + */ + url?: string; + dismissal_restrictions?: { + /** @description The list of users with review dismissal access. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams with review dismissal access. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps with review dismissal access. */ + apps?: components["schemas"]["integration"][]; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" */ + url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" */ + users_url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" */ + teams_url?: string; + }; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of users allowed to bypass pull request requirements. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams allowed to bypass pull request requirements. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps allowed to bypass pull request requirements. */ + apps?: components["schemas"]["integration"][]; + }; + /** @example true */ + dismiss_stale_reviews: boolean; + /** @example true */ + require_code_owner_reviews: boolean; + /** @example 2 */ + required_approving_review_count?: number; + }; + /** + * Branch Restriction Policy + * @description Branch Restriction Policy + */ + "branch-restriction-policy": { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + apps_url: string; + users: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + /** @example "" */ + gravatar_id?: string; + /** @example "https://github.com/testorg-ea8ec76d71c3af4b" */ + html_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers" */ + followers_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}" */ + following_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}" */ + gists_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}" */ + starred_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions" */ + subscriptions_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs" */ + organizations_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events" */ + received_events_url?: string; + /** @example "Organization" */ + type?: string; + /** @example false */ + site_admin?: boolean; + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; + /** + * Branch Protection + * @description Branch Protection + */ + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + block_creations?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + /** @example "branch/with/protection" */ + name?: string; + /** @example "https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection" */ + protection_url?: string; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + }; + /** + * Short Branch + * @description Short Branch + */ + "short-branch": { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url?: string; + }; + /** + * Git User + * @description Metaproperties for Git author/committer information. + */ + "nullable-git-user": { + /** @example "Chris Wanstrath" */ + name?: string; + /** @example "chris@ozmm.org" */ + email?: string; + /** @example "2007-10-29T02:42:39.000-07:00" */ + date?: string; + } | null; + /** Verification */ + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + }; + /** + * Diff Entry + * @description Diff Entry + */ + "diff-entry": { + /** @example bbcd538c8e72b8c175046e27cc8f907076331401 */ + sha: string; + /** @example file1.txt */ + filename: string; + /** + * @example added + * @enum {string} + */ + status: + | "added" + | "removed" + | "modified" + | "renamed" + | "copied" + | "changed" + | "unchanged"; + /** @example 103 */ + additions: number; + /** @example 21 */ + deletions: number; + /** @example 124 */ + changes: number; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + */ + blob_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + */ + raw_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + contents_url: string; + /** @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test */ + patch?: string; + /** @example file.txt */ + previous_filename?: string; + }; + /** + * Commit + * @description Commit + */ + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + sha: string; + /** @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments + */ + comments_url: string; + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + author: components["schemas"]["nullable-git-user"]; + committer: components["schemas"]["nullable-git-user"]; + /** @example Fix all the bugs */ + message: string; + /** @example 0 */ + comment_count: number; + tree: { + /** @example 827efc6d56897b048c772eb4087f854f46256132 */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 + */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-simple-user"]; + parents: { + /** @example 7638417db6d59f3c431d3e1f261cc637155684cd */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd + */ + html_url?: string; + }[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Branch With Protection + * @description Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; + /** Format: uri */ + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url: string; + /** @example "mas*" */ + pattern?: string; + /** @example 1 */ + required_approving_review_count?: number; + }; + /** + * Status Check Policy + * @description Status Check Policy + */ + "status-check-policy": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks + */ + url: string; + /** @example true */ + strict: boolean; + /** + * @example [ + * "continuous-integration/travis-ci" + * ] + */ + contexts: string[]; + checks: { + /** @example continuous-integration/travis-ci */ + context: string; + app_id: number | null; + }[]; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts + */ + contexts_url: string; + }; + /** + * Protected Branch + * @description Branch protections protect branches + */ + "protected-branch": { + /** Format: uri */ + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + /** Format: uri */ + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + dismissal_restrictions?: { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + bypass_pull_request_allowances?: { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + }; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + enforce_admins?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + block_creations?: { + enabled: boolean; + }; + }; + /** + * Deployment + * @description A deployment created as the result of an Actions check run from a workflow that references an environment + */ + "deployment-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + /** @example staging */ + original_environment?: string; + /** + * @description Name for the target deployment environment. + * @example production + */ + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses + */ + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run": { + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** @example 42 */ + external_id: string | null; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** @example https://example.com */ + details_url: string | null; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + /** Format: uri */ + annotations_url: string; + }; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + check_suite: { + id: number; + } | null; + app: components["schemas"]["nullable-integration"]; + pull_requests: components["schemas"]["pull-request-minimal"][]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** + * Check Annotation + * @description Check Annotation + */ + "check-annotation": { + /** @example README.md */ + path: string; + /** @example 2 */ + start_line: number; + /** @example 2 */ + end_line: number; + /** @example 5 */ + start_column: number | null; + /** @example 10 */ + end_column: number | null; + /** @example warning */ + annotation_level: string | null; + /** @example Spell Checker */ + title: string | null; + /** @example Check your spelling for 'banaas'. */ + message: string | null; + /** @example Do you mean 'bananas' or 'banana'? */ + raw_details: string | null; + blob_href: string; + }; + /** + * Simple Commit + * @description Simple Commit + */ + "simple-commit": { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @example master */ + head_branch: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** + * @example completed + * @enum {string|null} + */ + status: ("queued" | "in_progress" | "completed") | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url: string | null; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before: string | null; + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: components["schemas"]["nullable-integration"]; + repository: components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + rerequestable?: boolean; + runs_rerequestable?: boolean; + }; + /** + * Check Suite Preference + * @description Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: { + app_id: number; + setting: boolean; + }[]; + }; + repository: components["schemas"]["minimal-repository"]; + }; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + /** + * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** + * @description An identifier for the upload. + * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 + */ + "code-scanning-analysis-sarif-id": string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-analysis-created-at": string; + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ + "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + /** @example error reading field xyz */ + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** + * @description Warning generated when processing the analysis + * @example 123 results were ignored + */ + warning: string; + }; + /** + * Analysis deletion + * @description Successful deletion of a code scanning analysis + */ + "code-scanning-analysis-deletion": { + /** + * Format: uri + * @description Next deletable analysis in chain, without last analysis deletion confirmation + */ + next_analysis_url: string | null; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + confirm_delete_url: string | null; + }; + /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** + * Format: uri + * @description The REST API URL for checking the status of the upload. + */ + url?: string; + }; + "code-scanning-sarifs-status": { + /** + * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. + * @enum {string} + */ + processing_status?: "pending" | "complete" | "failed"; + /** + * Format: uri + * @description The REST API URL for getting the analyses associated with the upload. + */ + analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + errors?: string[] | null; + }; + /** + * CODEOWNERS errors + * @description A list of errors found in a repo's CODEOWNERS file + */ + "codeowners-errors": { + errors: { + /** + * @description The line number where this errors occurs. + * @example 7 + */ + line: number; + /** + * @description The column number where this errors occurs. + * @example 3 + */ + column: number; + /** + * @description The contents of the line where the error occurs. + * @example * user + */ + source?: string; + /** + * @description The type of error. + * @example Invalid owner + */ + kind: string; + /** + * @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. + * @example The pattern `/` will never match anything, did you mean `*` instead? + */ + suggestion?: string | null; + /** + * @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + * @example Invalid owner on line 7: + * + * * user + * ^ + */ + message: string; + /** + * @description The path of the file where the error occured. + * @example .github/CODEOWNERS + */ + path: string; + }[]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 8 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 8589934592 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: ("none" | "ready" | "in_progress") | null; + }; + /** + * Codespaces Secret + * @description Set repository secrets for GitHub Codespaces. + */ + "repo-codespaces-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** + * @description Unique identifier of the repository invitation. + * @example 42 + */ + id: number; + repository: components["schemas"]["minimal-repository"]; + invitee: components["schemas"]["nullable-simple-user"]; + inviter: components["schemas"]["nullable-simple-user"]; + /** + * @description The permission associated with the invitation. + * @example read + * @enum {string} + */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + /** + * Format: date-time + * @example 2016-06-13T14:52:50-05:00 + */ + created_at: string; + /** @description Whether or not the invitation has expired */ + expired?: boolean; + /** + * @description URL for the repository invitation + * @example https://api.github.com/user/repository-invitations/1 + */ + url: string; + /** @example https://github.com/octocat/Hello-World/invitations */ + html_url: string; + node_id: string; + }; + /** + * Collaborator + * @description Collaborator + */ + "nullable-collaborator": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + } | null; + /** + * Repository Collaborator Permission + * @description Repository Collaborator Permission + */ + "repository-collaborator-permission": { + permission: string; + /** @example admin */ + role_name: string; + user: components["schemas"]["nullable-collaborator"]; + }; + /** + * Commit Comment + * @description Commit Comment + */ + "commit-comment": { + /** Format: uri */ + html_url: string; + /** Format: uri */ + url: string; + id: number; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Branch Short + * @description Branch Short + */ + "branch-short": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + }; + /** + * Link + * @description Hypermedia Link + */ + link: { + href: string; + }; + /** + * Auto merge + * @description The status of auto merging a pull request. + */ + "auto-merge": { + enabled_by: components["schemas"]["simple-user"]; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + } | null; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** @example 1347 */ + number: number; + /** @example open */ + state: string; + /** @example true */ + locked: boolean; + /** @example new-feature */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + }; + /** Simple Commit Status */ + "simple-commit-status": { + description: string | null; + id: number; + node_id: string; + state: string; + context: string; + /** Format: uri */ + target_url: string; + required?: boolean | null; + /** Format: uri */ + avatar_url: string | null; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Combined Commit Status + * @description Combined Commit Status + */ + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; + /** Format: uri */ + commit_url: string; + /** Format: uri */ + url: string; + }; + /** + * Status + * @description The status of a commit. + */ + status: { + url: string; + avatar_url: string | null; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "nullable-code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + } | null; + /** Community Health File */ + "nullable-community-health-file": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + } | null; + /** + * Community Profile + * @description Community Profile + */ + "community-profile": { + /** @example 100 */ + health_percentage: number; + /** @example My first repository on GitHub! */ + description: string | null; + /** @example example.com */ + documentation: string | null; + files: { + code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; + code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; + license: components["schemas"]["nullable-license-simple"]; + contributing: components["schemas"]["nullable-community-health-file"]; + readme: components["schemas"]["nullable-community-health-file"]; + issue_template: components["schemas"]["nullable-community-health-file"]; + pull_request_template: components["schemas"]["nullable-community-health-file"]; + }; + /** + * Format: date-time + * @example 2017-02-28T19:09:29Z + */ + updated_at: string | null; + /** @example true */ + content_reports_enabled?: boolean; + }; + /** + * Commit Comparison + * @description Commit Comparison + */ + "commit-comparison": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17 + */ + permalink_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.patch + */ + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; + /** + * @example ahead + * @enum {string} + */ + status: "diverged" | "ahead" | "behind" | "identical"; + /** @example 4 */ + ahead_by: number; + /** @example 5 */ + behind_by: number; + /** @example 6 */ + total_commits: number; + commits: components["schemas"]["commit"][]; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Content Tree + * @description Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + } & { + content: unknown; + encoding: unknown; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + /** + * Content File + * @description Content File + */ + "content-file": { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + /** @example "actual/actual.md" */ + target?: string; + /** @example "git://example.com/defunkt/dotjs.git" */ + submodule_git_url?: string; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-symlink": { + type: string; + target: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-submodule": { + type: string; + /** Format: uri */ + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * File Commit + * @description File Commit + */ + "file-commit": { + content: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + } | null; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; + name?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { + url?: string; + sha?: string; + }; + parents?: { + url?: string; + html_url?: string; + sha?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + }; + }; + /** + * Contributor + * @description Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; + /** Format: uri */ + avatar_url?: string; + gravatar_id?: string | null; + /** Format: uri */ + url?: string; + /** Format: uri */ + html_url?: string; + /** Format: uri */ + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + repos_url?: string; + events_url?: string; + /** Format: uri */ + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** + * Dependabot Secret + * @description Set secrets for Dependabot. + */ + "dependabot-secret": { + /** + * @description The name of the secret. + * @example MY_ARTIFACTORY_PASSWORD + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ + "dependency-graph-diff": { + /** @enum {string} */ + change_type: "added" | "removed"; + /** @example path/to/package-lock.json */ + manifest: string; + /** @example npm */ + ecosystem: string; + /** @example @actions/core */ + name: string; + /** @example 1.0.0 */ + version: string; + /** @example pkg:/npm/%40actions/core@1.1.0 */ + package_url: string | null; + /** @example MIT */ + license: string | null; + /** @example https://github.com/github/actions */ + source_repository_url: string | null; + vulnerabilities: { + /** @example critical */ + severity: string; + /** @example GHSA-rf4j-j272-fj86 */ + advisory_ghsa_id: string; + /** @example A summary of the advisory. */ + advisory_summary: string; + /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ + advisory_url: string; + }[]; + }[]; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: Partial & Partial & Partial; + }; + /** + * Dependency + * @description A single package dependency. + */ + dependency: { + /** + * @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. + * @example pkg:/npm/%40actions/http-client@1.0.11 + */ + package_url?: string; + metadata?: components["schemas"]["metadata"]; + /** + * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @example direct + * @enum {string} + */ + relationship?: "direct" | "indirect"; + /** + * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @example runtime + * @enum {string} + */ + scope?: "runtime" | "development"; + /** + * @description Array of package-url (PURLs) of direct child dependencies. + * @example @actions/http-client + */ + dependencies?: string[]; + }; + /** + * manifest + * @description A collection of related dependencies declared in a file or representing a logical group of dependencies. + */ + manifest: { + /** + * @description The name of the manifest. + * @example package-lock.json + */ + name: string; + file?: { + /** + * @description The path of the manifest file relative to the root of the Git repository. + * @example /src/build/package-lock.json + */ + source_location?: string; + }; + metadata?: components["schemas"]["metadata"]; + resolved?: { [key: string]: components["schemas"]["dependency"] }; + }; + /** + * snapshot + * @description Create a new snapshot of a repository's dependencies. + */ + snapshot: { + /** @description The version of the repository snapshot submission. */ + version: number; + job: { + /** + * @description The external ID of the job. + * @example 5622a2b0-63f6-4732-8c34-a1ab27e102a11 + */ + id: string; + /** + * @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. + * @example yourworkflowname_yourjobname + */ + correlator: string; + /** + * @description The url for the job. + * @example http://example.com/build + */ + html_url?: string; + }; + /** + * @description The commit SHA associated with this dependency snapshot. + * @example ddc951f4b1293222421f2c8df679786153acf689 + */ + sha: string; + /** + * @description The repository branch that triggered this snapshot. + * @example refs/heads/main + */ + ref: string; + /** @description A description of the detector used. */ + detector: { + /** + * @description The name of the detector used. + * @example docker buildtime detector + */ + name: string; + /** + * @description The version of the detector used. + * @example 1.0.0 + */ + version: string; + /** + * @description The url of the detector used. + * @example http://example.com/docker-buildtimer-detector + */ + url: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of package manifests */ + manifests?: { [key: string]: components["schemas"]["manifest"] }; + /** + * Format: date-time + * @description The time at which the snapshot was scanned. + * @example 2020-06-13T14:52:50-05:00 + */ + scanned: string; + }; + /** + * Deployment Status + * @description The status of a deployment. + */ + "deployment-status": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDE2OkRlcGxveW1lbnRTdGF0dXMx */ + node_id: string; + /** + * @description The state of the status. + * @example success + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "pending" + | "success" + | "queued" + | "in_progress"; + creator: components["schemas"]["nullable-simple-user"]; + /** + * @description A short description of the status. + * @default + * @example Deployment finished successfully. + */ + description: string; + /** + * @description The environment of the deployment that the status is for. + * @default + * @example production + */ + environment?: string; + /** + * Format: uri + * @description Deprecated: the URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output + */ + target_url: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/42 + */ + deployment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * Format: uri + * @description The URL for accessing your environment. + * @default + * @example https://staging.example.com/ + */ + environment_url?: string; + /** + * Format: uri + * @description The URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output + */ + log_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). + * @example 30 + */ + "wait-timer": number; + /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + "deployment-branch-policy": { + /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + } | null; + /** + * Environment + * @description Details of a deployment environment + */ + environment: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id: string; + /** + * @description The name of the environment. + * @example staging + */ + name: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at: string; + protection_rules?: (Partial<{ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example wait_timer */ + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + }> & + Partial<{ + /** @example 3755 */ + id: number; + /** @example MDQ6R2F0ZTM3NTU= */ + node_id: string; + /** @example required_reviewers */ + type: string; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: Partial & + Partial; + }[]; + }> & + Partial<{ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example branch_policy */ + type: string; + }>)[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy"]; + }; + /** + * Short Blob + * @description Short Blob + */ + "short-blob": { + url: string; + sha: string; + }; + /** + * Blob + * @description Blob + */ + blob: { + content: string; + encoding: string; + /** Format: uri */ + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** + * Git Commit + * @description Low-level Git commit operations within a repository + */ + "git-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Git Reference + * @description Git references within a repository + */ + "git-ref": { + ref: string; + node_id: string; + /** Format: uri */ + url: string; + object: { + type: string; + /** + * @description SHA for the reference + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + }; + /** + * Git Tag + * @description Metadata for a Git tag + */ + "git-tag": { + /** @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw== */ + node_id: string; + /** + * @description Name of the tag + * @example v0.0.1 + */ + tag: string; + /** @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + sha: string; + /** + * Format: uri + * @description URL for the tag + * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac + */ + url: string; + /** + * @description Message describing the purpose of the tag + * @example Initial public release + */ + message: string; + tagger: { + date: string; + email: string; + name: string; + }; + object: { + sha: string; + type: string; + /** Format: uri */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + /** + * Git Tree + * @description The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + /** Format: uri */ + url: string; + truncated: boolean; + /** + * @description Objects specifying a tree structure + * @example [ + * { + * "path": "file.rb", + * "mode": "100644", + * "type": "blob", + * "size": 30, + * "sha": "44b4fc6d56897b048c772eb4087f854f46256132", + * "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", + * "properties": { + * "path": { + * "type": "string" + * }, + * "mode": { + * "type": "string" + * }, + * "type": { + * "type": "string" + * }, + * "size": { + * "type": "integer" + * }, + * "sha": { + * "type": "string" + * }, + * "url": { + * "type": "string" + * } + * }, + * "required": [ + * "path", + * "mode", + * "type", + * "sha", + * "url", + * "size" + * ] + * } + * ] + */ + tree: { + /** @example test/file.rb */ + path?: string; + /** @example 040000 */ + mode?: string; + /** @example tree */ + type?: string; + /** @example 23f6827669e43831def8a7ad935069c8bd418261 */ + sha?: string; + /** @example 12 */ + size?: number; + /** @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261 */ + url?: string; + }[]; + }; + /** Hook Response */ + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** + * Webhook + * @description Webhooks for repositories. + */ + hook: { + type: string; + /** + * @description Unique identifier of the webhook. + * @example 42 + */ + id: number; + /** + * @description The name of a valid service, use 'web' for a webhook. + * @example web + */ + name: string; + /** + * @description Determines whether the hook is actually triggered on pushes. + * @example true + */ + active: boolean; + /** + * @description Determines what events the hook is triggered for. Default: ['push']. + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + config: { + /** @example "foo@bar.com" */ + email?: string; + /** @example "foo" */ + password?: string; + /** @example "roomer" */ + room?: string; + /** @example "foo" */ + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + /** @example "sha256" */ + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + /** @example "abc" */ + token?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test + */ + test_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries + */ + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; + }; + /** + * Import + * @description A repository import from an external source. + */ + import: { + vcs: string | null; + use_lfs?: boolean; + /** @description The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + /** @enum {string} */ + status: + | "auth" + | "error" + | "none" + | "detecting" + | "choose" + | "auth_failed" + | "importing" + | "mapping" + | "waiting_to_push" + | "pushing" + | "complete" + | "setup" + | "unknown" + | "detection_found_multiple" + | "detection_found_nothing" + | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + authors_url: string; + /** Format: uri */ + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + * @description Porter Author + */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + /** Format: uri */ + url: string; + /** Format: uri */ + import_url: string; + }; + /** + * Porter Large File + * @description Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + "nullable-issue": { + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + */ + state_reason?: string | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: ( + | string + | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + } | null; + /** + * Issue Event Label + * @description Issue Event Label + */ + "issue-event-label": { + name: string | null; + color: string | null; + }; + /** Issue Event Dismissed Review */ + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** + * Issue Event Milestone + * @description Issue Event Milestone + */ + "issue-event-milestone": { + title: string; + }; + /** + * Issue Event Project Card + * @description Issue Event Project Card + */ + "issue-event-project-card": { + /** Format: uri */ + url: string; + id: number; + /** Format: uri */ + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + * @description Issue Event Rename + */ + "issue-event-rename": { + from: string; + to: string; + }; + /** + * Issue Event + * @description Issue Event + */ + "issue-event": { + /** @example 1 */ + id: number; + /** @example MDEwOklzc3VlRXZlbnQx */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1 + */ + url: string; + actor: components["schemas"]["nullable-simple-user"]; + /** @example closed */ + event: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string | null; + /** @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_url: string | null; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + issue?: components["schemas"]["nullable-issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: components["schemas"]["nullable-simple-user"]; + assigner?: components["schemas"]["nullable-simple-user"]; + review_requester?: components["schemas"]["nullable-simple-user"]; + requested_reviewer?: components["schemas"]["nullable-simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author-association"]; + lock_reason?: string | null; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Labeled Issue Event + * @description Labeled Issue Event + */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Unlabeled Issue Event + * @description Unlabeled Issue Event + */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Assigned Issue Event + * @description Assigned Issue Event + */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Unassigned Issue Event + * @description Unassigned Issue Event + */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Milestoned Issue Event + * @description Milestoned Issue Event + */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Demilestoned Issue Event + * @description Demilestoned Issue Event + */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Renamed Issue Event + * @description Renamed Issue Event + */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + rename: { + from: string; + to: string; + }; + }; + /** + * Review Requested Issue Event + * @description Review Requested Issue Event + */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Request Removed Issue Event + * @description Review Request Removed Issue Event + */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Dismissed Issue Event + * @description Review Dismissed Issue Event + */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string; + }; + }; + /** + * Locked Issue Event + * @description Locked Issue Event + */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** @example "off-topic" */ + lock_reason: string | null; + }; + /** + * Added to Project Issue Event + * @description Added to Project Issue Event + */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Moved Column in Project Issue Event + * @description Moved Column in Project Issue Event + */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Removed from Project Issue Event + * @description Removed from Project Issue Event + */ + "removed-from-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Converted Note to Issue Issue Event + * @description Converted Note to Issue Issue Event + */ + "converted-note-to-issue-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Issue Event for Issue + * @description Issue Event for Issue + */ + "issue-event-for-issue": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** + * Format: int64 + * @example 208045946 + */ + id: number; + /** @example MDU6TGFiZWwyMDgwNDU5NDY= */ + node_id: string; + /** + * Format: uri + * @description URL for the label + * @example https://api.github.com/repositories/42/labels/bug + */ + url: string; + /** + * @description The name of the label. + * @example bug + */ + name: string; + /** @example Something isn't working */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** @example true */ + default: boolean; + }; + /** + * Timeline Comment Event + * @description Timeline Comment Event + */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Timeline Cross Referenced Event + * @description Timeline Cross Referenced Event + */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** + * Timeline Committed Event + * @description Timeline Committed Event + */ + "timeline-committed-event": { + event?: string; + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Timeline Reviewed Event + * @description Timeline Reviewed Event + */ + "timeline-reviewed-event": { + event: string; + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string | null; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Pull Request Review Comment + * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { + /** + * @description URL for the pull request review comment + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * @description The ID of the pull request review comment. + * @example 1 + */ + id: number; + /** + * @description The node ID of the pull request review comment. + * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw + */ + node_id: string; + /** + * @description The diff of the line that the comment refers to. + * @example @@ -16,33 +16,40 @@ public class Connection : IConnection... + */ + diff_hunk: string; + /** + * @description The relative path of the file to which the comment applies. + * @example config/database.yaml + */ + path: string; + /** + * @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. + * @example 1 + */ + position: number; + /** + * @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. + * @example 4 + */ + original_position: number; + /** + * @description The SHA of the commit to which the comment applies. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + commit_id: string; + /** + * @description The SHA of the original commit to which the comment applies. + * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 + */ + original_commit_id: string; + /** + * @description The comment ID to reply to. + * @example 8 + */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the comment. + * @example We should probably include a check for null values here. + */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + href: string; + }; + html: { + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + href: string; + }; + pull_request: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + href: string; + }; + }; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + reactions?: components["schemas"]["reaction-rollup"]; + /** @example "

comment body

" */ + body_html?: string; + /** @example "comment body" */ + body_text?: string; + }; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + state_reason?: string | null; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + /** + * Language + * @description Language + */ + language: { [key: string]: number }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; + /** @enum {string} */ + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** + * @example approved + * @enum {string} + */ + state: + | "new" + | "authorization_created" + | "authorization_pending" + | "authorized" + | "authorization_revoked" + | "issued" + | "uploaded" + | "approved" + | "errored" + | "bad_authz" + | "destroy_pending" + | "dns_changed"; + /** @example Certificate is approved */ + description: string; + /** + * @description Array of the domain set and its alternate name (if it is configured) + * @example [ + * "example.com", + * "www.example.com" + * ] + */ + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { + /** + * Format: uri + * @description The API address for accessing this Page resource. + * @example https://api.github.com/repos/github/hello-world/pages + */ + url: string; + /** + * @description The status of the most recent build of the Page. + * @example built + * @enum {string|null} + */ + status: ("built" | "building" | "errored") | null; + /** + * @description The Pages site's custom domain + * @example example.com + */ + cname: string | null; + /** + * @description The state if the domain is verified + * @example pending + * @enum {string|null} + */ + protected_domain_state?: ("pending" | "verified" | "unverified") | null; + /** + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. + */ + pending_domain_unverified_at?: string | null; + /** + * @description Whether the Page has a custom 404 page. + * @default false + * @example false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + * @example https://example.com + */ + html_url?: string; + /** + * @description The process in which the Page will be built. + * @example legacy + * @enum {string|null} + */ + build_type?: ("legacy" | "workflow") | null; + source?: components["schemas"]["pages-source-hash"]; + /** + * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. + * @example true + */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** + * @description Whether https is enabled on the domain + * @example true + */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** + * Format: uri + * @example https://api.github.com/repos/github/hello-world/pages/builds/latest + */ + url: string; + /** @example queued */ + status: string; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** + * @description Number uniquely identifying the pull request within its repository. + * @example 42 + */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** @example true */ + locked: boolean; + /** + * @description The title of the pull request. + * @example Amazing new feature + */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + /** Format: uri */ + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + is_template?: boolean; + } | null; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + is_template?: boolean; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: components["schemas"]["nullable-license-simple"]; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + }; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + merged: boolean; + /** @example true */ + mergeable: boolean | null; + /** @example true */ + rebaseable?: boolean | null; + /** @example clean */ + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + /** @example 10 */ + comments: number; + /** @example 0 */ + review_comments: number; + /** + * @description Indicates whether maintainers can modify the pull request. + * @example true + */ + maintainer_can_modify: boolean; + /** @example 3 */ + commits: number; + /** @example 100 */ + additions: number; + /** @example 3 */ + deletions: number; + /** @example 5 */ + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** @example 42 */ + pull_request_review_id: number | null; + /** @example 10 */ + id: number; + /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ + node_id: string; + /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ + diff_hunk: string; + /** @example file1.txt */ + path: string; + /** @example 1 */ + position: number | null; + /** @example 4 */ + original_position: number; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string; + /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ + original_commit_id: string; + /** @example 8 */ + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + /** @example Great stuff */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The original first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** + * @description The file name of the asset. + * @example Team Environment + */ + name: string; + label: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** + * @description The name of the tag. + * @example v1.0.0 + */ + tag_name: string; + /** + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master + */ + target_commitish: string; + name: string | null; + body?: string | null; + /** + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false + */ + draft: boolean; + /** + * @description Whether to identify the release as a prerelease or a full release. + * @example false + */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** + * @description The generated name of the release + * @example Release v1.0.0 is now available! + */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** + * @description The file path in the repository + * @example /example/secrets.txt + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type: "commit"; + details: components["schemas"]["secret-scanning-location-commit"]; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + /** + * @example [ + * 0, + * 3, + * 26, + * 20, + * 39, + * 1, + * 0 + * ] + */ + days: number[]; + /** @example 89 */ + total: number; + /** @example 1336280400 */ + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + /** @example 135 */ + total: number; + /** + * @example [ + * { + * "w": "1367712000", + * "a": 6898, + * "d": 77, + * "c": 10 + * } + * ] + */ + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * @description Determines if notifications should be received from this repository. + * @example true + */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + /** @example v0.1 */ + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/zipball/v0.1 + */ + zipball_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/tarball/v0.1 + */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + /** @example 2 */ + id?: number; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + /** @example 2011-01-26T19:01:12Z */ + updated_at?: string; + /** @example true */ + enabled?: boolean; + /** @example v1.* */ + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + /** @example 173 */ + count: number; + /** @example 128 */ + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + /** @example /github/hubot */ + path: string; + /** @example github/hubot: A customizable life embetterment robot. */ + title: string; + /** @example 3542 */ + count: number; + /** @example 2225 */ + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + /** @example Google */ + referrer: string; + /** @example 4 */ + count: number; + /** @example 3 */ + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + /** @example 14850 */ + count: number; + /** @example 3782 */ + uniques: number; + views: components["schemas"]["traffic"][]; + }; + "scim-group-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-group": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + "scim-user-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + primary?: boolean; + type?: string; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-user": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + /** + * SCIM /Users + * @description SCIM /Users provisioning endpoints + */ + "scim-user": { + /** @description SCIM schema used. */ + schemas: string[]; + /** + * @description Unique identifier of an external identity + * @example 1b78eada-9baa-11e6-9eb6-a431576d590e + */ + id: string; + /** + * @description The ID of the User. + * @example a7b0f98395 + */ + externalId: string | null; + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string | null; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string | null; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string | null; + familyName: string | null; + formatted?: string | null; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + value: string; + primary?: boolean; + }[]; + /** + * @description The active status of the User. + * @example true + */ + active: boolean; + meta: { + /** @example User */ + resourceType?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + lastModified?: string; + /** + * Format: uri + * @example https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d + */ + location?: string; + }; + /** @description The ID of the organization. */ + organization_id?: number; + /** + * @description Set of operations to be performed + * @example [ + * { + * "op": "replace", + * "value": { + * "active": false + * } + * } + * ] + */ + operations?: { + /** @enum {string} */ + op: "add" | "remove" | "replace"; + path?: string; + value?: string | { [key: string]: unknown } | unknown[]; + }[]; + /** @description associated groups */ + groups?: { + value?: string; + display?: string; + }[]; + }; + /** + * SCIM User List + * @description SCIM User List + */ + "scim-user-list": { + /** @description SCIM schema used. */ + schemas: string[]; + /** @example 3 */ + totalResults: number; + /** @example 10 */ + itemsPerPage: number; + /** @example 1 */ + startIndex: number; + Resources: components["schemas"]["scim-user"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + /** + * @example [ + * "73..77", + * "77..78" + * ] + */ + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + state_reason?: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + /** Format: uri */ + forks_url: string; + keys_url: string; + collaborators_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + hooks_url: string; + issue_events_url: string; + /** Format: uri */ + events_url: string; + assignees_url: string; + branches_url: string; + /** Format: uri */ + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + /** Format: uri */ + merges_url: string; + archive_url: string; + /** Format: uri */ + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + /** Format: uri */ + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + /** Format: uri */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + }; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** + * User Search Result Item + * @description User Search Result Item + */ + "user-search-result-item": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** + * Format: email + * @example octocat@github.com + */ + email: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description Secret created at + */ + created_at: string; + /** + * Format: date-time + * @description Secret last updated at + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description API URL at which the list of repositories this secret is vicible can be retrieved + * @example https://api.github.com/user/secrets/SECRET_NAME/repositories + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** + * @description State of the latest export + * @example succeeded | failed | in_progress + */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + * @example 2021-01-01T19:01:12Z + */ + completed_at?: string | null; + /** + * @description Name of the exported branch + * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q + */ + branch?: string | null; + /** + * @description Git commit SHA of the exported branch + * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 + */ + sha?: string | null; + /** + * @description Id for the export details + * @example latest + */ + id?: string; + /** + * @description Url for fetching export details + * @example https://api.github.com/user/codespaces/:name/exports/latest + */ + export_url?: string; + /** + * @description Web url for the exported branch + * @example https://github.com/octocat/hello-world/tree/:branch + */ + html_url?: string | null; + }; + /** + * Email + * @description Email + */ + email: { + /** + * Format: email + * @example octocat@github.com + */ + email: string; + /** @example true */ + primary: boolean; + /** @example true */ + verified: boolean; + /** @example public */ + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + /** @example 3 */ + id: number; + /** @example Octocat's GPG Key */ + name?: string | null; + primary_key_id: number | null; + /** @example 3262EFF25BA0D270 */ + key_id: string; + /** @example xsBNBFayYZ... */ + public_key: string; + /** + * @example [ + * { + * "email": "octocat@users.noreply.github.com", + * "verified": true + * } + * ] + */ + emails: { + email?: string; + verified?: boolean; + }[]; + /** + * @example [ + * { + * "id": 4, + * "primary_key_id": 3, + * "key_id": "4A595D4C72EE49C7", + * "public_key": "zsBNBFayYZ...", + * "emails": [], + * "subkeys": [], + * "can_sign": false, + * "can_encrypt_comms": true, + * "can_encrypt_storage": true, + * "can_certify": false, + * "created_at": "2016-03-24T11:31:04-06:00", + * "expires_at": null, + * "revoked": false + * } + * ] + */ + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: unknown[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + /** @example true */ + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + /** @example true */ + can_certify: boolean; + /** + * Format: date-time + * @example 2016-03-24T11:31:04-06:00 + */ + created_at: string; + /** Format: date-time */ + expires_at: string | null; + /** @example true */ + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { + /** Format: uri */ + url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + /** @example monthly */ + billing_cycle: string; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + next_billing_date: string | null; + unit_count: number | null; + /** @example true */ + on_free_trial: boolean; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + free_trial_ends_on: string | null; + /** + * Format: date-time + * @example 2017-11-02T01:12:12Z + */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + }; + }; + responses: { + /** Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Validation failed */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Validation failed */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** Accepted */ + accepted: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Not modified */ + not_modified: unknown; + /** Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response */ + actions_runner_labels: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** Response */ + actions_runner_labels_readonly: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response if the repository is archived or if github advanced security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Found */ + found: unknown; + /** A header with no content is returned. */ + no_content: unknown; + /** Resource not found */ + scim_not_found: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Forbidden */ + scim_forbidden: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Bad Request */ + scim_bad_request: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Too Many Requests */ + scim_too_many_requests: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Internal Error */ + scim_internal_error: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Conflict */ + scim_conflict: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + }; + parameters: { + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The unique identifier of the grant. */ + "grant-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The client ID of the OAuth app. */ + "oauth-client-id": string; + /** @description The unique identifier of the authorization. */ + "authorization-id": number; + /** @description The slug version of the enterprise name or the login of an organization. */ + "enterprise-or-org": string; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the organization. */ + "org-id": number; + /** @description Only return runner groups that are allowed to be used by this organization. */ + "visible-to-organization": string; + /** @description Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + "audit-log-phrase": string; + /** + * @description The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + "audit-log-include": "web" | "git" | "all"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "audit-log-after": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "audit-log-before": string; + /** + * @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + "audit-log-order": "desc" | "asc"; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** @description The unique identifier of the pull request thread. */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Only return runner groups that are allowed to be used by this repository. */ + "visible-to-repository": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The unique identifier of the group. */ + "group-id": number; + /** @description The unique identifier of the hook. */ + "hook-id": number; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + "package-visibility": "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key": string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort": + | "created_at" + | "last_accessed_at" + | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + "workflow-run-status": + | "completed" + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "in_progress" + | "queued" + | "requested" + | "waiting"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name": string; + /** @description Returns check runs with the specified `status`. */ + status: "queued" | "in_progress" | "completed"; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment */ + "environment-name": string; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per: "" | "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Used for pagination: the index of the first result to return. */ + "start-index": number; + /** @description Used for pagination: the number of results to return. */ + count: number; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + "scim-group-id": string; + /** @description The unique identifier of the SCIM user. */ + "scim-user-id": string; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query": number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + }; + headers: { + link?: string; + "content-type"?: string; + "x-common-marker-version"?: string; + "x-rate-limit-limit"?: number; + "x-rate-limit-remaining"?: number; + "x-rate-limit-reset"?: number; + location?: string; + }; +} + +export interface operations { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + "meta/root": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & + ({ + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + } & { [key: string]: unknown }); + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/list-webhook-deliveries": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/redeliver-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + "oauth-authorizations/list-grants": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["application-grant"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-grant": { + parameters: { + path: { + /** The unique identifier of the grant. */ + grant_id: components["parameters"]["grant-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["application-grant"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "oauth-authorizations/delete-grant": { + parameters: { + path: { + /** The unique identifier of the grant. */ + grant_id: components["parameters"]["grant-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "apps/delete-authorization": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + }; + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + "apps/check-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + }; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + "apps/delete-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + }; + /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/reset-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + }; + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/scope-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The OAuth access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ + access_token: string; + /** + * @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. + * @example octocat + */ + target?: string; + /** + * @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** + * @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/list-authorizations": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["authorization"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + "oauth-authorizations/create-authorization": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description The OAuth app client key for which to create the token. */ + client_id?: string; + /** @description The OAuth app client secret for which to create the token. */ + client_secret?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-or-create-authorization-for-app": { + parameters: { + path: { + /** The client ID of the OAuth app. */ + client_id: components["parameters"]["oauth-client-id"]; + }; + }; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + parameters: { + path: { + /** The client ID of the OAuth app. */ + client_id: components["parameters"]["oauth-client-id"]; + fingerprint: string; + }; + }; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** Response if returning a new token */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + }; + }; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/delete-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + "oauth-authorizations/update-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** @description A list of scopes to add to this authorization. */ + add_scopes?: string[]; + /** @description A list of scopes to remove from this authorization. */ + remove_scopes?: string[]; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all the emojis available to use on GitHub. */ + "emojis/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": { [key: string]: string }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. + * + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. + * + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + */ + "enterprise-admin/get-server-statistics": { + parameters: { + path: { + /** The slug version of the enterprise name or the login of an organization. */ + enterprise_or_org: components["parameters"]["enterprise-or-org"]; + }; + query: { + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + date_start?: string; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + date_end?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["server-statistics"]; + }; + }; + }; + }; + /** + * Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/set-actions-oidc-custom-issuer-policy-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-oidc-custom-issuer-policy-for-enterprise"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-enterprise-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs to enable for GitHub Actions. */ + selected_organization_ids: number[]; + }; + }; + }; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Success response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Success response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + }; + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only return runner groups that are allowed to be used by this organization. */ + visible_to_organization?: components["parameters"]["visible-to-organization"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-enterprise"][]; + }; + }; + }; + }; + }; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organization. + * @enum {string} + */ + visibility?: "selected" | "all"; + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + }; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name?: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organizations. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids: number[]; + }; + }; + }; + }; + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + }; + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-runner-applications-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + "enterprise-admin/create-registration-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "enterprise-admin/create-remove-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + "enterprise-admin/get-audit-log": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; + }; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + "code-scanning/list-alerts-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** The property by which to sort the results. */ + sort?: "created" | "updated"; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-actions-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + "billing/get-github-advanced-security-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Success */ + 200: { + content: { + "application/json": components["schemas"]["advanced-security-active-committers"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-packages-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-shared-storage-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + "activity/list-public-events": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + "gists/list": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names and content for the files that make up the gist + * @example { + * "hello.rb": { + * "content": "puts \"Hello, World!\"" + * } + * } + */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List the authenticated user's starred gists: */ + "gists/list-starred": { + parameters: { + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */ + "gists/update": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names of files to be updated + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { [key: string]: Partial<{ [key: string]: unknown }> }; + } | null; + }; + }; + }; + "gists/list-comments": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + }; + "gists/get-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + }; + "gists/list-commits": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + "gists/fork": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response if gist is starred */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** Not Found if gist is not starred */ + 404: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "gists/star": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + "gitignore/get-all-templates": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + /** @example selected */ + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/revoke-installation-access-token": { + parameters: {}; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list": { + parameters: { + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "licenses/get-all-commonly-used": { + parameters: { + query: { + featured?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "licenses/get": { + parameters: { + path: { + license: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: { + "Content-Length"?: string; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. Can be either `markdown` or `gfm`. + * @default markdown + * @example markdown + * @enum {string} + */ + mode?: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; + }; + }; + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + "markdown/render-raw": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + path: { + /** The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: unknown; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + path: { + /** The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + "meta/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List all notifications for the current user, sorted by most recently updated. */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-notifications-as-read": { + parameters: {}; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + }; + "activity/get-thread": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; + }; + }; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + "activity/delete-thread-subscription": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the octocat as ASCII art */ + "meta/get-octocat": { + parameters: { + query: { + /** The words to show in Octocat's speech bubble */ + s?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query: { + /** An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ + "orgs/list-custom-roles": { + parameters: { + path: { + organization_id: string; + }; + }; + responses: { + /** Response - list of custom role names */ + 200: { + content: { + "application/json": { + /** + * @description The number of custom roles in this organization + * @example 3 + */ + total_count?: number; + custom_roles?: components["schemas"]["organization-custom-repository-role"][]; + }; + }; + }; + }; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + "orgs/get": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + "orgs/update": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories?: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages?: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages?: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages?: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories?: boolean; + /** @example "http://github.blog" */ + blog?: string; + }; + }; + }; + }; + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; + }; + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + */ + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** A JSON serialized template for OIDC subject claim customization */ + 200: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + }; + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-allowed-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Success response */ + 204: never; + /** Conflict response when changing a setting is prevented by the owning enterprise */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only return runner groups that are allowed to be used by this repository. */ + visible_to_repository?: components["parameters"]["visible-to-repository"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-runner-applications-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + "actions/create-registration-token-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-org-secrets": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-public-key": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (Partial & Partial)[]; + }; + }; + }; + }; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/delete-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/set-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/add-selected-repo-to-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; + }; + }; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/remove-selected-repo-from-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** Response when repository was removed from the selected list */ + 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; + }; + }; + /** + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." + */ + "orgs/get-audit-log": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; + }; + }; + /** List the users blocked by an organization. */ + "orgs/list-blocked-users": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-blocked-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** If the user is blocked: */ + 204: never; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "orgs/block-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-alerts-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** The property by which to sort the results. */ + sort?: "created" | "updated"; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/list-in-organization": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + "orgs/list-saml-sso-authorizations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: number; + /** Limits the list of credentials authorizations for an organization to a specific login */ + login?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["credential-authorization"][]; + }; + }; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + "orgs/remove-saml-sso-authorization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + credential_id: number; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/list-org-secrets": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/get-org-public-key": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/get-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (Partial & Partial)[]; + }; + }; + }; + }; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/delete-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; + }; + }; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** Response when repository was removed from the selected list */ + 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; + }; + }; + "activity/list-public-org-events": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/external-idp-group-info-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the group. */ + group_id: components["parameters"]["group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["external-group"]; + }; + }; + }; + }; + /** + * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/list-external-idp-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: number; + /** Limits the list to groups containing the text in the group name */ + display_name?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["external-groups"]; + }; + }; + }; + }; + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + "orgs/list-failed-invitations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Here's how you can create a hook that posts payloads in JSON format: */ + "orgs/create-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + }; + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + "orgs/get-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + "orgs/update-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + /** @example "web" */ + name?: string; + }; + }; + }; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + "orgs/get-webhook-config-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + "orgs/update-webhook-config-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + "orgs/list-webhook-deliveries": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a delivery for a webhook configured in an organization. */ + "orgs/get-webhook-delivery": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Redeliver a delivery for a webhook configured in an organization. */ + "orgs/redeliver-webhook-delivery": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "orgs/ping-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + "orgs/list-app-installations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + "interactions/set-restrictions-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + "interactions/remove-restrictions-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ + "orgs/list-pending-invitations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "orgs/create-invitation": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + "orgs/cancel-invitation": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + "orgs/list-invitation-teams": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + "orgs/list-members": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + filter?: "2fa_disabled" | "all"; + /** Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + /** Response if requester is not an organization member */ + 302: never; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Check if a user is, publicly or privately, a member of the organization. */ + "orgs/check-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if requester is an organization member and user is a member */ + 204: never; + /** Response if requester is not an organization member */ + 302: never; + /** Not Found if requester is an organization member and user is not a member */ + 404: unknown; + }; + }; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + "orgs/remove-member": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-from-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/stop-in-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + "orgs/get-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; + }; + }; + }; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the most recent migrations. */ + "migrations/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + /** Initiates the generation of a migration archive. */ + "migrations/start-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: "repositories"[]; + }; + }; + }; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + }; + responses: { + /** + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Fetches the URL to a migration archive. */ + "migrations/download-archive-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** List all the repositories for this organization migration. */ + "migrations/list-repos-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List all users who are outside collaborators of an organization. */ + "orgs/list-outside-collaborators": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + filter?: "2fa_disabled" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + "orgs/convert-member-to-outside-collaborator": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** User is getting converted asynchronously */ + 202: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** User was converted */ + 204: never; + /** Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: unknown; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async?: boolean; + }; + }; + }; + }; + /** Removing a user from this list will remove them from all the organization's repositories. */ + "orgs/remove-outside-collaborator": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Unprocessable Entity if user is a member of the organization */ + 422: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-organization": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-organization": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-organization": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Members of an organization can choose to have their membership publicized or not. */ + "orgs/list-public-members": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-public-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if user is a public member */ + 204: never; + /** Not Found if user is not a public member */ + 404: unknown; + }; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists repositories for the specified organization. */ + "repos/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Specifies the types of repositories you want returned. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. However, the `internal` value is not yet supported when a GitHub App calls this API with an installation access token. */ + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + "repos/create-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see "[Creating an internal repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init?: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + }; + }; + }; + }; + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-github-actions-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the GitHub Advanced Security active committers for an organization per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository. + * + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + "billing/get-github-advanced-security-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Success */ + 200: { + content: { + "application/json": components["schemas"]["advanced-security-active-committers"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-github-packages-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-shared-storage-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + */ + "teams/list-idp-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + }; + /** Lists all teams in an organization that are visible to the authenticated user. */ + "teams/list": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + "teams/create": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + "teams/get-by-name": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + "teams/delete-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + "teams/update-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/list-discussions-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Pinned discussions only filter */ + pinned?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/create-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/get-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/delete-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/update-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/list-discussion-comments-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/create-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/get-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/delete-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/update-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response when the reaction type has already been added to this team discussion comment */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion-comment": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/list-for-team-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/create-for-team-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists a connection between a team and an external group. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/list-linked-external-idp-groups-to-team-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["external-groups"]; + }; + }; + }; + }; + /** + * Deletes a connection between a team and an external group. + * + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "teams/unlink-external-idp-group-from-team-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/link-external-idp-group-to-team-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["external-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description External Group Id + * @example 1 + */ + group_id: number; + }; + }; + }; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** if user has no team membership */ + 404: unknown; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + "teams/list-projects-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/check-permissions-for-project-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** Not Found if project is not managed by this team */ + 404: unknown; + }; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/add-or-update-project-permissions-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/remove-project-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + "teams/list-repos-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Alternative response with repository permissions */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: never; + /** Not Found if team does not have permission for the repository */ + 404: unknown; + }; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. In addition to the enumerated values, you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @default push + * @enum {string} + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; + }; + }; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/list-idp-groups-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/create-or-update-idp-group-connections-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ + groups?: { + /** @description ID of the IdP group. */ + group_id: string; + /** @description Name of the IdP group. */ + group_name: string; + /** @description Description of the IdP group. */ + group_description: string; + }[]; + }; + }; + }; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if child teams exist */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "projects/get-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "projects/update-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The project card's note + * @example Update all gems + */ + note?: string | null; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + }; + }; + }; + }; + "projects/move-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. + * @example bottom + */ + position: string; + /** + * @description The unique identifier of the column the card should be moved to + * @example 42 + */ + column_id?: number; + }; + }; + }; + }; + "projects/get-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + }; + "projects/list-cards": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + query: { + /** Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": + | { + /** + * @description The project card's note + * @example Update all gems + */ + note: string | null; + } + | { + /** + * @description The unique identifier of the content associated with the card + * @example 42 + */ + content_id: number; + /** + * @description The piece of content associated with the card + * @example PullRequest + */ + content_type: string; + }; + }; + }; + }; + "projects/move-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. + * @example last + */ + position: string; + }; + }; + }; + }; + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/get": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + "projects/delete": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Delete Success */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/update": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** Not Found if the authenticated user does not have access to the project */ + 404: unknown; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + }; + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + "projects/list-collaborators": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + query: { + /** Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + "projects/add-collaborator": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + }; + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + "projects/remove-collaborator": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + "projects/get-permission-for-user": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-columns": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + }; + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ + "repos/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + "repos/delete": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 307: components["responses"]["temporary_redirect"]; + /** If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + "repos/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`." + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** @description Specify which security and analysis features to enable or disable. For example, to enable GitHub Advanced Security, use this data in the body of the PATCH request: `{"security_and_analysis": {"advanced_security": {"status": "enabled"}}}`. If you have admin permissions for a private repository covered by an Advanced Security license, you can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. */ + security_and_analysis?: { + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch?: boolean; + /** + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + }; + }; + }; + }; + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-artifacts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + }; + responses: { + /** Response */ + 302: never; + 410: components["responses"]["gone"]; + }; + }; + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; + }; + /** + * Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-actions-cache-list": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/delete-actions-cache-by-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/delete-actions-cache-by-id": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-job-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + "actions/download-job-logs-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-job-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + }; + /** + * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Status response */ + 200: { + content: { + "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-github-actions-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + "actions/get-workflow-access-to-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + }; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + "actions/set-workflow-access-to-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + /** + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-allowed-actions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-allowed-actions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Success response */ + 204: never; + /** Conflict response when changing a setting is prevented by the owning organization or enterprise */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + }; + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/list-self-hosted-runners-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/list-runner-applications-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + "actions/create-registration-token-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/get-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + }; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + "actions/delete-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-reviews-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/approve-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-workflow-run-artifacts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + "actions/get-workflow-run-attempt": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-attempt-logs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/cancel-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-logs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-workflow-run-logs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-pending-deployments-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/review-pending-deployments-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + /** + * @description A comment to accompany the deployment review + * @example Ship it! + */ + comment: string; + }; + }; + }; + }; + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + }; + /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/re-run-workflow-failed-jobs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-run-usage": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-repo-secrets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-public-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-repo-workflows": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/disable-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + "actions/create-workflow-dispatch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { [key: string]: string }; + }; + }; + }; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + "actions/list-workflow-runs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + query: { + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-usage": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + "issues/list-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; + }; + }; + responses: { + /** If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: never; + /** Otherwise a `404` status code is returned. */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/list-autolinks": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + /** Users with admin access to the repository can create an autolink. */ + "repos/create-autolink": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The prefix appended by alphanumeric characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. */ + url_template: string; + }; + }; + }; + }; + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/get-autolink": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/delete-autolink": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/list-branches": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/set-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/delete-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-pull-request-review-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-pull-request-review-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-status-checks-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/update-status-check-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-all-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/set-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/add-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + "repos/delete-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-app-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-app-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-app-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-team-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-team-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-team-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-user-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-user-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + "repos/rename-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": ( + | ({ + /** @enum {undefined} */ + status: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown }) + | ({ + /** @enum {undefined} */ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown }) + ) & { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter. */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + "checks/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": (Partial< + { + /** @enum {undefined} */ + status?: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown } + > & + Partial< + { + /** @enum {undefined} */ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown } + >) & { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + }; + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + "checks/list-annotations": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + "checks/create-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response when the suite already exists */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + }; + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + "checks/set-suites-preferences": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/get-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + "code-scanning/list-alerts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The property by which to sort the results. . `number` is deprecated - we recommend that you use `created` instead. */ + sort?: "created" | "number" | "updated"; + /** Set to `open`, `closed, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ + state?: components["schemas"]["code-scanning-alert-state"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + "code-scanning/get-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + "code-scanning/update-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + }; + }; + }; + }; + /** + * Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-alert-instances": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + "code-scanning/list-recent-analyses": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + "code-scanning/get-analysis": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { [key: string]: unknown }; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + "code-scanning/delete-analysis": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + query: { + /** Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + "code-scanning/upload-sarif": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** Bad Request if the sarif field is invalid */ + 400: unknown; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** Payload Too Large if the sarif field is too large */ + 413: unknown; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @example file:///github/workspace/ + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + }; + }; + }; + }; + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + "code-scanning/get-sarif": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** Not Found if the sarif id does not match any upload */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + "repos/codeowners-errors": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** Resource not found */ + 404: unknown; + }; + }; + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + }; + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** IP for location auto-detection when proxying a request */ + client_ip?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + }; + responses: { + /** Response when a user is able to create codespaces from the repository. */ + 200: { + content: { + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/list-repo-secrets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/get-repo-public-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/get-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. + * + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "codespaces/create-or-update-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + "repos/list-collaborators": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + "repos/check-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if user is a collaborator */ + 204: never; + /** Not Found if user is not a collaborator */ + 404: unknown; + }; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response when a new invitation is created */ + 201: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** + * Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator + */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** In addition to the enumerated values, you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + * @enum {string} + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; + }; + }; + }; + "repos/remove-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + "repos/get-collaborator-permission-level": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user has admin permissions */ + 200: { + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + "repos/list-commit-comments-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/get-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + }; + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + "reactions/list-for-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + "reactions/create-for-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + "reactions/delete-for-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/list-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ + sha?: string; + /** Only commits containing this file path will be returned. */ + path?: string; + /** GitHub login or email address by which to filter by commit author. */ + author?: string; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + until?: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + "repos/list-branches-for-head-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + "repos/list-comments-for-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "repos/create-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + }; + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */ + "repos/list-pull-requests-associated-with-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + }; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/get-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/list-suites-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Filters check suites by GitHub App `id`. */ + app_id?: number; + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + "repos/get-combined-status-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + "repos/list-commit-statuses-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + "repos/get-community-profile-metrics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits-with-basehead": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The base branch and head branch to compare. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + "repos/get-content": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/vnd.github.v3.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a new file or replaces an existing file in a repository. */ + "repos/create-or-update-file-contents": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-05T13:13:22+05:00" */ + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-15T17:13:22+05:00" */ + date?: string; + }; + }; + }; + }; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + "repos/delete-file": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being replaced. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + "repos/list-contributors": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if repository contains content */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** Response if repository is empty */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/list-repo-secrets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/get-repo-public-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/get-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + "dependency-graph/diff-range": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + query: { + /** The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ + "dependency-graph/create-repository-snapshot": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + }; + /** Simple filtering of deployments is available via query parameters: */ + "repos/list-deployments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The SHA recorded at creation time. */ + sha?: string; + /** The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + "repos/create-deployment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Conflict when there is a merge conflict or the commit's status checks failed */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task?: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge?: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: { [key: string]: unknown } | string; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment?: string; + /** + * @description Short description of the deployment. + * @default + */ + description?: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + }; + "repos/get-deployment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + "repos/delete-deployment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Users with pull access can view deployment statuses for a deployment: */ + "repos/list-deployment-statuses": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + "repos/create-deployment-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url?: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url?: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description?: string; + /** + * @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. + * @enum {string} + */ + environment?: "production" | "staging" | "qa"; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url?: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + }; + /** Users with pull access can view a deployment status for a deployment: */ + "repos/get-deployment-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + "repos/create-dispatch-event": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. */ + client_payload?: { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "repos/get-all-environments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "repos/get-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + "repos/create-or-update-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: + | { + type?: components["schemas"]["deployment-reviewer-type"]; + /** + * @description The id of the user or team who can review the deployment + * @example 4532992 + */ + id?: number; + }[] + | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy"]; + } | null; + }; + }; + }; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + "repos/delete-an-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Default response */ + 204: never; + }; + }; + "activity/list-repo-events": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "repos/list-forks": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + "repos/create-fork": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + } | null; + }; + }; + }; + "git/create-blob": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + }; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + file_sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + "git/list-matching-refs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + }; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + "git/get-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + "git/create-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + /** @example "refs/heads/newbranch" */ + key?: string; + }; + }; + }; + }; + "git/delete-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/update-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force?: boolean; + }; + }; + }; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-tag": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-tag": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + "git/create-tree": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** + * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; + }; + }; + }; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + "git/get-tree": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tree_sha: string; + }; + query: { + /** Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + "repos/create-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "abc" */ + token?: string; + /** @example "sha256" */ + digest?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + } | null; + }; + }; + }; + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + "repos/get-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + "repos/update-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "bar@example.com" */ + address?: string; + /** @example "The Serious Room" */ + room?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + "repos/update-webhook-config-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + "repos/list-webhook-deliveries": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a delivery for a webhook configured in a repository. */ + "repos/get-webhook-delivery": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + "repos/redeliver-webhook-delivery": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "repos/ping-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + "migrations/get-import-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Start a source import to a GitHub repository using GitHub Importer. */ + "migrations/start-import": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + }; + /** Stop an import for a repository. */ + "migrations/cancel-import": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + */ + "migrations/update-import": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @example "git" + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** + * @description For a tfvc import, the name of the project that is being imported. + * @example "project1" + */ + tfvc_project?: string; + } | null; + }; + }; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + "migrations/get-commit-authors": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + "migrations/map-commit-author": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + author_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + }; + /** List files larger than 100MB found during the import */ + "migrations/get-large-files": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + }; + }; + /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). */ + "migrations/set-lfs-preference": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** Response */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Response */ + 409: unknown; + }; + }; + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + "repos/list-invitations": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + "repos/delete-invitation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/update-invitation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + }; + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** The user that created the issue. */ + creator?: string; + /** A user that's mentioned in the issue. */ + mentioned?: string; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "issues/create": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: string | null; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** By default, Issue Comments are ordered by ascending ID. */ + "issues/list-comments-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/update-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + }; + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + "reactions/list-for-issue-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + "reactions/create-for-issue-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + "reactions/delete-for-issue-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-events-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + event_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Issue owners and users with push access can edit an issue. */ + "issues/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: (string | number) | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Login for the user that this issue should be assigned to. **This field is deprecated.** */ + assignee?: string | null; + /** + * @description State of the issue. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** @description Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + "issues/add-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Removes one or more assignees from an issue. */ + "issues/remove-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees: string[]; + }; + }; + }; + }; + /** Issue Comments are ordered by ascending ID. */ + "issues/list-comments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "issues/create-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + }; + "issues/list-events": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + /** Removes any previous labels and sets the new labels for an issue. */ + "issues/set-labels": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/reference/issues#add-labels-to-an-issue)." */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; + }; + }; + "issues/add-labels": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/reference/issues#set-labels-for-an-issue)." */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; + }; + }; + "issues/remove-all-labels": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 410: components["responses"]["gone"]; + }; + }; + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + "issues/remove-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "issues/lock": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; + }; + }; + /** Users with push access can unlock an issue's conversation. */ + "issues/unlock": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + "reactions/list-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + "reactions/create-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + /** You can create a read-only deploy key. */ + "repos/create-deploy-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** + * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + }; + }; + }; + }; + "repos/get-deploy-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + "repos/delete-deploy-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + }; + "issues/get-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/update-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + }; + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + "repos/list-languages": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + "repos/enable-lfs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + /** + * We will return a 403 with one of the following messages: + * + * - Git LFS support not enabled because Git LFS is globally disabled. + * - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. + * - Git LFS support not enabled because Git LFS is disabled for . + */ + 403: unknown; + }; + }; + "repos/disable-lfs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + "licenses/get-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + }; + }; + /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ + "repos/merge-upstream": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** The branch has been successfully synced with the upstream repository */ + 200: { + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** The branch could not be synced because of a merge conflict */ + 409: unknown; + /** The branch could not be synced for some other reason */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + }; + "repos/merge": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Successful Response (The resulting merge commit) */ + 201: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** Response when already merged */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found when the base or head does not exist */ + 404: unknown; + /** Conflict when there is a merge conflict */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + }; + "issues/list-milestones": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + }; + "issues/get-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + /** List all notifications for the current user. */ + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-repo-notifications-as-read": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; + }; + }; + "repos/get-pages": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + "repos/update-information-about-pages-site": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** @description Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ + public?: boolean; + source?: Partial<"gh-pages" | "master" | "master /docs"> & + Partial<{ + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }>; + }; + }; + }; + }; + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + "repos/create-pages-site": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path?: "/" | "/docs"; + }; + } | null; + }; + }; + }; + "repos/delete-pages-site": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + "repos/get-latest-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + "repos/get-pages-health-check": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** Empty response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Custom domains are not available for GitHub Pages */ + 400: unknown; + 404: components["responses"]["not_found"]; + /** There isn't a CNAME for this page */ + 422: unknown; + }; + }; + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "pulls/list": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "pulls/create": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** @example 1 */ + issue?: number; + }; + }; + }; + }; + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + sort?: "created" | "updated" | "created_at"; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** Provides details for a review comment. */ + "pulls/get-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes a review comment. */ + "pulls/delete-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Enables you to edit a review comment. */ + "pulls/update-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + }; + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + "reactions/list-for-pull-request-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + "reactions/create-for-pull-request-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + "reactions/delete-for-pull-request-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + "pulls/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + "pulls/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; + }; + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + }; + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id?: string; + /** @description The relative path to the file that necessitates a comment. */ + path?: string; + /** + * @deprecated + * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** + * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. + * @example 2 + */ + in_reply_to?: number; + }; + }; + }; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-reply-for-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + }; + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + "pulls/list-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + "pulls/list-files": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response if pull request has been merged */ + 204: never; + /** Not Found if pull request has not been merged */ + 404: unknown; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/merge": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** if merge was successful */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** Conflict if sha was provided and pull request head did not match */ + 409: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + }; + /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ + "pulls/list-requested-reviewers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/request-reviewers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Unprocessable Entity if user is not a collaborator */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + }; + }; + }; + }; + "pulls/remove-requested-reviewers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + }; + /** The list of reviews returns in chronological order. */ + "pulls/list-reviews": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** The list of reviews returns in chronological order. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + "pulls/create-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + /** @example 28 */ + line?: number; + /** @example RIGHT */ + side?: string; + /** @example 26 */ + start_line?: number; + /** @example LEFT */ + start_side?: string; + }[]; + }; + }; + }; + }; + "pulls/get-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update the review summary comment with new text. */ + "pulls/update-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + }; + "pulls/delete-pending-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** List comments for a specific pull request review. */ + "pulls/list-comments-for-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + "pulls/dismiss-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** @example "APPROVE" */ + event?: string; + }; + }; + }; + }; + "pulls/submit-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + }; + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + "pulls/update-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme-in-directory": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The alternate path to look for a README file */ + dir: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + "repos/list-releases": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "repos/create-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft?: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes?: boolean; + }; + }; + }; + }; + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + "repos/get-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release asset. */ + "repos/update-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + /** @example "uploaded" */ + state?: string; + }; + }; + }; + }; + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + "repos/generate-release-notes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Name and body of generated release notes */ + 200: { + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + /** Get a published release with the specified tag. */ + "repos/get-release-by-tag": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** tag parameter */ + tag: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + "repos/get-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Users with push access to the repository can delete a release. */ + "repos/delete-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release. */ + "repos/update-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + name: string; + label?: string; + }; + }; + responses: { + /** Response for successful upload */ + 201: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** Response if you upload an asset with the same filename as another uploaded asset */ + 422: unknown; + }; + requestBody: { + content: { + "*/*": string; + }; + }; + }; + /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + "reactions/list-for-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + "reactions/create-for-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). + */ + "reactions/delete-for-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** Repository is public or secret scanning is disabled for the repository */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/get-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + "secret-scanning/update-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + /** State does not match the resolution */ + 422: unknown; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + }; + }; + }; + }; + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-locations-for-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-stargazers-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": Partial & + Partial; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + "repos/get-code-frequency-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + "repos/get-commit-activity-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + "repos/get-contributors-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + 200: { + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + "repos/get-participation-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** The array order is oldest week (index 0) to most recent week. */ + 200: { + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "repos/get-punch-card-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + "repos/create-commit-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + sha: string; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** @description A short description of the status. */ + description?: string; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; + }; + }; + }; + /** Lists the people watching the specified repository. */ + "activity/list-watchers-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "activity/get-repo-subscription": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Not Found if you don't subscribe to the repository */ + 404: unknown; + }; + }; + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + "activity/set-repo-subscription": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + }; + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + "activity/delete-repo-subscription": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/list-tags": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + "repos/list-tag-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/create-tag-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + }; + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/delete-tag-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-tarball-archive": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + "repos/list-teams": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "repos/get-all-topics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: string[]; + }; + }; + }; + }; + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-clones": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the top 10 popular contents over the last 14 days. */ + "repos/get-top-paths": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the top 10 referrers over the last 14 days. */ + "repos/get-top-referrers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-views": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ + "repos/transfer": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + }; + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/check-vulnerability-alerts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response if repository is enabled with vulnerability alerts */ + 204: never; + /** Not Found if repository is not enabled with vulnerability alerts */ + 404: unknown; + }; + }; + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/enable-vulnerability-alerts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/disable-vulnerability-alerts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-zipball-archive": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + "repos/create-using-template": { + parameters: { + path: { + template_owner: string; + template_repo: string; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; + /** + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false + */ + include_all_branches?: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private?: boolean; + }; + }; + }; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query: { + /** A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-environment-secrets": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-public-key": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-secret": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-environment-secret": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + }; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-environment-secret": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Default response */ + 204: never; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/list-provisioned-groups-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + /** attributes to exclude */ + excludedAttributes?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-group-list-enterprise"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + "enterprise-admin/provision-and-invite-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + query: { + /** Attributes to exclude. */ + excludedAttributes?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-scim-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + "enterprise-admin/update-attribute-for-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { + /** @enum {string} */ + op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; + path?: string; + /** @description Can be any value - string, number, array or object. */ + value?: unknown; + }[]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + "enterprise-admin/list-provisioned-identities-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-user-list-enterprise"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + "enterprise-admin/provision-and-invite-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-user-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "enterprise-admin/update-attribute-for-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { [key: string]: unknown }[]; + }; + }; + }; + }; + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + "scim/list-provisioned-identities": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: number; + /** Used for pagination: the number of results to return. */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: + * + * `?filter=userName%20eq%20\"Octocat\"`. + * + * To filter results for the identity with the email `octocat@github.com`, you would use this query: + * + * `?filter=emails%20eq%20\"octocat@github.com\"`. + */ + filter?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user-list"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 429: components["responses"]["scim_too_many_requests"]; + }; + }; + /** Provision organization membership for a user, and send an activation email to the email address. */ + "scim/provision-and-invite-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 409: components["responses"]["scim_conflict"]; + 500: components["responses"]["scim_internal_error"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + value: string; + primary?: boolean; + type?: string; + }[]; + schemas?: string[]; + externalId?: string; + groups?: string[]; + active?: boolean; + }; + }; + }; + }; + "scim/get-provisioning-information-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "scim/set-information-for-provisioned-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + requestBody: { + content: { + "application/json": { + schemas?: string[]; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string; + externalId?: string; + groups?: string[]; + active?: boolean; + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + type?: string; + value: string; + primary?: boolean; + }[]; + }; + }; + }; + }; + "scim/delete-user-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "scim/update-attribute-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + /** Response */ + 429: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + schemas?: string[]; + /** + * @description Set of operations to be performed + * @example [ + * { + * "op": "replace", + * "value": { + * "active": false + * } + * } + * ] + */ + Operations: { + /** @enum {string} */ + op: "add" | "remove" | "replace"; + path?: string; + value?: + | { + active?: boolean | null; + userName?: string | null; + externalId?: string | null; + givenName?: string | null; + familyName?: string | null; + } + | { + value?: string; + primary?: boolean; + }[] + | string; + }[]; + }; + }; + }; + }; + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + "search/code": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "indexed"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + "search/commits": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + "search/issues-and-pull-requests": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { + parameters: { + query: { + /** The id of the repository. */ + repository_id: number; + /** The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + "search/repos": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + "search/topics": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + "search/users": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + "teams/get-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + "teams/update-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussions-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "teams/create-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussion-comments-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "teams/create-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + "reactions/create-for-team-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "teams/list-pending-invitations-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + "teams/list-members-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user is a member */ + 204: never; + /** if user is not a member */ + 404: unknown; + }; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found if team synchronization is set up */ + 404: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: unknown; + }; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Not Found if team synchronization is setup */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + 404: components["responses"]["not_found"]; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-membership-for-user-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + "teams/list-projects-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + "teams/check-permissions-for-project-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** Not Found if project is not managed by this team */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + "teams/add-or-update-project-permissions-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + "teams/remove-project-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + "teams/list-repos-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "teams/check-permissions-for-repo-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Alternative response with extra repository information */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** Response if repository is managed by this team */ + 204: never; + /** Not Found if repository is not managed by this team */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + "teams/remove-repo-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + "teams/list-idp-groups-for-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + "teams/create-or-update-idp-group-connections-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ + groups: { + /** @description ID of the IdP group. */ + group_id: string; + /** @description Name of the IdP group. */ + group_name: string; + /** @description Description of the IdP group. */ + group_description: string; + /** @example "caceab43fc9ffa20081c" */ + id?: string; + /** @example "external-team-6c13e7288ef7" */ + name?: string; + /** @example "moar cheese pleese" */ + description?: string; + }[]; + /** @example "I am not a timestamp" */ + synced_at?: string; + }; + }; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + "teams/list-child-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if child teams exist */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + "users/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + "users/update-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The new name of the user. + * @example Omar Jahandar + */ + name?: string; + /** + * @description The publicly visible email address of the user. + * @example omar@example.com + */ + email?: string; + /** + * @description The new blog URL of the user. + * @example blog.example.com + */ + blog?: string; + /** + * @description The new Twitter username of the user. + * @example therealomarj + */ + twitter_username?: string | null; + /** + * @description The new company of the user. + * @example Acme corporation + */ + company?: string; + /** + * @description The new location of the user. + * @example Berlin, Germany + */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; + }; + }; + }; + /** List the users you've blocked on your personal account. */ + "users/list-blocked-by-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/check-blocked": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** If the user is blocked: */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/block": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/unblock": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-for-authenticated-user": { + responses: { + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } + | { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }; + }; + }; + }; + /** + * Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/get-public-key-for-authenticated-user": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; + }; + /** + * Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/get-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response after successfully creaing a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response after successfully updating a secret */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/reference/codespaces#get-the-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; + }; + }; + /** + * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Select the repositories that will use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** No Content when repositories were added to the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + */ + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was removed from the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/get-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/delete-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/update-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; + }; + }; + }; + }; + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/export-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/start-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** Payment required */ + 402: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/stop-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** Sets the visibility for your primary email addresses. */ + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + }; + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + "users/list-emails-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** This endpoint is accessible with the `user` scope. */ + "users/add-email-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + * @example [] + */ + emails: string[]; + }; + }; + }; + }; + /** This endpoint is accessible with the `user` scope. */ + "users/delete-email-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + }; + }; + }; + }; + /** Lists the people following the authenticated user. */ + "users/list-followers-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Lists the people who the authenticated user follows. */ + "users/list-followed-by-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if the person is followed by the authenticated user */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** if the person is not followed by the authenticated user */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + "users/follow": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + "users/unfollow": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/create-gpg-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + }; + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/get-gpg-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + "apps/list-installations-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + "interactions/get-restrictions-for-authenticated-user": { + responses: { + /** Default response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + /** Response when there are no restrictions */ + 204: never; + }; + }; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + "interactions/set-restrictions-for-authenticated-user": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes any interaction restrictions from your public repositories. */ + "interactions/remove-restrictions-for-authenticated-user": { + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-authenticated-user": { + parameters: { + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/create-public-ssh-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + }; + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query: { + /** Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + }; + /** Lists all migrations a user has started. */ + "migrations/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Initiates the generation of a user migration archive. */ + "migrations/start-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @example true + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @example true + */ + exclude_git_data?: boolean; + /** + * @description Do not include attachments in the migration + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Do not include releases in the migration + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** + * @description Exclude attributes from the API response to improve performance + * @example [ + * "repositories" + * ] + */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + "migrations/get-status-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + exclude?: string[]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + "migrations/get-archive-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + "migrations/delete-archive-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all the repositories for this user migration. */ + "migrations/list-repos-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + "orgs/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + }; + }; + }; + }; + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + "users/list-public-emails-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + "repos/list-for-authenticated-user": { + parameters: { + query: { + /** Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + "repos/create-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues?: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects?: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + }; + }; + }; + }; + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + "repos/list-invitations-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response if this repository is starred by you */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Not Found if this repository is not starred by you */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "activity/star-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists repositories the authenticated user is watching. */ + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + "teams/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + "users/list": { + parameters: { + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + "users/get-by-username": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + "activity/list-events-for-authenticated-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + "activity/list-org-events-for-authenticated-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** Lists the people following the specified user. */ + "users/list-followers-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** Lists the people who the specified user follows. */ + "users/list-following-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/check-following-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + target_user: string; + }; + }; + responses: { + /** if the user follows the target user */ + 204: never; + /** if the user does not follow the target user */ + 404: unknown; + }; + }; + /** Lists public gists for the specified user: */ + "gists/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + "users/list-gpg-keys-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + "users/get-context-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-user-installation": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + "users/list-public-keys-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + "orgs/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-user": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + "activity/list-received-events-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + "repos/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-actions-billing-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-packages-billing-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-shared-storage-billing-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": Partial< + components["schemas"]["starred-repository"][] + > & + Partial; + }; + }; + }; + }; + /** Lists repositories a user is watching. */ + "activity/list-repos-watched-by-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** Get a random sentence from the Zen of GitHub */ + "meta/get-zen": { + responses: { + /** Response */ + 200: { + content: { + "text/plain": string; + }; + }; + }; + }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; +} + +export interface external {} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +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 (including the next paragraph) 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/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/README.md new file mode 100644 index 0000000..1e3c0ba --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/README.md @@ -0,0 +1,269 @@ +# plugin-paginate-rest.js + +> Octokit plugin to paginate REST API endpoint responses + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) +[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + paginateRest, + composePaginateRest, +} = require("@octokit/plugin-paginate-rest"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(paginateRest); +const octokit = new MyOctokit({ auth: "secret123" }); + +// See https://developer.github.com/v3/issues/#list-issues-for-a-repository +const issues = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +If you want to utilize the pagination methods in another plugin, use `composePaginateRest`. + +```js +function myPlugin(octokit, options) { + return { + allStars({owner, repo}) => { + return composePaginateRest( + octokit, + "GET /repos/{owner}/{repo}/stargazers", + {owner, repo } + ) + } + } +} +``` + +## `octokit.paginate()` + +The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. + +The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. + +An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. + +```js +const issueTitles = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response) => response.data.map((issue) => issue.title) +); +``` + +The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. + +```js +const issues = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response, done) => { + if (response.data.find((issue) => issue.title.includes("something"))) { + done(); + } + return response.data; + } +); +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const issues = await octokit.paginate(octokit.rest.issues.listForRepo, { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +## `octokit.paginate.iterator()` + +If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + "GET /repos/{owner}/{repo}/issues", + parameters +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + octokit.rest.issues.listForRepo, + parameters +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +## `composePaginateRest` and `composePaginateRest.iterator` + +The `compose*` methods work just like their `octokit.*` counterparts described above, with the differenct that both methods require an `octokit` instance to be passed as first argument + +## How it works + +`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. + +Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. For example: + +- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) +- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) +- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) +- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) +- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) + +`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. + +If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. + +## Types + +The plugin also exposes some types and runtime type guards for TypeScript projects. + + + + + + +
+Types + + +```typescript +import { + PaginateInterface, + PaginatingEndpoints, +} from "@octokit/plugin-paginate-rest"; +``` + +
+Guards + + +```typescript +import { isPaginatingEndpoint } from "@octokit/plugin-paginate-rest"; +``` + +
+ +### PaginateInterface + +An `interface` that declares all the overloads of the `.paginate` method. + +### PaginatingEndpoints + +An `interface` which describes all API endpoints supported by the plugin. Some overloads of `.paginate()` method and `composePaginateRest()` function depend on `PaginatingEndpoints`, using the `keyof PaginatingEndpoints` as a type for one of its arguments. + +```typescript +import { Octokit } from "@octokit/core"; +import { + PaginatingEndpoints, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +type DataType = "data" extends keyof T ? T["data"] : unknown; + +async function myPaginatePlugin( + octokit: Octokit, + endpoint: E, + parameters?: PaginatingEndpoints[E]["parameters"] +): Promise> { + return await composePaginateRest(octokit, endpoint, parameters); +} +``` + +### isPaginatingEndpoint + +A type guard, `isPaginatingEndpoint(arg)` returns `true` if `arg` is one of the keys in `PaginatingEndpoints` (is `keyof PaginatingEndpoints`). + +```typescript +import { Octokit } from "@octokit/core"; +import { + isPaginatingEndpoint, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +async function myPlugin(octokit: Octokit, arg: unknown) { + if (isPaginatingEndpoint(arg)) { + return await composePaginateRest(octokit, arg); + } + // ... +} +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js new file mode 100644 index 0000000..d5fc599 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -0,0 +1,205 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.21.3"; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = null != arguments[i] ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return _objectSpread2(_objectSpread2({}, response), {}, { + data: [] + }); + } + + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + + response.data.total_count = totalCount; + return response; +} + +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) return { + done: true + }; + + try { + const response = await requestMethod({ + method, + url, + headers + }); + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: normalizedResponse + }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} + +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + + let earlyExit = false; + + function done() { + earlyExit = true; + } + + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + + if (earlyExit) { + return results; + } + + return gather(octokit, results, iterator, mapFn); + }); +} + +const composePaginateRest = Object.assign(paginate, { + iterator +}); + +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/audit-log", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /enterprises/{enterprise}/settings/billing/advanced-security", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/audit-log", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/settings/billing/advanced-security", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; +exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map new file mode 100644 index 0000000..fb04fff --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/generated/paginating-endpoints.js","../dist-src/paginating-endpoints.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.21.3\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/audit-log\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/audit-log\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/external-groups\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/settings/billing/advanced-security\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":["VERSION","normalizePaginatedListResponse","response","data","responseNeedsNormalization","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","Object","keys","iterator","octokit","route","parameters","options","endpoint","request","requestMethod","method","headers","url","Symbol","asyncIterator","next","done","normalizedResponse","link","match","value","error","status","paginate","mapFn","undefined","gather","results","then","result","earlyExit","concat","composePaginateRest","assign","paginatingEndpoints","isPaginatingEndpoint","arg","includes","paginateRest","bind"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AAAO,SAASC,8BAAT,CAAwCC,QAAxC,EAAkD;;EAErD,IAAI,CAACA,QAAQ,CAACC,IAAd,EAAoB;IAChB,yCACOD,QADP;MAEIC,IAAI,EAAE;;;;EAGd,MAAMC,0BAA0B,GAAG,iBAAiBF,QAAQ,CAACC,IAA1B,IAAkC,EAAE,SAASD,QAAQ,CAACC,IAApB,CAArE;EACA,IAAI,CAACC,0BAAL,EACI,OAAOF,QAAP,CAViD;;;EAarD,MAAMG,iBAAiB,GAAGH,QAAQ,CAACC,IAAT,CAAcG,kBAAxC;EACA,MAAMC,mBAAmB,GAAGL,QAAQ,CAACC,IAAT,CAAcK,oBAA1C;EACA,MAAMC,UAAU,GAAGP,QAAQ,CAACC,IAAT,CAAcO,WAAjC;EACA,OAAOR,QAAQ,CAACC,IAAT,CAAcG,kBAArB;EACA,OAAOJ,QAAQ,CAACC,IAAT,CAAcK,oBAArB;EACA,OAAON,QAAQ,CAACC,IAAT,CAAcO,WAArB;EACA,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYX,QAAQ,CAACC,IAArB,EAA2B,CAA3B,CAArB;EACA,MAAMA,IAAI,GAAGD,QAAQ,CAACC,IAAT,CAAcQ,YAAd,CAAb;EACAT,QAAQ,CAACC,IAAT,GAAgBA,IAAhB;;EACA,IAAI,OAAOE,iBAAP,KAA6B,WAAjC,EAA8C;IAC1CH,QAAQ,CAACC,IAAT,CAAcG,kBAAd,GAAmCD,iBAAnC;;;EAEJ,IAAI,OAAOE,mBAAP,KAA+B,WAAnC,EAAgD;IAC5CL,QAAQ,CAACC,IAAT,CAAcK,oBAAd,GAAqCD,mBAArC;;;EAEJL,QAAQ,CAACC,IAAT,CAAcO,WAAd,GAA4BD,UAA5B;EACA,OAAOP,QAAP;AACH;;AC7CM,SAASY,QAAT,CAAkBC,OAAlB,EAA2BC,KAA3B,EAAkCC,UAAlC,EAA8C;EACjD,MAAMC,OAAO,GAAG,OAAOF,KAAP,KAAiB,UAAjB,GACVA,KAAK,CAACG,QAAN,CAAeF,UAAf,CADU,GAEVF,OAAO,CAACK,OAAR,CAAgBD,QAAhB,CAAyBH,KAAzB,EAAgCC,UAAhC,CAFN;EAGA,MAAMI,aAAa,GAAG,OAAOL,KAAP,KAAiB,UAAjB,GAA8BA,KAA9B,GAAsCD,OAAO,CAACK,OAApE;EACA,MAAME,MAAM,GAAGJ,OAAO,CAACI,MAAvB;EACA,MAAMC,OAAO,GAAGL,OAAO,CAACK,OAAxB;EACA,IAAIC,GAAG,GAAGN,OAAO,CAACM,GAAlB;EACA,OAAO;IACH,CAACC,MAAM,CAACC,aAAR,GAAwB,OAAO;MAC3B,MAAMC,IAAN,GAAa;QACT,IAAI,CAACH,GAAL,EACI,OAAO;UAAEI,IAAI,EAAE;SAAf;;QACJ,IAAI;UACA,MAAM1B,QAAQ,GAAG,MAAMmB,aAAa,CAAC;YAAEC,MAAF;YAAUE,GAAV;YAAeD;WAAhB,CAApC;UACA,MAAMM,kBAAkB,GAAG5B,8BAA8B,CAACC,QAAD,CAAzD,CAFA;;;;UAMAsB,GAAG,GAAG,CAAC,CAACK,kBAAkB,CAACN,OAAnB,CAA2BO,IAA3B,IAAmC,EAApC,EAAwCC,KAAxC,CAA8C,yBAA9C,KAA4E,EAA7E,EAAiF,CAAjF,CAAN;UACA,OAAO;YAAEC,KAAK,EAAEH;WAAhB;SAPJ,CASA,OAAOI,KAAP,EAAc;UACV,IAAIA,KAAK,CAACC,MAAN,KAAiB,GAArB,EACI,MAAMD,KAAN;UACJT,GAAG,GAAG,EAAN;UACA,OAAO;YACHQ,KAAK,EAAE;cACHE,MAAM,EAAE,GADL;cAEHX,OAAO,EAAE,EAFN;cAGHpB,IAAI,EAAE;;WAJd;;;;KAjBY;GAD5B;AA6BH;;ACrCM,SAASgC,QAAT,CAAkBpB,OAAlB,EAA2BC,KAA3B,EAAkCC,UAAlC,EAA8CmB,KAA9C,EAAqD;EACxD,IAAI,OAAOnB,UAAP,KAAsB,UAA1B,EAAsC;IAClCmB,KAAK,GAAGnB,UAAR;IACAA,UAAU,GAAGoB,SAAb;;;EAEJ,OAAOC,MAAM,CAACvB,OAAD,EAAU,EAAV,EAAcD,QAAQ,CAACC,OAAD,EAAUC,KAAV,EAAiBC,UAAjB,CAAR,CAAqCQ,MAAM,CAACC,aAA5C,GAAd,EAA4EU,KAA5E,CAAb;AACH;;AACD,SAASE,MAAT,CAAgBvB,OAAhB,EAAyBwB,OAAzB,EAAkCzB,QAAlC,EAA4CsB,KAA5C,EAAmD;EAC/C,OAAOtB,QAAQ,CAACa,IAAT,GAAgBa,IAAhB,CAAsBC,MAAD,IAAY;IACpC,IAAIA,MAAM,CAACb,IAAX,EAAiB;MACb,OAAOW,OAAP;;;IAEJ,IAAIG,SAAS,GAAG,KAAhB;;IACA,SAASd,IAAT,GAAgB;MACZc,SAAS,GAAG,IAAZ;;;IAEJH,OAAO,GAAGA,OAAO,CAACI,MAAR,CAAeP,KAAK,GAAGA,KAAK,CAACK,MAAM,CAACT,KAAR,EAAeJ,IAAf,CAAR,GAA+Ba,MAAM,CAACT,KAAP,CAAa7B,IAAhE,CAAV;;IACA,IAAIuC,SAAJ,EAAe;MACX,OAAOH,OAAP;;;IAEJ,OAAOD,MAAM,CAACvB,OAAD,EAAUwB,OAAV,EAAmBzB,QAAnB,EAA6BsB,KAA7B,CAAb;GAZG,CAAP;AAcH;;MCrBYQ,mBAAmB,GAAGhC,MAAM,CAACiC,MAAP,CAAcV,QAAd,EAAwB;EACvDrB;AADuD,CAAxB,CAA5B;;MCFMgC,mBAAmB,GAAG,CAC/B,0BAD+B,EAE/B,wBAF+B,EAG/B,0BAH+B,EAI/B,qBAJ+B,EAK/B,iEAL+B,EAM/B,qDAN+B,EAO/B,qFAP+B,EAQ/B,+EAR+B,EAS/B,+CAT+B,EAU/B,yCAV+B,EAW/B,sDAX+B,EAY/B,kEAZ+B,EAa/B,aAb+B,EAc/B,YAd+B,EAe/B,mBAf+B,EAgB/B,oBAhB+B,EAiB/B,+BAjB+B,EAkB/B,8BAlB+B,EAmB/B,4BAnB+B,EAoB/B,gCApB+B,EAqB/B,aArB+B,EAsB/B,eAtB+B,EAuB/B,gCAvB+B,EAwB/B,mDAxB+B,EAyB/B,wCAzB+B,EA0B/B,2DA1B+B,EA2B/B,qCA3B+B,EA4B/B,oBA5B+B,EA6B/B,oBA7B+B,EA8B/B,mDA9B+B,EA+B/B,kDA/B+B,EAgC/B,uCAhC+B,EAiC/B,sEAjC+B,EAkC/B,iEAlC+B,EAmC/B,iCAnC+B,EAoC/B,iCApC+B,EAqC/B,4DArC+B,EAsC/B,2BAtC+B,EAuC/B,wBAvC+B,EAwC/B,sCAxC+B,EAyC/B,4BAzC+B,EA0C/B,2CA1C+B,EA2C/B,oCA3C+B,EA4C/B,+DA5C+B,EA6C/B,wBA7C+B,EA8C/B,iCA9C+B,EA+C/B,oCA/C+B,EAgD/B,uBAhD+B,EAiD/B,4CAjD+B,EAkD/B,+BAlD+B,EAmD/B,6BAnD+B,EAoD/B,mDApD+B,EAqD/B,wBArD+B,EAsD/B,yBAtD+B,EAuD/B,4BAvD+B,EAwD/B,wDAxD+B,EAyD/B,uCAzD+B,EA0D/B,0BA1D+B,EA2D/B,iEA3D+B,EA4D/B,0BA5D+B,EA6D/B,gCA7D+B,EA8D/B,uBA9D+B,EA+D/B,wCA/D+B,EAgE/B,oDAhE+B,EAiE/B,kCAjE+B,EAkE/B,uBAlE+B,EAmE/B,+CAnE+B,EAoE/B,4EApE+B,EAqE/B,uGArE+B,EAsE/B,6EAtE+B,EAuE/B,+CAvE+B,EAwE/B,2CAxE+B,EAyE/B,4CAzE+B,EA0E/B,yCA1E+B,EA2E/B,yCA3E+B,EA4E/B,yCA5E+B,EA6E/B,0CA7E+B,EA8E/B,oCA9E+B,EA+E/B,6CA/E+B,EAgF/B,0CAhF+B,EAiF/B,2CAjF+B,EAkF/B,wCAlF+B,EAmF/B,2DAnF+B,EAoF/B,gFApF+B,EAqF/B,sDArF+B,EAsF/B,2CAtF+B,EAuF/B,6CAvF+B,EAwF/B,gEAxF+B,EAyF/B,qCAzF+B,EA0F/B,oCA1F+B,EA2F/B,iEA3F+B,EA4F/B,oEA5F+B,EA6F/B,gDA7F+B,EA8F/B,yEA9F+B,EA+F/B,kDA/F+B,EAgG/B,sCAhG+B,EAiG/B,oDAjG+B,EAkG/B,8CAlG+B,EAmG/B,yCAnG+B,EAoG/B,oCApG+B,EAqG/B,2DArG+B,EAsG/B,mCAtG+B,EAuG/B,yDAvG+B,EAwG/B,sDAxG+B,EAyG/B,oDAzG+B,EA0G/B,sDA1G+B,EA2G/B,gDA3G+B,EA4G/B,kDA5G+B,EA6G/B,wCA7G+B,EA8G/B,8CA9G+B,EA+G/B,uCA/G+B,EAgH/B,gEAhH+B,EAiH/B,wCAjH+B,EAkH/B,kCAlH+B,EAmH/B,iCAnH+B,EAoH/B,mDApH+B,EAqH/B,iCArH+B,EAsH/B,sDAtH+B,EAuH/B,uCAvH+B,EAwH/B,kCAxH+B,EAyH/B,2CAzH+B,EA0H/B,kEA1H+B,EA2H/B,yCA3H+B,EA4H/B,0DA5H+B,EA6H/B,wDA7H+B,EA8H/B,wDA9H+B,EA+H/B,2DA/H+B,EAgI/B,0DAhI+B,EAiI/B,gCAjI+B,EAkI/B,kCAlI+B,EAmI/B,sCAnI+B,EAoI/B,gEApI+B,EAqI/B,yCArI+B,EAsI/B,wCAtI+B,EAuI/B,oCAvI+B,EAwI/B,iCAxI+B,EAyI/B,0CAzI+B,EA0I/B,iEA1I+B,EA2I/B,wDA3I+B,EA4I/B,uDA5I+B,EA6I/B,qDA7I+B,EA8I/B,mEA9I+B,EA+I/B,uDA/I+B,EAgJ/B,4EAhJ+B,EAiJ/B,oCAjJ+B,EAkJ/B,wDAlJ+B,EAmJ/B,2DAnJ+B,EAoJ/B,kDApJ+B,EAqJ/B,2EArJ+B,EAsJ/B,sCAtJ+B,EAuJ/B,uCAvJ+B,EAwJ/B,gCAxJ+B,EAyJ/B,iCAzJ+B,EA0J/B,kCA1J+B,EA2J/B,mBA3J+B,EA4J/B,2EA5J+B,EA6J/B,kBA7J+B,EA8J/B,qBA9J+B,EA+J/B,oBA/J+B,EAgK/B,oBAhK+B,EAiK/B,0BAjK+B,EAkK/B,oBAlK+B,EAmK/B,mBAnK+B,EAoK/B,kCApK+B,EAqK/B,+DArK+B,EAsK/B,0FAtK+B,EAuK/B,gEAvK+B,EAwK/B,kCAxK+B,EAyK/B,8BAzK+B,EA0K/B,+BA1K+B,EA2K/B,4BA3K+B,EA4K/B,4BA5K+B,EA6K/B,kBA7K+B,EA8K/B,sBA9K+B,EA+K/B,8BA/K+B,EAgL/B,kBAhL+B,EAiL/B,qBAjL+B,EAkL/B,qBAlL+B,EAmL/B,oBAnL+B,EAoL/B,yBApL+B,EAqL/B,wDArL+B,EAsL/B,kBAtL+B,EAuL/B,gBAvL+B,EAwL/B,iCAxL+B,EAyL/B,yCAzL+B,EA0L/B,4BA1L+B,EA2L/B,sBA3L+B,EA4L/B,kDA5L+B,EA6L/B,gBA7L+B,EA8L/B,oBA9L+B,EA+L/B,2DA/L+B,EAgM/B,yBAhM+B,EAiM/B,iBAjM+B,EAkM/B,kCAlM+B,EAmM/B,mBAnM+B,EAoM/B,yBApM+B,EAqM/B,iBArM+B,EAsM/B,YAtM+B,EAuM/B,8BAvM+B,EAwM/B,yCAxM+B,EAyM/B,qCAzM+B,EA0M/B,iCA1M+B,EA2M/B,iCA3M+B,EA4M/B,6BA5M+B,EA6M/B,gCA7M+B,EA8M/B,4BA9M+B,EA+M/B,4BA/M+B,EAgN/B,gCAhN+B,EAiN/B,gCAjN+B,EAkN/B,uCAlN+B,EAmN/B,8CAnN+B,EAoN/B,6BApN+B,EAqN/B,+BArN+B,EAsN/B,qCAtN+B,CAA5B;;ACEA,SAASC,oBAAT,CAA8BC,GAA9B,EAAmC;EACtC,IAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;IACzB,OAAOF,mBAAmB,CAACG,QAApB,CAA6BD,GAA7B,CAAP;GADJ,MAGK;IACD,OAAO,KAAP;;AAEP;;ACJD;AACA;AACA;AACA;;AACA,AAAO,SAASE,YAAT,CAAsBnC,OAAtB,EAA+B;EAClC,OAAO;IACHoB,QAAQ,EAAEvB,MAAM,CAACiC,MAAP,CAAcV,QAAQ,CAACgB,IAAT,CAAc,IAAd,EAAoBpC,OAApB,CAAd,EAA4C;MAClDD,QAAQ,EAAEA,QAAQ,CAACqC,IAAT,CAAc,IAAd,EAAoBpC,OAApB;KADJ;GADd;AAKH;AACDmC,YAAY,CAAClD,OAAb,GAAuBA,OAAvB;;;;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js new file mode 100644 index 0000000..09ca53f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js @@ -0,0 +1,5 @@ +import { paginate } from "./paginate"; +import { iterator } from "./iterator"; +export const composePaginateRest = Object.assign(paginate, { + iterator, +}); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js new file mode 100644 index 0000000..863af10 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js @@ -0,0 +1,216 @@ +export const paginatingEndpoints = [ + "GET /app/hook/deliveries", + "GET /app/installations", + "GET /applications/grants", + "GET /authorizations", + "GET /enterprises/{enterprise}/actions/permissions/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "GET /enterprises/{enterprise}/actions/runners", + "GET /enterprises/{enterprise}/audit-log", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /enterprises/{enterprise}/settings/billing/advanced-security", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runner-groups", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/audit-log", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/credential-authorizations", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/external-groups", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/settings/billing/advanced-security", + "GET /orgs/{org}/team-sync/groups", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js new file mode 100644 index 0000000..5ba74de --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -0,0 +1,17 @@ +import { VERSION } from "./version"; +import { paginate } from "./paginate"; +import { iterator } from "./iterator"; +export { composePaginateRest } from "./compose-paginate"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit), + }), + }; +} +paginateRest.VERSION = VERSION; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js new file mode 100644 index 0000000..7f9ee64 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -0,0 +1,39 @@ +import { normalizePaginatedListResponse } from "./normalize-paginated-list-response"; +export function iterator(octokit, route, parameters) { + const options = typeof route === "function" + ? route.endpoint(parameters) + : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: normalizedResponse }; + } + catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [], + }, + }; + } + }, + }), + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js new file mode 100644 index 0000000..a87028b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -0,0 +1,47 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +export function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [], + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js new file mode 100644 index 0000000..8d18a60 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js @@ -0,0 +1,24 @@ +import { iterator } from "./iterator"; +export function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator, mapFn); + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js new file mode 100644 index 0000000..1e52899 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js @@ -0,0 +1,10 @@ +import { paginatingEndpoints, } from "./generated/paginating-endpoints"; +export { paginatingEndpoints } from "./generated/paginating-endpoints"; +export function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } + else { + return false; + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js new file mode 100644 index 0000000..af4553e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "2.21.3"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts new file mode 100644 index 0000000..38a7432 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts @@ -0,0 +1,2 @@ +import { ComposePaginateInterface } from "./types"; +export declare const composePaginateRest: ComposePaginateInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts new file mode 100644 index 0000000..4882d94 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts @@ -0,0 +1,1612 @@ +import { Endpoints } from "@octokit/types"; +export interface PaginatingEndpoints { + /** + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": { + parameters: Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": { + parameters: Endpoints["GET /app/installations"]["parameters"]; + response: Endpoints["GET /app/installations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants + */ + "GET /applications/grants": { + parameters: Endpoints["GET /applications/grants"]["parameters"]; + response: Endpoints["GET /applications/grants"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations + */ + "GET /authorizations": { + parameters: Endpoints["GET /authorizations"]["parameters"]; + response: Endpoints["GET /authorizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/organizations": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["response"]["data"]["organizations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups"]["response"]["data"]["runner_groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations"]["response"]["data"]["organizations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners": { + parameters: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise + */ + "GET /enterprises/{enterprise}/audit-log": { + parameters: Endpoints["GET /enterprises/{enterprise}/audit-log"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/audit-log"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": { + parameters: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/advanced-security": { + parameters: Endpoints["GET /enterprises/{enterprise}/settings/billing/advanced-security"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/settings/billing/advanced-security"]["response"] & { + data: Endpoints["GET /enterprises/{enterprise}/settings/billing/advanced-security"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events + */ + "GET /events": { + parameters: Endpoints["GET /events"]["parameters"]; + response: Endpoints["GET /events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: Endpoints["GET /gists"]["parameters"]; + response: Endpoints["GET /gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-public-gists + */ + "GET /gists/public": { + parameters: Endpoints["GET /gists/public"]["parameters"]; + response: Endpoints["GET /gists/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-starred-gists + */ + "GET /gists/starred": { + parameters: Endpoints["GET /gists/starred"]["parameters"]; + response: Endpoints["GET /gists/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-comments + */ + "GET /gists/{gist_id}/comments": { + parameters: Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": { + parameters: Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": { + parameters: Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": { + parameters: Endpoints["GET /installation/repositories"]["parameters"]; + response: Endpoints["GET /installation/repositories"]["response"] & { + data: Endpoints["GET /installation/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: Endpoints["GET /issues"]["parameters"]; + response: Endpoints["GET /issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": { + parameters: Endpoints["GET /licenses"]["parameters"]; + response: Endpoints["GET /licenses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: Endpoints["GET /marketplace_listing/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": { + parameters: Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: Endpoints["GET /notifications"]["parameters"]; + response: Endpoints["GET /notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations + */ + "GET /organizations": { + parameters: Endpoints["GET /organizations"]["parameters"]; + response: Endpoints["GET /organizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": { + parameters: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]["data"]["repository_cache_usages"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": { + parameters: Endpoints["GET /orgs/{org}/actions/runner-groups"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runner-groups"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runner-groups"]["response"]["data"]["runner_groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + parameters: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": { + parameters: Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#get-audit-log + */ + "GET /orgs/{org}/audit-log": { + parameters: Endpoints["GET /orgs/{org}/audit-log"]["parameters"]; + response: Endpoints["GET /orgs/{org}/audit-log"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": { + parameters: Endpoints["GET /orgs/{org}/blocks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-by-organization + */ + "GET /orgs/{org}/code-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + */ + "GET /orgs/{org}/codespaces": { + parameters: Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization + */ + "GET /orgs/{org}/credential-authorizations": { + parameters: Endpoints["GET /orgs/{org}/credential-authorizations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/credential-authorizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + */ + "GET /orgs/{org}/events": { + parameters: Endpoints["GET /orgs/{org}/events"]["parameters"]; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-groups-for-an-organization + */ + "GET /orgs/{org}/external-groups": { + parameters: Endpoints["GET /orgs/{org}/external-groups"]["parameters"]; + response: Endpoints["GET /orgs/{org}/external-groups"]["response"] & { + data: Endpoints["GET /orgs/{org}/external-groups"]["response"]["data"]["groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": { + parameters: Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": { + parameters: Endpoints["GET /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": { + parameters: Endpoints["GET /orgs/{org}/installations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installations"]["response"] & { + data: Endpoints["GET /orgs/{org}/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": { + parameters: Endpoints["GET /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": { + parameters: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": { + parameters: Endpoints["GET /orgs/{org}/issues"]["parameters"]; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-members + */ + "GET /orgs/{org}/members": { + parameters: Endpoints["GET /orgs/{org}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + */ + "GET /orgs/{org}/migrations": { + parameters: Endpoints["GET /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": { + parameters: Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": { + parameters: Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": { + parameters: Endpoints["GET /orgs/{org}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + */ + "GET /orgs/{org}/public_members": { + parameters: Endpoints["GET /orgs/{org}/public_members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": { + parameters: Endpoints["GET /orgs/{org}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization + */ + "GET /orgs/{org}/settings/billing/advanced-security": { + parameters: Endpoints["GET /orgs/{org}/settings/billing/advanced-security"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/advanced-security"]["response"] & { + data: Endpoints["GET /orgs/{org}/settings/billing/advanced-security"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + */ + "GET /orgs/{org}/team-sync/groups": { + parameters: Endpoints["GET /orgs/{org}/team-sync/groups"]["parameters"]; + response: Endpoints["GET /orgs/{org}/team-sync/groups"]["response"] & { + data: Endpoints["GET /orgs/{org}/team-sync/groups"]["response"]["data"]["groups"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams + */ + "GET /orgs/{org}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": { + parameters: Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": { + parameters: Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-columns + */ + "GET /projects/{project_id}/columns": { + parameters: Endpoints["GET /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]["data"]["actions_caches"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]["data"]["workflows"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": { + parameters: Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches + */ + "GET /repos/{owner}/{repo}/branches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]["data"]["devcontainers"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": { + parameters: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commits + */ + "GET /repos/{owner}/{repo}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]["data"]["check_suites"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]["data"]["statuses"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": { + parameters: Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-environments + */ + "GET /repos/{owner}/{repo}/environments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]["data"]["environments"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-forks + */ + "GET /repos/{owner}/{repo}/forks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/git#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": { + parameters: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": { + parameters: Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": { + parameters: Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": { + parameters: Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]["data"]["users"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-releases + */ + "GET /repos/{owner}/{repo}/releases": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": { + parameters: Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": { + parameters: Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": { + parameters: Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]["data"]["names"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-public-repositories + */ + "GET /repositories": { + parameters: Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": { + parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"] & { + data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-code + */ + "GET /search/code": { + parameters: Endpoints["GET /search/code"]["parameters"]; + response: Endpoints["GET /search/code"]["response"] & { + data: Endpoints["GET /search/code"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-commits + */ + "GET /search/commits": { + parameters: Endpoints["GET /search/commits"]["parameters"]; + response: Endpoints["GET /search/commits"]["response"] & { + data: Endpoints["GET /search/commits"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: Endpoints["GET /search/issues"]["parameters"]; + response: Endpoints["GET /search/issues"]["response"] & { + data: Endpoints["GET /search/issues"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-labels + */ + "GET /search/labels": { + parameters: Endpoints["GET /search/labels"]["parameters"]; + response: Endpoints["GET /search/labels"]["response"] & { + data: Endpoints["GET /search/labels"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-repositories + */ + "GET /search/repositories": { + parameters: Endpoints["GET /search/repositories"]["parameters"]; + response: Endpoints["GET /search/repositories"]["response"] & { + data: Endpoints["GET /search/repositories"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-topics + */ + "GET /search/topics": { + parameters: Endpoints["GET /search/topics"]["parameters"]; + response: Endpoints["GET /search/topics"]["response"] & { + data: Endpoints["GET /search/topics"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/search#search-users + */ + "GET /search/users": { + parameters: Endpoints["GET /search/users"]["parameters"]; + response: Endpoints["GET /search/users"]["response"] & { + data: Endpoints["GET /search/users"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": { + parameters: Endpoints["GET /teams/{team_id}/discussions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": { + parameters: Endpoints["GET /teams/{team_id}/invitations"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + */ + "GET /teams/{team_id}/members": { + parameters: Endpoints["GET /teams/{team_id}/members"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": { + parameters: Endpoints["GET /teams/{team_id}/projects"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": { + parameters: Endpoints["GET /teams/{team_id}/repos"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": { + parameters: Endpoints["GET /teams/{team_id}/teams"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": { + parameters: Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": { + parameters: Endpoints["GET /user/codespaces"]["parameters"]; + response: Endpoints["GET /user/codespaces"]["response"] & { + data: Endpoints["GET /user/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": { + parameters: Endpoints["GET /user/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets"]["response"] & { + data: Endpoints["GET /user/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": { + parameters: Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: Endpoints["GET /user/followers"]["parameters"]; + response: Endpoints["GET /user/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": { + parameters: Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": { + parameters: Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": { + parameters: Endpoints["GET /user/installations"]["parameters"]; + response: Endpoints["GET /user/installations"]["response"] & { + data: Endpoints["GET /user/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": { + parameters: Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"] & { + data: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: Endpoints["GET /user/issues"]["parameters"]; + response: Endpoints["GET /user/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": { + parameters: Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: Endpoints["GET /user/marketplace_purchases"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": { + parameters: Endpoints["GET /user/memberships/orgs"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + */ + "GET /user/migrations": { + parameters: Endpoints["GET /user/migrations"]["parameters"]; + response: Endpoints["GET /user/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": { + parameters: Endpoints["GET /user/orgs"]["parameters"]; + response: Endpoints["GET /user/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": { + parameters: Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": { + parameters: Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: Endpoints["GET /user/repos"]["parameters"]; + response: Endpoints["GET /user/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": { + parameters: Endpoints["GET /user/repository_invitations"]["parameters"]; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: Endpoints["GET /user/starred"]["parameters"]; + response: Endpoints["GET /user/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: Endpoints["GET /user/subscriptions"]["parameters"]; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": { + parameters: Endpoints["GET /user/teams"]["parameters"]; + response: Endpoints["GET /user/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-users + */ + "GET /users": { + parameters: Endpoints["GET /users"]["parameters"]; + response: Endpoints["GET /users"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": { + parameters: Endpoints["GET /users/{username}/events"]["parameters"]; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": { + parameters: Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": { + parameters: Endpoints["GET /users/{username}/events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + */ + "GET /users/{username}/followers": { + parameters: Endpoints["GET /users/{username}/followers"]["parameters"]; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + */ + "GET /users/{username}/following": { + parameters: Endpoints["GET /users/{username}/following"]["parameters"]; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": { + parameters: Endpoints["GET /users/{username}/gists"]["parameters"]; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": { + parameters: Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": { + parameters: Endpoints["GET /users/{username}/keys"]["parameters"]; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": { + parameters: Endpoints["GET /users/{username}/orgs"]["parameters"]; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": { + parameters: Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects + */ + "GET /users/{username}/projects": { + parameters: Endpoints["GET /users/{username}/projects"]["parameters"]; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": { + parameters: Endpoints["GET /users/{username}/received_events"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": { + parameters: Endpoints["GET /users/{username}/received_events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": { + parameters: Endpoints["GET /users/{username}/repos"]["parameters"]; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": { + parameters: Endpoints["GET /users/{username}/starred"]["parameters"]; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": { + parameters: Endpoints["GET /users/{username}/subscriptions"]["parameters"]; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; +} +export declare const paginatingEndpoints: (keyof PaginatingEndpoints)[]; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts new file mode 100644 index 0000000..4d84aae --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -0,0 +1,16 @@ +import { Octokit } from "@octokit/core"; +import { PaginateInterface } from "./types"; +export { PaginateInterface } from "./types"; +export { PaginatingEndpoints } from "./types"; +export { composePaginateRest } from "./compose-paginate"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function paginateRest(octokit: Octokit): { + paginate: PaginateInterface; +}; +export declare namespace paginateRest { + var VERSION: string; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts new file mode 100644 index 0000000..931d530 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -0,0 +1,20 @@ +import { Octokit } from "@octokit/core"; +import { RequestInterface, RequestParameters, Route } from "./types"; +export declare function iterator(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters): { + [Symbol.asyncIterator]: () => { + next(): Promise<{ + done: boolean; + value?: undefined; + } | { + value: import("@octokit/types/dist-types/OctokitResponse").OctokitResponse; + done?: undefined; + } | { + value: { + status: number; + headers: {}; + data: never[]; + }; + done?: undefined; + }>; + }; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts new file mode 100644 index 0000000..f948a78 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts @@ -0,0 +1,18 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +import { OctokitResponse } from "./types"; +export declare function normalizePaginatedListResponse(response: OctokitResponse): OctokitResponse; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts new file mode 100644 index 0000000..774c604 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts @@ -0,0 +1,3 @@ +import { Octokit } from "@octokit/core"; +import { MapFunction, PaginationResults, RequestParameters, Route, RequestInterface } from "./types"; +export declare function paginate(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters, mapFn?: MapFunction): Promise>; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts new file mode 100644 index 0000000..f6a4d7b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts @@ -0,0 +1,3 @@ +import { PaginatingEndpoints } from "./generated/paginating-endpoints"; +export { paginatingEndpoints } from "./generated/paginating-endpoints"; +export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts new file mode 100644 index 0000000..0634907 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -0,0 +1,242 @@ +import { Octokit } from "@octokit/core"; +import * as OctokitTypes from "@octokit/types"; +export { EndpointOptions, RequestInterface, OctokitResponse, RequestParameters, Route, } from "@octokit/types"; +export { PaginatingEndpoints } from "./generated/paginating-endpoints"; +import { PaginatingEndpoints } from "./generated/paginating-endpoints"; +declare type KnownKeys = Extract<{ + [K in keyof T]: string extends K ? never : number extends K ? never : K; +} extends { + [_ in keyof T]: infer U; +} ? U : never, keyof T>; +declare type KeysMatching = { + [K in keyof T]: T[K] extends V ? K : never; +}[keyof T]; +declare type KnownKeysMatching = KeysMatching>, V>; +declare type GetResultsType = T extends { + data: any[]; +} ? T["data"] : T extends { + data: object; +} ? T["data"][KnownKeysMatching] : never; +declare type NormalizeResponse = T & { + data: GetResultsType; +}; +declare type DataType = "data" extends keyof T ? T["data"] : unknown; +export interface MapFunction>, M = unknown[]> { + (response: T, done: () => void): M; +} +export declare type PaginationResults = T[]; +export interface PaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} +export interface ComposePaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts new file mode 100644 index 0000000..77e3d51 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.21.3"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js new file mode 100644 index 0000000..e76659f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -0,0 +1,358 @@ +const VERSION = "2.21.3"; + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return { + ...response, + data: [], + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} + +function iterator(octokit, route, parameters) { + const options = typeof route === "function" + ? route.endpoint(parameters) + : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: normalizedResponse }; + } + catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [], + }, + }; + } + }, + }), + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator, mapFn); + }); +} + +const composePaginateRest = Object.assign(paginate, { + iterator, +}); + +const paginatingEndpoints = [ + "GET /app/hook/deliveries", + "GET /app/installations", + "GET /applications/grants", + "GET /authorizations", + "GET /enterprises/{enterprise}/actions/permissions/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "GET /enterprises/{enterprise}/actions/runners", + "GET /enterprises/{enterprise}/audit-log", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /enterprises/{enterprise}/settings/billing/advanced-security", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runner-groups", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/audit-log", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/credential-authorizations", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/external-groups", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/settings/billing/advanced-security", + "GET /orgs/{org}/team-sync/groups", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } + else { + return false; + } +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit), + }), + }; +} +paginateRest.VERSION = VERSION; + +export { composePaginateRest, isPaginatingEndpoint, paginateRest, paginatingEndpoints }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map new file mode 100644 index 0000000..878b8e4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/compose-paginate.js","../dist-src/generated/paginating-endpoints.js","../dist-src/paginating-endpoints.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"2.21.3\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/audit-log\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/audit-log\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/external-groups\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/settings/billing/advanced-security\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,8BAA8B,CAAC,QAAQ,EAAE;AACzD;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB,QAAQ,OAAO;AACf,YAAY,GAAG,QAAQ;AACvB,YAAY,IAAI,EAAE,EAAE;AACpB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,0BAA0B,GAAG,aAAa,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnG,IAAI,IAAI,CAAC,0BAA0B;AACnC,QAAQ,OAAO,QAAQ,CAAC;AACxB;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC/D,IAAI,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACnE,IAAI,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC5C,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAC9C,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7C,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,IAAI,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;AAClD,QAAQ,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;AAC7D,KAAK;AACL,IAAI,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AACpD,QAAQ,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;AACjE,KAAK;AACL,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC3C,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC;;AC7CM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AACrD,IAAI,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU;AAC/C,UAAU,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACpC,UAAU,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACtD,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;AAChF,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAClC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACpC,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAC1B,IAAI,OAAO;AACX,QAAQ,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO;AACvC,YAAY,MAAM,IAAI,GAAG;AACzB,gBAAgB,IAAI,CAAC,GAAG;AACxB,oBAAoB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC1C,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACnF,oBAAoB,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;AACxF;AACA;AACA;AACA,oBAAoB,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9G,oBAAoB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACzD,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,EAAE;AAC9B,oBAAoB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;AAC5C,wBAAwB,MAAM,KAAK,CAAC;AACpC,oBAAoB,GAAG,GAAG,EAAE,CAAC;AAC7B,oBAAoB,OAAO;AAC3B,wBAAwB,KAAK,EAAE;AAC/B,4BAA4B,MAAM,EAAE,GAAG;AACvC,4BAA4B,OAAO,EAAE,EAAE;AACvC,4BAA4B,IAAI,EAAE,EAAE;AACpC,yBAAyB;AACzB,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC;AACV,KAAK,CAAC;AACN,CAAC;;ACrCM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;AAC5D,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,QAAQ,KAAK,GAAG,UAAU,CAAC;AAC3B,QAAQ,UAAU,GAAG,SAAS,CAAC;AAC/B,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACpG,CAAC;AACD,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AACnD,IAAI,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AAC5C,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;AACzB,YAAY,OAAO,OAAO,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,SAAS,GAAG,KAAK,CAAC;AAC9B,QAAQ,SAAS,IAAI,GAAG;AACxB,YAAY,SAAS,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxF,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO,OAAO,CAAC;AAC3B,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,KAAK,CAAC,CAAC;AACP,CAAC;;ACrBW,MAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC3D,IAAI,QAAQ;AACZ,CAAC,CAAC;;ACJU,MAAC,mBAAmB,GAAG;AACnC,IAAI,0BAA0B;AAC9B,IAAI,wBAAwB;AAC5B,IAAI,0BAA0B;AAC9B,IAAI,qBAAqB;AACzB,IAAI,iEAAiE;AACrE,IAAI,qDAAqD;AACzD,IAAI,qFAAqF;AACzF,IAAI,+EAA+E;AACnF,IAAI,+CAA+C;AACnD,IAAI,yCAAyC;AAC7C,IAAI,sDAAsD;AAC1D,IAAI,kEAAkE;AACtE,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,mBAAmB;AACvB,IAAI,oBAAoB;AACxB,IAAI,+BAA+B;AACnC,IAAI,8BAA8B;AAClC,IAAI,4BAA4B;AAChC,IAAI,gCAAgC;AACpC,IAAI,aAAa;AACjB,IAAI,eAAe;AACnB,IAAI,gCAAgC;AACpC,IAAI,mDAAmD;AACvD,IAAI,wCAAwC;AAC5C,IAAI,2DAA2D;AAC/D,IAAI,qCAAqC;AACzC,IAAI,oBAAoB;AACxB,IAAI,oBAAoB;AACxB,IAAI,mDAAmD;AACvD,IAAI,kDAAkD;AACtD,IAAI,uCAAuC;AAC3C,IAAI,sEAAsE;AAC1E,IAAI,iEAAiE;AACrE,IAAI,iCAAiC;AACrC,IAAI,iCAAiC;AACrC,IAAI,4DAA4D;AAChE,IAAI,2BAA2B;AAC/B,IAAI,wBAAwB;AAC5B,IAAI,sCAAsC;AAC1C,IAAI,4BAA4B;AAChC,IAAI,2CAA2C;AAC/C,IAAI,oCAAoC;AACxC,IAAI,+DAA+D;AACnE,IAAI,wBAAwB;AAC5B,IAAI,iCAAiC;AACrC,IAAI,oCAAoC;AACxC,IAAI,uBAAuB;AAC3B,IAAI,4CAA4C;AAChD,IAAI,+BAA+B;AACnC,IAAI,6BAA6B;AACjC,IAAI,mDAAmD;AACvD,IAAI,wBAAwB;AAC5B,IAAI,yBAAyB;AAC7B,IAAI,4BAA4B;AAChC,IAAI,wDAAwD;AAC5D,IAAI,uCAAuC;AAC3C,IAAI,0BAA0B;AAC9B,IAAI,iEAAiE;AACrE,IAAI,0BAA0B;AAC9B,IAAI,gCAAgC;AACpC,IAAI,uBAAuB;AAC3B,IAAI,wCAAwC;AAC5C,IAAI,oDAAoD;AACxD,IAAI,kCAAkC;AACtC,IAAI,uBAAuB;AAC3B,IAAI,+CAA+C;AACnD,IAAI,4EAA4E;AAChF,IAAI,uGAAuG;AAC3G,IAAI,6EAA6E;AACjF,IAAI,+CAA+C;AACnD,IAAI,2CAA2C;AAC/C,IAAI,4CAA4C;AAChD,IAAI,yCAAyC;AAC7C,IAAI,yCAAyC;AAC7C,IAAI,yCAAyC;AAC7C,IAAI,0CAA0C;AAC9C,IAAI,oCAAoC;AACxC,IAAI,6CAA6C;AACjD,IAAI,0CAA0C;AAC9C,IAAI,2CAA2C;AAC/C,IAAI,wCAAwC;AAC5C,IAAI,2DAA2D;AAC/D,IAAI,gFAAgF;AACpF,IAAI,sDAAsD;AAC1D,IAAI,2CAA2C;AAC/C,IAAI,6CAA6C;AACjD,IAAI,gEAAgE;AACpE,IAAI,qCAAqC;AACzC,IAAI,oCAAoC;AACxC,IAAI,iEAAiE;AACrE,IAAI,oEAAoE;AACxE,IAAI,gDAAgD;AACpD,IAAI,yEAAyE;AAC7E,IAAI,kDAAkD;AACtD,IAAI,sCAAsC;AAC1C,IAAI,oDAAoD;AACxD,IAAI,8CAA8C;AAClD,IAAI,yCAAyC;AAC7C,IAAI,oCAAoC;AACxC,IAAI,2DAA2D;AAC/D,IAAI,mCAAmC;AACvC,IAAI,yDAAyD;AAC7D,IAAI,sDAAsD;AAC1D,IAAI,oDAAoD;AACxD,IAAI,sDAAsD;AAC1D,IAAI,gDAAgD;AACpD,IAAI,kDAAkD;AACtD,IAAI,wCAAwC;AAC5C,IAAI,8CAA8C;AAClD,IAAI,uCAAuC;AAC3C,IAAI,gEAAgE;AACpE,IAAI,wCAAwC;AAC5C,IAAI,kCAAkC;AACtC,IAAI,iCAAiC;AACrC,IAAI,mDAAmD;AACvD,IAAI,iCAAiC;AACrC,IAAI,sDAAsD;AAC1D,IAAI,uCAAuC;AAC3C,IAAI,kCAAkC;AACtC,IAAI,2CAA2C;AAC/C,IAAI,kEAAkE;AACtE,IAAI,yCAAyC;AAC7C,IAAI,0DAA0D;AAC9D,IAAI,wDAAwD;AAC5D,IAAI,wDAAwD;AAC5D,IAAI,2DAA2D;AAC/D,IAAI,0DAA0D;AAC9D,IAAI,gCAAgC;AACpC,IAAI,kCAAkC;AACtC,IAAI,sCAAsC;AAC1C,IAAI,gEAAgE;AACpE,IAAI,yCAAyC;AAC7C,IAAI,wCAAwC;AAC5C,IAAI,oCAAoC;AACxC,IAAI,iCAAiC;AACrC,IAAI,0CAA0C;AAC9C,IAAI,iEAAiE;AACrE,IAAI,wDAAwD;AAC5D,IAAI,uDAAuD;AAC3D,IAAI,qDAAqD;AACzD,IAAI,mEAAmE;AACvE,IAAI,uDAAuD;AAC3D,IAAI,4EAA4E;AAChF,IAAI,oCAAoC;AACxC,IAAI,wDAAwD;AAC5D,IAAI,2DAA2D;AAC/D,IAAI,kDAAkD;AACtD,IAAI,2EAA2E;AAC/E,IAAI,sCAAsC;AAC1C,IAAI,uCAAuC;AAC3C,IAAI,gCAAgC;AACpC,IAAI,iCAAiC;AACrC,IAAI,kCAAkC;AACtC,IAAI,mBAAmB;AACvB,IAAI,2EAA2E;AAC/E,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,kCAAkC;AACtC,IAAI,+DAA+D;AACnE,IAAI,0FAA0F;AAC9F,IAAI,gEAAgE;AACpE,IAAI,kCAAkC;AACtC,IAAI,8BAA8B;AAClC,IAAI,+BAA+B;AACnC,IAAI,4BAA4B;AAChC,IAAI,4BAA4B;AAChC,IAAI,kBAAkB;AACtB,IAAI,sBAAsB;AAC1B,IAAI,8BAA8B;AAClC,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,yBAAyB;AAC7B,IAAI,wDAAwD;AAC5D,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,iCAAiC;AACrC,IAAI,yCAAyC;AAC7C,IAAI,4BAA4B;AAChC,IAAI,sBAAsB;AAC1B,IAAI,kDAAkD;AACtD,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,2DAA2D;AAC/D,IAAI,yBAAyB;AAC7B,IAAI,iBAAiB;AACrB,IAAI,kCAAkC;AACtC,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,8BAA8B;AAClC,IAAI,yCAAyC;AAC7C,IAAI,qCAAqC;AACzC,IAAI,iCAAiC;AACrC,IAAI,iCAAiC;AACrC,IAAI,6BAA6B;AACjC,IAAI,gCAAgC;AACpC,IAAI,4BAA4B;AAChC,IAAI,4BAA4B;AAChC,IAAI,gCAAgC;AACpC,IAAI,gCAAgC;AACpC,IAAI,uCAAuC;AAC3C,IAAI,8CAA8C;AAClD,IAAI,6BAA6B;AACjC,IAAI,+BAA+B;AACnC,IAAI,qCAAqC;AACzC,CAAC;;ACrNM,SAAS,oBAAoB,CAAC,GAAG,EAAE;AAC1C,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACjC,QAAQ,OAAO,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;;ACJD;AACA;AACA;AACA;AACA,AAAO,SAAS,YAAY,CAAC,OAAO,EAAE;AACtC,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAC9D,YAAY,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClD,SAAS,CAAC;AACV,KAAK,CAAC;AACN,CAAC;AACD,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/package.json new file mode 100644 index 0000000..db9a6dc --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-paginate-rest/package.json @@ -0,0 +1,51 @@ +{ + "name": "@octokit/plugin-paginate-rest", + "description": "Octokit plugin to paginate REST API endpoint responses", + "version": "2.21.3", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/plugin-paginate-rest.js", + "dependencies": { + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + }, + "devDependencies": { + "@octokit/core": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "^6.0.0", + "@pika/pack": "^0.3.7", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^28.0.0", + "@types/node": "^16.0.0", + "fetch-mock": "^9.0.0", + "github-openapi-graphql-query": "^2.0.0", + "jest": "^28.0.0", + "npm-run-all": "^4.1.5", + "prettier": "2.7.1", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^28.0.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +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 (including the next paragraph) 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/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/README.md new file mode 100644 index 0000000..f4a7bbd --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -0,0 +1,74 @@ +# plugin-rest-endpoint-methods.js + +> Octokit plugin adding one method for all of api.github.com REST API endpoints + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) +[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + restEndpointMethods, +} = require("@octokit/plugin-rest-endpoint-methods"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(restEndpointMethods); +const octokit = new MyOctokit({ auth: "secret123" }); + +// https://developer.github.com/v3/users/#get-the-authenticated-user +octokit.rest.users.getAuthenticated(); +``` + +There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) + +## TypeScript + +Parameter and response types for all endpoint methods exported as `{ RestEndpointMethodTypes }`. + +Example + +```ts +import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; + +type UpdateLabelParameters = RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]; +type UpdateLabelResponse = RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; +``` + +In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpliation from GitHub's official OpenAPI specification. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js new file mode 100644 index 0000000..abffde8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -0,0 +1,1229 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { + renamed: ["actions", "getGithubActionsPermissionsRepository"] + }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: ["POST /content_references/{content_reference_id}/attachments", { + mediaType: { + previews: ["corsair"] + } + }], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { + renamedParameters: { + alert_id: "alert_number" + } + }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct", { + mediaType: { + previews: ["scarlet-witch"] + } + }], + getConductCode: ["GET /codes_of_conduct/{key}", { + mediaType: { + previews: ["scarlet-witch"] + } + }], + getForRepo: ["GET /repos/{owner}/{repo}/community/code_of_conduct", { + mediaType: { + previews: ["scarlet-witch"] + } + }] + }, + emojis: { + get: ["GET /emojis"] + }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], + getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], + listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], + setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], + setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], + setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { + renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] + }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { + renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] + }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { + renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] + }] + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", { + mediaType: { + previews: ["mockingbird"] + } + }], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: ["POST /markdown/raw", { + headers: { + "content-type": "text/plain; charset=utf-8" + } + }] + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive", { + mediaType: { + previews: ["wyandotte"] + } + }], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}", { + mediaType: { + previews: ["wyandotte"] + } + }], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}", { + mediaType: { + previews: ["wyandotte"] + } + }], + listForAuthenticatedUser: ["GET /user/migrations", { + mediaType: { + previews: ["wyandotte"] + } + }], + listForOrg: ["GET /orgs/{org}/migrations", { + mediaType: { + previews: ["wyandotte"] + } + }], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories", { + mediaType: { + previews: ["wyandotte"] + } + }], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", { + mediaType: { + previews: ["wyandotte"] + } + }], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", { + mediaType: { + previews: ["wyandotte"] + } + }], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", { + mediaType: { + previews: ["wyandotte"] + } + }], + updateImport: ["PATCH /repos/{owner}/{repo}/import"] + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}", { + mediaType: { + previews: ["inertia"] + } + }], + createCard: ["POST /projects/columns/{column_id}/cards", { + mediaType: { + previews: ["inertia"] + } + }], + createColumn: ["POST /projects/{project_id}/columns", { + mediaType: { + previews: ["inertia"] + } + }], + createForAuthenticatedUser: ["POST /user/projects", { + mediaType: { + previews: ["inertia"] + } + }], + createForOrg: ["POST /orgs/{org}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + createForRepo: ["POST /repos/{owner}/{repo}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + delete: ["DELETE /projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + deleteCard: ["DELETE /projects/columns/cards/{card_id}", { + mediaType: { + previews: ["inertia"] + } + }], + deleteColumn: ["DELETE /projects/columns/{column_id}", { + mediaType: { + previews: ["inertia"] + } + }], + get: ["GET /projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + getCard: ["GET /projects/columns/cards/{card_id}", { + mediaType: { + previews: ["inertia"] + } + }], + getColumn: ["GET /projects/columns/{column_id}", { + mediaType: { + previews: ["inertia"] + } + }], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission", { + mediaType: { + previews: ["inertia"] + } + }], + listCards: ["GET /projects/columns/{column_id}/cards", { + mediaType: { + previews: ["inertia"] + } + }], + listCollaborators: ["GET /projects/{project_id}/collaborators", { + mediaType: { + previews: ["inertia"] + } + }], + listColumns: ["GET /projects/{project_id}/columns", { + mediaType: { + previews: ["inertia"] + } + }], + listForOrg: ["GET /orgs/{org}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + listForRepo: ["GET /repos/{owner}/{repo}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + listForUser: ["GET /users/{username}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + moveCard: ["POST /projects/columns/cards/{card_id}/moves", { + mediaType: { + previews: ["inertia"] + } + }], + moveColumn: ["POST /projects/columns/{column_id}/moves", { + mediaType: { + previews: ["inertia"] + } + }], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}", { + mediaType: { + previews: ["inertia"] + } + }], + update: ["PATCH /projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + updateCard: ["PATCH /projects/columns/cards/{card_id}", { + mediaType: { + previews: ["inertia"] + } + }], + updateColumn: ["PATCH /projects/columns/{column_id}", { + mediaType: { + previews: ["inertia"] + } + }] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", { + mediaType: { + previews: ["lydian"] + } + }], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] + }, + rateLimit: { + get: ["GET /rate_limit"] + }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + deleteLegacy: ["DELETE /reactions/{reaction_id}", { + mediaType: { + previews: ["squirrel-girl"] + } + }, { + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy" + }], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", { + mediaType: { + previews: ["squirrel-girl"] + } + }] + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts", { + mediaType: { + previews: ["dorian"] + } + }], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { + mediaType: { + previews: ["zzzax"] + } + }], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages", { + mediaType: { + previews: ["switcheroo"] + } + }], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate", { + mediaType: { + previews: ["baptiste"] + } + }], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { + mediaType: { + previews: ["zzzax"] + } + }], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages", { + mediaType: { + previews: ["switcheroo"] + } + }], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes", { + mediaType: { + previews: ["london"] + } + }], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts", { + mediaType: { + previews: ["dorian"] + } + }], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { + renamed: ["repos", "downloadZipballArchive"] + }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes", { + mediaType: { + previews: ["london"] + } + }], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts", { + mediaType: { + previews: ["dorian"] + } + }], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics", { + mediaType: { + previews: ["mercy"] + } + }], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", { + mediaType: { + previews: ["zzzax"] + } + }], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", { + mediaType: { + previews: ["groot"] + } + }], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", { + mediaType: { + previews: ["groot"] + } + }], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics", { + mediaType: { + previews: ["mercy"] + } + }], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { + renamed: ["repos", "updateStatusCheckProtection"] + }], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { + baseUrl: "https://uploads.github.com" + }] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits", { + mediaType: { + previews: ["cloak"] + } + }], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { + mediaType: { + previews: ["mercy"] + } + }], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", { + mediaType: { + previews: ["inertia"] + } + }], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects", { + mediaType: { + previews: ["inertia"] + } + }], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; + +const VERSION = "4.15.1"; + +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ + method, + url + }, defaults); + + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + + const scopeMethods = newMethods[scope]; + + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + + return newMethods; +} + +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` + + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined + }); + return requestWithDefaults(options); + } + + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + + if (!(alias in options)) { + options[alias] = options[name]; + } + + delete options[name]; + } + } + + return requestWithDefaults(options); + } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + + + return requestWithDefaults(...args); + } + + return Object.assign(withDecorations, requestWithDefaults); +} + +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return _objectSpread2(_objectSpread2({}, api), {}, { + rest: api + }); +} +restEndpointMethods.VERSION = VERSION; + +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map new file mode 100644 index 0000000..6fee470 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\n \"GET /codes_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getConductCode: [\n \"GET /codes_of_conduct/{key}\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getForRepo: [\n \"GET /repos/{owner}/{repo}/community/code_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n { mediaType: { previews: [\"mockingbird\"] } },\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getStatusForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForAuthenticatedUser: [\n \"GET /user/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\n \"PUT /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createCard: [\n \"POST /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createColumn: [\n \"POST /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForAuthenticatedUser: [\n \"POST /user/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForOrg: [\n \"POST /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForRepo: [\n \"POST /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n delete: [\n \"DELETE /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteCard: [\n \"DELETE /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteColumn: [\n \"DELETE /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n get: [\n \"GET /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getCard: [\n \"GET /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getColumn: [\n \"GET /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCards: [\n \"GET /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCollaborators: [\n \"GET /projects/{project_id}/collaborators\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listColumns: [\n \"GET /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForRepo: [\n \"GET /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForUser: [\n \"GET /users/{username}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveCard: [\n \"POST /projects/columns/cards/{card_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveColumn: [\n \"POST /projects/columns/{column_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n update: [\n \"PATCH /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateCard: [\n \"PATCH /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateColumn: [\n \"PATCH /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n { mediaType: { previews: [\"lydian\"] } },\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteLegacy: [\n \"DELETE /reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n {\n deprecated: \"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy\",\n },\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\n \"POST /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n { mediaType: { previews: [\"baptiste\"] } },\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\n \"DELETE /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", { mediaType: { previews: [\"cloak\"] } }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"4.15.1\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["Endpoints","actions","addSelectedRepoToOrgSecret","cancelWorkflowRun","createOrUpdateEnvironmentSecret","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createWorkflowDispatch","deleteArtifact","deleteEnvironmentSecret","deleteOrgSecret","deleteRepoSecret","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getEnvironmentPublicKey","getEnvironmentSecret","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getPendingDeploymentsForRun","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getReviewsForRun","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowRun","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listEnvironmentSecrets","listJobsForWorkflowRun","listOrgSecrets","listRepoSecrets","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","reRunWorkflow","removeSelectedRepoFromOrgSecret","reviewPendingDeploymentsForRun","setAllowedActionsOrganization","setAllowedActionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedRepositoriesEnabledGithubActionsOrganization","activity","checkRepoIsStarredByAuthenticatedUser","deleteRepoSubscription","deleteThreadSubscription","getFeeds","getRepoSubscription","getThread","getThreadSubscriptionForAuthenticatedUser","listEventsForAuthenticatedUser","listNotificationsForAuthenticatedUser","listOrgEventsForAuthenticatedUser","listPublicEvents","listPublicEventsForRepoNetwork","listPublicEventsForUser","listPublicOrgEvents","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listRepoNotificationsForAuthenticatedUser","listReposStarredByAuthenticatedUser","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markNotificationsAsRead","markRepoNotificationsAsRead","markThreadAsRead","setRepoSubscription","setThreadSubscription","starRepoForAuthenticatedUser","unstarRepoForAuthenticatedUser","apps","addRepoToInstallation","checkToken","createContentAttachment","mediaType","previews","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","removeRepoFromInstallation","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","checks","create","createSuite","get","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestSuite","setSuitesPreferences","update","codeScanning","deleteAnalysis","getAlert","renamedParameters","alert_id","getAnalysis","getSarif","listAlertsForRepo","listAlertsInstances","listRecentAnalyses","updateAlert","uploadSarif","codesOfConduct","getAllCodesOfConduct","getConductCode","getForRepo","emojis","enterpriseAdmin","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getGithubActionsPermissionsEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","setAllowedActionsEnterprise","setGithubActionsPermissionsEnterprise","setSelectedOrganizationsEnabledGithubActionsEnterprise","gists","checkIsStarred","createComment","delete","deleteComment","fork","getComment","getRevision","list","listComments","listCommits","listForUser","listForks","listPublic","listStarred","star","unstar","updateComment","git","createBlob","createCommit","createRef","createTag","createTree","deleteRef","getBlob","getCommit","getRef","getTag","getTree","listMatchingRefs","updateRef","gitignore","getAllTemplates","getTemplate","interactions","getRestrictionsForAuthenticatedUser","getRestrictionsForOrg","getRestrictionsForRepo","getRestrictionsForYourPublicRepos","removeRestrictionsForAuthenticatedUser","removeRestrictionsForOrg","removeRestrictionsForRepo","removeRestrictionsForYourPublicRepos","setRestrictionsForAuthenticatedUser","setRestrictionsForOrg","setRestrictionsForRepo","setRestrictionsForYourPublicRepos","issues","addAssignees","addLabels","checkUserCanBeAssigned","createLabel","createMilestone","deleteLabel","deleteMilestone","getEvent","getLabel","getMilestone","listAssignees","listCommentsForRepo","listEvents","listEventsForRepo","listEventsForTimeline","listForAuthenticatedUser","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","lock","removeAllLabels","removeAssignees","removeLabel","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","markdown","render","renderRaw","headers","meta","getOctocat","getZen","root","migrations","cancelImport","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getCommitAuthors","getImportStatus","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForOrg","listReposForUser","mapCommitAuthor","setLfsPreference","startForAuthenticatedUser","startForOrg","startImport","unlockRepoForAuthenticatedUser","unlockRepoForOrg","updateImport","orgs","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createInvitation","createWebhook","deleteWebhook","getMembershipForAuthenticatedUser","getMembershipForUser","getWebhook","getWebhookConfigForOrg","listAppInstallations","listBlockedUsers","listFailedInvitations","listInvitationTeams","listMembers","listMembershipsForAuthenticatedUser","listOutsideCollaborators","listPendingInvitations","listPublicMembers","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateMembershipForAuthenticatedUser","updateWebhook","updateWebhookConfigForOrg","packages","deletePackageForAuthenticatedUser","deletePackageForOrg","deletePackageVersionForAuthenticatedUser","deletePackageVersionForOrg","getAllPackageVersionsForAPackageOwnedByAnOrg","getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser","getAllPackageVersionsForPackageOwnedByAuthenticatedUser","getAllPackageVersionsForPackageOwnedByOrg","getAllPackageVersionsForPackageOwnedByUser","getPackageForAuthenticatedUser","getPackageForOrganization","getPackageForUser","getPackageVersionForAuthenticatedUser","getPackageVersionForOrganization","getPackageVersionForUser","restorePackageForAuthenticatedUser","restorePackageForOrg","restorePackageVersionForAuthenticatedUser","restorePackageVersionForOrg","projects","addCollaborator","createCard","createColumn","createForAuthenticatedUser","createForOrg","createForRepo","deleteCard","deleteColumn","getCard","getColumn","getPermissionForUser","listCards","listCollaborators","listColumns","moveCard","moveColumn","removeCollaborator","updateCard","updateColumn","pulls","checkIfMerged","createReplyForReviewComment","createReview","createReviewComment","deletePendingReview","deleteReviewComment","dismissReview","getReview","getReviewComment","listCommentsForReview","listFiles","listRequestedReviewers","listReviewComments","listReviewCommentsForRepo","listReviews","merge","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForTeamDiscussion","deleteForTeamDiscussionComment","deleteLegacy","deprecated","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","addAppAccessRestrictions","mapToData","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","checkCollaborator","checkVulnerabilityAlerts","compareCommits","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateEnvironment","createOrUpdateFileContents","createPagesSite","createRelease","createUsingTemplate","declineInvitation","deleteAccessRestrictions","deleteAdminBranchProtection","deleteAnEnvironment","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteFile","deleteInvitation","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","disableAutomatedSecurityFixes","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableVulnerabilityAlerts","getAccessRestrictions","getAdminBranchProtection","getAllEnvironments","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getBranch","getBranchProtection","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getDeployKey","getDeployment","getDeploymentStatus","getEnvironment","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getReadmeInDirectory","getRelease","getReleaseAsset","getReleaseByTag","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listBranches","listBranchesForHeadCommit","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listDeployKeys","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTags","listTeams","removeAppAccessRestrictions","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateInformationAboutPagesSite","updateInvitation","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","baseUrl","search","code","commits","issuesAndPullRequests","labels","topics","users","secretScanning","teams","addOrUpdateMembershipForUserInOrg","addOrUpdateProjectPermissionsInOrg","addOrUpdateRepoPermissionsInOrg","checkPermissionsForProjectInOrg","checkPermissionsForRepoInOrg","createDiscussionCommentInOrg","createDiscussionInOrg","deleteDiscussionCommentInOrg","deleteDiscussionInOrg","deleteInOrg","getByName","getDiscussionCommentInOrg","getDiscussionInOrg","getMembershipForUserInOrg","listChildInOrg","listDiscussionCommentsInOrg","listDiscussionsInOrg","listMembersInOrg","listPendingInvitationsInOrg","listProjectsInOrg","listReposInOrg","removeMembershipForUserInOrg","removeProjectInOrg","removeRepoInOrg","updateDiscussionCommentInOrg","updateDiscussionInOrg","updateInOrg","addEmailForAuthenticated","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createPublicSshKeyForAuthenticated","deleteEmailForAuthenticated","deleteGpgKeyForAuthenticated","deletePublicSshKeyForAuthenticated","follow","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getPublicSshKeyForAuthenticated","listBlockedByAuthenticated","listEmailsForAuthenticated","listFollowedByAuthenticated","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicKeysForUser","listPublicSshKeysForAuthenticated","setPrimaryEmailVisibilityForAuthenticated","unblock","unfollow","updateAuthenticated","VERSION","endpointsToMethods","octokit","endpointsMap","newMethods","scope","endpoints","Object","entries","methodName","endpoint","route","defaults","decorations","method","url","split","endpointDefaults","assign","scopeMethods","decorate","request","requestWithDefaults","withDecorations","args","options","data","undefined","newScope","newMethodName","log","warn","name","alias","restEndpointMethods","api","ENDPOINTS","rest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,SAAS,GAAG;AACdC,EAAAA,OAAO,EAAE;AACLC,IAAAA,0BAA0B,EAAE,CACxB,4EADwB,CADvB;AAILC,IAAAA,iBAAiB,EAAE,CACf,yDADe,CAJd;AAOLC,IAAAA,+BAA+B,EAAE,CAC7B,yFAD6B,CAP5B;AAULC,IAAAA,uBAAuB,EAAE,CAAC,+CAAD,CAVpB;AAWLC,IAAAA,wBAAwB,EAAE,CACtB,yDADsB,CAXrB;AAcLC,IAAAA,6BAA6B,EAAE,CAC3B,qDAD2B,CAd1B;AAiBLC,IAAAA,8BAA8B,EAAE,CAC5B,+DAD4B,CAjB3B;AAoBLC,IAAAA,uBAAuB,EAAE,CAAC,+CAAD,CApBpB;AAqBLC,IAAAA,wBAAwB,EAAE,CACtB,yDADsB,CArBrB;AAwBLC,IAAAA,sBAAsB,EAAE,CACpB,uEADoB,CAxBnB;AA2BLC,IAAAA,cAAc,EAAE,CACZ,8DADY,CA3BX;AA8BLC,IAAAA,uBAAuB,EAAE,CACrB,4FADqB,CA9BpB;AAiCLC,IAAAA,eAAe,EAAE,CAAC,kDAAD,CAjCZ;AAkCLC,IAAAA,gBAAgB,EAAE,CACd,4DADc,CAlCb;AAqCLC,IAAAA,6BAA6B,EAAE,CAC3B,gDAD2B,CArC1B;AAwCLC,IAAAA,8BAA8B,EAAE,CAC5B,0DAD4B,CAxC3B;AA2CLC,IAAAA,iBAAiB,EAAE,CAAC,oDAAD,CA3Cd;AA4CLC,IAAAA,qBAAqB,EAAE,CACnB,yDADmB,CA5ClB;AA+CLC,IAAAA,kDAAkD,EAAE,CAChD,qEADgD,CA/C/C;AAkDLC,IAAAA,eAAe,EAAE,CACb,mEADa,CAlDZ;AAqDLC,IAAAA,gBAAgB,EAAE,CACd,4EADc,CArDb;AAwDLC,IAAAA,6BAA6B,EAAE,CAC3B,sDAD2B,CAxD1B;AA2DLC,IAAAA,uBAAuB,EAAE,CACrB,sDADqB,CA3DpB;AA8DLC,IAAAA,iDAAiD,EAAE,CAC/C,kEAD+C,CA9D9C;AAiELC,IAAAA,cAAc,EAAE,CACZ,kEADY,CAjEX;AAoELC,IAAAA,6BAA6B,EAAE,CAC3B,sDAD2B,CApE1B;AAuELC,IAAAA,2BAA2B,EAAE,CACzB,gEADyB,CAvExB;AA0ELC,IAAAA,WAAW,EAAE,CAAC,2DAAD,CA1ER;AA2ELC,IAAAA,uBAAuB,EAAE,CACrB,sFADqB,CA3EpB;AA8ELC,IAAAA,oBAAoB,EAAE,CAClB,yFADkB,CA9EjB;AAiFLC,IAAAA,uCAAuC,EAAE,CACrC,qCADqC,CAjFpC;AAoFLC,IAAAA,qCAAqC,EAAE,CACnC,+CADmC,CApFlC;AAuFLC,IAAAA,oBAAoB,EAAE,CAAC,iDAAD,CAvFjB;AAwFLC,IAAAA,eAAe,EAAE,CAAC,4CAAD,CAxFZ;AAyFLC,IAAAA,YAAY,EAAE,CAAC,+CAAD,CAzFT;AA0FLC,IAAAA,2BAA2B,EAAE,CACzB,qEADyB,CA1FxB;AA6FLC,IAAAA,kBAAkB,EAAE,CAChB,+CADgB,EAEhB,EAFgB,EAGhB;AAAEC,MAAAA,OAAO,EAAE,CAAC,SAAD,EAAY,uCAAZ;AAAX,KAHgB,CA7Ff;AAkGLC,IAAAA,gBAAgB,EAAE,CAAC,sDAAD,CAlGb;AAmGLC,IAAAA,aAAa,EAAE,CAAC,yDAAD,CAnGV;AAoGLC,IAAAA,gBAAgB,EAAE,CACd,2DADc,CApGb;AAuGLC,IAAAA,yBAAyB,EAAE,CAAC,6CAAD,CAvGtB;AAwGLC,IAAAA,0BAA0B,EAAE,CACxB,uDADwB,CAxGvB;AA2GLC,IAAAA,WAAW,EAAE,CAAC,2DAAD,CA3GR;AA4GLC,IAAAA,cAAc,EAAE,CAAC,iDAAD,CA5GX;AA6GLC,IAAAA,mBAAmB,EAAE,CACjB,wDADiB,CA7GhB;AAgHLC,IAAAA,gBAAgB,EAAE,CACd,kEADc,CAhHb;AAmHLC,IAAAA,oBAAoB,EAAE,CAAC,6CAAD,CAnHjB;AAoHLC,IAAAA,sBAAsB,EAAE,CACpB,2EADoB,CApHnB;AAuHLC,IAAAA,sBAAsB,EAAE,CACpB,sDADoB,CAvHnB;AA0HLC,IAAAA,cAAc,EAAE,CAAC,iCAAD,CA1HX;AA2HLC,IAAAA,eAAe,EAAE,CAAC,2CAAD,CA3HZ;AA4HLC,IAAAA,iBAAiB,EAAE,CAAC,6CAAD,CA5Hd;AA6HLC,IAAAA,4BAA4B,EAAE,CAAC,2CAAD,CA7HzB;AA8HLC,IAAAA,6BAA6B,EAAE,CAC3B,qDAD2B,CA9H1B;AAiILC,IAAAA,6BAA6B,EAAE,CAC3B,4DAD2B,CAjI1B;AAoILC,IAAAA,wDAAwD,EAAE,CACtD,kDADsD,CApIrD;AAuILC,IAAAA,2BAA2B,EAAE,CAAC,iCAAD,CAvIxB;AAwILC,IAAAA,4BAA4B,EAAE,CAAC,2CAAD,CAxIzB;AAyILC,IAAAA,wBAAwB,EAAE,CACtB,2DADsB,CAzIrB;AA4ILC,IAAAA,gBAAgB,EAAE,CACd,gEADc,CA5Ib;AA+ILC,IAAAA,uBAAuB,EAAE,CAAC,wCAAD,CA/IpB;AAgJLC,IAAAA,aAAa,EAAE,CAAC,wDAAD,CAhJV;AAiJLC,IAAAA,+BAA+B,EAAE,CAC7B,+EAD6B,CAjJ5B;AAoJLC,IAAAA,8BAA8B,EAAE,CAC5B,sEAD4B,CApJ3B;AAuJLC,IAAAA,6BAA6B,EAAE,CAC3B,sDAD2B,CAvJ1B;AA0JLC,IAAAA,2BAA2B,EAAE,CACzB,gEADyB,CA1JxB;AA6JLC,IAAAA,uCAAuC,EAAE,CACrC,qCADqC,CA7JpC;AAgKLC,IAAAA,qCAAqC,EAAE,CACnC,+CADmC,CAhKlC;AAmKLC,IAAAA,4BAA4B,EAAE,CAC1B,4DAD0B,CAnKzB;AAsKLC,IAAAA,uDAAuD,EAAE,CACrD,kDADqD;AAtKpD,GADK;AA2KdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,qCAAqC,EAAE,CAAC,kCAAD,CADjC;AAENC,IAAAA,sBAAsB,EAAE,CAAC,2CAAD,CAFlB;AAGNC,IAAAA,wBAAwB,EAAE,CACtB,wDADsB,CAHpB;AAMNC,IAAAA,QAAQ,EAAE,CAAC,YAAD,CANJ;AAONC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAPf;AAQNC,IAAAA,SAAS,EAAE,CAAC,wCAAD,CARL;AASNC,IAAAA,yCAAyC,EAAE,CACvC,qDADuC,CATrC;AAYNC,IAAAA,8BAA8B,EAAE,CAAC,8BAAD,CAZ1B;AAaNC,IAAAA,qCAAqC,EAAE,CAAC,oBAAD,CAbjC;AAcNC,IAAAA,iCAAiC,EAAE,CAC/B,yCAD+B,CAd7B;AAiBNC,IAAAA,gBAAgB,EAAE,CAAC,aAAD,CAjBZ;AAkBNC,IAAAA,8BAA8B,EAAE,CAAC,qCAAD,CAlB1B;AAmBNC,IAAAA,uBAAuB,EAAE,CAAC,qCAAD,CAnBnB;AAoBNC,IAAAA,mBAAmB,EAAE,CAAC,wBAAD,CApBf;AAqBNC,IAAAA,yBAAyB,EAAE,CAAC,uCAAD,CArBrB;AAsBNC,IAAAA,+BAA+B,EAAE,CAC7B,8CAD6B,CAtB3B;AAyBNC,IAAAA,cAAc,EAAE,CAAC,kCAAD,CAzBV;AA0BNC,IAAAA,yCAAyC,EAAE,CACvC,yCADuC,CA1BrC;AA6BNC,IAAAA,mCAAmC,EAAE,CAAC,mBAAD,CA7B/B;AA8BNC,IAAAA,sBAAsB,EAAE,CAAC,+BAAD,CA9BlB;AA+BNC,IAAAA,sBAAsB,EAAE,CAAC,qCAAD,CA/BlB;AAgCNC,IAAAA,qBAAqB,EAAE,CAAC,sCAAD,CAhCjB;AAiCNC,IAAAA,oCAAoC,EAAE,CAAC,yBAAD,CAjChC;AAkCNC,IAAAA,mBAAmB,EAAE,CAAC,uCAAD,CAlCf;AAmCNC,IAAAA,uBAAuB,EAAE,CAAC,oBAAD,CAnCnB;AAoCNC,IAAAA,2BAA2B,EAAE,CAAC,yCAAD,CApCvB;AAqCNC,IAAAA,gBAAgB,EAAE,CAAC,0CAAD,CArCZ;AAsCNC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAtCf;AAuCNC,IAAAA,qBAAqB,EAAE,CACnB,qDADmB,CAvCjB;AA0CNC,IAAAA,4BAA4B,EAAE,CAAC,kCAAD,CA1CxB;AA2CNC,IAAAA,8BAA8B,EAAE,CAAC,qCAAD;AA3C1B,GA3KI;AAwNdC,EAAAA,IAAI,EAAE;AACFC,IAAAA,qBAAqB,EAAE,CACnB,wEADmB,CADrB;AAIFC,IAAAA,UAAU,EAAE,CAAC,sCAAD,CAJV;AAKFC,IAAAA,uBAAuB,EAAE,CACrB,6DADqB,EAErB;AAAEC,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFqB,CALvB;AASFC,IAAAA,kBAAkB,EAAE,CAAC,wCAAD,CATlB;AAUFC,IAAAA,6BAA6B,EAAE,CAC3B,yDAD2B,CAV7B;AAaFC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CAbnB;AAcFC,IAAAA,kBAAkB,EAAE,CAAC,6CAAD,CAdlB;AAeFC,IAAAA,WAAW,EAAE,CAAC,wCAAD,CAfX;AAgBFC,IAAAA,gBAAgB,EAAE,CAAC,UAAD,CAhBhB;AAiBFC,IAAAA,SAAS,EAAE,CAAC,sBAAD,CAjBT;AAkBFC,IAAAA,eAAe,EAAE,CAAC,0CAAD,CAlBf;AAmBFC,IAAAA,kBAAkB,EAAE,CAAC,8BAAD,CAnBlB;AAoBFC,IAAAA,mBAAmB,EAAE,CAAC,wCAAD,CApBnB;AAqBFC,IAAAA,6BAA6B,EAAE,CAC3B,gDAD2B,CArB7B;AAwBFC,IAAAA,oCAAoC,EAAE,CAClC,wDADkC,CAxBpC;AA2BFC,IAAAA,mBAAmB,EAAE,CAAC,oCAAD,CA3BnB;AA4BFC,IAAAA,sBAAsB,EAAE,CAAC,sBAAD,CA5BtB;AA6BFC,IAAAA,mBAAmB,EAAE,CAAC,mDAAD,CA7BnB;AA8BFC,IAAAA,0BAA0B,EAAE,CACxB,2DADwB,CA9B1B;AAiCFC,IAAAA,yCAAyC,EAAE,CACvC,wDADuC,CAjCzC;AAoCFC,IAAAA,iBAAiB,EAAE,CAAC,wBAAD,CApCjB;AAqCFC,IAAAA,qCAAqC,EAAE,CAAC,yBAAD,CArCrC;AAsCFC,IAAAA,SAAS,EAAE,CAAC,gCAAD,CAtCT;AAuCFC,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CAvChB;AAwCFC,IAAAA,iCAAiC,EAAE,CAAC,gCAAD,CAxCjC;AAyCFC,IAAAA,qCAAqC,EAAE,CAAC,iCAAD,CAzCrC;AA0CFC,IAAAA,4CAA4C,EAAE,CAC1C,yCAD0C,CA1C5C;AA6CFC,IAAAA,0BAA0B,EAAE,CACxB,2EADwB,CA7C1B;AAgDFC,IAAAA,UAAU,EAAE,CAAC,uCAAD,CAhDV;AAiDFC,IAAAA,6BAA6B,EAAE,CAAC,4BAAD,CAjD7B;AAkDFC,IAAAA,UAAU,EAAE,CAAC,6CAAD,CAlDV;AAmDFC,IAAAA,mBAAmB,EAAE,CAAC,oDAAD,CAnDnB;AAoDFC,IAAAA,qBAAqB,EAAE,CACnB,uDADmB,CApDrB;AAuDFC,IAAAA,yBAAyB,EAAE,CAAC,wBAAD;AAvDzB,GAxNQ;AAiRdC,EAAAA,OAAO,EAAE;AACLC,IAAAA,0BAA0B,EAAE,CAAC,0CAAD,CADvB;AAELC,IAAAA,2BAA2B,EAAE,CACzB,gDADyB,CAFxB;AAKLC,IAAAA,2BAA2B,EAAE,CAAC,2CAAD,CALxB;AAMLC,IAAAA,4BAA4B,EAAE,CAC1B,iDAD0B,CANzB;AASLC,IAAAA,0BAA0B,EAAE,CACxB,iDADwB,CATvB;AAYLC,IAAAA,2BAA2B,EAAE,CACzB,uDADyB;AAZxB,GAjRK;AAiSdC,EAAAA,MAAM,EAAE;AACJC,IAAAA,MAAM,EAAE,CAAC,uCAAD,CADJ;AAEJC,IAAAA,WAAW,EAAE,CAAC,yCAAD,CAFT;AAGJC,IAAAA,GAAG,EAAE,CAAC,qDAAD,CAHD;AAIJC,IAAAA,QAAQ,EAAE,CAAC,yDAAD,CAJN;AAKJC,IAAAA,eAAe,EAAE,CACb,iEADa,CALb;AAQJC,IAAAA,UAAU,EAAE,CAAC,oDAAD,CARR;AASJC,IAAAA,YAAY,EAAE,CACV,oEADU,CATV;AAYJC,IAAAA,gBAAgB,EAAE,CAAC,sDAAD,CAZd;AAaJC,IAAAA,cAAc,EAAE,CACZ,oEADY,CAbZ;AAgBJC,IAAAA,oBAAoB,EAAE,CAClB,sDADkB,CAhBlB;AAmBJC,IAAAA,MAAM,EAAE,CAAC,uDAAD;AAnBJ,GAjSM;AAsTdC,EAAAA,YAAY,EAAE;AACVC,IAAAA,cAAc,EAAE,CACZ,oFADY,CADN;AAIVC,IAAAA,QAAQ,EAAE,CACN,+DADM,EAEN,EAFM,EAGN;AAAEC,MAAAA,iBAAiB,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ;AAArB,KAHM,CAJA;AASVC,IAAAA,WAAW,EAAE,CACT,gEADS,CATH;AAYVC,IAAAA,QAAQ,EAAE,CAAC,2DAAD,CAZA;AAaVC,IAAAA,iBAAiB,EAAE,CAAC,gDAAD,CAbT;AAcVC,IAAAA,mBAAmB,EAAE,CACjB,yEADiB,CAdX;AAiBVC,IAAAA,kBAAkB,EAAE,CAAC,kDAAD,CAjBV;AAkBVC,IAAAA,WAAW,EAAE,CACT,iEADS,CAlBH;AAqBVC,IAAAA,WAAW,EAAE,CAAC,iDAAD;AArBH,GAtTA;AA6UdC,EAAAA,cAAc,EAAE;AACZC,IAAAA,oBAAoB,EAAE,CAClB,uBADkB,EAElB;AAAEjE,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFkB,CADV;AAKZiE,IAAAA,cAAc,EAAE,CACZ,6BADY,EAEZ;AAAElE,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFY,CALJ;AASZkE,IAAAA,UAAU,EAAE,CACR,qDADQ,EAER;AAAEnE,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFQ;AATA,GA7UF;AA2VdmE,EAAAA,MAAM,EAAE;AAAEzB,IAAAA,GAAG,EAAE,CAAC,aAAD;AAAP,GA3VM;AA4Vd0B,EAAAA,eAAe,EAAE;AACbC,IAAAA,kDAAkD,EAAE,CAChD,6EADgD,CADvC;AAIbC,IAAAA,iDAAiD,EAAE,CAC/C,0EAD+C,CAJtC;AAObC,IAAAA,2BAA2B,EAAE,CACzB,oEADyB,CAPhB;AAUbC,IAAAA,qCAAqC,EAAE,CACnC,mDADmC,CAV1B;AAabC,IAAAA,uDAAuD,EAAE,CACrD,iEADqD,CAb5C;AAgBbC,IAAAA,2BAA2B,EAAE,CACzB,oEADyB,CAhBhB;AAmBbC,IAAAA,qCAAqC,EAAE,CACnC,mDADmC,CAnB1B;AAsBbC,IAAAA,sDAAsD,EAAE,CACpD,iEADoD;AAtB3C,GA5VH;AAsXdC,EAAAA,KAAK,EAAE;AACHC,IAAAA,cAAc,EAAE,CAAC,2BAAD,CADb;AAEHtC,IAAAA,MAAM,EAAE,CAAC,aAAD,CAFL;AAGHuC,IAAAA,aAAa,EAAE,CAAC,gCAAD,CAHZ;AAIHC,IAAAA,MAAM,EAAE,CAAC,yBAAD,CAJL;AAKHC,IAAAA,aAAa,EAAE,CAAC,+CAAD,CALZ;AAMHC,IAAAA,IAAI,EAAE,CAAC,6BAAD,CANH;AAOHxC,IAAAA,GAAG,EAAE,CAAC,sBAAD,CAPF;AAQHyC,IAAAA,UAAU,EAAE,CAAC,4CAAD,CART;AASHC,IAAAA,WAAW,EAAE,CAAC,4BAAD,CATV;AAUHC,IAAAA,IAAI,EAAE,CAAC,YAAD,CAVH;AAWHC,IAAAA,YAAY,EAAE,CAAC,+BAAD,CAXX;AAYHC,IAAAA,WAAW,EAAE,CAAC,8BAAD,CAZV;AAaHC,IAAAA,WAAW,EAAE,CAAC,6BAAD,CAbV;AAcHC,IAAAA,SAAS,EAAE,CAAC,4BAAD,CAdR;AAeHC,IAAAA,UAAU,EAAE,CAAC,mBAAD,CAfT;AAgBHC,IAAAA,WAAW,EAAE,CAAC,oBAAD,CAhBV;AAiBHC,IAAAA,IAAI,EAAE,CAAC,2BAAD,CAjBH;AAkBHC,IAAAA,MAAM,EAAE,CAAC,8BAAD,CAlBL;AAmBH3C,IAAAA,MAAM,EAAE,CAAC,wBAAD,CAnBL;AAoBH4C,IAAAA,aAAa,EAAE,CAAC,8CAAD;AApBZ,GAtXO;AA4YdC,EAAAA,GAAG,EAAE;AACDC,IAAAA,UAAU,EAAE,CAAC,sCAAD,CADX;AAEDC,IAAAA,YAAY,EAAE,CAAC,wCAAD,CAFb;AAGDC,IAAAA,SAAS,EAAE,CAAC,qCAAD,CAHV;AAIDC,IAAAA,SAAS,EAAE,CAAC,qCAAD,CAJV;AAKDC,IAAAA,UAAU,EAAE,CAAC,sCAAD,CALX;AAMDC,IAAAA,SAAS,EAAE,CAAC,6CAAD,CANV;AAODC,IAAAA,OAAO,EAAE,CAAC,gDAAD,CAPR;AAQDC,IAAAA,SAAS,EAAE,CAAC,oDAAD,CARV;AASDC,IAAAA,MAAM,EAAE,CAAC,yCAAD,CATP;AAUDC,IAAAA,MAAM,EAAE,CAAC,8CAAD,CAVP;AAWDC,IAAAA,OAAO,EAAE,CAAC,gDAAD,CAXR;AAYDC,IAAAA,gBAAgB,EAAE,CAAC,mDAAD,CAZjB;AAaDC,IAAAA,SAAS,EAAE,CAAC,4CAAD;AAbV,GA5YS;AA2ZdC,EAAAA,SAAS,EAAE;AACPC,IAAAA,eAAe,EAAE,CAAC,0BAAD,CADV;AAEPC,IAAAA,WAAW,EAAE,CAAC,iCAAD;AAFN,GA3ZG;AA+ZdC,EAAAA,YAAY,EAAE;AACVC,IAAAA,mCAAmC,EAAE,CAAC,8BAAD,CAD3B;AAEVC,IAAAA,qBAAqB,EAAE,CAAC,oCAAD,CAFb;AAGVC,IAAAA,sBAAsB,EAAE,CAAC,8CAAD,CAHd;AAIVC,IAAAA,iCAAiC,EAAE,CAC/B,8BAD+B,EAE/B,EAF+B,EAG/B;AAAE3L,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,qCAAjB;AAAX,KAH+B,CAJzB;AASV4L,IAAAA,sCAAsC,EAAE,CAAC,iCAAD,CAT9B;AAUVC,IAAAA,wBAAwB,EAAE,CAAC,uCAAD,CAVhB;AAWVC,IAAAA,yBAAyB,EAAE,CACvB,iDADuB,CAXjB;AAcVC,IAAAA,oCAAoC,EAAE,CAClC,iCADkC,EAElC,EAFkC,EAGlC;AAAE/L,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,wCAAjB;AAAX,KAHkC,CAd5B;AAmBVgM,IAAAA,mCAAmC,EAAE,CAAC,8BAAD,CAnB3B;AAoBVC,IAAAA,qBAAqB,EAAE,CAAC,oCAAD,CApBb;AAqBVC,IAAAA,sBAAsB,EAAE,CAAC,8CAAD,CArBd;AAsBVC,IAAAA,iCAAiC,EAAE,CAC/B,8BAD+B,EAE/B,EAF+B,EAG/B;AAAEnM,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,qCAAjB;AAAX,KAH+B;AAtBzB,GA/ZA;AA2bdoM,EAAAA,MAAM,EAAE;AACJC,IAAAA,YAAY,EAAE,CACV,4DADU,CADV;AAIJC,IAAAA,SAAS,EAAE,CAAC,yDAAD,CAJP;AAKJC,IAAAA,sBAAsB,EAAE,CAAC,gDAAD,CALpB;AAMJxF,IAAAA,MAAM,EAAE,CAAC,mCAAD,CANJ;AAOJuC,IAAAA,aAAa,EAAE,CACX,2DADW,CAPX;AAUJkD,IAAAA,WAAW,EAAE,CAAC,mCAAD,CAVT;AAWJC,IAAAA,eAAe,EAAE,CAAC,uCAAD,CAXb;AAYJjD,IAAAA,aAAa,EAAE,CACX,2DADW,CAZX;AAeJkD,IAAAA,WAAW,EAAE,CAAC,4CAAD,CAfT;AAgBJC,IAAAA,eAAe,EAAE,CACb,4DADa,CAhBb;AAmBJ1F,IAAAA,GAAG,EAAE,CAAC,iDAAD,CAnBD;AAoBJyC,IAAAA,UAAU,EAAE,CAAC,wDAAD,CApBR;AAqBJkD,IAAAA,QAAQ,EAAE,CAAC,oDAAD,CArBN;AAsBJC,IAAAA,QAAQ,EAAE,CAAC,yCAAD,CAtBN;AAuBJC,IAAAA,YAAY,EAAE,CAAC,yDAAD,CAvBV;AAwBJlD,IAAAA,IAAI,EAAE,CAAC,aAAD,CAxBF;AAyBJmD,IAAAA,aAAa,EAAE,CAAC,qCAAD,CAzBX;AA0BJlD,IAAAA,YAAY,EAAE,CAAC,0DAAD,CA1BV;AA2BJmD,IAAAA,mBAAmB,EAAE,CAAC,2CAAD,CA3BjB;AA4BJC,IAAAA,UAAU,EAAE,CAAC,wDAAD,CA5BR;AA6BJC,IAAAA,iBAAiB,EAAE,CAAC,yCAAD,CA7Bf;AA8BJC,IAAAA,qBAAqB,EAAE,CACnB,0DADmB,EAEnB;AAAE7I,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,aAAD;AAAZ;AAAb,KAFmB,CA9BnB;AAkCJ6I,IAAAA,wBAAwB,EAAE,CAAC,kBAAD,CAlCtB;AAmCJC,IAAAA,UAAU,EAAE,CAAC,wBAAD,CAnCR;AAoCJC,IAAAA,WAAW,EAAE,CAAC,kCAAD,CApCT;AAqCJC,IAAAA,sBAAsB,EAAE,CACpB,gEADoB,CArCpB;AAwCJC,IAAAA,iBAAiB,EAAE,CAAC,kCAAD,CAxCf;AAyCJC,IAAAA,iBAAiB,EAAE,CACf,wDADe,CAzCf;AA4CJC,IAAAA,cAAc,EAAE,CAAC,sCAAD,CA5CZ;AA6CJC,IAAAA,IAAI,EAAE,CAAC,sDAAD,CA7CF;AA8CJC,IAAAA,eAAe,EAAE,CACb,2DADa,CA9Cb;AAiDJC,IAAAA,eAAe,EAAE,CACb,8DADa,CAjDb;AAoDJC,IAAAA,WAAW,EAAE,CACT,kEADS,CApDT;AAuDJC,IAAAA,SAAS,EAAE,CAAC,wDAAD,CAvDP;AAwDJC,IAAAA,MAAM,EAAE,CAAC,yDAAD,CAxDJ;AAyDJvG,IAAAA,MAAM,EAAE,CAAC,mDAAD,CAzDJ;AA0DJ4C,IAAAA,aAAa,EAAE,CAAC,0DAAD,CA1DX;AA2DJ4D,IAAAA,WAAW,EAAE,CAAC,2CAAD,CA3DT;AA4DJC,IAAAA,eAAe,EAAE,CACb,2DADa;AA5Db,GA3bM;AA2fdC,EAAAA,QAAQ,EAAE;AACNlH,IAAAA,GAAG,EAAE,CAAC,yBAAD,CADC;AAENmH,IAAAA,kBAAkB,EAAE,CAAC,eAAD,CAFd;AAGN3F,IAAAA,UAAU,EAAE,CAAC,mCAAD;AAHN,GA3fI;AAggBd4F,EAAAA,QAAQ,EAAE;AACNC,IAAAA,MAAM,EAAE,CAAC,gBAAD,CADF;AAENC,IAAAA,SAAS,EAAE,CACP,oBADO,EAEP;AAAEC,MAAAA,OAAO,EAAE;AAAE,wBAAgB;AAAlB;AAAX,KAFO;AAFL,GAhgBI;AAugBdC,EAAAA,IAAI,EAAE;AACFxH,IAAAA,GAAG,EAAE,CAAC,WAAD,CADH;AAEFyH,IAAAA,UAAU,EAAE,CAAC,cAAD,CAFV;AAGFC,IAAAA,MAAM,EAAE,CAAC,UAAD,CAHN;AAIFC,IAAAA,IAAI,EAAE,CAAC,OAAD;AAJJ,GAvgBQ;AA6gBdC,EAAAA,UAAU,EAAE;AACRC,IAAAA,YAAY,EAAE,CAAC,qCAAD,CADN;AAERC,IAAAA,iCAAiC,EAAE,CAC/B,gDAD+B,EAE/B;AAAEzK,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAF+B,CAF3B;AAMRyK,IAAAA,mBAAmB,EAAE,CACjB,sDADiB,EAEjB;AAAE1K,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFiB,CANb;AAUR0K,IAAAA,qBAAqB,EAAE,CACnB,mDADmB,EAEnB;AAAE3K,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFmB,CAVf;AAcR2K,IAAAA,8BAA8B,EAAE,CAC5B,6CAD4B,EAE5B;AAAE5K,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAF4B,CAdxB;AAkBR4K,IAAAA,gBAAgB,EAAE,CAAC,0CAAD,CAlBV;AAmBRC,IAAAA,eAAe,EAAE,CAAC,kCAAD,CAnBT;AAoBRC,IAAAA,aAAa,EAAE,CAAC,8CAAD,CApBP;AAqBRC,IAAAA,6BAA6B,EAAE,CAC3B,qCAD2B,EAE3B;AAAEhL,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAF2B,CArBvB;AAyBRgL,IAAAA,eAAe,EAAE,CACb,2CADa,EAEb;AAAEjL,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFa,CAzBT;AA6BR6I,IAAAA,wBAAwB,EAAE,CACtB,sBADsB,EAEtB;AAAE9I,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFsB,CA7BlB;AAiCR8I,IAAAA,UAAU,EAAE,CACR,4BADQ,EAER;AAAE/I,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFQ,CAjCJ;AAqCRiL,IAAAA,eAAe,EAAE,CACb,wDADa,EAEb;AAAElL,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFa,CArCT;AAyCRkL,IAAAA,gBAAgB,EAAE,CACd,kDADc,EAEd;AAAEnL,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFc,CAzCV;AA6CRmL,IAAAA,eAAe,EAAE,CAAC,wDAAD,CA7CT;AA8CRC,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CA9CV;AA+CRC,IAAAA,yBAAyB,EAAE,CAAC,uBAAD,CA/CnB;AAgDRC,IAAAA,WAAW,EAAE,CAAC,6BAAD,CAhDL;AAiDRC,IAAAA,WAAW,EAAE,CAAC,kCAAD,CAjDL;AAkDRC,IAAAA,8BAA8B,EAAE,CAC5B,+DAD4B,EAE5B;AAAEzL,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAF4B,CAlDxB;AAsDRyL,IAAAA,gBAAgB,EAAE,CACd,qEADc,EAEd;AAAE1L,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,WAAD;AAAZ;AAAb,KAFc,CAtDV;AA0DR0L,IAAAA,YAAY,EAAE,CAAC,oCAAD;AA1DN,GA7gBE;AAykBdC,EAAAA,IAAI,EAAE;AACFC,IAAAA,SAAS,EAAE,CAAC,mCAAD,CADT;AAEFC,IAAAA,gBAAgB,EAAE,CAAC,gDAAD,CAFhB;AAGFC,IAAAA,gBAAgB,EAAE,CAAC,mCAAD,CAHhB;AAIFC,IAAAA,sBAAsB,EAAE,CAAC,oCAAD,CAJtB;AAKFC,IAAAA,4BAA4B,EAAE,CAAC,2CAAD,CAL5B;AAMFC,IAAAA,kCAAkC,EAAE,CAChC,kDADgC,CANlC;AASFC,IAAAA,gBAAgB,EAAE,CAAC,8BAAD,CAThB;AAUFC,IAAAA,aAAa,EAAE,CAAC,wBAAD,CAVb;AAWFC,IAAAA,aAAa,EAAE,CAAC,oCAAD,CAXb;AAYF1J,IAAAA,GAAG,EAAE,CAAC,iBAAD,CAZH;AAaF2J,IAAAA,iCAAiC,EAAE,CAAC,kCAAD,CAbjC;AAcFC,IAAAA,oBAAoB,EAAE,CAAC,wCAAD,CAdpB;AAeFC,IAAAA,UAAU,EAAE,CAAC,iCAAD,CAfV;AAgBFC,IAAAA,sBAAsB,EAAE,CAAC,wCAAD,CAhBtB;AAiBFnH,IAAAA,IAAI,EAAE,CAAC,oBAAD,CAjBJ;AAkBFoH,IAAAA,oBAAoB,EAAE,CAAC,+BAAD,CAlBpB;AAmBFC,IAAAA,gBAAgB,EAAE,CAAC,wBAAD,CAnBhB;AAoBFC,IAAAA,qBAAqB,EAAE,CAAC,oCAAD,CApBrB;AAqBF9D,IAAAA,wBAAwB,EAAE,CAAC,gBAAD,CArBxB;AAsBFrD,IAAAA,WAAW,EAAE,CAAC,4BAAD,CAtBX;AAuBFoH,IAAAA,mBAAmB,EAAE,CAAC,mDAAD,CAvBnB;AAwBFC,IAAAA,WAAW,EAAE,CAAC,yBAAD,CAxBX;AAyBFC,IAAAA,mCAAmC,EAAE,CAAC,4BAAD,CAzBnC;AA0BFC,IAAAA,wBAAwB,EAAE,CAAC,uCAAD,CA1BxB;AA2BFC,IAAAA,sBAAsB,EAAE,CAAC,6BAAD,CA3BtB;AA4BFC,IAAAA,iBAAiB,EAAE,CAAC,gCAAD,CA5BjB;AA6BFC,IAAAA,YAAY,EAAE,CAAC,uBAAD,CA7BZ;AA8BFC,IAAAA,WAAW,EAAE,CAAC,wCAAD,CA9BX;AA+BFC,IAAAA,YAAY,EAAE,CAAC,uCAAD,CA/BZ;AAgCFC,IAAAA,uBAAuB,EAAE,CAAC,2CAAD,CAhCvB;AAiCFC,IAAAA,yBAAyB,EAAE,CACvB,qDADuB,CAjCzB;AAoCFC,IAAAA,0CAA0C,EAAE,CACxC,8CADwC,CApC1C;AAuCFC,IAAAA,oBAAoB,EAAE,CAAC,wCAAD,CAvCpB;AAwCFC,IAAAA,uCAAuC,EAAE,CACrC,2CADqC,CAxCvC;AA2CFC,IAAAA,WAAW,EAAE,CAAC,sCAAD,CA3CX;AA4CFxK,IAAAA,MAAM,EAAE,CAAC,mBAAD,CA5CN;AA6CFyK,IAAAA,oCAAoC,EAAE,CAClC,oCADkC,CA7CpC;AAgDFC,IAAAA,aAAa,EAAE,CAAC,mCAAD,CAhDb;AAiDFC,IAAAA,yBAAyB,EAAE,CAAC,0CAAD;AAjDzB,GAzkBQ;AA4nBdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,iCAAiC,EAAE,CAC/B,qDAD+B,CAD7B;AAINC,IAAAA,mBAAmB,EAAE,CACjB,2DADiB,CAJf;AAONC,IAAAA,wCAAwC,EAAE,CACtC,mFADsC,CAPpC;AAUNC,IAAAA,0BAA0B,EAAE,CACxB,yFADwB,CAVtB;AAaNC,IAAAA,4CAA4C,EAAE,CAC1C,iEAD0C,EAE1C,EAF0C,EAG1C;AAAE1S,MAAAA,OAAO,EAAE,CAAC,UAAD,EAAa,2CAAb;AAAX,KAH0C,CAbxC;AAkBN2S,IAAAA,2DAA2D,EAAE,CACzD,2DADyD,EAEzD,EAFyD,EAGzD;AACI3S,MAAAA,OAAO,EAAE,CACL,UADK,EAEL,yDAFK;AADb,KAHyD,CAlBvD;AA4BN4S,IAAAA,uDAAuD,EAAE,CACrD,2DADqD,CA5BnD;AA+BNC,IAAAA,yCAAyC,EAAE,CACvC,iEADuC,CA/BrC;AAkCNC,IAAAA,0CAA0C,EAAE,CACxC,uEADwC,CAlCtC;AAqCNC,IAAAA,8BAA8B,EAAE,CAC5B,kDAD4B,CArC1B;AAwCNC,IAAAA,yBAAyB,EAAE,CACvB,wDADuB,CAxCrB;AA2CNC,IAAAA,iBAAiB,EAAE,CACf,8DADe,CA3Cb;AA8CNC,IAAAA,qCAAqC,EAAE,CACnC,gFADmC,CA9CjC;AAiDNC,IAAAA,gCAAgC,EAAE,CAC9B,sFAD8B,CAjD5B;AAoDNC,IAAAA,wBAAwB,EAAE,CACtB,4FADsB,CApDpB;AAuDNC,IAAAA,kCAAkC,EAAE,CAChC,mEADgC,CAvD9B;AA0DNC,IAAAA,oBAAoB,EAAE,CAClB,yEADkB,CA1DhB;AA6DNC,IAAAA,yCAAyC,EAAE,CACvC,yFADuC,CA7DrC;AAgENC,IAAAA,2BAA2B,EAAE,CACzB,+FADyB;AAhEvB,GA5nBI;AAgsBdC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,eAAe,EAAE,CACb,qDADa,EAEb;AAAEpP,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFa,CADX;AAKNoP,IAAAA,UAAU,EAAE,CACR,0CADQ,EAER;AAAErP,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFQ,CALN;AASNqP,IAAAA,YAAY,EAAE,CACV,qCADU,EAEV;AAAEtP,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFU,CATR;AAaNsP,IAAAA,0BAA0B,EAAE,CACxB,qBADwB,EAExB;AAAEvP,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFwB,CAbtB;AAiBNuP,IAAAA,YAAY,EAAE,CACV,2BADU,EAEV;AAAExP,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFU,CAjBR;AAqBNwP,IAAAA,aAAa,EAAE,CACX,qCADW,EAEX;AAAEzP,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFW,CArBT;AAyBNgF,IAAAA,MAAM,EAAE,CACJ,+BADI,EAEJ;AAAEjF,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFI,CAzBF;AA6BNyP,IAAAA,UAAU,EAAE,CACR,0CADQ,EAER;AAAE1P,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFQ,CA7BN;AAiCN0P,IAAAA,YAAY,EAAE,CACV,sCADU,EAEV;AAAE3P,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFU,CAjCR;AAqCN0C,IAAAA,GAAG,EAAE,CACD,4BADC,EAED;AAAE3C,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFC,CArCC;AAyCN2P,IAAAA,OAAO,EAAE,CACL,uCADK,EAEL;AAAE5P,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFK,CAzCH;AA6CN4P,IAAAA,SAAS,EAAE,CACP,mCADO,EAEP;AAAE7P,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFO,CA7CL;AAiDN6P,IAAAA,oBAAoB,EAAE,CAClB,gEADkB,EAElB;AAAE9P,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFkB,CAjDhB;AAqDN8P,IAAAA,SAAS,EAAE,CACP,yCADO,EAEP;AAAE/P,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFO,CArDL;AAyDN+P,IAAAA,iBAAiB,EAAE,CACf,0CADe,EAEf;AAAEhQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFe,CAzDb;AA6DNgQ,IAAAA,WAAW,EAAE,CACT,oCADS,EAET;AAAEjQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFS,CA7DP;AAiEN8I,IAAAA,UAAU,EAAE,CACR,0BADQ,EAER;AAAE/I,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFQ,CAjEN;AAqEN+I,IAAAA,WAAW,EAAE,CACT,oCADS,EAET;AAAEhJ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFS,CArEP;AAyENwF,IAAAA,WAAW,EAAE,CACT,gCADS,EAET;AAAEzF,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFS,CAzEP;AA6ENiQ,IAAAA,QAAQ,EAAE,CACN,8CADM,EAEN;AAAElQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFM,CA7EJ;AAiFNkQ,IAAAA,UAAU,EAAE,CACR,0CADQ,EAER;AAAEnQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFQ,CAjFN;AAqFNmQ,IAAAA,kBAAkB,EAAE,CAChB,wDADgB,EAEhB;AAAEpQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFgB,CArFd;AAyFNkD,IAAAA,MAAM,EAAE,CACJ,8BADI,EAEJ;AAAEnD,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFI,CAzFF;AA6FNoQ,IAAAA,UAAU,EAAE,CACR,yCADQ,EAER;AAAErQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFQ,CA7FN;AAiGNqQ,IAAAA,YAAY,EAAE,CACV,qCADU,EAEV;AAAEtQ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFU;AAjGR,GAhsBI;AAsyBdsQ,EAAAA,KAAK,EAAE;AACHC,IAAAA,aAAa,EAAE,CAAC,qDAAD,CADZ;AAEH/N,IAAAA,MAAM,EAAE,CAAC,kCAAD,CAFL;AAGHgO,IAAAA,2BAA2B,EAAE,CACzB,8EADyB,CAH1B;AAMHC,IAAAA,YAAY,EAAE,CAAC,wDAAD,CANX;AAOHC,IAAAA,mBAAmB,EAAE,CACjB,yDADiB,CAPlB;AAUHC,IAAAA,mBAAmB,EAAE,CACjB,sEADiB,CAVlB;AAaHC,IAAAA,mBAAmB,EAAE,CACjB,0DADiB,CAblB;AAgBHC,IAAAA,aAAa,EAAE,CACX,8EADW,CAhBZ;AAmBHnO,IAAAA,GAAG,EAAE,CAAC,+CAAD,CAnBF;AAoBHoO,IAAAA,SAAS,EAAE,CACP,mEADO,CApBR;AAuBHC,IAAAA,gBAAgB,EAAE,CAAC,uDAAD,CAvBf;AAwBH1L,IAAAA,IAAI,EAAE,CAAC,iCAAD,CAxBH;AAyBH2L,IAAAA,qBAAqB,EAAE,CACnB,4EADmB,CAzBpB;AA4BHzL,IAAAA,WAAW,EAAE,CAAC,uDAAD,CA5BV;AA6BH0L,IAAAA,SAAS,EAAE,CAAC,qDAAD,CA7BR;AA8BHC,IAAAA,sBAAsB,EAAE,CACpB,mEADoB,CA9BrB;AAiCHC,IAAAA,kBAAkB,EAAE,CAChB,wDADgB,CAjCjB;AAoCHC,IAAAA,yBAAyB,EAAE,CAAC,0CAAD,CApCxB;AAqCHC,IAAAA,WAAW,EAAE,CAAC,uDAAD,CArCV;AAsCHC,IAAAA,KAAK,EAAE,CAAC,qDAAD,CAtCJ;AAuCHC,IAAAA,wBAAwB,EAAE,CACtB,sEADsB,CAvCvB;AA0CHC,IAAAA,gBAAgB,EAAE,CACd,oEADc,CA1Cf;AA6CHC,IAAAA,YAAY,EAAE,CACV,2EADU,CA7CX;AAgDHvO,IAAAA,MAAM,EAAE,CAAC,iDAAD,CAhDL;AAiDHwO,IAAAA,YAAY,EAAE,CACV,6DADU,EAEV;AAAE3R,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,QAAD;AAAZ;AAAb,KAFU,CAjDX;AAqDH2R,IAAAA,YAAY,EAAE,CACV,mEADU,CArDX;AAwDHC,IAAAA,mBAAmB,EAAE,CACjB,yDADiB;AAxDlB,GAtyBO;AAk2BdC,EAAAA,SAAS,EAAE;AAAEnP,IAAAA,GAAG,EAAE,CAAC,iBAAD;AAAP,GAl2BG;AAm2BdoP,EAAAA,SAAS,EAAE;AACPC,IAAAA,sBAAsB,EAAE,CACpB,4DADoB,EAEpB;AAAEhS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFoB,CADjB;AAKPgS,IAAAA,cAAc,EAAE,CACZ,4DADY,EAEZ;AAAEjS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFY,CALT;AASPiS,IAAAA,qBAAqB,EAAE,CACnB,mEADmB,EAEnB;AAAElS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFmB,CAThB;AAaPkS,IAAAA,iCAAiC,EAAE,CAC/B,kEAD+B,EAE/B;AAAEnS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAF+B,CAb5B;AAiBPmS,IAAAA,mCAAmC,EAAE,CACjC,wGADiC,EAEjC;AAAEpS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFiC,CAjB9B;AAqBPoS,IAAAA,4BAA4B,EAAE,CAC1B,8EAD0B,EAE1B;AAAErS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAF0B,CArBvB;AAyBPqS,IAAAA,sBAAsB,EAAE,CACpB,4EADoB,EAEpB;AAAEtS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFoB,CAzBjB;AA6BPsS,IAAAA,cAAc,EAAE,CACZ,4EADY,EAEZ;AAAEvS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFY,CA7BT;AAiCPuS,IAAAA,qBAAqB,EAAE,CACnB,mFADmB,EAEnB;AAAExS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFmB,CAjChB;AAqCPwS,IAAAA,2BAA2B,EAAE,CACzB,kFADyB,EAEzB;AAAEzS,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFyB,CArCtB;AAyCPyS,IAAAA,uBAAuB,EAAE,CACrB,8FADqB,EAErB;AAAE1S,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFqB,CAzClB;AA6CP0S,IAAAA,8BAA8B,EAAE,CAC5B,wHAD4B,EAE5B;AAAE3S,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAF4B,CA7CzB;AAiDP2S,IAAAA,YAAY,EAAE,CACV,iCADU,EAEV;AAAE5S,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFU,EAGV;AACI4S,MAAAA,UAAU,EAAE;AADhB,KAHU,CAjDP;AAwDPC,IAAAA,oBAAoB,EAAE,CAClB,2DADkB,EAElB;AAAE9S,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFkB,CAxDf;AA4DP8S,IAAAA,YAAY,EAAE,CACV,2DADU,EAEV;AAAE/S,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFU,CA5DP;AAgEP+S,IAAAA,mBAAmB,EAAE,CACjB,kEADiB,EAEjB;AAAEhT,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFiB,CAhEd;AAoEPgT,IAAAA,+BAA+B,EAAE,CAC7B,iEAD6B,EAE7B;AAAEjT,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAF6B,CApE1B;AAwEPiT,IAAAA,iCAAiC,EAAE,CAC/B,uGAD+B,EAE/B;AAAElT,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAF+B,CAxE5B;AA4EPkT,IAAAA,0BAA0B,EAAE,CACxB,6EADwB,EAExB;AAAEnT,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,eAAD;AAAZ;AAAb,KAFwB;AA5ErB,GAn2BG;AAo7BdmT,EAAAA,KAAK,EAAE;AACHC,IAAAA,gBAAgB,EAAE,CAAC,oDAAD,CADf;AAEHC,IAAAA,wBAAwB,EAAE,CACtB,2EADsB,EAEtB,EAFsB,EAGtB;AAAEC,MAAAA,SAAS,EAAE;AAAb,KAHsB,CAFvB;AAOHnE,IAAAA,eAAe,EAAE,CAAC,oDAAD,CAPd;AAQHoE,IAAAA,sBAAsB,EAAE,CACpB,yFADoB,EAEpB,EAFoB,EAGpB;AAAED,MAAAA,SAAS,EAAE;AAAb,KAHoB,CARrB;AAaHE,IAAAA,yBAAyB,EAAE,CACvB,4EADuB,EAEvB,EAFuB,EAGvB;AAAEF,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAbxB;AAkBHG,IAAAA,yBAAyB,EAAE,CACvB,4EADuB,EAEvB,EAFuB,EAGvB;AAAEH,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAlBxB;AAuBHI,IAAAA,iBAAiB,EAAE,CAAC,oDAAD,CAvBhB;AAwBHC,IAAAA,wBAAwB,EAAE,CACtB,gDADsB,EAEtB;AAAE5T,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,QAAD;AAAZ;AAAb,KAFsB,CAxBvB;AA4BH4T,IAAAA,cAAc,EAAE,CAAC,mDAAD,CA5Bb;AA6BHC,IAAAA,mBAAmB,EAAE,CACjB,0DADiB,CA7BlB;AAgCHC,IAAAA,+BAA+B,EAAE,CAC7B,6EAD6B,EAE7B;AAAE/T,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAF6B,CAhC9B;AAoCH+T,IAAAA,kBAAkB,EAAE,CAAC,2CAAD,CApCjB;AAqCHC,IAAAA,eAAe,EAAE,CAAC,iCAAD,CArCd;AAsCHC,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CAtCf;AAuCHC,IAAAA,sBAAsB,EAAE,CACpB,iEADoB,CAvCrB;AA0CHC,IAAAA,mBAAmB,EAAE,CAAC,uCAAD,CA1ClB;AA2CH7E,IAAAA,0BAA0B,EAAE,CAAC,kBAAD,CA3CzB;AA4CH8E,IAAAA,UAAU,EAAE,CAAC,kCAAD,CA5CT;AA6CHC,IAAAA,WAAW,EAAE,CAAC,wBAAD,CA7CV;AA8CHC,IAAAA,yBAAyB,EAAE,CACvB,2DADuB,CA9CxB;AAiDHC,IAAAA,0BAA0B,EAAE,CAAC,2CAAD,CAjDzB;AAkDHC,IAAAA,eAAe,EAAE,CACb,kCADa,EAEb;AAAEzU,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,YAAD;AAAZ;AAAb,KAFa,CAlDd;AAsDHyU,IAAAA,aAAa,EAAE,CAAC,qCAAD,CAtDZ;AAuDHC,IAAAA,mBAAmB,EAAE,CACjB,uDADiB,EAEjB;AAAE3U,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,UAAD;AAAZ;AAAb,KAFiB,CAvDlB;AA2DHmM,IAAAA,aAAa,EAAE,CAAC,kCAAD,CA3DZ;AA4DHwI,IAAAA,iBAAiB,EAAE,CAAC,qDAAD,CA5DhB;AA6DH3P,IAAAA,MAAM,EAAE,CAAC,8BAAD,CA7DL;AA8DH4P,IAAAA,wBAAwB,EAAE,CACtB,wEADsB,CA9DvB;AAiEHC,IAAAA,2BAA2B,EAAE,CACzB,0EADyB,CAjE1B;AAoEHC,IAAAA,mBAAmB,EAAE,CACjB,8DADiB,CApElB;AAuEHC,IAAAA,sBAAsB,EAAE,CACpB,2DADoB,CAvErB;AA0EHC,IAAAA,mBAAmB,EAAE,CAAC,oDAAD,CA1ElB;AA2EHC,IAAAA,+BAA+B,EAAE,CAC7B,+EAD6B,EAE7B;AAAElV,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAF6B,CA3E9B;AA+EHkV,IAAAA,eAAe,EAAE,CAAC,4CAAD,CA/Ed;AAgFHC,IAAAA,gBAAgB,EAAE,CACd,0DADc,CAhFf;AAmFHC,IAAAA,UAAU,EAAE,CAAC,8CAAD,CAnFT;AAoFHC,IAAAA,gBAAgB,EAAE,CACd,0DADc,CApFf;AAuFHC,IAAAA,eAAe,EAAE,CACb,oCADa,EAEb;AAAEvV,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,YAAD;AAAZ;AAAb,KAFa,CAvFd;AA2FHuV,IAAAA,iCAAiC,EAAE,CAC/B,yFAD+B,CA3FhC;AA8FHC,IAAAA,aAAa,EAAE,CAAC,oDAAD,CA9FZ;AA+FHC,IAAAA,kBAAkB,EAAE,CAChB,yDADgB,CA/FjB;AAkGHrJ,IAAAA,aAAa,EAAE,CAAC,8CAAD,CAlGZ;AAmGHsJ,IAAAA,6BAA6B,EAAE,CAC3B,uDAD2B,EAE3B;AAAE3V,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,QAAD;AAAZ;AAAb,KAF2B,CAnG5B;AAuGH2V,IAAAA,0BAA0B,EAAE,CACxB,mDADwB,EAExB;AAAE5V,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,QAAD;AAAZ;AAAb,KAFwB,CAvGzB;AA2GH4V,IAAAA,eAAe,EAAE,CACb,yCADa,EAEb,EAFa,EAGb;AAAEna,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,wBAAV;AAAX,KAHa,CA3Gd;AAgHHoa,IAAAA,sBAAsB,EAAE,CAAC,yCAAD,CAhHrB;AAiHHC,IAAAA,sBAAsB,EAAE,CAAC,yCAAD,CAjHrB;AAkHHC,IAAAA,4BAA4B,EAAE,CAC1B,oDAD0B,EAE1B;AAAEhW,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,QAAD;AAAZ;AAAb,KAF0B,CAlH3B;AAsHHgW,IAAAA,yBAAyB,EAAE,CACvB,gDADuB,EAEvB;AAAEjW,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,QAAD;AAAZ;AAAb,KAFuB,CAtHxB;AA0HH0C,IAAAA,GAAG,EAAE,CAAC,2BAAD,CA1HF;AA2HHuT,IAAAA,qBAAqB,EAAE,CACnB,qEADmB,CA3HpB;AA8HHC,IAAAA,wBAAwB,EAAE,CACtB,uEADsB,CA9HvB;AAiIHC,IAAAA,kBAAkB,EAAE,CAAC,wCAAD,CAjIjB;AAkIHC,IAAAA,yBAAyB,EAAE,CACvB,wFADuB,CAlIxB;AAqIHC,IAAAA,YAAY,EAAE,CACV,kCADU,EAEV;AAAEtW,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAFU,CArIX;AAyIHsW,IAAAA,kCAAkC,EAAE,CAChC,0EADgC,CAzIjC;AA4IHC,IAAAA,SAAS,EAAE,CAAC,6CAAD,CA5IR;AA6IHC,IAAAA,mBAAmB,EAAE,CACjB,wDADiB,CA7IlB;AAgJHC,IAAAA,SAAS,EAAE,CAAC,0CAAD,CAhJR;AAiJHC,IAAAA,qBAAqB,EAAE,CAAC,gDAAD,CAjJpB;AAkJHC,IAAAA,8BAA8B,EAAE,CAC5B,+DAD4B,CAlJ7B;AAqJHC,IAAAA,uBAAuB,EAAE,CAAC,gDAAD,CArJtB;AAsJHrQ,IAAAA,SAAS,EAAE,CAAC,yCAAD,CAtJR;AAuJHsQ,IAAAA,sBAAsB,EAAE,CAAC,iDAAD,CAvJrB;AAwJHC,IAAAA,gBAAgB,EAAE,CAAC,iDAAD,CAxJf;AAyJHC,IAAAA,4BAA4B,EAAE,CAC1B,4EAD0B,EAE1B;AAAEhX,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAF0B,CAzJ3B;AA6JHgX,IAAAA,0BAA0B,EAAE,CAAC,6CAAD,CA7JzB;AA8JHC,IAAAA,UAAU,EAAE,CAAC,2CAAD,CA9JT;AA+JHC,IAAAA,oBAAoB,EAAE,CAAC,8CAAD,CA/JnB;AAgKHC,IAAAA,YAAY,EAAE,CAAC,yCAAD,CAhKX;AAiKHC,IAAAA,aAAa,EAAE,CAAC,uDAAD,CAjKZ;AAkKHC,IAAAA,mBAAmB,EAAE,CACjB,4EADiB,CAlKlB;AAqKHC,IAAAA,cAAc,EAAE,CACZ,2DADY,CArKb;AAwKHC,IAAAA,mBAAmB,EAAE,CAAC,+CAAD,CAxKlB;AAyKHC,IAAAA,gBAAgB,EAAE,CAAC,2CAAD,CAzKf;AA0KHC,IAAAA,QAAQ,EAAE,CAAC,iCAAD,CA1KP;AA2KHC,IAAAA,aAAa,EAAE,CAAC,mDAAD,CA3KZ;AA4KHC,IAAAA,qBAAqB,EAAE,CAAC,+CAAD,CA5KpB;AA6KHC,IAAAA,8BAA8B,EAAE,CAC5B,sFAD4B,CA7K7B;AAgLHC,IAAAA,iBAAiB,EAAE,CAAC,4CAAD,CAhLhB;AAiLHC,IAAAA,SAAS,EAAE,CAAC,kCAAD,CAjLR;AAkLHC,IAAAA,oBAAoB,EAAE,CAAC,wCAAD,CAlLnB;AAmLHC,IAAAA,UAAU,EAAE,CAAC,iDAAD,CAnLT;AAoLHC,IAAAA,eAAe,EAAE,CAAC,sDAAD,CApLd;AAqLHC,IAAAA,eAAe,EAAE,CAAC,+CAAD,CArLd;AAsLHC,IAAAA,yBAAyB,EAAE,CACvB,+EADuB,CAtLxB;AAyLHC,IAAAA,mCAAmC,EAAE,CACjC,2EADiC,CAzLlC;AA4LHC,IAAAA,WAAW,EAAE,CAAC,iDAAD,CA5LV;AA6LHC,IAAAA,eAAe,EAAE,CAAC,qDAAD,CA7Ld;AA8LHC,IAAAA,mCAAmC,EAAE,CACjC,2EADiC,CA9LlC;AAiMHC,IAAAA,QAAQ,EAAE,CAAC,yCAAD,CAjMP;AAkMHjM,IAAAA,UAAU,EAAE,CAAC,2CAAD,CAlMT;AAmMHkM,IAAAA,uBAAuB,EAAE,CACrB,kDADqB,CAnMtB;AAsMHC,IAAAA,YAAY,EAAE,CAAC,oCAAD,CAtMX;AAuMHC,IAAAA,yBAAyB,EAAE,CACvB,oEADuB,EAEvB;AAAE5Y,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAFuB,CAvMxB;AA2MH+P,IAAAA,iBAAiB,EAAE,CAAC,yCAAD,CA3MhB;AA4MH6I,IAAAA,qBAAqB,EAAE,CACnB,yDADmB,CA5MpB;AA+MHC,IAAAA,yBAAyB,EAAE,CAAC,oCAAD,CA/MxB;AAgNHC,IAAAA,wBAAwB,EAAE,CACtB,kDADsB,CAhNvB;AAmNHvT,IAAAA,WAAW,EAAE,CAAC,mCAAD,CAnNV;AAoNHwT,IAAAA,gBAAgB,EAAE,CAAC,wCAAD,CApNf;AAqNHC,IAAAA,cAAc,EAAE,CAAC,gCAAD,CArNb;AAsNHC,IAAAA,sBAAsB,EAAE,CACpB,gEADoB,CAtNrB;AAyNHC,IAAAA,eAAe,EAAE,CAAC,uCAAD,CAzNd;AA0NHrQ,IAAAA,wBAAwB,EAAE,CAAC,iBAAD,CA1NvB;AA2NHC,IAAAA,UAAU,EAAE,CAAC,uBAAD,CA3NT;AA4NHtD,IAAAA,WAAW,EAAE,CAAC,6BAAD,CA5NV;AA6NHC,IAAAA,SAAS,EAAE,CAAC,iCAAD,CA7NR;AA8NH0T,IAAAA,eAAe,EAAE,CAAC,uCAAD,CA9Nd;AA+NHC,IAAAA,mCAAmC,EAAE,CAAC,kCAAD,CA/NlC;AAgOHC,IAAAA,aAAa,EAAE,CAAC,qCAAD,CAhOZ;AAiOHC,IAAAA,eAAe,EAAE,CAAC,wCAAD,CAjOd;AAkOH5T,IAAAA,UAAU,EAAE,CAAC,mBAAD,CAlOT;AAmOH6T,IAAAA,oCAAoC,EAAE,CAClC,sDADkC,EAElC;AAAExZ,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAFkC,CAnOnC;AAuOHwZ,IAAAA,iBAAiB,EAAE,CACf,wDADe,CAvOhB;AA0OHC,IAAAA,YAAY,EAAE,CAAC,oCAAD,CA1OX;AA2OHC,IAAAA,QAAQ,EAAE,CAAC,gCAAD,CA3OP;AA4OHC,IAAAA,SAAS,EAAE,CAAC,iCAAD,CA5OR;AA6OHzM,IAAAA,YAAY,EAAE,CAAC,iCAAD,CA7OX;AA8OHoE,IAAAA,KAAK,EAAE,CAAC,mCAAD,CA9OJ;AA+OHnE,IAAAA,WAAW,EAAE,CAAC,kDAAD,CA/OV;AAgPHyM,IAAAA,2BAA2B,EAAE,CACzB,6EADyB,EAEzB,EAFyB,EAGzB;AAAEtG,MAAAA,SAAS,EAAE;AAAb,KAHyB,CAhP1B;AAqPHnD,IAAAA,kBAAkB,EAAE,CAChB,uDADgB,CArPjB;AAwPH0J,IAAAA,yBAAyB,EAAE,CACvB,2FADuB,EAEvB,EAFuB,EAGvB;AAAEvG,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAxPxB;AA6PHwG,IAAAA,2BAA2B,EAAE,CACzB,kFADyB,CA7P1B;AAgQHC,IAAAA,4BAA4B,EAAE,CAC1B,8EAD0B,EAE1B,EAF0B,EAG1B;AAAEzG,MAAAA,SAAS,EAAE;AAAb,KAH0B,CAhQ3B;AAqQH0G,IAAAA,4BAA4B,EAAE,CAC1B,8EAD0B,EAE1B,EAF0B,EAG1B;AAAE1G,MAAAA,SAAS,EAAE;AAAb,KAH0B,CArQ3B;AA0QH2G,IAAAA,YAAY,EAAE,CAAC,qDAAD,CA1QX;AA2QHC,IAAAA,gBAAgB,EAAE,CACd,kCADc,EAEd;AAAEna,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAFc,CA3Qf;AA+QHma,IAAAA,iBAAiB,EAAE,CAAC,yCAAD,CA/QhB;AAgRHC,IAAAA,wBAAwB,EAAE,CACtB,wEADsB,CAhRvB;AAmRHC,IAAAA,wBAAwB,EAAE,CACtB,0EADsB,EAEtB,EAFsB,EAGtB;AAAE/G,MAAAA,SAAS,EAAE;AAAb,KAHsB,CAnRvB;AAwRHgH,IAAAA,sBAAsB,EAAE,CACpB,wFADoB,EAEpB,EAFoB,EAGpB;AAAEhH,MAAAA,SAAS,EAAE;AAAb,KAHoB,CAxRrB;AA6RHiH,IAAAA,yBAAyB,EAAE,CACvB,2EADuB,EAEvB,EAFuB,EAGvB;AAAEjH,MAAAA,SAAS,EAAE;AAAb,KAHuB,CA7RxB;AAkSHkH,IAAAA,yBAAyB,EAAE,CACvB,2EADuB,EAEvB,EAFuB,EAGvB;AAAElH,MAAAA,SAAS,EAAE;AAAb,KAHuB,CAlSxB;AAuSHmH,IAAAA,eAAe,EAAE,CAAC,kDAAD,CAvSd;AAwSHC,IAAAA,QAAQ,EAAE,CAAC,qCAAD,CAxSP;AAySHxX,IAAAA,MAAM,EAAE,CAAC,6BAAD,CAzSL;AA0SHyX,IAAAA,sBAAsB,EAAE,CACpB,wDADoB,CA1SrB;AA6SHC,IAAAA,mBAAmB,EAAE,CAAC,mDAAD,CA7SlB;AA8SHC,IAAAA,+BAA+B,EAAE,CAAC,iCAAD,CA9S9B;AA+SHC,IAAAA,gBAAgB,EAAE,CACd,yDADc,CA/Sf;AAkTHC,IAAAA,iCAAiC,EAAE,CAC/B,wFAD+B,CAlThC;AAqTHC,IAAAA,aAAa,EAAE,CAAC,mDAAD,CArTZ;AAsTHC,IAAAA,kBAAkB,EAAE,CAChB,wDADgB,CAtTjB;AAyTHC,IAAAA,0BAA0B,EAAE,CACxB,iFADwB,EAExB,EAFwB,EAGxB;AAAEzf,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,6BAAV;AAAX,KAHwB,CAzTzB;AA8TH0f,IAAAA,2BAA2B,EAAE,CACzB,iFADyB,CA9T1B;AAiUHvN,IAAAA,aAAa,EAAE,CAAC,6CAAD,CAjUZ;AAkUHwN,IAAAA,0BAA0B,EAAE,CACxB,oDADwB,CAlUzB;AAqUHC,IAAAA,kBAAkB,EAAE,CAChB,sEADgB,EAEhB;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAFgB;AArUjB,GAp7BO;AA8vCdC,EAAAA,MAAM,EAAE;AACJC,IAAAA,IAAI,EAAE,CAAC,kBAAD,CADF;AAEJC,IAAAA,OAAO,EAAE,CAAC,qBAAD,EAAwB;AAAE1b,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAAxB,CAFL;AAGJ0b,IAAAA,qBAAqB,EAAE,CAAC,oBAAD,CAHnB;AAIJC,IAAAA,MAAM,EAAE,CAAC,oBAAD,CAJJ;AAKJxI,IAAAA,KAAK,EAAE,CAAC,0BAAD,CALH;AAMJyI,IAAAA,MAAM,EAAE,CAAC,oBAAD,EAAuB;AAAE7b,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,OAAD;AAAZ;AAAb,KAAvB,CANJ;AAOJ6b,IAAAA,KAAK,EAAE,CAAC,mBAAD;AAPH,GA9vCM;AAuwCdC,EAAAA,cAAc,EAAE;AACZzY,IAAAA,QAAQ,EAAE,CACN,iEADM,CADE;AAIZK,IAAAA,iBAAiB,EAAE,CAAC,kDAAD,CAJP;AAKZG,IAAAA,WAAW,EAAE,CACT,mEADS;AALD,GAvwCF;AAgxCdkY,EAAAA,KAAK,EAAE;AACHC,IAAAA,iCAAiC,EAAE,CAC/B,0DAD+B,CADhC;AAIHC,IAAAA,kCAAkC,EAAE,CAChC,yDADgC,EAEhC;AAAElc,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFgC,CAJjC;AAQHkc,IAAAA,+BAA+B,EAAE,CAC7B,wDAD6B,CAR9B;AAWHC,IAAAA,+BAA+B,EAAE,CAC7B,yDAD6B,EAE7B;AAAEpc,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAF6B,CAX9B;AAeHoc,IAAAA,4BAA4B,EAAE,CAC1B,wDAD0B,CAf3B;AAkBH5Z,IAAAA,MAAM,EAAE,CAAC,wBAAD,CAlBL;AAmBH6Z,IAAAA,4BAA4B,EAAE,CAC1B,6EAD0B,CAnB3B;AAsBHC,IAAAA,qBAAqB,EAAE,CAAC,gDAAD,CAtBpB;AAuBHC,IAAAA,4BAA4B,EAAE,CAC1B,gGAD0B,CAvB3B;AA0BHC,IAAAA,qBAAqB,EAAE,CACnB,sEADmB,CA1BpB;AA6BHC,IAAAA,WAAW,EAAE,CAAC,sCAAD,CA7BV;AA8BHC,IAAAA,SAAS,EAAE,CAAC,mCAAD,CA9BR;AA+BHC,IAAAA,yBAAyB,EAAE,CACvB,6FADuB,CA/BxB;AAkCHC,IAAAA,kBAAkB,EAAE,CAChB,mEADgB,CAlCjB;AAqCHC,IAAAA,yBAAyB,EAAE,CACvB,0DADuB,CArCxB;AAwCHxX,IAAAA,IAAI,EAAE,CAAC,uBAAD,CAxCH;AAyCHyX,IAAAA,cAAc,EAAE,CAAC,yCAAD,CAzCb;AA0CHC,IAAAA,2BAA2B,EAAE,CACzB,4EADyB,CA1C1B;AA6CHC,IAAAA,oBAAoB,EAAE,CAAC,+CAAD,CA7CnB;AA8CHnU,IAAAA,wBAAwB,EAAE,CAAC,iBAAD,CA9CvB;AA+CHoU,IAAAA,gBAAgB,EAAE,CAAC,2CAAD,CA/Cf;AAgDHC,IAAAA,2BAA2B,EAAE,CACzB,+CADyB,CAhD1B;AAmDHC,IAAAA,iBAAiB,EAAE,CACf,4CADe,EAEf;AAAEpd,MAAAA,SAAS,EAAE;AAAEC,QAAAA,QAAQ,EAAE,CAAC,SAAD;AAAZ;AAAb,KAFe,CAnDhB;AAuDHod,IAAAA,cAAc,EAAE,CAAC,yCAAD,CAvDb;AAwDHC,IAAAA,4BAA4B,EAAE,CAC1B,6DAD0B,CAxD3B;AA2DHC,IAAAA,kBAAkB,EAAE,CAChB,4DADgB,CA3DjB;AA8DHC,IAAAA,eAAe,EAAE,CACb,2DADa,CA9Dd;AAiEHC,IAAAA,4BAA4B,EAAE,CAC1B,+FAD0B,CAjE3B;AAoEHC,IAAAA,qBAAqB,EAAE,CACnB,qEADmB,CApEpB;AAuEHC,IAAAA,WAAW,EAAE,CAAC,qCAAD;AAvEV,GAhxCO;AAy1Cd7B,EAAAA,KAAK,EAAE;AACH8B,IAAAA,wBAAwB,EAAE,CAAC,mBAAD,CADvB;AAEHC,IAAAA,KAAK,EAAE,CAAC,6BAAD,CAFJ;AAGHC,IAAAA,YAAY,EAAE,CAAC,6BAAD,CAHX;AAIHC,IAAAA,qBAAqB,EAAE,CAAC,+CAAD,CAJpB;AAKHC,IAAAA,oCAAoC,EAAE,CAAC,gCAAD,CALnC;AAMHC,IAAAA,4BAA4B,EAAE,CAAC,qBAAD,CAN3B;AAOHC,IAAAA,kCAAkC,EAAE,CAAC,iBAAD,CAPjC;AAQHC,IAAAA,2BAA2B,EAAE,CAAC,qBAAD,CAR1B;AASHC,IAAAA,4BAA4B,EAAE,CAAC,oCAAD,CAT3B;AAUHC,IAAAA,kCAAkC,EAAE,CAAC,4BAAD,CAVjC;AAWHC,IAAAA,MAAM,EAAE,CAAC,gCAAD,CAXL;AAYH/d,IAAAA,gBAAgB,EAAE,CAAC,WAAD,CAZf;AAaHge,IAAAA,aAAa,EAAE,CAAC,uBAAD,CAbZ;AAcHC,IAAAA,iBAAiB,EAAE,CAAC,iCAAD,CAdhB;AAeHC,IAAAA,yBAAyB,EAAE,CAAC,iCAAD,CAfxB;AAgBHC,IAAAA,+BAA+B,EAAE,CAAC,yBAAD,CAhB9B;AAiBHpZ,IAAAA,IAAI,EAAE,CAAC,YAAD,CAjBH;AAkBHqZ,IAAAA,0BAA0B,EAAE,CAAC,kBAAD,CAlBzB;AAmBHC,IAAAA,0BAA0B,EAAE,CAAC,kBAAD,CAnBzB;AAoBHC,IAAAA,2BAA2B,EAAE,CAAC,qBAAD,CApB1B;AAqBHC,IAAAA,iCAAiC,EAAE,CAAC,qBAAD,CArBhC;AAsBHC,IAAAA,oBAAoB,EAAE,CAAC,iCAAD,CAtBnB;AAuBHC,IAAAA,oBAAoB,EAAE,CAAC,iCAAD,CAvBnB;AAwBHC,IAAAA,2BAA2B,EAAE,CAAC,oBAAD,CAxB1B;AAyBHC,IAAAA,kBAAkB,EAAE,CAAC,gCAAD,CAzBjB;AA0BHC,IAAAA,gCAAgC,EAAE,CAAC,yBAAD,CA1B/B;AA2BHC,IAAAA,qBAAqB,EAAE,CAAC,4BAAD,CA3BpB;AA4BHC,IAAAA,iCAAiC,EAAE,CAAC,gBAAD,CA5BhC;AA6BHC,IAAAA,yCAAyC,EAAE,CAAC,8BAAD,CA7BxC;AA8BHC,IAAAA,OAAO,EAAE,CAAC,gCAAD,CA9BN;AA+BHC,IAAAA,QAAQ,EAAE,CAAC,mCAAD,CA/BP;AAgCHC,IAAAA,mBAAmB,EAAE,CAAC,aAAD;AAhClB;AAz1CO,CAAlB;;ACAO,MAAMC,OAAO,GAAG,mBAAhB;;ACAA,SAASC,kBAAT,CAA4BC,OAA5B,EAAqCC,YAArC,EAAmD;AACtD,QAAMC,UAAU,GAAG,EAAnB;;AACA,OAAK,MAAM,CAACC,KAAD,EAAQC,SAAR,CAAX,IAAiCC,MAAM,CAACC,OAAP,CAAeL,YAAf,CAAjC,EAA+D;AAC3D,SAAK,MAAM,CAACM,UAAD,EAAaC,QAAb,CAAX,IAAqCH,MAAM,CAACC,OAAP,CAAeF,SAAf,CAArC,EAAgE;AAC5D,YAAM,CAACK,KAAD,EAAQC,QAAR,EAAkBC,WAAlB,IAAiCH,QAAvC;AACA,YAAM,CAACI,MAAD,EAASC,GAAT,IAAgBJ,KAAK,CAACK,KAAN,CAAY,GAAZ,CAAtB;AACA,YAAMC,gBAAgB,GAAGV,MAAM,CAACW,MAAP,CAAc;AAAEJ,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAd,EAA+BH,QAA/B,CAAzB;;AACA,UAAI,CAACR,UAAU,CAACC,KAAD,CAAf,EAAwB;AACpBD,QAAAA,UAAU,CAACC,KAAD,CAAV,GAAoB,EAApB;AACH;;AACD,YAAMc,YAAY,GAAGf,UAAU,CAACC,KAAD,CAA/B;;AACA,UAAIQ,WAAJ,EAAiB;AACbM,QAAAA,YAAY,CAACV,UAAD,CAAZ,GAA2BW,QAAQ,CAAClB,OAAD,EAAUG,KAAV,EAAiBI,UAAjB,EAA6BQ,gBAA7B,EAA+CJ,WAA/C,CAAnC;AACA;AACH;;AACDM,MAAAA,YAAY,CAACV,UAAD,CAAZ,GAA2BP,OAAO,CAACmB,OAAR,CAAgBT,QAAhB,CAAyBK,gBAAzB,CAA3B;AACH;AACJ;;AACD,SAAOb,UAAP;AACH;;AACD,SAASgB,QAAT,CAAkBlB,OAAlB,EAA2BG,KAA3B,EAAkCI,UAAlC,EAA8CG,QAA9C,EAAwDC,WAAxD,EAAqE;AACjE,QAAMS,mBAAmB,GAAGpB,OAAO,CAACmB,OAAR,CAAgBT,QAAhB,CAAyBA,QAAzB,CAA5B;AACA;;AACA,WAASW,eAAT,CAAyB,GAAGC,IAA5B,EAAkC;AAC9B;AACA,QAAIC,OAAO,GAAGH,mBAAmB,CAACZ,QAApB,CAA6B7O,KAA7B,CAAmC,GAAG2P,IAAtC,CAAd,CAF8B;;AAI9B,QAAIX,WAAW,CAAChN,SAAhB,EAA2B;AACvB4N,MAAAA,OAAO,GAAGlB,MAAM,CAACW,MAAP,CAAc,EAAd,EAAkBO,OAAlB,EAA2B;AACjCC,QAAAA,IAAI,EAAED,OAAO,CAACZ,WAAW,CAAChN,SAAb,CADoB;AAEjC,SAACgN,WAAW,CAAChN,SAAb,GAAyB8N;AAFQ,OAA3B,CAAV;AAIA,aAAOL,mBAAmB,CAACG,OAAD,CAA1B;AACH;;AACD,QAAIZ,WAAW,CAAC7kB,OAAhB,EAAyB;AACrB,YAAM,CAAC4lB,QAAD,EAAWC,aAAX,IAA4BhB,WAAW,CAAC7kB,OAA9C;AACAkkB,MAAAA,OAAO,CAAC4B,GAAR,CAAYC,IAAZ,CAAkB,WAAU1B,KAAM,IAAGI,UAAW,kCAAiCmB,QAAS,IAAGC,aAAc,IAA3G;AACH;;AACD,QAAIhB,WAAW,CAAC1N,UAAhB,EAA4B;AACxB+M,MAAAA,OAAO,CAAC4B,GAAR,CAAYC,IAAZ,CAAiBlB,WAAW,CAAC1N,UAA7B;AACH;;AACD,QAAI0N,WAAW,CAAChd,iBAAhB,EAAmC;AAC/B;AACA,YAAM4d,OAAO,GAAGH,mBAAmB,CAACZ,QAApB,CAA6B7O,KAA7B,CAAmC,GAAG2P,IAAtC,CAAhB;;AACA,WAAK,MAAM,CAACQ,IAAD,EAAOC,KAAP,CAAX,IAA4B1B,MAAM,CAACC,OAAP,CAAeK,WAAW,CAAChd,iBAA3B,CAA5B,EAA2E;AACvE,YAAIme,IAAI,IAAIP,OAAZ,EAAqB;AACjBvB,UAAAA,OAAO,CAAC4B,GAAR,CAAYC,IAAZ,CAAkB,IAAGC,IAAK,0CAAyC3B,KAAM,IAAGI,UAAW,aAAYwB,KAAM,WAAzG;;AACA,cAAI,EAAEA,KAAK,IAAIR,OAAX,CAAJ,EAAyB;AACrBA,YAAAA,OAAO,CAACQ,KAAD,CAAP,GAAiBR,OAAO,CAACO,IAAD,CAAxB;AACH;;AACD,iBAAOP,OAAO,CAACO,IAAD,CAAd;AACH;AACJ;;AACD,aAAOV,mBAAmB,CAACG,OAAD,CAA1B;AACH,KA/B6B;;;AAiC9B,WAAOH,mBAAmB,CAAC,GAAGE,IAAJ,CAA1B;AACH;;AACD,SAAOjB,MAAM,CAACW,MAAP,CAAcK,eAAd,EAA+BD,mBAA/B,CAAP;AACH;;ACxDM,SAASY,mBAAT,CAA6BhC,OAA7B,EAAsC;AACzC,QAAMiC,GAAG,GAAGlC,kBAAkB,CAACC,OAAD,EAAUkC,SAAV,CAA9B;AACA,2CACOD,GADP;AAEIE,IAAAA,IAAI,EAAEF;AAFV;AAIH;AACDD,mBAAmB,CAAClC,OAApB,GAA8BA,OAA9B;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js new file mode 100644 index 0000000..32c2f39 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js @@ -0,0 +1,60 @@ +export function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ method, url }, defaults); + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + const scopeMethods = newMethods[scope]; + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); + // There are currently no other decorations than `.mapToData` + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined, + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + if (!(alias in options)) { + options[alias] = options[name]; + } + delete options[name]; + } + } + return requestWithDefaults(options); + } + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js new file mode 100644 index 0000000..2b65b01 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -0,0 +1,1405 @@ +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel", + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token", + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token", + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token", + ], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}", + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}", + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs", + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", + ], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions", + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions", + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions", + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] }, + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing", + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads", + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories", + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions", + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions", + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions", + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories", + ], + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription", + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription", + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}", + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public", + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications", + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription", + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"], + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + ], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: [ + "POST /content_references/{content_reference_id}/attachments", + { mediaType: { previews: ["corsair"] } }, + ], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens", + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}", + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}", + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories", + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed", + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended", + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"], + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions", + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages", + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage", + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage", + ], + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences", + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}", + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } }, + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + ], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"], + }, + codesOfConduct: { + getAllCodesOfConduct: [ + "GET /codes_of_conduct", + { mediaType: { previews: ["scarlet-witch"] } }, + ], + getConductCode: [ + "GET /codes_of_conduct/{key}", + { mediaType: { previews: ["scarlet-witch"] } }, + ], + getForRepo: [ + "GET /repos/{owner}/{repo}/community/code_of_conduct", + { mediaType: { previews: ["scarlet-witch"] } }, + ], + }, + emojis: { get: ["GET /emojis"] }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: [ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + enableSelectedOrganizationGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + getAllowedActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + getGithubActionsPermissionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions", + ], + listSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/organizations", + ], + setAllowedActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions", + ], + setSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations", + ], + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"], + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"], + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"], + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }, + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits", + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }, + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }, + ], + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments", + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}", + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + { mediaType: { previews: ["mockingbird"] } }, + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"], + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } }, + ], + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"], + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}", + { mediaType: { previews: ["wyandotte"] } }, + ], + getStatusForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}", + { mediaType: { previews: ["wyandotte"] } }, + ], + listForAuthenticatedUser: [ + "GET /user/migrations", + { mediaType: { previews: ["wyandotte"] } }, + ], + listForOrg: [ + "GET /orgs/{org}/migrations", + { mediaType: { previews: ["wyandotte"] } }, + ], + listReposForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/repositories", + { mediaType: { previews: ["wyandotte"] } }, + ], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + { mediaType: { previews: ["wyandotte"] } }, + ], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", + { mediaType: { previews: ["wyandotte"] } }, + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", + { mediaType: { previews: ["wyandotte"] } }, + ], + updateImport: ["PATCH /repos/{owner}/{repo}/import"], + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}", + ], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}", + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}", + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}", + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}", + ], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}", + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}", + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser", + ], + }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions", + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}", + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}", + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}", + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + }, + projects: { + addCollaborator: [ + "PUT /projects/{project_id}/collaborators/{username}", + { mediaType: { previews: ["inertia"] } }, + ], + createCard: [ + "POST /projects/columns/{column_id}/cards", + { mediaType: { previews: ["inertia"] } }, + ], + createColumn: [ + "POST /projects/{project_id}/columns", + { mediaType: { previews: ["inertia"] } }, + ], + createForAuthenticatedUser: [ + "POST /user/projects", + { mediaType: { previews: ["inertia"] } }, + ], + createForOrg: [ + "POST /orgs/{org}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + createForRepo: [ + "POST /repos/{owner}/{repo}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + delete: [ + "DELETE /projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + deleteCard: [ + "DELETE /projects/columns/cards/{card_id}", + { mediaType: { previews: ["inertia"] } }, + ], + deleteColumn: [ + "DELETE /projects/columns/{column_id}", + { mediaType: { previews: ["inertia"] } }, + ], + get: [ + "GET /projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + getCard: [ + "GET /projects/columns/cards/{card_id}", + { mediaType: { previews: ["inertia"] } }, + ], + getColumn: [ + "GET /projects/columns/{column_id}", + { mediaType: { previews: ["inertia"] } }, + ], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission", + { mediaType: { previews: ["inertia"] } }, + ], + listCards: [ + "GET /projects/columns/{column_id}/cards", + { mediaType: { previews: ["inertia"] } }, + ], + listCollaborators: [ + "GET /projects/{project_id}/collaborators", + { mediaType: { previews: ["inertia"] } }, + ], + listColumns: [ + "GET /projects/{project_id}/columns", + { mediaType: { previews: ["inertia"] } }, + ], + listForOrg: [ + "GET /orgs/{org}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + listForRepo: [ + "GET /repos/{owner}/{repo}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + listForUser: [ + "GET /users/{username}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + moveCard: [ + "POST /projects/columns/cards/{card_id}/moves", + { mediaType: { previews: ["inertia"] } }, + ], + moveColumn: [ + "POST /projects/columns/{column_id}/moves", + { mediaType: { previews: ["inertia"] } }, + ], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}", + { mediaType: { previews: ["inertia"] } }, + ], + update: [ + "PATCH /projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + updateCard: [ + "PATCH /projects/columns/cards/{card_id}", + { mediaType: { previews: ["inertia"] } }, + ], + updateColumn: [ + "PATCH /projects/columns/{column_id}", + { mediaType: { previews: ["inertia"] } }, + ], + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", + { mediaType: { previews: ["lydian"] } }, + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteLegacy: [ + "DELETE /reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + { + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy", + }, + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts", + { mediaType: { previews: ["dorian"] } }, + ], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + { mediaType: { previews: ["zzzax"] } }, + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}", + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: [ + "POST /repos/{owner}/{repo}/pages", + { mediaType: { previews: ["switcheroo"] } }, + ], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate", + { mediaType: { previews: ["baptiste"] } }, + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}", + ], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection", + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + { mediaType: { previews: ["zzzax"] } }, + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}", + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + deletePagesSite: [ + "DELETE /repos/{owner}/{repo}/pages", + { mediaType: { previews: ["switcheroo"] } }, + ], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes", + { mediaType: { previews: ["london"] } }, + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts", + { mediaType: { previews: ["dorian"] } }, + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] }, + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes", + { mediaType: { previews: ["london"] } }, + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts", + { mediaType: { previews: ["dorian"] } }, + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + ], + getAllTopics: [ + "GET /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + ], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection", + ], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission", + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + { mediaType: { previews: ["zzzax"] } }, + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}", + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + { mediaType: { previews: ["groot"] } }, + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + { mediaType: { previews: ["groot"] } }, + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}", + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: [ + "PUT /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection", + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] }, + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" }, + ], + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits", { mediaType: { previews: ["cloak"] } }], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { mediaType: { previews: ["mercy"] } }], + users: ["GET /search/users"], + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations", + ], + listProjectsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"], + }, + users: { + addEmailForAuthenticated: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"], + }, +}; +export default Endpoints; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js new file mode 100644 index 0000000..4139906 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -0,0 +1,11 @@ +import ENDPOINTS from "./generated/endpoints"; +import { VERSION } from "./version"; +import { endpointsToMethods } from "./endpoints-to-methods"; +export function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, ENDPOINTS); + return { + ...api, + rest: api, + }; +} +restEndpointMethods.VERSION = VERSION; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js new file mode 100644 index 0000000..5e3bbc5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "4.15.1"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts new file mode 100644 index 0000000..2a97a4b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts @@ -0,0 +1,4 @@ +import { Octokit } from "@octokit/core"; +import { EndpointsDefaultsAndDecorations } from "./types"; +import { RestEndpointMethods } from "./generated/method-types"; +export declare function endpointsToMethods(octokit: Octokit, endpointsMap: EndpointsDefaultsAndDecorations): RestEndpointMethods; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts new file mode 100644 index 0000000..a3c1d92 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts @@ -0,0 +1,3 @@ +import { EndpointsDefaultsAndDecorations } from "../types"; +declare const Endpoints: EndpointsDefaultsAndDecorations; +export default Endpoints; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts new file mode 100644 index 0000000..fb0644a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts @@ -0,0 +1,7826 @@ +import { EndpointInterface, RequestInterface } from "@octokit/types"; +import { RestEndpointMethodTypes } from "./parameters-and-response-types"; +export declare type RestEndpointMethods = { + actions: { + /** + * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + cancelWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["cancelWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + createRegistrationTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + createRegistrationTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + createRemoveTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + createRemoveTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + createWorkflowDispatch: { + (params?: RestEndpointMethodTypes["actions"]["createWorkflowDispatch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + deleteArtifact: { + (params?: RestEndpointMethodTypes["actions"]["deleteArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + deleteEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + deleteSelfHostedRunnerFromOrg: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + deleteSelfHostedRunnerFromRepo: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + deleteWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + deleteWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + disableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["disableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + disableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["disableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + downloadArtifact: { + (params?: RestEndpointMethodTypes["actions"]["downloadArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + downloadJobLogsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["downloadJobLogsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + downloadWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + enableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["enableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + enableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["enableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + getAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + getAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getArtifact: { + (params?: RestEndpointMethodTypes["actions"]["getArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getEnvironmentPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + getGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + getGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getJobForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getJobForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * @deprecated octokit.rest.actions.getRepoPermissions() has been renamed to octokit.rest.actions.getGithubActionsPermissionsRepository() (2020-11-10) + */ + getRepoPermissions: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPermissions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getReviewsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getReviewsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + getSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + getSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflowRunUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getWorkflowUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listArtifactsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listArtifactsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + listEnvironmentSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + listJobsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listRepoWorkflows: { + (params?: RestEndpointMethodTypes["actions"]["listRepoWorkflows"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + listRunnerApplicationsForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + listRunnerApplicationsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + listSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + listSelfHostedRunnersForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + listSelfHostedRunnersForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listWorkflowRunArtifacts: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunArtifacts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + listWorkflowRuns: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRuns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + listWorkflowRunsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + reRunWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["reRunWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Anyone with read access to the repository contents and deployments can use this endpoint. + */ + reviewPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + setAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + setAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + setGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + setGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + setSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + activity: { + checkRepoIsStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["checkRepoIsStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). + */ + deleteRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + deleteThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + getFeeds: { + (params?: RestEndpointMethodTypes["activity"]["getFeeds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["getRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getThread: { + (params?: RestEndpointMethodTypes["activity"]["getThread"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + getThreadSubscriptionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["getThreadSubscriptionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + */ + listNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listOrgEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listOrgEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + listPublicEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForRepoNetwork: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForRepoNetwork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicOrgEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicOrgEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + listReceivedEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReceivedPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listRepoEvents: { + (params?: RestEndpointMethodTypes["activity"]["listRepoEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all notifications for the current user. + */ + listRepoNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listRepoNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + listReposStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + listReposStarredByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user is watching. + */ + listReposWatchedByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposWatchedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + listStargazersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listStargazersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user is watching. + */ + listWatchedReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listWatchedReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people watching the specified repository. + */ + listWatchersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listWatchersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markRepoNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markRepoNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + markThreadAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markThreadAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + setThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + starRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["starRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unstarRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["unstarRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + apps: { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + addRepoToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: RestEndpointMethodTypes["apps"]["checkToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + createContentAttachment: { + (params?: RestEndpointMethodTypes["apps"]["createContentAttachment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + createFromManifest: { + (params?: RestEndpointMethodTypes["apps"]["createFromManifest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + createInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["createInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + (params?: RestEndpointMethodTypes["apps"]["deleteAuthorization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + (params?: RestEndpointMethodTypes["apps"]["deleteInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + (params?: RestEndpointMethodTypes["apps"]["deleteToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["apps"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + getBySlug: { + (params?: RestEndpointMethodTypes["apps"]["getBySlug"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getOrgInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getRepoInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccount: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccount"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccountStubbed: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccountStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getUserInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlan: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlan"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlanStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlanStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + listInstallationReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + listInstallations: { + (params?: RestEndpointMethodTypes["apps"]["listInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + listInstallationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: RestEndpointMethodTypes["apps"]["listPlans"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listPlansStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + listReposAccessibleToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["listReposAccessibleToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listSubscriptionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listSubscriptionsForAuthenticatedUserStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUserStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + removeRepoFromInstallation: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: RestEndpointMethodTypes["apps"]["resetToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + revokeInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["revokeInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + scopeToken: { + (params?: RestEndpointMethodTypes["apps"]["scopeToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + suspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["suspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + unsuspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["unsuspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + updateWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["updateWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + billing: { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + getGithubActionsBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + getGithubActionsBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage usued for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + getGithubPackagesBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + getGithubPackagesBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + getSharedStorageBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + getSharedStorageBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + checks: { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + create: { + (params?: RestEndpointMethodTypes["checks"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + createSuite: { + (params?: RestEndpointMethodTypes["checks"]["createSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: { + (params?: RestEndpointMethodTypes["checks"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + getSuite: { + (params?: RestEndpointMethodTypes["checks"]["getSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + listAnnotations: { + (params?: RestEndpointMethodTypes["checks"]["listAnnotations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForRef: { + (params?: RestEndpointMethodTypes["checks"]["listForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForSuite: { + (params?: RestEndpointMethodTypes["checks"]["listForSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + listSuitesForRef: { + (params?: RestEndpointMethodTypes["checks"]["listSuitesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + rerequestSuite: { + (params?: RestEndpointMethodTypes["checks"]["rerequestSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + (params?: RestEndpointMethodTypes["checks"]["setSuitesPreferences"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + update: { + (params?: RestEndpointMethodTypes["checks"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codeScanning: { + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` and `repo:security_events` scopes. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set + * (see the example default response below). + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in the set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find the deletable analysis for one of the sets, + * step through deleting the analyses in that set, + * and then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + deleteAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["deleteAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + getAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + * For an example response, see "[Custom media type for code scanning](#custom-media-type-for-code-scanning)." + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + getAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + getSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["getSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint. GitHub Apps must have the `security_events` read permission to use + * this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + listAlertsInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + listRecentAnalyses: { + (params?: RestEndpointMethodTypes["codeScanning"]["listRecentAnalyses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 + * ``` + * + * SARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + uploadSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["uploadSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codesOfConduct: { + getAllCodesOfConduct: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getAllCodesOfConduct"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getConductCode: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getConductCode"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the contents of the repository's code of conduct file, if one is detected. + * + * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching. + */ + getForRepo: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: RestEndpointMethodTypes["emojis"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + enterpriseAdmin: { + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + disableSelectedOrganizationGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["disableSelectedOrganizationGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + enableSelectedOrganizationGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["enableSelectedOrganizationGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + getAllowedActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["getAllowedActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + getGithubActionsPermissionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["getGithubActionsPermissionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + listSelectedOrganizationsEnabledGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["listSelectedOrganizationsEnabledGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + setAllowedActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["setAllowedActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + setGithubActionsPermissionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["setGithubActionsPermissionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + setSelectedOrganizationsEnabledGithubActionsEnterprise: { + (params?: RestEndpointMethodTypes["enterpriseAdmin"]["setSelectedOrganizationsEnabledGithubActionsEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gists: { + checkIsStarred: { + (params?: RestEndpointMethodTypes["gists"]["checkIsStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + create: { + (params?: RestEndpointMethodTypes["gists"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createComment: { + (params?: RestEndpointMethodTypes["gists"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + delete: { + (params?: RestEndpointMethodTypes["gists"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteComment: { + (params?: RestEndpointMethodTypes["gists"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + fork: { + (params?: RestEndpointMethodTypes["gists"]["fork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + get: { + (params?: RestEndpointMethodTypes["gists"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getComment: { + (params?: RestEndpointMethodTypes["gists"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getRevision: { + (params?: RestEndpointMethodTypes["gists"]["getRevision"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + list: { + (params?: RestEndpointMethodTypes["gists"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listComments: { + (params?: RestEndpointMethodTypes["gists"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listCommits: { + (params?: RestEndpointMethodTypes["gists"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public gists for the specified user: + */ + listForUser: { + (params?: RestEndpointMethodTypes["gists"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["gists"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + listPublic: { + (params?: RestEndpointMethodTypes["gists"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + (params?: RestEndpointMethodTypes["gists"]["listStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + star: { + (params?: RestEndpointMethodTypes["gists"]["star"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unstar: { + (params?: RestEndpointMethodTypes["gists"]["unstar"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: RestEndpointMethodTypes["gists"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateComment: { + (params?: RestEndpointMethodTypes["gists"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + git: { + createBlob: { + (params?: RestEndpointMethodTypes["git"]["createBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createCommit: { + (params?: RestEndpointMethodTypes["git"]["createCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + createRef: { + (params?: RestEndpointMethodTypes["git"]["createRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createTag: { + (params?: RestEndpointMethodTypes["git"]["createTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + createTree: { + (params?: RestEndpointMethodTypes["git"]["createTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteRef: { + (params?: RestEndpointMethodTypes["git"]["deleteRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: RestEndpointMethodTypes["git"]["getBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["git"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + getRef: { + (params?: RestEndpointMethodTypes["git"]["getRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getTag: { + (params?: RestEndpointMethodTypes["git"]["getTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + getTree: { + (params?: RestEndpointMethodTypes["git"]["getTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + listMatchingRefs: { + (params?: RestEndpointMethodTypes["git"]["listMatchingRefs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateRef: { + (params?: RestEndpointMethodTypes["git"]["updateRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gitignore: { + /** + * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). + */ + getAllTemplates: { + (params?: RestEndpointMethodTypes["gitignore"]["getAllTemplates"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + getTemplate: { + (params?: RestEndpointMethodTypes["gitignore"]["getTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + interactions: { + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + getRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + * @deprecated octokit.rest.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) + */ + getRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + */ + removeRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + removeRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + * @deprecated octokit.rest.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) + */ + removeRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + setRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + setRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + setRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + * @deprecated octokit.rest.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) + */ + setRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + addAssignees: { + (params?: RestEndpointMethodTypes["issues"]["addAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + addLabels: { + (params?: RestEndpointMethodTypes["issues"]["addLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkUserCanBeAssigned: { + (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssigned"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + */ + create: { + (params?: RestEndpointMethodTypes["issues"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + */ + createComment: { + (params?: RestEndpointMethodTypes["issues"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createLabel: { + (params?: RestEndpointMethodTypes["issues"]["createLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createMilestone: { + (params?: RestEndpointMethodTypes["issues"]["createMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteComment: { + (params?: RestEndpointMethodTypes["issues"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteLabel: { + (params?: RestEndpointMethodTypes["issues"]["deleteLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteMilestone: { + (params?: RestEndpointMethodTypes["issues"]["deleteMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: { + (params?: RestEndpointMethodTypes["issues"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getComment: { + (params?: RestEndpointMethodTypes["issues"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getEvent: { + (params?: RestEndpointMethodTypes["issues"]["getEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getLabel: { + (params?: RestEndpointMethodTypes["issues"]["getLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getMilestone: { + (params?: RestEndpointMethodTypes["issues"]["getMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + list: { + (params?: RestEndpointMethodTypes["issues"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + (params?: RestEndpointMethodTypes["issues"]["listAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + listComments: { + (params?: RestEndpointMethodTypes["issues"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + listCommentsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listEvents: { + (params?: RestEndpointMethodTypes["issues"]["listEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listEventsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listEventsForTimeline: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForTimeline"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["issues"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["issues"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listLabelsForMilestone: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listLabelsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listLabelsOnIssue: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsOnIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listMilestones: { + (params?: RestEndpointMethodTypes["issues"]["listMilestones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + lock: { + (params?: RestEndpointMethodTypes["issues"]["lock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removeAllLabels: { + (params?: RestEndpointMethodTypes["issues"]["removeAllLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes one or more assignees from an issue. + */ + removeAssignees: { + (params?: RestEndpointMethodTypes["issues"]["removeAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + removeLabel: { + (params?: RestEndpointMethodTypes["issues"]["removeLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any previous labels and sets the new labels for an issue. + */ + setLabels: { + (params?: RestEndpointMethodTypes["issues"]["setLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + (params?: RestEndpointMethodTypes["issues"]["unlock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + update: { + (params?: RestEndpointMethodTypes["issues"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateComment: { + (params?: RestEndpointMethodTypes["issues"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateLabel: { + (params?: RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateMilestone: { + (params?: RestEndpointMethodTypes["issues"]["updateMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + licenses: { + get: { + (params?: RestEndpointMethodTypes["licenses"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getAllCommonlyUsed: { + (params?: RestEndpointMethodTypes["licenses"]["getAllCommonlyUsed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + getForRepo: { + (params?: RestEndpointMethodTypes["licenses"]["getForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + markdown: { + render: { + (params?: RestEndpointMethodTypes["markdown"]["render"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + renderRaw: { + (params?: RestEndpointMethodTypes["markdown"]["renderRaw"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + meta: { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + get: { + (params?: RestEndpointMethodTypes["meta"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the octocat as ASCII art + */ + getOctocat: { + (params?: RestEndpointMethodTypes["meta"]["getOctocat"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a random sentence from the Zen of GitHub + */ + getZen: { + (params?: RestEndpointMethodTypes["meta"]["getZen"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get Hypermedia links to resources accessible in GitHub's REST API + */ + root: { + (params?: RestEndpointMethodTypes["meta"]["root"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + (params?: RestEndpointMethodTypes["migrations"]["cancelImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["downloadArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + getArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + getCommitAuthors: { + (params?: RestEndpointMethodTypes["migrations"]["getCommitAuthors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + getImportStatus: { + (params?: RestEndpointMethodTypes["migrations"]["getImportStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + (params?: RestEndpointMethodTypes["migrations"]["getLargeFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + getStatusForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the most recent migrations. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + */ + mapCommitAuthor: { + (params?: RestEndpointMethodTypes["migrations"]["mapCommitAuthor"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). + */ + setLfsPreference: { + (params?: RestEndpointMethodTypes["migrations"]["setLfsPreference"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["startForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["startForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + (params?: RestEndpointMethodTypes["migrations"]["startImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + unlockRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + */ + updateImport: { + (params?: RestEndpointMethodTypes["migrations"]["updateImport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + orgs: { + blockUser: { + (params?: RestEndpointMethodTypes["orgs"]["blockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + cancelInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["cancelInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkBlockedUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkBlockedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkPublicMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkPublicMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". + */ + convertMemberToOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["convertMemberToOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + createInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["createInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + get: { + (params?: RestEndpointMethodTypes["orgs"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + getMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + getWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + list: { + (params?: RestEndpointMethodTypes["orgs"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + listAppInstallations: { + (params?: RestEndpointMethodTypes["orgs"]["listAppInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + (params?: RestEndpointMethodTypes["orgs"]["listBlockedUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + listFailedInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listFailedInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + listForUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + listInvitationTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listInvitationTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + listMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listMembershipsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listMembershipsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + (params?: RestEndpointMethodTypes["orgs"]["listOutsideCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + listPendingInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listPendingInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listPublicMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listWebhooks: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + removeMember: { + (params?: RestEndpointMethodTypes["orgs"]["removeMember"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + removeMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["removeMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["removeOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removePublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["removePublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + setMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["setMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + setPublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["setPublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unblockUser: { + (params?: RestEndpointMethodTypes["orgs"]["unblockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + update: { + (params?: RestEndpointMethodTypes["orgs"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["updateMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + updateWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + packages: { + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + deletePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + deletePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + deletePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByAnOrg() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByAnOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByAnOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByAuthenticatedUser() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getAllPackageVersionsForPackageOwnedByUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + getPackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + restorePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + restorePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + restorePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + projects: { + /** + * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + createCard: { + (params?: RestEndpointMethodTypes["projects"]["createCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createColumn: { + (params?: RestEndpointMethodTypes["projects"]["createColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["projects"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForOrg: { + (params?: RestEndpointMethodTypes["projects"]["createForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForRepo: { + (params?: RestEndpointMethodTypes["projects"]["createForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: RestEndpointMethodTypes["projects"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteCard: { + (params?: RestEndpointMethodTypes["projects"]["deleteCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteColumn: { + (params?: RestEndpointMethodTypes["projects"]["deleteColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: { + (params?: RestEndpointMethodTypes["projects"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getCard: { + (params?: RestEndpointMethodTypes["projects"]["getCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getColumn: { + (params?: RestEndpointMethodTypes["projects"]["getColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + getPermissionForUser: { + (params?: RestEndpointMethodTypes["projects"]["getPermissionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listCards: { + (params?: RestEndpointMethodTypes["projects"]["listCards"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["projects"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listColumns: { + (params?: RestEndpointMethodTypes["projects"]["listColumns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["projects"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["projects"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForUser: { + (params?: RestEndpointMethodTypes["projects"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveCard: { + (params?: RestEndpointMethodTypes["projects"]["moveCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveColumn: { + (params?: RestEndpointMethodTypes["projects"]["moveColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + update: { + (params?: RestEndpointMethodTypes["projects"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateCard: { + (params?: RestEndpointMethodTypes["projects"]["updateCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateColumn: { + (params?: RestEndpointMethodTypes["projects"]["updateColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + pulls: { + checkIfMerged: { + (params?: RestEndpointMethodTypes["pulls"]["checkIfMerged"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + create: { + (params?: RestEndpointMethodTypes["pulls"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + createReplyForReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReplyForReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + createReview: { + (params?: RestEndpointMethodTypes["pulls"]["createReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + createReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deletePendingReview: { + (params?: RestEndpointMethodTypes["pulls"]["deletePendingReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a review comment. + */ + deleteReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["deleteReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + dismissReview: { + (params?: RestEndpointMethodTypes["pulls"]["dismissReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: { + (params?: RestEndpointMethodTypes["pulls"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getReview: { + (params?: RestEndpointMethodTypes["pulls"]["getReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides details for a review comment. + */ + getReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["getReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + list: { + (params?: RestEndpointMethodTypes["pulls"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List comments for a specific pull request review. + */ + listCommentsForReview: { + (params?: RestEndpointMethodTypes["pulls"]["listCommentsForReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. + */ + listCommits: { + (params?: RestEndpointMethodTypes["pulls"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + listFiles: { + (params?: RestEndpointMethodTypes["pulls"]["listFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["listRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + */ + listReviewComments: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + */ + listReviewCommentsForRepo: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The list of reviews returns in chronological order. + */ + listReviews: { + (params?: RestEndpointMethodTypes["pulls"]["listReviews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + */ + merge: { + (params?: RestEndpointMethodTypes["pulls"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removeRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["removeRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + */ + requestReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["requestReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + submitReview: { + (params?: RestEndpointMethodTypes["pulls"]["submitReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + update: { + (params?: RestEndpointMethodTypes["pulls"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + (params?: RestEndpointMethodTypes["pulls"]["updateBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update the review summary comment with new text. + */ + updateReview: { + (params?: RestEndpointMethodTypes["pulls"]["updateReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables you to edit a review comment. + */ + updateReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["updateReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: { + (params?: RestEndpointMethodTypes["rateLimit"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. + */ + createForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + createForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + createForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + deleteForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + deleteForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + deleteForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + deleteForPullRequestComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForPullRequestComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteForTeamDiscussion: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussion"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteForTeamDiscussionComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussionComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). + * + * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). + * @deprecated octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy + */ + deleteLegacy: { + (params?: RestEndpointMethodTypes["reactions"]["deleteLegacy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + listForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue](https://docs.github.com/rest/reference/issues). + */ + listForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + listForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + listForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + listForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + listForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + repos: { + acceptInvitation: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Rate limits** + * + * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["addStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + checkCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["checkCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + checkVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["checkVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommits: { + (params?: RestEndpointMethodTypes["repos"]["compareCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + createCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["createCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + createCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["createCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + createCommitStatus: { + (params?: RestEndpointMethodTypes["repos"]["createCommitStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can create a read-only deploy key. + */ + createDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["createDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + createDeployment: { + (params?: RestEndpointMethodTypes["repos"]["createDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + createDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + createDispatchEvent: { + (params?: RestEndpointMethodTypes["repos"]["createDispatchEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com). + */ + createFork: { + (params?: RestEndpointMethodTypes["repos"]["createFork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + createInOrg: { + (params?: RestEndpointMethodTypes["repos"]["createInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + createOrUpdateEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new file or replaces an existing file in a repository. + */ + createOrUpdateFileContents: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateFileContents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + */ + createPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["createPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + createRelease: { + (params?: RestEndpointMethodTypes["repos"]["createRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + createUsingTemplate: { + (params?: RestEndpointMethodTypes["repos"]["createUsingTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + createWebhook: { + (params?: RestEndpointMethodTypes["repos"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + declineInvitation: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: { + (params?: RestEndpointMethodTypes["repos"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + deleteAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["deleteAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + deleteAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + deleteAnEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["deleteAnEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deleteBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + deleteCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + deleteDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + deleteDeployment: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + deleteFile: { + (params?: RestEndpointMethodTypes["repos"]["deleteFile"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteInvitation: { + (params?: RestEndpointMethodTypes["repos"]["deleteInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deletePagesSite: { + (params?: RestEndpointMethodTypes["repos"]["deletePagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deletePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["deletePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + (params?: RestEndpointMethodTypes["repos"]["deleteRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["deleteReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["repos"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". + */ + disableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["disableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + disableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["disableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + * @deprecated octokit.rest.repos.downloadArchive() has been renamed to octokit.rest.repos.downloadZipballArchive() (2020-09-17) + */ + downloadArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + downloadTarballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadTarballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + downloadZipballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadZipballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". + */ + enableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["enableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + enableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["enableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file. + * + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + */ + get: { + (params?: RestEndpointMethodTypes["repos"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["getAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getAllEnvironments: { + (params?: RestEndpointMethodTypes["repos"]["getAllEnvironments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAllStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["getAllStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["getAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + getAppsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getAppsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getBranch: { + (params?: RestEndpointMethodTypes["repos"]["getBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getClones: { + (params?: RestEndpointMethodTypes["repos"]["getClones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + getCodeFrequencyStats: { + (params?: RestEndpointMethodTypes["repos"]["getCodeFrequencyStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + */ + getCollaboratorPermissionLevel: { + (params?: RestEndpointMethodTypes["repos"]["getCollaboratorPermissionLevel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + getCombinedStatusForRef: { + (params?: RestEndpointMethodTypes["repos"]["getCombinedStatusForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["repos"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + getCommitActivityStats: { + (params?: RestEndpointMethodTypes["repos"]["getCommitActivityStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["getCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["getCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + getCommunityProfileMetrics: { + (params?: RestEndpointMethodTypes["repos"]["getCommunityProfileMetrics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + getContent: { + (params?: RestEndpointMethodTypes["repos"]["getContent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + getContributorsStats: { + (params?: RestEndpointMethodTypes["repos"]["getContributorsStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["getDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployment: { + (params?: RestEndpointMethodTypes["repos"]["getDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["getDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + getEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["getEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getLatestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getLatestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + getLatestRelease: { + (params?: RestEndpointMethodTypes["repos"]["getLatestRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getPages: { + (params?: RestEndpointMethodTypes["repos"]["getPages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + getParticipationStats: { + (params?: RestEndpointMethodTypes["repos"]["getParticipationStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getPullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["getPullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + getPunchCardStats: { + (params?: RestEndpointMethodTypes["repos"]["getPunchCardStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadme: { + (params?: RestEndpointMethodTypes["repos"]["getReadme"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadmeInDirectory: { + (params?: RestEndpointMethodTypes["repos"]["getReadmeInDirectory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + */ + getRelease: { + (params?: RestEndpointMethodTypes["repos"]["getRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + getReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseByTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getStatusChecksProtection: { + (params?: RestEndpointMethodTypes["repos"]["getStatusChecksProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getTeamsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + (params?: RestEndpointMethodTypes["repos"]["getTopPaths"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + (params?: RestEndpointMethodTypes["repos"]["getTopReferrers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getUsersWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getViews: { + (params?: RestEndpointMethodTypes["repos"]["getViews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["repos"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + getWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listBranches: { + (params?: RestEndpointMethodTypes["repos"]["listBranches"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + (params?: RestEndpointMethodTypes["repos"]["listBranchesForHeadCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["repos"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + listCommentsForCommit: { + (params?: RestEndpointMethodTypes["repos"]["listCommentsForCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + listCommitCommentsForRepo: { + (params?: RestEndpointMethodTypes["repos"]["listCommitCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + listCommitStatusesForRef: { + (params?: RestEndpointMethodTypes["repos"]["listCommitStatusesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + listCommits: { + (params?: RestEndpointMethodTypes["repos"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + listContributors: { + (params?: RestEndpointMethodTypes["repos"]["listContributors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listDeployKeys: { + (params?: RestEndpointMethodTypes["repos"]["listDeployKeys"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + (params?: RestEndpointMethodTypes["repos"]["listDeploymentStatuses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + (params?: RestEndpointMethodTypes["repos"]["listDeployments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["repos"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + */ + listForUser: { + (params?: RestEndpointMethodTypes["repos"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["repos"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + (params?: RestEndpointMethodTypes["repos"]["listInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listInvitationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + listLanguages: { + (params?: RestEndpointMethodTypes["repos"]["listLanguages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPagesBuilds: { + (params?: RestEndpointMethodTypes["repos"]["listPagesBuilds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Notes: + * - For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + listPublic: { + (params?: RestEndpointMethodTypes["repos"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. + */ + listPullRequestsAssociatedWithCommit: { + (params?: RestEndpointMethodTypes["repos"]["listPullRequestsAssociatedWithCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReleaseAssets: { + (params?: RestEndpointMethodTypes["repos"]["listReleaseAssets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + (params?: RestEndpointMethodTypes["repos"]["listReleases"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listTags: { + (params?: RestEndpointMethodTypes["repos"]["listTags"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listTeams: { + (params?: RestEndpointMethodTypes["repos"]["listTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listWebhooks: { + (params?: RestEndpointMethodTypes["repos"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + merge: { + (params?: RestEndpointMethodTypes["repos"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["repos"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + removeCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + renameBranch: { + (params?: RestEndpointMethodTypes["repos"]["renameBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + replaceAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["replaceAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + requestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["requestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + setAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["setAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + setStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["setStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + testPushWebhook: { + (params?: RestEndpointMethodTypes["repos"]["testPushWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: RestEndpointMethodTypes["repos"]["transfer"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. + */ + update: { + (params?: RestEndpointMethodTypes["repos"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["updateCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + */ + updateInformationAboutPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["updateInformationAboutPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateInvitation: { + (params?: RestEndpointMethodTypes["repos"]["updateInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updatePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["updatePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + (params?: RestEndpointMethodTypes["repos"]["updateRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["updateReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + * @deprecated octokit.rest.repos.updateStatusCheckPotection() has been renamed to octokit.rest.repos.updateStatusCheckProtection() (2020-09-17) + */ + updateStatusCheckPotection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckPotection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + updateWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + uploadReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + search: { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + code: { + (params?: RestEndpointMethodTypes["search"]["code"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + commits: { + (params?: RestEndpointMethodTypes["search"]["commits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + issuesAndPullRequests: { + (params?: RestEndpointMethodTypes["search"]["issuesAndPullRequests"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + labels: { + (params?: RestEndpointMethodTypes["search"]["labels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + * + * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: + * + * `q=topic:ruby+topic:rails` + */ + repos: { + (params?: RestEndpointMethodTypes["search"]["repos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + topics: { + (params?: RestEndpointMethodTypes["search"]["topics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + users: { + (params?: RestEndpointMethodTypes["search"]["users"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + secretScanning: { + /** + * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + getAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + teams: { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + addOrUpdateMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + addOrUpdateProjectPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateProjectPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + addOrUpdateRepoPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateRepoPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + checkPermissionsForProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + checkPermissionsForRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + create: { + (params?: RestEndpointMethodTypes["teams"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + createDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + createDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + deleteDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + deleteDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + deleteInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + getByName: { + (params?: RestEndpointMethodTypes["teams"]["getByName"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + getDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + getDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + getMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: RestEndpointMethodTypes["teams"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + listChildInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listChildInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + listDiscussionCommentsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionCommentsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + listDiscussionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["teams"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listMembersInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + listPendingInvitationsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listPendingInvitationsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + listProjectsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listProjectsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + listReposInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listReposInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + removeMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + removeProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + removeRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + updateDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + updateDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + updateInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + users: { + /** + * This endpoint is accessible with the `user` scope. + */ + addEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + block: { + (params?: RestEndpointMethodTypes["users"]["block"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkBlocked: { + (params?: RestEndpointMethodTypes["users"]["checkBlocked"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["checkFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkPersonIsFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["checkPersonIsFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + deleteEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deletePublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + follow: { + (params?: RestEndpointMethodTypes["users"]["follow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + getByUsername: { + (params?: RestEndpointMethodTypes["users"]["getByUsername"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + getContextForUser: { + (params?: RestEndpointMethodTypes["users"]["getContextForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + list: { + (params?: RestEndpointMethodTypes["users"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlockedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + listEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + */ + listFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the authenticated user. + */ + listFollowersForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the specified user. + */ + listFollowersForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the specified user follows. + */ + listFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listGpgKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + */ + listPublicEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listPublicSshKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + */ + setPrimaryEmailVisibilityForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unblock: { + (params?: RestEndpointMethodTypes["users"]["unblock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + unfollow: { + (params?: RestEndpointMethodTypes["users"]["unfollow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + updateAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["updateAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts new file mode 100644 index 0000000..44a2ec7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts @@ -0,0 +1,2629 @@ +import { Endpoints, RequestParameters } from "@octokit/types"; +export declare type RestEndpointMethodTypes = { + actions: { + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + cancelWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["response"]; + }; + createOrUpdateEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + createRegistrationTokenForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["response"]; + }; + createRegistrationTokenForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["response"]; + }; + createRemoveTokenForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["response"]; + }; + createRemoveTokenForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["response"]; + }; + createWorkflowDispatch: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["response"]; + }; + deleteArtifact: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + deleteEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + deleteSelfHostedRunnerFromOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + deleteSelfHostedRunnerFromRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + deleteWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + deleteWorkflowRunLogs: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + disableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + disableWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["response"]; + }; + downloadArtifact: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["response"]; + }; + downloadJobLogsForWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["response"]; + }; + downloadWorkflowRunLogs: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + enableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + enableWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["response"]; + }; + getAllowedActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + getAllowedActionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + getArtifact: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + getEnvironmentPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"]["response"]; + }; + getEnvironmentSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + getGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/permissions"]["response"]; + }; + getGithubActionsPermissionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getJobForWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + getPendingDeploymentsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + getRepoPermissions: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + getReviewsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["response"]; + }; + getSelfHostedRunnerForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + getSelfHostedRunnerForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + getWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["response"]; + }; + getWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + getWorkflowRunUsage: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["response"]; + }; + getWorkflowUsage: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["response"]; + }; + listArtifactsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]; + }; + listEnvironmentSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]; + }; + listJobsForWorkflowRun: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]; + }; + listRepoWorkflows: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]; + }; + listRunnerApplicationsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; + }; + listRunnerApplicationsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + listSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + listSelfHostedRunnersForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"]; + }; + listSelfHostedRunnersForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]; + }; + listWorkflowRunArtifacts: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]; + }; + listWorkflowRuns: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]; + }; + listWorkflowRunsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]; + }; + reRunWorkflow: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + reviewPendingDeploymentsForRun: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + setAllowedActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + setAllowedActionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + setGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions"]["response"]; + }; + setGithubActionsPermissionsRepository: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + setSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + }; + activity: { + checkRepoIsStarredByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/starred/{owner}/{repo}"]["response"]; + }; + deleteRepoSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["response"]; + }; + deleteThreadSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["response"]; + }; + getFeeds: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /feeds"]["response"]; + }; + getRepoSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/subscription"]["response"]; + }; + getThread: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /notifications/threads/{thread_id}"]["response"]; + }; + getThreadSubscriptionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /notifications/threads/{thread_id}/subscription"]["response"]; + }; + listEventsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + listNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /notifications"]["response"]; + }; + listOrgEventsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + listPublicEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /events"]["response"]; + }; + listPublicEventsForRepoNetwork: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + listPublicEventsForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + listPublicOrgEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + listReceivedEventsForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + listReceivedPublicEventsForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + listRepoEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + listRepoNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + listReposStarredByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/starred"]["response"]; + }; + listReposStarredByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + listReposWatchedByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; + listStargazersForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + listWatchedReposForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + listWatchersForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + markNotificationsAsRead: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /notifications"]["response"]; + }; + markRepoNotificationsAsRead: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/notifications"]["response"]; + }; + markThreadAsRead: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /notifications/threads/{thread_id}"]["response"]; + }; + setRepoSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/subscription"]["response"]; + }; + setThreadSubscription: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["response"]; + }; + starRepoForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/starred/{owner}/{repo}"]["response"]; + }; + unstarRepoForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/starred/{owner}/{repo}"]["response"]; + }; + }; + apps: { + addRepoToInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + checkToken: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /applications/{client_id}/token"]["response"]; + }; + createContentAttachment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /content_references/{content_reference_id}/attachments"]["response"]; + }; + createFromManifest: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /app-manifests/{code}/conversions"]["response"]; + }; + createInstallationAccessToken: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /app/installations/{installation_id}/access_tokens"]["response"]; + }; + deleteAuthorization: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /applications/{client_id}/grant"]["response"]; + }; + deleteInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /app/installations/{installation_id}"]["response"]; + }; + deleteToken: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /applications/{client_id}/token"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app"]["response"]; + }; + getBySlug: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /apps/{app_slug}"]["response"]; + }; + getInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/installations/{installation_id}"]["response"]; + }; + getOrgInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/installation"]["response"]; + }; + getRepoInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/installation"]["response"]; + }; + getSubscriptionPlanForAccount: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/accounts/{account_id}"]["response"]; + }; + getSubscriptionPlanForAccountStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["response"]; + }; + getUserInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/installation"]["response"]; + }; + getWebhookConfigForApp: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/hook/config"]["response"]; + }; + listAccountsForPlan: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + listAccountsForPlanStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + listInstallationReposForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]; + }; + listInstallations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /app/installations"]["response"]; + }; + listInstallationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/installations"]["response"]; + }; + listPlans: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + listPlansStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + listReposAccessibleToInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /installation/repositories"]["response"]; + }; + listSubscriptionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + listSubscriptionsForAuthenticatedUserStubbed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + removeRepoFromInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + resetToken: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /applications/{client_id}/token"]["response"]; + }; + revokeInstallationAccessToken: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /installation/token"]["response"]; + }; + scopeToken: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /applications/{client_id}/token/scoped"]["response"]; + }; + suspendInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /app/installations/{installation_id}/suspended"]["response"]; + }; + unsuspendInstallation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /app/installations/{installation_id}/suspended"]["response"]; + }; + updateWebhookConfigForApp: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /app/hook/config"]["response"]; + }; + }; + billing: { + getGithubActionsBillingOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/settings/billing/actions"]["response"]; + }; + getGithubActionsBillingUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/settings/billing/actions"]["response"]; + }; + getGithubPackagesBillingOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/settings/billing/packages"]["response"]; + }; + getGithubPackagesBillingUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/settings/billing/packages"]["response"]; + }; + getSharedStorageBillingOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["response"]; + }; + getSharedStorageBillingUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/settings/billing/shared-storage"]["response"]; + }; + }; + checks: { + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs"]["response"]; + }; + createSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + getSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["response"]; + }; + listAnnotations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + listForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]; + }; + listForSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]; + }; + listSuitesForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]; + }; + rerequestSuite: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["response"]; + }; + setSuitesPreferences: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + }; + codeScanning: { + deleteAnalysis: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["response"]; + }; + getAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + getAnalysis: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["response"]; + }; + getSarif: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + listAlertsInstances: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listRecentAnalyses: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + uploadSarif: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["response"]; + }; + }; + codesOfConduct: { + getAllCodesOfConduct: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /codes_of_conduct"]["response"]; + }; + getConductCode: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /codes_of_conduct/{key}"]["response"]; + }; + getForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/community/code_of_conduct"]["response"]; + }; + }; + emojis: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /emojis"]["response"]; + }; + }; + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"]["response"]; + }; + enableSelectedOrganizationGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"]["response"]; + }; + getAllowedActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions/selected-actions"]["response"]; + }; + getGithubActionsPermissionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions"]["response"]; + }; + listSelectedOrganizationsEnabledGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /enterprises/{enterprise}/actions/permissions/organizations"]["response"]; + }; + setAllowedActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"]["response"]; + }; + setGithubActionsPermissionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions"]["response"]; + }; + setSelectedOrganizationsEnabledGithubActionsEnterprise: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /enterprises/{enterprise}/actions/permissions/organizations"]["response"]; + }; + }; + gists: { + checkIsStarred: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/star"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /gists"]["response"]; + }; + createComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /gists/{gist_id}/comments"]["response"]; + }; + delete: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /gists/{gist_id}"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + fork: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /gists/{gist_id}/forks"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + getRevision: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/{sha}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists"]["response"]; + }; + listComments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + listForks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/public"]["response"]; + }; + listStarred: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gists/starred"]["response"]; + }; + star: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /gists/{gist_id}/star"]["response"]; + }; + unstar: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /gists/{gist_id}/star"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /gists/{gist_id}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + }; + git: { + createBlob: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["response"]; + }; + createCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/commits"]["response"]; + }; + createRef: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/refs"]["response"]; + }; + createTag: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/tags"]["response"]; + }; + createTree: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/git/trees"]["response"]; + }; + deleteRef: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + getBlob: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["response"]; + }; + getRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["response"]; + }; + getTag: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["response"]; + }; + getTree: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["response"]; + }; + listMatchingRefs: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; + }; + updateRef: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + }; + gitignore: { + getAllTemplates: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gitignore/templates"]["response"]; + }; + getTemplate: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /gitignore/templates/{name}"]["response"]; + }; + }; + interactions: { + getRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + getRestrictionsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/interaction-limits"]["response"]; + }; + getRestrictionsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + getRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + removeRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + removeRestrictionsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/interaction-limits"]["response"]; + }; + removeRestrictionsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + removeRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + setRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + setRestrictionsForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/interaction-limits"]["response"]; + }; + setRestrictionsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + setRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + }; + issues: { + addAssignees: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + addLabels: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + checkUserCanBeAssigned: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues"]["response"]; + }; + createComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + createLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/labels"]["response"]; + }; + createMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/milestones"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + deleteLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + deleteMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + getEvent: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["response"]; + }; + getLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + getMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /issues"]["response"]; + }; + listAssignees: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + listComments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + listCommentsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + listEvents: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + listEventsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + listEventsForTimeline: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/issues"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + listLabelsForMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + listLabelsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + listLabelsOnIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + listMilestones: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + lock: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + removeAllLabels: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + removeAssignees: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + removeLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["response"]; + }; + setLabels: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + unlock: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + updateLabel: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + updateMilestone: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + }; + licenses: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /licenses/{license}"]["response"]; + }; + getAllCommonlyUsed: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /licenses"]["response"]; + }; + getForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/license"]["response"]; + }; + }; + markdown: { + render: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /markdown"]["response"]; + }; + renderRaw: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /markdown/raw"]["response"]; + }; + }; + meta: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /meta"]["response"]; + }; + getOctocat: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /octocat"]["response"]; + }; + getZen: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /zen"]["response"]; + }; + root: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /"]["response"]; + }; + }; + migrations: { + cancelImport: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/import"]["response"]; + }; + deleteArchiveForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/migrations/{migration_id}/archive"]["response"]; + }; + deleteArchiveForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + downloadArchiveForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + getArchiveForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}/archive"]["response"]; + }; + getCommitAuthors: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/import/authors"]["response"]; + }; + getImportStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/import"]["response"]; + }; + getLargeFiles: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/import/large_files"]["response"]; + }; + getStatusForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}"]["response"]; + }; + getStatusForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + listReposForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + mapCommitAuthor: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"]["response"]; + }; + setLfsPreference: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/import/lfs"]["response"]; + }; + startForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/migrations"]["response"]; + }; + startForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/migrations"]["response"]; + }; + startImport: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/import"]["response"]; + }; + unlockRepoForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + unlockRepoForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + updateImport: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/import"]["response"]; + }; + }; + orgs: { + blockUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/blocks/{username}"]["response"]; + }; + cancelInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["response"]; + }; + checkBlockedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/blocks/{username}"]["response"]; + }; + checkMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/members/{username}"]["response"]; + }; + checkPublicMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/public_members/{username}"]["response"]; + }; + convertMemberToOutsideCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + createInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/invitations"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/hooks"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}"]["response"]; + }; + getMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/memberships/orgs/{org}"]["response"]; + }; + getMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/memberships/{username}"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /organizations"]["response"]; + }; + listAppInstallations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/installations"]["response"]; + }; + listBlockedUsers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + listFailedInvitations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/orgs"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + listInvitationTeams: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + listMembers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + listMembershipsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + listOutsideCollaborators: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + listPendingInvitations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + listPublicMembers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["response"]; + }; + removeMember: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/members/{username}"]["response"]; + }; + removeMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/memberships/{username}"]["response"]; + }; + removeOutsideCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + removePublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/public_members/{username}"]["response"]; + }; + setMembershipForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/memberships/{username}"]["response"]; + }; + setPublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/public_members/{username}"]["response"]; + }; + unblockUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/blocks/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}"]["response"]; + }; + updateMembershipForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/memberships/orgs/{org}"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + }; + packages: { + deletePackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByAnOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getPackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForOrganization: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + restorePackageForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + }; + projects: { + addCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["response"]; + }; + createCard: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/columns/{column_id}/cards"]["response"]; + }; + createColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/{project_id}/columns"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/projects"]["response"]; + }; + createForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/projects"]["response"]; + }; + createForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/projects"]["response"]; + }; + delete: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/{project_id}"]["response"]; + }; + deleteCard: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/columns/cards/{card_id}"]["response"]; + }; + deleteColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/columns/{column_id}"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}"]["response"]; + }; + getCard: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/columns/cards/{card_id}"]["response"]; + }; + getColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/columns/{column_id}"]["response"]; + }; + getPermissionForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["response"]; + }; + listCards: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + listColumns: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + moveCard: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/columns/cards/{card_id}/moves"]["response"]; + }; + moveColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /projects/columns/{column_id}/moves"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /projects/{project_id}"]["response"]; + }; + updateCard: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /projects/columns/cards/{card_id}"]["response"]; + }; + updateColumn: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /projects/columns/{column_id}"]["response"]; + }; + }; + pulls: { + checkIfMerged: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls"]["response"]; + }; + createReplyForReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["response"]; + }; + createReview: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + createReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + deletePendingReview: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + deleteReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + dismissReview: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + getReview: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + getReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + listCommentsForReview: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + listFiles: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + listRequestedReviewers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + listReviewComments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + listReviewCommentsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + listReviews: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + merge: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + removeRequestedReviewers: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + requestReviewers: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + submitReview: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + updateBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["response"]; + }; + updateReview: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + updateReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + }; + rateLimit: { + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /rate_limit"]["response"]; + }; + }; + reactions: { + createForCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + createForIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + createForIssueComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + createForPullRequestReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + createForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + createForTeamDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + deleteForCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssueComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForPullRequestComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussion: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussionComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["response"]; + }; + deleteLegacy: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /reactions/{reaction_id}"]["response"]; + }; + listForCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + listForIssue: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + listForIssueComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + listForPullRequestReviewComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + listForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + listForTeamDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + }; + repos: { + acceptInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + addAppAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + addCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + addStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + addTeamAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + addUserAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + checkCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + checkVulnerabilityAlerts: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + compareCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["response"]; + }; + createCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + createCommitSignatureProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + createCommitStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["response"]; + }; + createDeployKey: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/keys"]["response"]; + }; + createDeployment: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/deployments"]["response"]; + }; + createDeploymentStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + createDispatchEvent: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/dispatches"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/repos"]["response"]; + }; + createFork: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/forks"]["response"]; + }; + createInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/repos"]["response"]; + }; + createOrUpdateEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + createOrUpdateFileContents: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + createPagesSite: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pages"]["response"]; + }; + createRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/releases"]["response"]; + }; + createUsingTemplate: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks"]["response"]; + }; + declineInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + delete: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}"]["response"]; + }; + deleteAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + deleteAdminBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + deleteAnEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + deleteBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + deleteCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + deleteCommitSignatureProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + deleteDeployKey: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + deleteDeployment: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + deleteFile: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + deleteInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + deletePagesSite: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/pages"]["response"]; + }; + deletePullRequestReviewProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + deleteRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + deleteReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + disableAutomatedSecurityFixes: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + disableVulnerabilityAlerts: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + downloadArchive: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + downloadTarballArchive: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["response"]; + }; + downloadZipballArchive: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + enableAutomatedSecurityFixes: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + enableVulnerabilityAlerts: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + get: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}"]["response"]; + }; + getAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + getAdminBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + getAllEnvironments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]; + }; + getAllStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + getAllTopics: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]; + }; + getAppsWithAccessToProtectedBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + getBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["response"]; + }; + getBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + getClones: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["response"]; + }; + getCodeFrequencyStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["response"]; + }; + getCollaboratorPermissionLevel: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["response"]; + }; + getCombinedStatusForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["response"]; + }; + getCommitActivityStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["response"]; + }; + getCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + getCommitSignatureProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + getCommunityProfileMetrics: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/community/profile"]["response"]; + }; + getContent: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + getContributorsStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["response"]; + }; + getDeployKey: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + getDeployment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + getDeploymentStatus: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["response"]; + }; + getEnvironment: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + getLatestPagesBuild: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["response"]; + }; + getLatestRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["response"]; + }; + getPages: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages"]["response"]; + }; + getPagesBuild: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["response"]; + }; + getParticipationStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["response"]; + }; + getPullRequestReviewProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + getPunchCardStats: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["response"]; + }; + getReadme: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/readme"]["response"]; + }; + getReadmeInDirectory: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["response"]; + }; + getRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + getReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + getReleaseByTag: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["response"]; + }; + getStatusChecksProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + getTeamsWithAccessToProtectedBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + getTopPaths: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["response"]; + }; + getTopReferrers: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["response"]; + }; + getUsersWithAccessToProtectedBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + getViews: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + listBranches: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + listBranchesForHeadCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + listCommentsForCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + listCommitCommentsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + listCommitStatusesForRef: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + listContributors: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + listDeployKeys: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + listDeploymentStatuses: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + listDeployments: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/repos"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + listForks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + listInvitations: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + listInvitationsForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + listLanguages: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/languages"]["response"]; + }; + listPagesBuilds: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repositories"]["response"]; + }; + listPullRequestsAssociatedWithCommit: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + listReleaseAssets: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + listReleases: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + listTags: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + listTeams: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + merge: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/merges"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["response"]; + }; + removeAppAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + removeStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + removeStatusCheckProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + removeTeamAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + removeUserAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + renameBranch: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["response"]; + }; + replaceAllTopics: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/topics"]["response"]; + }; + requestPagesBuild: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + setAdminBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + setAppAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + setStatusCheckContexts: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + setTeamAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + setUserAccessRestrictions: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + testPushWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["response"]; + }; + transfer: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /repos/{owner}/{repo}/transfer"]["response"]; + }; + update: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}"]["response"]; + }; + updateBranchProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + updateCommitComment: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + updateInformationAboutPagesSite: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /repos/{owner}/{repo}/pages"]["response"]; + }; + updateInvitation: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + updatePullRequestReviewProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + updateRelease: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + updateReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + updateStatusCheckPotection: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateStatusCheckProtection: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + uploadReleaseAsset: { + parameters: RequestParameters & Omit; + response: Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["response"]; + }; + }; + search: { + code: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/code"]["response"]; + }; + commits: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/commits"]["response"]; + }; + issuesAndPullRequests: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/issues"]["response"]; + }; + labels: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/labels"]["response"]; + }; + repos: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/repositories"]["response"]; + }; + topics: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/topics"]["response"]; + }; + users: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /search/users"]["response"]; + }; + }; + secretScanning: { + getAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + }; + teams: { + addOrUpdateMembershipForUserInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + addOrUpdateProjectPermissionsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + addOrUpdateRepoPermissionsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + checkPermissionsForProjectInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + checkPermissionsForRepoInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + create: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams"]["response"]; + }; + createDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + createDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + deleteDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + deleteDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + deleteInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getByName: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + getDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + getMembershipForUserInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + listChildInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + listDiscussionCommentsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + listDiscussionsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/teams"]["response"]; + }; + listMembersInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + listPendingInvitationsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + listProjectsInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + listReposInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + removeMembershipForUserInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + removeProjectInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + removeRepoInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + updateDiscussionCommentInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + updateDiscussionInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + updateInOrg: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["response"]; + }; + }; + users: { + addEmailForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/emails"]["response"]; + }; + block: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/blocks/{username}"]["response"]; + }; + checkBlocked: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/blocks/{username}"]["response"]; + }; + checkFollowingForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/following/{target_user}"]["response"]; + }; + checkPersonIsFollowedByAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/following/{username}"]["response"]; + }; + createGpgKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["POST /user/keys"]["response"]; + }; + deleteEmailForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteGpgKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + follow: { + parameters: RequestParameters & Omit; + response: Endpoints["PUT /user/following/{username}"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user"]["response"]; + }; + getByUsername: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}"]["response"]; + }; + getContextForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/hovercard"]["response"]; + }; + getGpgKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users"]["response"]; + }; + listBlockedByAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listEmailsForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/emails"]["response"]; + }; + listFollowedByAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowersForAuthenticatedUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/followers"]["response"]; + }; + listFollowersForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + listFollowingForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + listGpgKeysForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + listPublicEmailsForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicKeysForUser: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + listPublicSshKeysForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["GET /user/keys"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + unblock: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/blocks/{username}"]["response"]; + }; + unfollow: { + parameters: RequestParameters & Omit; + response: Endpoints["DELETE /user/following/{username}"]["response"]; + }; + updateAuthenticated: { + parameters: RequestParameters & Omit; + response: Endpoints["PATCH /user"]["response"]; + }; + }; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts new file mode 100644 index 0000000..beef376 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import { Octokit } from "@octokit/core"; +export { RestEndpointMethodTypes } from "./generated/parameters-and-response-types"; +import { Api } from "./types"; +export declare function restEndpointMethods(octokit: Octokit): Api; +export declare namespace restEndpointMethods { + var VERSION: string; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts new file mode 100644 index 0000000..5a0caa5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -0,0 +1,18 @@ +import { Route, RequestParameters } from "@octokit/types"; +import { RestEndpointMethods } from "./generated/method-types"; +export declare type Api = RestEndpointMethods & { + rest: RestEndpointMethods; +}; +export declare type EndpointDecorations = { + mapToData?: string; + deprecated?: string; + renamed?: [string, string]; + renamedParameters?: { + [name: string]: string; + }; +}; +export declare type EndpointsDefaultsAndDecorations = { + [scope: string]: { + [methodName: string]: [Route, RequestParameters?, EndpointDecorations?]; + }; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts new file mode 100644 index 0000000..3608bee --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "4.15.1"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js new file mode 100644 index 0000000..d802be8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -0,0 +1,1479 @@ +const Endpoints = { + actions: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel", + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token", + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token", + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token", + ], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}", + ], + deleteEnvironmentSecret: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}", + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}", + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs", + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs", + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}", + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", + ], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions", + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions", + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions", + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] }, + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}", + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing", + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads", + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories", + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions", + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions", + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions", + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories", + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories", + ], + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription", + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription", + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}", + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public", + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications", + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription", + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"], + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + ], + checkToken: ["POST /applications/{client_id}/token"], + createContentAttachment: [ + "POST /content_references/{content_reference_id}/attachments", + { mediaType: { previews: ["corsair"] } }, + ], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens", + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}", + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}", + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories", + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed", + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended", + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"], + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions", + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages", + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage", + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage", + ], + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences", + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}", + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } }, + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + ], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"], + }, + codesOfConduct: { + getAllCodesOfConduct: [ + "GET /codes_of_conduct", + { mediaType: { previews: ["scarlet-witch"] } }, + ], + getConductCode: [ + "GET /codes_of_conduct/{key}", + { mediaType: { previews: ["scarlet-witch"] } }, + ], + getForRepo: [ + "GET /repos/{owner}/{repo}/community/code_of_conduct", + { mediaType: { previews: ["scarlet-witch"] } }, + ], + }, + emojis: { get: ["GET /emojis"] }, + enterpriseAdmin: { + disableSelectedOrganizationGithubActionsEnterprise: [ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + enableSelectedOrganizationGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + ], + getAllowedActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + getGithubActionsPermissionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions", + ], + listSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "GET /enterprises/{enterprise}/actions/permissions/organizations", + ], + setAllowedActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions", + ], + setGithubActionsPermissionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions", + ], + setSelectedOrganizationsEnabledGithubActionsEnterprise: [ + "PUT /enterprises/{enterprise}/actions/permissions/organizations", + ], + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"], + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"], + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"], + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }, + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits", + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }, + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }, + ], + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments", + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}", + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + { mediaType: { previews: ["mockingbird"] } }, + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels", + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees", + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}", + ], + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"], + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } }, + ], + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"], + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive", + { mediaType: { previews: ["wyandotte"] } }, + ], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}", + { mediaType: { previews: ["wyandotte"] } }, + ], + getStatusForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}", + { mediaType: { previews: ["wyandotte"] } }, + ], + listForAuthenticatedUser: [ + "GET /user/migrations", + { mediaType: { previews: ["wyandotte"] } }, + ], + listForOrg: [ + "GET /orgs/{org}/migrations", + { mediaType: { previews: ["wyandotte"] } }, + ], + listReposForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/repositories", + { mediaType: { previews: ["wyandotte"] } }, + ], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + { mediaType: { previews: ["wyandotte"] } }, + ], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", + { mediaType: { previews: ["wyandotte"] } }, + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", + { mediaType: { previews: ["wyandotte"] } }, + ], + updateImport: ["PATCH /repos/{owner}/{repo}/import"], + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}", + ], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}", + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}", + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}", + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}", + ], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}", + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}", + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser", + ], + }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions", + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}", + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}", + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}", + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", + ], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}", + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", + ], + }, + projects: { + addCollaborator: [ + "PUT /projects/{project_id}/collaborators/{username}", + { mediaType: { previews: ["inertia"] } }, + ], + createCard: [ + "POST /projects/columns/{column_id}/cards", + { mediaType: { previews: ["inertia"] } }, + ], + createColumn: [ + "POST /projects/{project_id}/columns", + { mediaType: { previews: ["inertia"] } }, + ], + createForAuthenticatedUser: [ + "POST /user/projects", + { mediaType: { previews: ["inertia"] } }, + ], + createForOrg: [ + "POST /orgs/{org}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + createForRepo: [ + "POST /repos/{owner}/{repo}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + delete: [ + "DELETE /projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + deleteCard: [ + "DELETE /projects/columns/cards/{card_id}", + { mediaType: { previews: ["inertia"] } }, + ], + deleteColumn: [ + "DELETE /projects/columns/{column_id}", + { mediaType: { previews: ["inertia"] } }, + ], + get: [ + "GET /projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + getCard: [ + "GET /projects/columns/cards/{card_id}", + { mediaType: { previews: ["inertia"] } }, + ], + getColumn: [ + "GET /projects/columns/{column_id}", + { mediaType: { previews: ["inertia"] } }, + ], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission", + { mediaType: { previews: ["inertia"] } }, + ], + listCards: [ + "GET /projects/columns/{column_id}/cards", + { mediaType: { previews: ["inertia"] } }, + ], + listCollaborators: [ + "GET /projects/{project_id}/collaborators", + { mediaType: { previews: ["inertia"] } }, + ], + listColumns: [ + "GET /projects/{project_id}/columns", + { mediaType: { previews: ["inertia"] } }, + ], + listForOrg: [ + "GET /orgs/{org}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + listForRepo: [ + "GET /repos/{owner}/{repo}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + listForUser: [ + "GET /users/{username}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + moveCard: [ + "POST /projects/columns/cards/{card_id}/moves", + { mediaType: { previews: ["inertia"] } }, + ], + moveColumn: [ + "POST /projects/columns/{column_id}/moves", + { mediaType: { previews: ["inertia"] } }, + ], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}", + { mediaType: { previews: ["inertia"] } }, + ], + update: [ + "PATCH /projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + updateCard: [ + "PATCH /projects/columns/cards/{card_id}", + { mediaType: { previews: ["inertia"] } }, + ], + updateColumn: [ + "PATCH /projects/columns/{column_id}", + { mediaType: { previews: ["inertia"] } }, + ], + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", + { mediaType: { previews: ["lydian"] } }, + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}", + ], + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + deleteLegacy: [ + "DELETE /reactions/{reaction_id}", + { mediaType: { previews: ["squirrel-girl"] } }, + { + deprecated: "octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy", + }, + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + { mediaType: { previews: ["squirrel-girl"] } }, + ], + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts", + { mediaType: { previews: ["dorian"] } }, + ], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + { mediaType: { previews: ["zzzax"] } }, + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}", + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: [ + "POST /repos/{owner}/{repo}/pages", + { mediaType: { previews: ["switcheroo"] } }, + ], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate", + { mediaType: { previews: ["baptiste"] } }, + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}", + ], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection", + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + { mediaType: { previews: ["zzzax"] } }, + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}", + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + deletePagesSite: [ + "DELETE /repos/{owner}/{repo}/pages", + { mediaType: { previews: ["switcheroo"] } }, + ], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes", + { mediaType: { previews: ["london"] } }, + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts", + { mediaType: { previews: ["dorian"] } }, + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] }, + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes", + { mediaType: { previews: ["london"] } }, + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts", + { mediaType: { previews: ["dorian"] } }, + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + ], + getAllTopics: [ + "GET /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + ], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection", + ], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission", + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + { mediaType: { previews: ["zzzax"] } }, + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}", + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + { mediaType: { previews: ["groot"] } }, + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + { mediaType: { previews: ["groot"] } }, + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}", + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: [ + "PUT /repos/{owner}/{repo}/topics", + { mediaType: { previews: ["mercy"] } }, + ], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" }, + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" }, + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" }, + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" }, + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection", + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}", + ], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}", + ], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] }, + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config", + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" }, + ], + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits", { mediaType: { previews: ["cloak"] } }], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics", { mediaType: { previews: ["mercy"] } }], + users: ["GET /search/users"], + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", + ], + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", + { mediaType: { previews: ["inertia"] } }, + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations", + ], + listProjectsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects", + { mediaType: { previews: ["inertia"] } }, + ], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}", + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}", + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"], + }, + users: { + addEmailForAuthenticated: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"], + }, +}; + +const VERSION = "4.15.1"; + +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ method, url }, defaults); + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + const scopeMethods = newMethods[scope]; + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); + // There are currently no other decorations than `.mapToData` + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined, + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + if (!(alias in options)) { + options[alias] = options[name]; + } + delete options[name]; + } + } + return requestWithDefaults(options); + } + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} + +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + ...api, + rest: api, + }; +} +restEndpointMethods.VERSION = VERSION; + +export { restEndpointMethods }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map new file mode 100644 index 0000000..fea8b2a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/endpoints-to-methods.js","../dist-src/index.js"],"sourcesContent":["const Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\n \"POST /content_references/{content_reference_id}/attachments\",\n { mediaType: { previews: [\"corsair\"] } },\n ],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\n \"GET /codes_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getConductCode: [\n \"GET /codes_of_conduct/{key}\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n getForRepo: [\n \"GET /repos/{owner}/{repo}/community/code_of_conduct\",\n { mediaType: { previews: [\"scarlet-witch\"] } },\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n { mediaType: { previews: [\"mockingbird\"] } },\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n getStatusForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForAuthenticatedUser: [\n \"GET /user/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/migrations\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n { mediaType: { previews: [\"wyandotte\"] } },\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\n \"PUT /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createCard: [\n \"POST /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createColumn: [\n \"POST /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForAuthenticatedUser: [\n \"POST /user/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForOrg: [\n \"POST /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n createForRepo: [\n \"POST /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n delete: [\n \"DELETE /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteCard: [\n \"DELETE /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n deleteColumn: [\n \"DELETE /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n get: [\n \"GET /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getCard: [\n \"GET /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getColumn: [\n \"GET /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCards: [\n \"GET /projects/columns/{column_id}/cards\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listCollaborators: [\n \"GET /projects/{project_id}/collaborators\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listColumns: [\n \"GET /projects/{project_id}/columns\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForOrg: [\n \"GET /orgs/{org}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForRepo: [\n \"GET /repos/{owner}/{repo}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listForUser: [\n \"GET /users/{username}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveCard: [\n \"POST /projects/columns/cards/{card_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n moveColumn: [\n \"POST /projects/columns/{column_id}/moves\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n update: [\n \"PATCH /projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateCard: [\n \"PATCH /projects/columns/cards/{card_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n updateColumn: [\n \"PATCH /projects/columns/{column_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n { mediaType: { previews: [\"lydian\"] } },\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n deleteLegacy: [\n \"DELETE /reactions/{reaction_id}\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n {\n deprecated: \"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy\",\n },\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n { mediaType: { previews: [\"squirrel-girl\"] } },\n ],\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\n \"POST /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n { mediaType: { previews: [\"baptiste\"] } },\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\n \"DELETE /repos/{owner}/{repo}/pages\",\n { mediaType: { previews: [\"switcheroo\"] } },\n ],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n { mediaType: { previews: [\"london\"] } },\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n { mediaType: { previews: [\"dorian\"] } },\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\n \"GET /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n { mediaType: { previews: [\"zzzax\"] } },\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n { mediaType: { previews: [\"groot\"] } },\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\n \"PUT /repos/{owner}/{repo}/topics\",\n { mediaType: { previews: [\"mercy\"] } },\n ],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", { mediaType: { previews: [\"cloak\"] } }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", { mediaType: { previews: [\"mercy\"] } }],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n { mediaType: { previews: [\"inertia\"] } },\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"4.15.1\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["ENDPOINTS"],"mappings":"AAAA,MAAM,SAAS,GAAG;AAClB,IAAI,OAAO,EAAE;AACb,QAAQ,0BAA0B,EAAE;AACpC,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,+CAA+C,CAAC;AAClF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,+DAA+D;AAC3E,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,+CAA+C,CAAC;AAClF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,uEAAuE;AACnF,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,uBAAuB,EAAE;AACjC,YAAY,4FAA4F;AACxG,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,kDAAkD,CAAC;AAC7E,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,oDAAoD,CAAC;AACjF,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,kDAAkD,EAAE;AAC5D,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,uBAAuB,EAAE;AACjC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,iDAAiD,EAAE;AAC3D,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,2DAA2D,CAAC;AAClF,QAAQ,uBAAuB,EAAE;AACjC,YAAY,sFAAsF;AAClG,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,uCAAuC,EAAE;AACjD,YAAY,qCAAqC;AACjD,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,+CAA+C;AAC3D,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,iDAAiD,CAAC;AACjF,QAAQ,eAAe,EAAE,CAAC,4CAA4C,CAAC;AACvE,QAAQ,YAAY,EAAE,CAAC,+CAA+C,CAAC;AACvE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,+CAA+C;AAC3D,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,uCAAuC,CAAC,EAAE;AAC7E,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,sDAAsD,CAAC;AAClF,QAAQ,aAAa,EAAE,CAAC,yDAAyD,CAAC;AAClF,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,6CAA6C,CAAC;AAClF,QAAQ,0BAA0B,EAAE;AACpC,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,2DAA2D,CAAC;AAClF,QAAQ,cAAc,EAAE,CAAC,iDAAiD,CAAC;AAC3E,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,6CAA6C,CAAC;AAC7E,QAAQ,sBAAsB,EAAE;AAChC,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,iCAAiC,CAAC;AAC3D,QAAQ,eAAe,EAAE,CAAC,2CAA2C,CAAC;AACtE,QAAQ,iBAAiB,EAAE,CAAC,6CAA6C,CAAC;AAC1E,QAAQ,4BAA4B,EAAE,CAAC,2CAA2C,CAAC;AACnF,QAAQ,6BAA6B,EAAE;AACvC,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,wDAAwD,EAAE;AAClE,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,2BAA2B,EAAE,CAAC,iCAAiC,CAAC;AACxE,QAAQ,4BAA4B,EAAE,CAAC,2CAA2C,CAAC;AACnF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,wCAAwC,CAAC;AAC3E,QAAQ,aAAa,EAAE,CAAC,wDAAwD,CAAC;AACjF,QAAQ,+BAA+B,EAAE;AACzC,YAAY,+EAA+E;AAC3F,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,6BAA6B,EAAE;AACvC,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,uCAAuC,EAAE;AACjD,YAAY,qCAAqC;AACjD,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,+CAA+C;AAC3D,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,uDAAuD,EAAE;AACjE,YAAY,kDAAkD;AAC9D,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,qCAAqC,EAAE,CAAC,kCAAkC,CAAC;AACnF,QAAQ,sBAAsB,EAAE,CAAC,2CAA2C,CAAC;AAC7E,QAAQ,wBAAwB,EAAE;AAClC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC,YAAY,CAAC;AAChC,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,SAAS,EAAE,CAAC,wCAAwC,CAAC;AAC7D,QAAQ,yCAAyC,EAAE;AACnD,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,8BAA8B,EAAE,CAAC,8BAA8B,CAAC;AACxE,QAAQ,qCAAqC,EAAE,CAAC,oBAAoB,CAAC;AACrE,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,yCAAyC;AACrD,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,aAAa,CAAC;AACzC,QAAQ,8BAA8B,EAAE,CAAC,qCAAqC,CAAC;AAC/E,QAAQ,uBAAuB,EAAE,CAAC,qCAAqC,CAAC;AACxE,QAAQ,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;AACvD,QAAQ,yBAAyB,EAAE,CAAC,uCAAuC,CAAC;AAC5E,QAAQ,+BAA+B,EAAE;AACzC,YAAY,8CAA8C;AAC1D,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,kCAAkC,CAAC;AAC5D,QAAQ,yCAAyC,EAAE;AACnD,YAAY,yCAAyC;AACrD,SAAS;AACT,QAAQ,mCAAmC,EAAE,CAAC,mBAAmB,CAAC;AAClE,QAAQ,sBAAsB,EAAE,CAAC,+BAA+B,CAAC;AACjE,QAAQ,sBAAsB,EAAE,CAAC,qCAAqC,CAAC;AACvE,QAAQ,qBAAqB,EAAE,CAAC,sCAAsC,CAAC;AACvE,QAAQ,oCAAoC,EAAE,CAAC,yBAAyB,CAAC;AACzE,QAAQ,mBAAmB,EAAE,CAAC,uCAAuC,CAAC;AACtE,QAAQ,uBAAuB,EAAE,CAAC,oBAAoB,CAAC;AACvD,QAAQ,2BAA2B,EAAE,CAAC,yCAAyC,CAAC;AAChF,QAAQ,gBAAgB,EAAE,CAAC,0CAA0C,CAAC;AACtE,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,4BAA4B,EAAE,CAAC,kCAAkC,CAAC;AAC1E,QAAQ,8BAA8B,EAAE,CAAC,qCAAqC,CAAC;AAC/E,KAAK;AACL,IAAI,IAAI,EAAE;AACV,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,wEAAwE;AACpF,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,sCAAsC,CAAC;AAC5D,QAAQ,uBAAuB,EAAE;AACjC,YAAY,6DAA6D;AACzE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,wCAAwC,CAAC;AACtE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,kBAAkB,EAAE,CAAC,6CAA6C,CAAC;AAC3E,QAAQ,WAAW,EAAE,CAAC,wCAAwC,CAAC;AAC/D,QAAQ,gBAAgB,EAAE,CAAC,UAAU,CAAC;AACtC,QAAQ,SAAS,EAAE,CAAC,sBAAsB,CAAC;AAC3C,QAAQ,eAAe,EAAE,CAAC,0CAA0C,CAAC;AACrE,QAAQ,kBAAkB,EAAE,CAAC,8BAA8B,CAAC;AAC5D,QAAQ,mBAAmB,EAAE,CAAC,wCAAwC,CAAC;AACvE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,oCAAoC,CAAC;AACnE,QAAQ,sBAAsB,EAAE,CAAC,sBAAsB,CAAC;AACxD,QAAQ,mBAAmB,EAAE,CAAC,mDAAmD,CAAC;AAClF,QAAQ,0BAA0B,EAAE;AACpC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,wBAAwB,CAAC;AACrD,QAAQ,qCAAqC,EAAE,CAAC,yBAAyB,CAAC;AAC1E,QAAQ,SAAS,EAAE,CAAC,gCAAgC,CAAC;AACrD,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,iCAAiC,EAAE,CAAC,gCAAgC,CAAC;AAC7E,QAAQ,qCAAqC,EAAE,CAAC,iCAAiC,CAAC;AAClF,QAAQ,4CAA4C,EAAE;AACtD,YAAY,yCAAyC;AACrD,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,uCAAuC,CAAC;AAC7D,QAAQ,6BAA6B,EAAE,CAAC,4BAA4B,CAAC;AACrE,QAAQ,UAAU,EAAE,CAAC,6CAA6C,CAAC;AACnE,QAAQ,mBAAmB,EAAE,CAAC,oDAAoD,CAAC;AACnF,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,wBAAwB,CAAC;AAC7D,KAAK;AACL,IAAI,OAAO,EAAE;AACb,QAAQ,0BAA0B,EAAE,CAAC,0CAA0C,CAAC;AAChF,QAAQ,2BAA2B,EAAE;AACrC,YAAY,gDAAgD;AAC5D,SAAS;AACT,QAAQ,2BAA2B,EAAE,CAAC,2CAA2C,CAAC;AAClF,QAAQ,4BAA4B,EAAE;AACtC,YAAY,iDAAiD;AAC7D,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,iDAAiD;AAC7D,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,uDAAuD;AACnE,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,QAAQ,MAAM,EAAE,CAAC,uCAAuC,CAAC;AACzD,QAAQ,WAAW,EAAE,CAAC,yCAAyC,CAAC;AAChE,QAAQ,GAAG,EAAE,CAAC,qDAAqD,CAAC;AACpE,QAAQ,QAAQ,EAAE,CAAC,yDAAyD,CAAC;AAC7E,QAAQ,eAAe,EAAE;AACzB,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,oDAAoD,CAAC;AAC1E,QAAQ,YAAY,EAAE;AACtB,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,sDAAsD,CAAC;AAClF,QAAQ,cAAc,EAAE;AACxB,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,sDAAsD;AAClE,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,uDAAuD,CAAC;AACzE,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,QAAQ,cAAc,EAAE;AACxB,YAAY,oFAAoF;AAChG,SAAS;AACT,QAAQ,QAAQ,EAAE;AAClB,YAAY,+DAA+D;AAC3E,YAAY,EAAE;AACd,YAAY,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;AAC/D,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC,2DAA2D,CAAC;AAC/E,QAAQ,iBAAiB,EAAE,CAAC,gDAAgD,CAAC;AAC7E,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,yEAAyE;AACrF,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,kDAAkD,CAAC;AAChF,QAAQ,WAAW,EAAE;AACrB,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,iDAAiD,CAAC;AACxE,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,uBAAuB;AACnC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,6BAA6B;AACzC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,qDAAqD;AACjE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE;AACpC,IAAI,eAAe,EAAE;AACrB,QAAQ,kDAAkD,EAAE;AAC5D,YAAY,6EAA6E;AACzF,SAAS;AACT,QAAQ,iDAAiD,EAAE;AAC3D,YAAY,0EAA0E;AACtF,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,mDAAmD;AAC/D,SAAS;AACT,QAAQ,uDAAuD,EAAE;AACjE,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,mDAAmD;AAC/D,SAAS;AACT,QAAQ,sDAAsD,EAAE;AAChE,YAAY,iEAAiE;AAC7E,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,cAAc,EAAE,CAAC,2BAA2B,CAAC;AACrD,QAAQ,MAAM,EAAE,CAAC,aAAa,CAAC;AAC/B,QAAQ,aAAa,EAAE,CAAC,gCAAgC,CAAC;AACzD,QAAQ,MAAM,EAAE,CAAC,yBAAyB,CAAC;AAC3C,QAAQ,aAAa,EAAE,CAAC,+CAA+C,CAAC;AACxE,QAAQ,IAAI,EAAE,CAAC,6BAA6B,CAAC;AAC7C,QAAQ,GAAG,EAAE,CAAC,sBAAsB,CAAC;AACrC,QAAQ,UAAU,EAAE,CAAC,4CAA4C,CAAC;AAClE,QAAQ,WAAW,EAAE,CAAC,4BAA4B,CAAC;AACnD,QAAQ,IAAI,EAAE,CAAC,YAAY,CAAC;AAC5B,QAAQ,YAAY,EAAE,CAAC,+BAA+B,CAAC;AACvD,QAAQ,WAAW,EAAE,CAAC,8BAA8B,CAAC;AACrD,QAAQ,WAAW,EAAE,CAAC,6BAA6B,CAAC;AACpD,QAAQ,SAAS,EAAE,CAAC,4BAA4B,CAAC;AACjD,QAAQ,UAAU,EAAE,CAAC,mBAAmB,CAAC;AACzC,QAAQ,WAAW,EAAE,CAAC,oBAAoB,CAAC;AAC3C,QAAQ,IAAI,EAAE,CAAC,2BAA2B,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,8BAA8B,CAAC;AAChD,QAAQ,MAAM,EAAE,CAAC,wBAAwB,CAAC;AAC1C,QAAQ,aAAa,EAAE,CAAC,8CAA8C,CAAC;AACvE,KAAK;AACL,IAAI,GAAG,EAAE;AACT,QAAQ,UAAU,EAAE,CAAC,sCAAsC,CAAC;AAC5D,QAAQ,YAAY,EAAE,CAAC,wCAAwC,CAAC;AAChE,QAAQ,SAAS,EAAE,CAAC,qCAAqC,CAAC;AAC1D,QAAQ,SAAS,EAAE,CAAC,qCAAqC,CAAC;AAC1D,QAAQ,UAAU,EAAE,CAAC,sCAAsC,CAAC;AAC5D,QAAQ,SAAS,EAAE,CAAC,6CAA6C,CAAC;AAClE,QAAQ,OAAO,EAAE,CAAC,gDAAgD,CAAC;AACnE,QAAQ,SAAS,EAAE,CAAC,oDAAoD,CAAC;AACzE,QAAQ,MAAM,EAAE,CAAC,yCAAyC,CAAC;AAC3D,QAAQ,MAAM,EAAE,CAAC,8CAA8C,CAAC;AAChE,QAAQ,OAAO,EAAE,CAAC,gDAAgD,CAAC;AACnE,QAAQ,gBAAgB,EAAE,CAAC,mDAAmD,CAAC;AAC/E,QAAQ,SAAS,EAAE,CAAC,4CAA4C,CAAC;AACjE,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,eAAe,EAAE,CAAC,0BAA0B,CAAC;AACrD,QAAQ,WAAW,EAAE,CAAC,iCAAiC,CAAC;AACxD,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,QAAQ,mCAAmC,EAAE,CAAC,8BAA8B,CAAC;AAC7E,QAAQ,qBAAqB,EAAE,CAAC,oCAAoC,CAAC;AACrE,QAAQ,sBAAsB,EAAE,CAAC,8CAA8C,CAAC;AAChF,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,8BAA8B;AAC1C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,qCAAqC,CAAC,EAAE;AAChF,SAAS;AACT,QAAQ,sCAAsC,EAAE,CAAC,iCAAiC,CAAC;AACnF,QAAQ,wBAAwB,EAAE,CAAC,uCAAuC,CAAC;AAC3E,QAAQ,yBAAyB,EAAE;AACnC,YAAY,iDAAiD;AAC7D,SAAS;AACT,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,iCAAiC;AAC7C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,wCAAwC,CAAC,EAAE;AACnF,SAAS;AACT,QAAQ,mCAAmC,EAAE,CAAC,8BAA8B,CAAC;AAC7E,QAAQ,qBAAqB,EAAE,CAAC,oCAAoC,CAAC;AACrE,QAAQ,sBAAsB,EAAE,CAAC,8CAA8C,CAAC;AAChF,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,8BAA8B;AAC1C,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,qCAAqC,CAAC,EAAE;AAChF,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,QAAQ,YAAY,EAAE;AACtB,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,sBAAsB,EAAE,CAAC,gDAAgD,CAAC;AAClF,QAAQ,MAAM,EAAE,CAAC,mCAAmC,CAAC;AACrD,QAAQ,aAAa,EAAE;AACvB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,mCAAmC,CAAC;AAC1D,QAAQ,eAAe,EAAE,CAAC,uCAAuC,CAAC;AAClE,QAAQ,aAAa,EAAE;AACvB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,4CAA4C,CAAC;AACnE,QAAQ,eAAe,EAAE;AACzB,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,iDAAiD,CAAC;AAChE,QAAQ,UAAU,EAAE,CAAC,wDAAwD,CAAC;AAC9E,QAAQ,QAAQ,EAAE,CAAC,oDAAoD,CAAC;AACxE,QAAQ,QAAQ,EAAE,CAAC,yCAAyC,CAAC;AAC7D,QAAQ,YAAY,EAAE,CAAC,yDAAyD,CAAC;AACjF,QAAQ,IAAI,EAAE,CAAC,aAAa,CAAC;AAC7B,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,YAAY,EAAE,CAAC,0DAA0D,CAAC;AAClF,QAAQ,mBAAmB,EAAE,CAAC,2CAA2C,CAAC;AAC1E,QAAQ,UAAU,EAAE,CAAC,wDAAwD,CAAC;AAC9E,QAAQ,iBAAiB,EAAE,CAAC,yCAAyC,CAAC;AACtE,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,0DAA0D;AACtE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;AACxD,SAAS;AACT,QAAQ,wBAAwB,EAAE,CAAC,kBAAkB,CAAC;AACtD,QAAQ,UAAU,EAAE,CAAC,wBAAwB,CAAC;AAC9C,QAAQ,WAAW,EAAE,CAAC,kCAAkC,CAAC;AACzD,QAAQ,sBAAsB,EAAE;AAChC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,kCAAkC,CAAC;AAC/D,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,sCAAsC,CAAC;AAChE,QAAQ,IAAI,EAAE,CAAC,sDAAsD,CAAC;AACtE,QAAQ,eAAe,EAAE;AACzB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,kEAAkE;AAC9E,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,wDAAwD,CAAC;AAC7E,QAAQ,MAAM,EAAE,CAAC,yDAAyD,CAAC;AAC3E,QAAQ,MAAM,EAAE,CAAC,mDAAmD,CAAC;AACrE,QAAQ,aAAa,EAAE,CAAC,0DAA0D,CAAC;AACnF,QAAQ,WAAW,EAAE,CAAC,2CAA2C,CAAC;AAClE,QAAQ,eAAe,EAAE;AACzB,YAAY,2DAA2D;AACvE,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,GAAG,EAAE,CAAC,yBAAyB,CAAC;AACxC,QAAQ,kBAAkB,EAAE,CAAC,eAAe,CAAC;AAC7C,QAAQ,UAAU,EAAE,CAAC,mCAAmC,CAAC;AACzD,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,MAAM,EAAE,CAAC,gBAAgB,CAAC;AAClC,QAAQ,SAAS,EAAE;AACnB,YAAY,oBAAoB;AAChC,YAAY,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE;AACxE,SAAS;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC;AAC1B,QAAQ,UAAU,EAAE,CAAC,cAAc,CAAC;AACpC,QAAQ,MAAM,EAAE,CAAC,UAAU,CAAC;AAC5B,QAAQ,IAAI,EAAE,CAAC,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,UAAU,EAAE;AAChB,QAAQ,YAAY,EAAE,CAAC,qCAAqC,CAAC;AAC7D,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,gDAAgD;AAC5D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,sDAAsD;AAClE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,mDAAmD;AAC/D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,6CAA6C;AACzD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,0CAA0C,CAAC;AACtE,QAAQ,eAAe,EAAE,CAAC,kCAAkC,CAAC;AAC7D,QAAQ,aAAa,EAAE,CAAC,8CAA8C,CAAC;AACvE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,qCAAqC;AACjD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,2CAA2C;AACvD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,sBAAsB;AAClC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,4BAA4B;AACxC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,wDAAwD;AACpE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,kDAAkD;AAC9D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,wDAAwD,CAAC;AACnF,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,yBAAyB,EAAE,CAAC,uBAAuB,CAAC;AAC5D,QAAQ,WAAW,EAAE,CAAC,6BAA6B,CAAC;AACpD,QAAQ,WAAW,EAAE,CAAC,kCAAkC,CAAC;AACzD,QAAQ,8BAA8B,EAAE;AACxC,YAAY,+DAA+D;AAC3E,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,qEAAqE;AACjF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;AACtD,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,oCAAoC,CAAC;AAC5D,KAAK;AACL,IAAI,IAAI,EAAE;AACV,QAAQ,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACxD,QAAQ,gBAAgB,EAAE,CAAC,gDAAgD,CAAC;AAC5E,QAAQ,gBAAgB,EAAE,CAAC,mCAAmC,CAAC;AAC/D,QAAQ,sBAAsB,EAAE,CAAC,oCAAoC,CAAC;AACtE,QAAQ,4BAA4B,EAAE,CAAC,2CAA2C,CAAC;AACnF,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,8BAA8B,CAAC;AAC1D,QAAQ,aAAa,EAAE,CAAC,wBAAwB,CAAC;AACjD,QAAQ,aAAa,EAAE,CAAC,oCAAoC,CAAC;AAC7D,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC;AAChC,QAAQ,iCAAiC,EAAE,CAAC,kCAAkC,CAAC;AAC/E,QAAQ,oBAAoB,EAAE,CAAC,wCAAwC,CAAC;AACxE,QAAQ,UAAU,EAAE,CAAC,iCAAiC,CAAC;AACvD,QAAQ,sBAAsB,EAAE,CAAC,wCAAwC,CAAC;AAC1E,QAAQ,IAAI,EAAE,CAAC,oBAAoB,CAAC;AACpC,QAAQ,oBAAoB,EAAE,CAAC,+BAA+B,CAAC;AAC/D,QAAQ,gBAAgB,EAAE,CAAC,wBAAwB,CAAC;AACpD,QAAQ,qBAAqB,EAAE,CAAC,oCAAoC,CAAC;AACrE,QAAQ,wBAAwB,EAAE,CAAC,gBAAgB,CAAC;AACpD,QAAQ,WAAW,EAAE,CAAC,4BAA4B,CAAC;AACnD,QAAQ,mBAAmB,EAAE,CAAC,mDAAmD,CAAC;AAClF,QAAQ,WAAW,EAAE,CAAC,yBAAyB,CAAC;AAChD,QAAQ,mCAAmC,EAAE,CAAC,4BAA4B,CAAC;AAC3E,QAAQ,wBAAwB,EAAE,CAAC,uCAAuC,CAAC;AAC3E,QAAQ,sBAAsB,EAAE,CAAC,6BAA6B,CAAC;AAC/D,QAAQ,iBAAiB,EAAE,CAAC,gCAAgC,CAAC;AAC7D,QAAQ,YAAY,EAAE,CAAC,uBAAuB,CAAC;AAC/C,QAAQ,WAAW,EAAE,CAAC,wCAAwC,CAAC;AAC/D,QAAQ,YAAY,EAAE,CAAC,uCAAuC,CAAC;AAC/D,QAAQ,uBAAuB,EAAE,CAAC,2CAA2C,CAAC;AAC9E,QAAQ,yBAAyB,EAAE;AACnC,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,0CAA0C,EAAE;AACpD,YAAY,8CAA8C;AAC1D,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,wCAAwC,CAAC;AACxE,QAAQ,uCAAuC,EAAE;AACjD,YAAY,2CAA2C;AACvD,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,sCAAsC,CAAC;AAC7D,QAAQ,MAAM,EAAE,CAAC,mBAAmB,CAAC;AACrC,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,oCAAoC;AAChD,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,mCAAmC,CAAC;AAC5D,QAAQ,yBAAyB,EAAE,CAAC,0CAA0C,CAAC;AAC/E,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,qDAAqD;AACjE,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,wCAAwC,EAAE;AAClD,YAAY,mFAAmF;AAC/F,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,4CAA4C,EAAE;AACtD,YAAY,iEAAiE;AAC7E,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,2CAA2C,CAAC,EAAE;AAClF,SAAS;AACT,QAAQ,2DAA2D,EAAE;AACrE,YAAY,2DAA2D;AACvE,YAAY,EAAE;AACd,YAAY;AACZ,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,UAAU;AAC9B,oBAAoB,yDAAyD;AAC7E,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,uDAAuD,EAAE;AACjE,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,0CAA0C,EAAE;AACpD,YAAY,uEAAuE;AACnF,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,qCAAqC,EAAE;AAC/C,YAAY,gFAAgF;AAC5F,SAAS;AACT,QAAQ,gCAAgC,EAAE;AAC1C,YAAY,sFAAsF;AAClG,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,4FAA4F;AACxG,SAAS;AACT,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,yEAAyE;AACrF,SAAS;AACT,QAAQ,yCAAyC,EAAE;AACnD,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,+FAA+F;AAC3G,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,eAAe,EAAE;AACzB,YAAY,qDAAqD;AACjE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,0CAA0C;AACtD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,qCAAqC;AACjD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,qBAAqB;AACjC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,2BAA2B;AACvC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,aAAa,EAAE;AACvB,YAAY,qCAAqC;AACjD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,MAAM,EAAE;AAChB,YAAY,+BAA+B;AAC3C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,0CAA0C;AACtD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,sCAAsC;AAClD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,GAAG,EAAE;AACb,YAAY,4BAA4B;AACxC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,OAAO,EAAE;AACjB,YAAY,uCAAuC;AACnD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,SAAS,EAAE;AACnB,YAAY,mCAAmC;AAC/C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,gEAAgE;AAC5E,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,SAAS,EAAE;AACnB,YAAY,yCAAyC;AACrD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,0CAA0C;AACtD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,oCAAoC;AAChD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,0BAA0B;AACtC,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,oCAAoC;AAChD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,WAAW,EAAE;AACrB,YAAY,gCAAgC;AAC5C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,QAAQ,EAAE;AAClB,YAAY,8CAA8C;AAC1D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,0CAA0C;AACtD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,wDAAwD;AACpE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,MAAM,EAAE;AAChB,YAAY,8BAA8B;AAC1C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,yCAAyC;AACrD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,qCAAqC;AACjD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,aAAa,EAAE,CAAC,qDAAqD,CAAC;AAC9E,QAAQ,MAAM,EAAE,CAAC,kCAAkC,CAAC;AACpD,QAAQ,2BAA2B,EAAE;AACrC,YAAY,8EAA8E;AAC1F,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,wDAAwD,CAAC;AAChF,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,aAAa,EAAE;AACvB,YAAY,8EAA8E;AAC1F,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,+CAA+C,CAAC;AAC9D,QAAQ,SAAS,EAAE;AACnB,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,gBAAgB,EAAE,CAAC,uDAAuD,CAAC;AACnF,QAAQ,IAAI,EAAE,CAAC,iCAAiC,CAAC;AACjD,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,uDAAuD,CAAC;AAC9E,QAAQ,SAAS,EAAE,CAAC,qDAAqD,CAAC;AAC1E,QAAQ,sBAAsB,EAAE;AAChC,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,0CAA0C,CAAC;AAC/E,QAAQ,WAAW,EAAE,CAAC,uDAAuD,CAAC;AAC9E,QAAQ,KAAK,EAAE,CAAC,qDAAqD,CAAC;AACtE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,oEAAoE;AAChF,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,iDAAiD,CAAC;AACnE,QAAQ,YAAY,EAAE;AACtB,YAAY,6DAA6D;AACzE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnD,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,yDAAyD;AACrE,SAAS;AACT,KAAK;AACL,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE;AAC3C,IAAI,SAAS,EAAE;AACf,QAAQ,sBAAsB,EAAE;AAChC,YAAY,4DAA4D;AACxE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,4DAA4D;AACxE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,mEAAmE;AAC/E,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,kEAAkE;AAC9E,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,mCAAmC,EAAE;AAC7C,YAAY,wGAAwG;AACpH,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,8EAA8E;AAC1F,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,4EAA4E;AACxF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,4EAA4E;AACxF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,mFAAmF;AAC/F,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,kFAAkF;AAC9F,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,uBAAuB,EAAE;AACjC,YAAY,8FAA8F;AAC1G,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,8BAA8B,EAAE;AACxC,YAAY,wHAAwH;AACpI,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,iCAAiC;AAC7C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,YAAY;AACZ,gBAAgB,UAAU,EAAE,qIAAqI;AACjK,aAAa;AACb,SAAS;AACT,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,2DAA2D;AACvE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,2DAA2D;AACvE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,kEAAkE;AAC9E,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,iEAAiE;AAC7E,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,uGAAuG;AACnH,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,6EAA6E;AACzF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE;AAC1D,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,gBAAgB,EAAE,CAAC,oDAAoD,CAAC;AAChF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE;AACjC,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,oDAAoD,CAAC;AAC/E,QAAQ,sBAAsB,EAAE;AAChC,YAAY,yFAAyF;AACrG,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE;AACrC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,4EAA4E;AACxF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,4EAA4E;AACxF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,oDAAoD,CAAC;AACjF,QAAQ,wBAAwB,EAAE;AAClC,YAAY,gDAAgD;AAC5D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnD,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,mDAAmD,CAAC;AAC7E,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,6EAA6E;AACzF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,2CAA2C,CAAC;AACzE,QAAQ,eAAe,EAAE,CAAC,iCAAiC,CAAC;AAC5D,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,sBAAsB,EAAE;AAChC,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,uCAAuC,CAAC;AACtE,QAAQ,0BAA0B,EAAE,CAAC,kBAAkB,CAAC;AACxD,QAAQ,UAAU,EAAE,CAAC,kCAAkC,CAAC;AACxD,QAAQ,WAAW,EAAE,CAAC,wBAAwB,CAAC;AAC/C,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,0BAA0B,EAAE,CAAC,2CAA2C,CAAC;AACjF,QAAQ,eAAe,EAAE;AACzB,YAAY,kCAAkC;AAC9C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE;AACvD,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,uDAAuD;AACnE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;AACrD,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,kCAAkC,CAAC;AAC3D,QAAQ,iBAAiB,EAAE,CAAC,qDAAqD,CAAC;AAClF,QAAQ,MAAM,EAAE,CAAC,8BAA8B,CAAC;AAChD,QAAQ,wBAAwB,EAAE;AAClC,YAAY,wEAAwE;AACpF,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,0EAA0E;AACtF,SAAS;AACT,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,8DAA8D;AAC1E,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,oDAAoD,CAAC;AACnF,QAAQ,+BAA+B,EAAE;AACzC,YAAY,+EAA+E;AAC3F,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,4CAA4C,CAAC;AACvE,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,UAAU,EAAE,CAAC,8CAA8C,CAAC;AACpE,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,oCAAoC;AAChD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE;AACvD,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,yFAAyF;AACrG,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,oDAAoD,CAAC;AAC7E,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,8CAA8C,CAAC;AACvE,QAAQ,6BAA6B,EAAE;AACvC,YAAY,uDAAuD;AACnE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnD,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,mDAAmD;AAC/D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnD,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,yCAAyC;AACrD,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE;AAC5D,SAAS;AACT,QAAQ,sBAAsB,EAAE,CAAC,yCAAyC,CAAC;AAC3E,QAAQ,sBAAsB,EAAE,CAAC,yCAAyC,CAAC;AAC3E,QAAQ,4BAA4B,EAAE;AACtC,YAAY,oDAAoD;AAChE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnD,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,gDAAgD;AAC5D,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnD,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,2BAA2B,CAAC;AAC1C,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,uEAAuE;AACnF,SAAS;AACT,QAAQ,kBAAkB,EAAE,CAAC,wCAAwC,CAAC;AACtE,QAAQ,yBAAyB,EAAE;AACnC,YAAY,wFAAwF;AACpG,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,kCAAkC;AAC9C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,0EAA0E;AACtF,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,6CAA6C,CAAC;AAClE,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,SAAS,EAAE,CAAC,0CAA0C,CAAC;AAC/D,QAAQ,qBAAqB,EAAE,CAAC,gDAAgD,CAAC;AACjF,QAAQ,8BAA8B,EAAE;AACxC,YAAY,+DAA+D;AAC3E,SAAS;AACT,QAAQ,uBAAuB,EAAE,CAAC,gDAAgD,CAAC;AACnF,QAAQ,SAAS,EAAE,CAAC,yCAAyC,CAAC;AAC9D,QAAQ,sBAAsB,EAAE,CAAC,iDAAiD,CAAC;AACnF,QAAQ,gBAAgB,EAAE,CAAC,iDAAiD,CAAC;AAC7E,QAAQ,4BAA4B,EAAE;AACtC,YAAY,4EAA4E;AACxF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,0BAA0B,EAAE,CAAC,6CAA6C,CAAC;AACnF,QAAQ,UAAU,EAAE,CAAC,2CAA2C,CAAC;AACjE,QAAQ,oBAAoB,EAAE,CAAC,8CAA8C,CAAC;AAC9E,QAAQ,YAAY,EAAE,CAAC,yCAAyC,CAAC;AACjE,QAAQ,aAAa,EAAE,CAAC,uDAAuD,CAAC;AAChF,QAAQ,mBAAmB,EAAE;AAC7B,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,cAAc,EAAE;AACxB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,+CAA+C,CAAC;AAC9E,QAAQ,gBAAgB,EAAE,CAAC,2CAA2C,CAAC;AACvE,QAAQ,QAAQ,EAAE,CAAC,iCAAiC,CAAC;AACrD,QAAQ,aAAa,EAAE,CAAC,mDAAmD,CAAC;AAC5E,QAAQ,qBAAqB,EAAE,CAAC,+CAA+C,CAAC;AAChF,QAAQ,8BAA8B,EAAE;AACxC,YAAY,sFAAsF;AAClG,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,4CAA4C,CAAC;AACzE,QAAQ,SAAS,EAAE,CAAC,kCAAkC,CAAC;AACvD,QAAQ,oBAAoB,EAAE,CAAC,wCAAwC,CAAC;AACxE,QAAQ,UAAU,EAAE,CAAC,iDAAiD,CAAC;AACvE,QAAQ,eAAe,EAAE,CAAC,sDAAsD,CAAC;AACjF,QAAQ,eAAe,EAAE,CAAC,+CAA+C,CAAC;AAC1E,QAAQ,yBAAyB,EAAE;AACnC,YAAY,+EAA+E;AAC3F,SAAS;AACT,QAAQ,mCAAmC,EAAE;AAC7C,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,iDAAiD,CAAC;AACxE,QAAQ,eAAe,EAAE,CAAC,qDAAqD,CAAC;AAChF,QAAQ,mCAAmC,EAAE;AAC7C,YAAY,2EAA2E;AACvF,SAAS;AACT,QAAQ,QAAQ,EAAE,CAAC,yCAAyC,CAAC;AAC7D,QAAQ,UAAU,EAAE,CAAC,2CAA2C,CAAC;AACjE,QAAQ,uBAAuB,EAAE;AACjC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,oCAAoC,CAAC;AAC5D,QAAQ,yBAAyB,EAAE;AACnC,YAAY,oEAAoE;AAChF,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,yCAAyC,CAAC;AACtE,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,yBAAyB,EAAE,CAAC,oCAAoC,CAAC;AACzE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,kDAAkD;AAC9D,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,mCAAmC,CAAC;AAC1D,QAAQ,gBAAgB,EAAE,CAAC,wCAAwC,CAAC;AACpE,QAAQ,cAAc,EAAE,CAAC,gCAAgC,CAAC;AAC1D,QAAQ,sBAAsB,EAAE;AAChC,YAAY,gEAAgE;AAC5E,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,uCAAuC,CAAC;AAClE,QAAQ,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;AACrD,QAAQ,UAAU,EAAE,CAAC,uBAAuB,CAAC;AAC7C,QAAQ,WAAW,EAAE,CAAC,6BAA6B,CAAC;AACpD,QAAQ,SAAS,EAAE,CAAC,iCAAiC,CAAC;AACtD,QAAQ,eAAe,EAAE,CAAC,uCAAuC,CAAC;AAClE,QAAQ,mCAAmC,EAAE,CAAC,kCAAkC,CAAC;AACjF,QAAQ,aAAa,EAAE,CAAC,qCAAqC,CAAC;AAC9D,QAAQ,eAAe,EAAE,CAAC,wCAAwC,CAAC;AACnE,QAAQ,UAAU,EAAE,CAAC,mBAAmB,CAAC;AACzC,QAAQ,oCAAoC,EAAE;AAC9C,YAAY,sDAAsD;AAClE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,oCAAoC,CAAC;AAC5D,QAAQ,QAAQ,EAAE,CAAC,gCAAgC,CAAC;AACpD,QAAQ,SAAS,EAAE,CAAC,iCAAiC,CAAC;AACtD,QAAQ,YAAY,EAAE,CAAC,iCAAiC,CAAC;AACzD,QAAQ,KAAK,EAAE,CAAC,mCAAmC,CAAC;AACpD,QAAQ,WAAW,EAAE,CAAC,kDAAkD,CAAC;AACzE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,6EAA6E;AACzF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE;AACjC,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,uDAAuD;AACnE,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2FAA2F;AACvG,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE;AACrC,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,kFAAkF;AAC9F,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,8EAA8E;AAC1F,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,8EAA8E;AAC1F,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,YAAY,EAAE,CAAC,qDAAqD,CAAC;AAC7E,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,kCAAkC;AAC9C,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;AAClD,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,yCAAyC,CAAC;AACtE,QAAQ,wBAAwB,EAAE;AAClC,YAAY,wEAAwE;AACpF,SAAS;AACT,QAAQ,wBAAwB,EAAE;AAClC,YAAY,0EAA0E;AACtF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE;AACjC,SAAS;AACT,QAAQ,sBAAsB,EAAE;AAChC,YAAY,wFAAwF;AACpG,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE;AACrC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,2EAA2E;AACvF,YAAY,EAAE;AACd,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;AAClC,SAAS;AACT,QAAQ,eAAe,EAAE,CAAC,kDAAkD,CAAC;AAC7E,QAAQ,QAAQ,EAAE,CAAC,qCAAqC,CAAC;AACzD,QAAQ,MAAM,EAAE,CAAC,6BAA6B,CAAC;AAC/C,QAAQ,sBAAsB,EAAE;AAChC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,mBAAmB,EAAE,CAAC,mDAAmD,CAAC;AAClF,QAAQ,+BAA+B,EAAE,CAAC,iCAAiC,CAAC;AAC5E,QAAQ,gBAAgB,EAAE;AAC1B,YAAY,yDAAyD;AACrE,SAAS;AACT,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,wFAAwF;AACpG,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,mDAAmD,CAAC;AAC5E,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,0BAA0B,EAAE;AACpC,YAAY,iFAAiF;AAC7F,YAAY,EAAE;AACd,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,6BAA6B,CAAC,EAAE;AACjE,SAAS;AACT,QAAQ,2BAA2B,EAAE;AACrC,YAAY,iFAAiF;AAC7F,SAAS;AACT,QAAQ,aAAa,EAAE,CAAC,6CAA6C,CAAC;AACtE,QAAQ,0BAA0B,EAAE;AACpC,YAAY,oDAAoD;AAChE,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,sEAAsE;AAClF,YAAY,EAAE,OAAO,EAAE,4BAA4B,EAAE;AACrD,SAAS;AACT,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAClC,QAAQ,OAAO,EAAE,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAChF,QAAQ,qBAAqB,EAAE,CAAC,oBAAoB,CAAC;AACrD,QAAQ,MAAM,EAAE,CAAC,oBAAoB,CAAC;AACtC,QAAQ,KAAK,EAAE,CAAC,0BAA0B,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC9E,QAAQ,KAAK,EAAE,CAAC,mBAAmB,CAAC;AACpC,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,QAAQ,QAAQ,EAAE;AAClB,YAAY,iEAAiE;AAC7E,SAAS;AACT,QAAQ,iBAAiB,EAAE,CAAC,kDAAkD,CAAC;AAC/E,QAAQ,WAAW,EAAE;AACrB,YAAY,mEAAmE;AAC/E,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,iCAAiC,EAAE;AAC3C,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,kCAAkC,EAAE;AAC5C,YAAY,yDAAyD;AACrE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,+BAA+B,EAAE;AACzC,YAAY,yDAAyD;AACrE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,wDAAwD;AACpE,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,wBAAwB,CAAC;AAC1C,QAAQ,4BAA4B,EAAE;AACtC,YAAY,6EAA6E;AACzF,SAAS;AACT,QAAQ,qBAAqB,EAAE,CAAC,gDAAgD,CAAC;AACjF,QAAQ,4BAA4B,EAAE;AACtC,YAAY,gGAAgG;AAC5G,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,sEAAsE;AAClF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,sCAAsC,CAAC;AAC7D,QAAQ,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACxD,QAAQ,yBAAyB,EAAE;AACnC,YAAY,6FAA6F;AACzG,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,mEAAmE;AAC/E,SAAS;AACT,QAAQ,yBAAyB,EAAE;AACnC,YAAY,0DAA0D;AACtE,SAAS;AACT,QAAQ,IAAI,EAAE,CAAC,uBAAuB,CAAC;AACvC,QAAQ,cAAc,EAAE,CAAC,yCAAyC,CAAC;AACnE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,4EAA4E;AACxF,SAAS;AACT,QAAQ,oBAAoB,EAAE,CAAC,+CAA+C,CAAC;AAC/E,QAAQ,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;AACrD,QAAQ,gBAAgB,EAAE,CAAC,2CAA2C,CAAC;AACvE,QAAQ,2BAA2B,EAAE;AACrC,YAAY,+CAA+C;AAC3D,SAAS;AACT,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,4CAA4C;AACxD,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;AACpD,SAAS;AACT,QAAQ,cAAc,EAAE,CAAC,yCAAyC,CAAC;AACnE,QAAQ,4BAA4B,EAAE;AACtC,YAAY,6DAA6D;AACzE,SAAS;AACT,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,4DAA4D;AACxE,SAAS;AACT,QAAQ,eAAe,EAAE;AACzB,YAAY,2DAA2D;AACvE,SAAS;AACT,QAAQ,4BAA4B,EAAE;AACtC,YAAY,+FAA+F;AAC3G,SAAS;AACT,QAAQ,qBAAqB,EAAE;AAC/B,YAAY,qEAAqE;AACjF,SAAS;AACT,QAAQ,WAAW,EAAE,CAAC,qCAAqC,CAAC;AAC5D,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,wBAAwB,EAAE,CAAC,mBAAmB,CAAC;AACvD,QAAQ,KAAK,EAAE,CAAC,6BAA6B,CAAC;AAC9C,QAAQ,YAAY,EAAE,CAAC,6BAA6B,CAAC;AACrD,QAAQ,qBAAqB,EAAE,CAAC,+CAA+C,CAAC;AAChF,QAAQ,oCAAoC,EAAE,CAAC,gCAAgC,CAAC;AAChF,QAAQ,4BAA4B,EAAE,CAAC,qBAAqB,CAAC;AAC7D,QAAQ,kCAAkC,EAAE,CAAC,iBAAiB,CAAC;AAC/D,QAAQ,2BAA2B,EAAE,CAAC,qBAAqB,CAAC;AAC5D,QAAQ,4BAA4B,EAAE,CAAC,oCAAoC,CAAC;AAC5E,QAAQ,kCAAkC,EAAE,CAAC,4BAA4B,CAAC;AAC1E,QAAQ,MAAM,EAAE,CAAC,gCAAgC,CAAC;AAClD,QAAQ,gBAAgB,EAAE,CAAC,WAAW,CAAC;AACvC,QAAQ,aAAa,EAAE,CAAC,uBAAuB,CAAC;AAChD,QAAQ,iBAAiB,EAAE,CAAC,iCAAiC,CAAC;AAC9D,QAAQ,yBAAyB,EAAE,CAAC,iCAAiC,CAAC;AACtE,QAAQ,+BAA+B,EAAE,CAAC,yBAAyB,CAAC;AACpE,QAAQ,IAAI,EAAE,CAAC,YAAY,CAAC;AAC5B,QAAQ,0BAA0B,EAAE,CAAC,kBAAkB,CAAC;AACxD,QAAQ,0BAA0B,EAAE,CAAC,kBAAkB,CAAC;AACxD,QAAQ,2BAA2B,EAAE,CAAC,qBAAqB,CAAC;AAC5D,QAAQ,iCAAiC,EAAE,CAAC,qBAAqB,CAAC;AAClE,QAAQ,oBAAoB,EAAE,CAAC,iCAAiC,CAAC;AACjE,QAAQ,oBAAoB,EAAE,CAAC,iCAAiC,CAAC;AACjE,QAAQ,2BAA2B,EAAE,CAAC,oBAAoB,CAAC;AAC3D,QAAQ,kBAAkB,EAAE,CAAC,gCAAgC,CAAC;AAC9D,QAAQ,gCAAgC,EAAE,CAAC,yBAAyB,CAAC;AACrE,QAAQ,qBAAqB,EAAE,CAAC,4BAA4B,CAAC;AAC7D,QAAQ,iCAAiC,EAAE,CAAC,gBAAgB,CAAC;AAC7D,QAAQ,yCAAyC,EAAE,CAAC,8BAA8B,CAAC;AACnF,QAAQ,OAAO,EAAE,CAAC,gCAAgC,CAAC;AACnD,QAAQ,QAAQ,EAAE,CAAC,mCAAmC,CAAC;AACvD,QAAQ,mBAAmB,EAAE,CAAC,aAAa,CAAC;AAC5C,KAAK;AACL,CAAC;;AC33CM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACApC,SAAS,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE;AAC1D,IAAI,MAAM,UAAU,GAAG,EAAE,CAAC;AAC1B,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACnE,QAAQ,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACxE,YAAY,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AAC5D,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnD,YAAY,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9E,YAAY,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AACpC,gBAAgB,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AACvC,aAAa;AACb,YAAY,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACnD,YAAY,IAAI,WAAW,EAAE;AAC7B,gBAAgB,YAAY,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAC/G,gBAAgB,SAAS;AACzB,aAAa;AACb,YAAY,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAClF,SAAS;AACT,KAAK;AACL,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE;AACrE,IAAI,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnE;AACA,IAAI,SAAS,eAAe,CAAC,GAAG,IAAI,EAAE;AACtC;AACA,QAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAClE;AACA,QAAQ,IAAI,WAAW,CAAC,SAAS,EAAE;AACnC,YAAY,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AACjD,gBAAgB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;AACpD,gBAAgB,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS;AAClD,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;AACjC,YAAY,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;AAClE,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5H,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,UAAU,EAAE;AACpC,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,iBAAiB,EAAE;AAC3C;AACA,YAAY,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,YAAY,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;AACvF,gBAAgB,IAAI,IAAI,IAAI,OAAO,EAAE;AACrC,oBAAoB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACzI,oBAAoB,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC,EAAE;AAC7C,wBAAwB,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACvD,qBAAqB;AACrB,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAChD,SAAS;AACT;AACA,QAAQ,OAAO,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC/D,CAAC;;ACxDM,SAAS,mBAAmB,CAAC,OAAO,EAAE;AAC7C,IAAI,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAEA,SAAS,CAAC,CAAC;AACvD,IAAI,OAAO;AACX,QAAQ,GAAG,GAAG;AACd,QAAQ,IAAI,EAAE,GAAG;AACjB,KAAK,CAAC;AACN,CAAC;AACD,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/package.json new file mode 100644 index 0000000..ce60af4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -0,0 +1,60 @@ +{ + "name": "@octokit/plugin-rest-endpoint-methods", + "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", + "version": "4.15.1", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/plugin-rest-endpoint-methods.js", + "dependencies": { + "@octokit/types": "^6.13.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/core": "^3.0.0", + "@octokit/graphql": "^4.3.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "fs-extra": "^9.0.0", + "jest": "^26.1.0", + "lodash.camelcase": "^4.3.0", + "lodash.set": "^4.3.2", + "lodash.upperfirst": "^4.3.1", + "mustache": "^4.0.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.0.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "ts-jest": "^26.1.3", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +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/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000..1bf5384 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/README.md @@ -0,0 +1,67 @@ +# http-error.js + +> Error class for Octokit request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error) +[![Build Status](https://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request-error + +```js +const { RequestError } = require("@octokit/request-error"); +// or: import { RequestError } from "@octokit/request-error"; +``` + +
+ +```js +const error = new RequestError("Oops", 500, { + headers: { + "x-github-request-id": "1:2:3:4", + }, // response headers + request: { + method: "POST", + url: "https://api.github.com/foo", + body: { + bar: "baz", + }, + headers: { + authorization: "token secret123", + }, + }, +}); + +error.message; // Oops +error.status; // 500 +error.request.method; // POST +error.request.url; // https://api.github.com/foo +error.request.body; // { bar: 'baz' } +error.request.headers; // { authorization: 'token [REDACTED]' } +error.response; // { url, status, headers, data } +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000..619f462 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,74 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = require('deprecation'); +var once = _interopDefault(require('once')); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options + + + const requestCopy = Object.assign({}, options.request); + + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); + } + +} + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 0000000..9134ddb --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":["logOnceCode","once","deprecation","console","warn","logOnceHeaders","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","headers","response","requestCopy","Object","assign","request","authorization","replace","url","defineProperty","get","Deprecation"],"mappings":";;;;;;;;;AAEA,MAAMA,WAAW,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAAxB;AACA,MAAMG,cAAc,GAAGJ,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAA3B;AACA;AACA;AACA;;AACO,MAAMI,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACtC,UAAMF,OAAN,EADsC;;AAGtC;;AACA,QAAIF,KAAK,CAACK,iBAAV,EAA6B;AACzBL,MAAAA,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;AACH;;AACD,SAAKK,IAAL,GAAY,WAAZ;AACA,SAAKC,MAAL,GAAcJ,UAAd;AACA,QAAIK,OAAJ;;AACA,QAAI,aAAaJ,OAAb,IAAwB,OAAOA,OAAO,CAACI,OAAf,KAA2B,WAAvD,EAAoE;AAChEA,MAAAA,OAAO,GAAGJ,OAAO,CAACI,OAAlB;AACH;;AACD,QAAI,cAAcJ,OAAlB,EAA2B;AACvB,WAAKK,QAAL,GAAgBL,OAAO,CAACK,QAAxB;AACAD,MAAAA,OAAO,GAAGJ,OAAO,CAACK,QAAR,CAAiBD,OAA3B;AACH,KAhBqC;;;AAkBtC,UAAME,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAA1B,CAApB;;AACA,QAAIT,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAA5B,EAA2C;AACvCJ,MAAAA,WAAW,CAACF,OAAZ,GAAsBG,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAAR,CAAgBL,OAAlC,EAA2C;AAC7DM,QAAAA,aAAa,EAAEV,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;AAD8C,OAA3C,CAAtB;AAGH;;AACDL,IAAAA,WAAW,CAACM,GAAZ,GAAkBN,WAAW,CAACM,GAAZ;AAEd;AAFc,KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;AAKd;AALc,KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;AAOA,SAAKF,OAAL,GAAeH,WAAf,CA/BsC;;AAiCtCC,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;AAChCC,MAAAA,GAAG,GAAG;AACFzB,QAAAA,WAAW,CAAC,IAAI0B,uBAAJ,CAAgB,0EAAhB,CAAD,CAAX;AACA,eAAOhB,UAAP;AACH;;AAJ+B,KAApC;AAMAQ,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,SAA5B,EAAuC;AACnCC,MAAAA,GAAG,GAAG;AACFpB,QAAAA,cAAc,CAAC,IAAIqB,uBAAJ,CAAgB,uFAAhB,CAAD,CAAd;AACA,eAAOX,OAAO,IAAI,EAAlB;AACH;;AAJkC,KAAvC;AAMH;;AA9CmC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000..5eb1927 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-src/index.js @@ -0,0 +1,55 @@ +import { Deprecation } from "deprecation"; +import once from "once"; +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +export class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]"), + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-src/types.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000..d6e089c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -0,0 +1,33 @@ +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +import { RequestErrorOptions } from "./types"; +/** + * Error with extra properties to help with debugging + */ +export declare class RequestError extends Error { + name: "HttpError"; + /** + * http status code + */ + status: number; + /** + * http status code + * + * @deprecated `error.code` is deprecated in favor of `error.status` + */ + code: number; + /** + * Request options that lead to the error. + */ + request: RequestOptions; + /** + * error response headers + * + * @deprecated `error.headers` is deprecated in favor of `error.response.headers` + */ + headers: ResponseHeaders; + /** + * Response object if a response was received + */ + response?: OctokitResponse; + constructor(message: string, statusCode: number, options: RequestErrorOptions); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-types/types.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000..7785231 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,9 @@ +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +export declare type RequestErrorOptions = { + /** @deprecated set `response` instead */ + headers?: ResponseHeaders; + request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000..0fb64be --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,59 @@ +import { Deprecation } from 'deprecation'; +import once from 'once'; + +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]"), + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); + } +} + +export { RequestError }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 0000000..78f677f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrE,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE;AACA;AACA;AACO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AAC9C,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACjC,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;AAC5E,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,UAAU,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7C,YAAY,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AACnD,YAAY,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7E,gBAAgB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AACnG,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AACzC;AACA;AACA,aAAa,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;AACxE;AACA;AACA,aAAa,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;AACnC;AACA,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAY,GAAG,GAAG;AAClB,gBAAgB,WAAW,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACzH,gBAAgB,OAAO,UAAU,CAAC;AAClC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;AAC/C,YAAY,GAAG,GAAG;AAClB,gBAAgB,cAAc,CAAC,IAAI,WAAW,CAAC,uFAAuF,CAAC,CAAC,CAAC;AACzI,gBAAgB,OAAO,OAAO,IAAI,EAAE,CAAC;AACrC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000..2f5b239 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request-error/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/request-error", + "description": "Error class for Octokit request errors", + "version": "2.1.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "error" + ], + "repository": "github:octokit/request-error.js", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-bundle-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "@types/once": "^1.4.0", + "jest": "^27.0.0", + "pika-plugin-unpkg-field": "^1.1.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +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/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/README.md new file mode 100644 index 0000000..747a670 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/README.md @@ -0,0 +1,551 @@ +# request.js + +> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) +[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amaster) + +`@octokit/request` is a request library for browsers & node that makes it easier +to interact with [GitHub’s REST API](https://developer.github.com/v3/) and +[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). + +It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse +the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) +([node-fetch](https://github.com/bitinn/node-fetch) in Node). + + + + + +- [Features](#features) +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) + - [Alternative: pass `method` & `url` as part of options](#alternative-pass-method--url-as-part-of-options) +- [Authentication](#authentication) +- [request()](#request) +- [`request.defaults()`](#requestdefaults) +- [`request.endpoint`](#requestendpoint) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) + + + +## Features + +🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes + +```js +request("POST /repos/{owner}/{repo}/issues/{number}/labels", { + mediaType: { + previews: ["symmetra"], + }, + owner: "octokit", + repo: "request.js", + number: 1, + labels: ["🐛 bug"], +}); +``` + +👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) + +😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). + +👍 Sensible defaults + +- `baseUrl`: `https://api.github.com` +- `headers.accept`: `application/vnd.github.v3+json` +- `headers.agent`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` + +👌 Simple to test: mock requests by passing a custom fetch method. + +🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). + +## Usage + + + + + + +
+Browsers + +Load @octokit/request directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request + +```js +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; +``` + +
+ +### REST API example + +```js +// Following GitHub docs formatting: +// https://developer.github.com/v3/repos/#list-organization-repositories +const result = await request("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); + +console.log(`${result.data.length} repos found.`); +``` + +### GraphQL example + +For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/octokit/graphql.js#readme) + +```js +const result = await request("POST /graphql", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + query: `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + variables: { + login: "octokit", + }, +}); +``` + +### Alternative: pass `method` & `url` as part of options + +Alternatively, pass in a method and a url + +```js +const result = await request({ + method: "GET", + url: "/orgs/{org}/repos", + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +## Authentication + +The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const requestWithAuth = request.defaults({ + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, +}); +const result = await requestWithAuth("GET /user"); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, + mediaType: { + previews: ["machine-man"], + }, +}); + +const { data: app } = await requestWithAuth("GET /app"); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + } +); +``` + +## request() + +`request(route, options)` or `request(options)`. + +**Options** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} +
+ options.baseUrl + + String + + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. +
+ options.mediaType.format + + String + + Media type param, such as `raw`, `html`, or `full`. See Media Types. +
+ options.mediaType.previews + + Array of strings + + Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See API Previews. +
+ options.method + + String + + Any supported http verb, case insensitive. Defaults to Get. +
+ options.url + + String + + **Required**. A path or full URL which may contain :variable or {variable} placeholders, + e.g. /orgs/{org}/repos. The url is parsed using url-template. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The `data` parameter" below. +
+ options.request.agent + + http(s).Agent instance + + Node only. Useful for custom proxy, certificate, or dns lookup. +
+ options.request.fetch + + Function + + Custom replacement for built-in fetch method. Useful for testing or request hooks. +
+ options.request.hook + + Function + + Function with the signature hook(request, endpointOptions), where endpointOptions are the parsed options as returned by endpoint.merge(), and request is request(). This option works great in conjuction with before-after-hook. +
+ options.request.signal + + new AbortController().signal + + Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. +
+ options.request.log + + object + + Used for internal logging. Defaults to console. +
+ options.request.timeout + + Number + + Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). options.request.signal is recommended instead. +
+ +All other options except `options.request.*` will be passed depending on the `method` and `url` options. + +1. If the option key is a placeholder in the `url`, it will be used as replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos` +2. If the `method` is `GET` or `HEAD`, the option is passed as query parameter +3. Otherwise the parameter is passed in the request body as JSON key. + +**Result** + +`request` returns a promise and resolves with 4 keys + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
+ +If an error occurs, the `error` instance has additional properties to help with debugging + +- `error.status` The http response status code +- `error.request` The request options such as `method`, `url` and `data` +- `error.response` The http response object with `url`, `headers`, and `data` + +## `request.defaults()` + +Override or set default options. Example: + +```js +const myrequest = require("@octokit/request").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +myrequest(`GET /orgs/{org}/repos`); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectRequestWithAuth = myProjectRequest.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectRequest` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +## `request.endpoint` + +See https://github.com/octokit/endpoint.js. Example + +```js +const options = request.endpoint("GET /orgs/{org}/repos", { + org: "my-project", + type: "private", +}); + +// { +// method: 'GET', +// url: 'https://api.github.com/orgs/my-project/repos?type=private', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: 'token 0000000000000000000000000000000000000001', +// 'user-agent': 'octokit/endpoint.js v1.2.3' +// } +// } +``` + +All of the [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) API can be used: + +- [`octokitRequest.endpoint()`](#endpoint) +- [`octokitRequest.endpoint.defaults()`](#endpointdefaults) +- [`octokitRequest.endpoint.merge()`](#endpointdefaults) +- [`octokitRequest.endpoint.parse()`](#endpointmerge) + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const response = await request("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// Request is sent as +// +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +// +// not as +// +// { +// ... +// body: '{"data": "Hello world github/linguist#1 **cool**, and #1!"}' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +request( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + } +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 0000000..685e2f5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,177 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = require('@octokit/endpoint'); +var universalUserAgent = require('universal-user-agent'); +var isPlainObject = require('is-plain-object'); +var nodeFetch = _interopDefault(require('node-fetch')); +var requestError = require('@octokit/request-error'); + +const VERSION = "5.6.3"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requests + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); + } + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); + }); +} + +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 0000000..9a51ed1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["VERSION","getBufferResponse","response","arrayBuffer","fetchWrapper","requestOptions","log","request","console","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","nodeFetch","Object","assign","method","redirect","then","keyAndValue","matches","link","match","deprecationLink","pop","warn","sunset","RequestError","statusText","data","undefined","getResponseData","error","toErrorMessage","catch","message","contentType","get","test","json","text","getBuffer","errors","map","join","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","parse","bind","getUserAgent"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAQ,SAASC,iBAAT,CAA2BC,QAA3B,EAAqC;AAChD,SAAOA,QAAQ,CAACC,WAAT,EAAP;AACH;;ACEc,SAASC,YAAT,CAAsBC,cAAtB,EAAsC;AACjD,QAAMC,GAAG,GAAGD,cAAc,CAACE,OAAf,IAA0BF,cAAc,CAACE,OAAf,CAAuBD,GAAjD,GACND,cAAc,CAACE,OAAf,CAAuBD,GADjB,GAENE,OAFN;;AAGA,MAAIC,2BAAa,CAACJ,cAAc,CAACK,IAAhB,CAAb,IACAC,KAAK,CAACC,OAAN,CAAcP,cAAc,CAACK,IAA7B,CADJ,EACwC;AACpCL,IAAAA,cAAc,CAACK,IAAf,GAAsBG,IAAI,CAACC,SAAL,CAAeT,cAAc,CAACK,IAA9B,CAAtB;AACH;;AACD,MAAIK,OAAO,GAAG,EAAd;AACA,MAAIC,MAAJ;AACA,MAAIC,GAAJ;AACA,QAAMC,KAAK,GAAIb,cAAc,CAACE,OAAf,IAA0BF,cAAc,CAACE,OAAf,CAAuBW,KAAlD,IAA4DC,SAA1E;AACA,SAAOD,KAAK,CAACb,cAAc,CAACY,GAAhB,EAAqBG,MAAM,CAACC,MAAP,CAAc;AAC3CC,IAAAA,MAAM,EAAEjB,cAAc,CAACiB,MADoB;AAE3CZ,IAAAA,IAAI,EAAEL,cAAc,CAACK,IAFsB;AAG3CK,IAAAA,OAAO,EAAEV,cAAc,CAACU,OAHmB;AAI3CQ,IAAAA,QAAQ,EAAElB,cAAc,CAACkB;AAJkB,GAAd;AAOjC;AACAlB,EAAAA,cAAc,CAACE,OARkB,CAArB,CAAL,CASFiB,IATE,CASG,MAAOtB,QAAP,IAAoB;AAC1Be,IAAAA,GAAG,GAAGf,QAAQ,CAACe,GAAf;AACAD,IAAAA,MAAM,GAAGd,QAAQ,CAACc,MAAlB;;AACA,SAAK,MAAMS,WAAX,IAA0BvB,QAAQ,CAACa,OAAnC,EAA4C;AACxCA,MAAAA,OAAO,CAACU,WAAW,CAAC,CAAD,CAAZ,CAAP,GAA0BA,WAAW,CAAC,CAAD,CAArC;AACH;;AACD,QAAI,iBAAiBV,OAArB,EAA8B;AAC1B,YAAMW,OAAO,GAAGX,OAAO,CAACY,IAAR,IAAgBZ,OAAO,CAACY,IAAR,CAAaC,KAAb,CAAmB,8BAAnB,CAAhC;AACA,YAAMC,eAAe,GAAGH,OAAO,IAAIA,OAAO,CAACI,GAAR,EAAnC;AACAxB,MAAAA,GAAG,CAACyB,IAAJ,CAAU,uBAAsB1B,cAAc,CAACiB,MAAO,IAAGjB,cAAc,CAACY,GAAI,qDAAoDF,OAAO,CAACiB,MAAO,GAAEH,eAAe,GAAI,SAAQA,eAAgB,EAA5B,GAAgC,EAAG,EAAnM;AACH;;AACD,QAAIb,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;AAClC;AACH,KAbyB;;;AAe1B,QAAIX,cAAc,CAACiB,MAAf,KAA0B,MAA9B,EAAsC;AAClC,UAAIN,MAAM,GAAG,GAAb,EAAkB;AACd;AACH;;AACD,YAAM,IAAIiB,yBAAJ,CAAiB/B,QAAQ,CAACgC,UAA1B,EAAsClB,MAAtC,EAA8C;AAChDd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA,IAAI,EAAEC;AAJA,SADsC;AAOhD7B,QAAAA,OAAO,EAAEF;AAPuC,OAA9C,CAAN;AASH;;AACD,QAAIW,MAAM,KAAK,GAAf,EAAoB;AAChB,YAAM,IAAIiB,yBAAJ,CAAiB,cAAjB,EAAiCjB,MAAjC,EAAyC;AAC3Cd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA,IAAI,EAAE,MAAME,eAAe,CAACnC,QAAD;AAJrB,SADiC;AAO3CK,QAAAA,OAAO,EAAEF;AAPkC,OAAzC,CAAN;AASH;;AACD,QAAIW,MAAM,IAAI,GAAd,EAAmB;AACf,YAAMmB,IAAI,GAAG,MAAME,eAAe,CAACnC,QAAD,CAAlC;AACA,YAAMoC,KAAK,GAAG,IAAIL,yBAAJ,CAAiBM,cAAc,CAACJ,IAAD,CAA/B,EAAuCnB,MAAvC,EAA+C;AACzDd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA;AAJM,SAD+C;AAOzD5B,QAAAA,OAAO,EAAEF;AAPgD,OAA/C,CAAd;AASA,YAAMiC,KAAN;AACH;;AACD,WAAOD,eAAe,CAACnC,QAAD,CAAtB;AACH,GA/DM,EAgEFsB,IAhEE,CAgEIW,IAAD,IAAU;AAChB,WAAO;AACHnB,MAAAA,MADG;AAEHC,MAAAA,GAFG;AAGHF,MAAAA,OAHG;AAIHoB,MAAAA;AAJG,KAAP;AAMH,GAvEM,EAwEFK,KAxEE,CAwEKF,KAAD,IAAW;AAClB,QAAIA,KAAK,YAAYL,yBAArB,EACI,MAAMK,KAAN;AACJ,UAAM,IAAIL,yBAAJ,CAAiBK,KAAK,CAACG,OAAvB,EAAgC,GAAhC,EAAqC;AACvClC,MAAAA,OAAO,EAAEF;AAD8B,KAArC,CAAN;AAGH,GA9EM,CAAP;AA+EH;;AACD,eAAegC,eAAf,CAA+BnC,QAA/B,EAAyC;AACrC,QAAMwC,WAAW,GAAGxC,QAAQ,CAACa,OAAT,CAAiB4B,GAAjB,CAAqB,cAArB,CAApB;;AACA,MAAI,oBAAoBC,IAApB,CAAyBF,WAAzB,CAAJ,EAA2C;AACvC,WAAOxC,QAAQ,CAAC2C,IAAT,EAAP;AACH;;AACD,MAAI,CAACH,WAAD,IAAgB,yBAAyBE,IAAzB,CAA8BF,WAA9B,CAApB,EAAgE;AAC5D,WAAOxC,QAAQ,CAAC4C,IAAT,EAAP;AACH;;AACD,SAAOC,iBAAS,CAAC7C,QAAD,CAAhB;AACH;;AACD,SAASqC,cAAT,CAAwBJ,IAAxB,EAA8B;AAC1B,MAAI,OAAOA,IAAP,KAAgB,QAApB,EACI,OAAOA,IAAP,CAFsB;;AAI1B,MAAI,aAAaA,IAAjB,EAAuB;AACnB,QAAIxB,KAAK,CAACC,OAAN,CAAcuB,IAAI,CAACa,MAAnB,CAAJ,EAAgC;AAC5B,aAAQ,GAAEb,IAAI,CAACM,OAAQ,KAAIN,IAAI,CAACa,MAAL,CAAYC,GAAZ,CAAgBpC,IAAI,CAACC,SAArB,EAAgCoC,IAAhC,CAAqC,IAArC,CAA2C,EAAtE;AACH;;AACD,WAAOf,IAAI,CAACM,OAAZ;AACH,GATyB;;;AAW1B,SAAQ,kBAAiB5B,IAAI,CAACC,SAAL,CAAeqB,IAAf,CAAqB,EAA9C;AACH;;ACrHc,SAASgB,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AAC3D,QAAMC,QAAQ,GAAGF,WAAW,CAACG,QAAZ,CAAqBF,WAArB,CAAjB;;AACA,QAAMG,MAAM,GAAG,UAAUC,KAAV,EAAiBC,UAAjB,EAA6B;AACxC,UAAMC,eAAe,GAAGL,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAxB;;AACA,QAAI,CAACC,eAAe,CAACpD,OAAjB,IAA4B,CAACoD,eAAe,CAACpD,OAAhB,CAAwBsD,IAAzD,EAA+D;AAC3D,aAAOzD,YAAY,CAACkD,QAAQ,CAACQ,KAAT,CAAeH,eAAf,CAAD,CAAnB;AACH;;AACD,UAAMpD,OAAO,GAAG,CAACkD,KAAD,EAAQC,UAAR,KAAuB;AACnC,aAAOtD,YAAY,CAACkD,QAAQ,CAACQ,KAAT,CAAeR,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAf,CAAD,CAAnB;AACH,KAFD;;AAGAtC,IAAAA,MAAM,CAACC,MAAP,CAAcd,OAAd,EAAuB;AACnB+C,MAAAA,QADmB;AAEnBC,MAAAA,QAAQ,EAAEJ,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBT,QAAxB;AAFS,KAAvB;AAIA,WAAOK,eAAe,CAACpD,OAAhB,CAAwBsD,IAAxB,CAA6BtD,OAA7B,EAAsCoD,eAAtC,CAAP;AACH,GAbD;;AAcA,SAAOvC,MAAM,CAACC,MAAP,CAAcmC,MAAd,EAAsB;AACzBF,IAAAA,QADyB;AAEzBC,IAAAA,QAAQ,EAAEJ,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBT,QAAxB;AAFe,GAAtB,CAAP;AAIH;;MCjBY/C,OAAO,GAAG4C,YAAY,CAACG,iBAAD,EAAW;AAC1CvC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBf,OAAQ,IAAGgE,+BAAY,EAAG;AADzD;AADiC,CAAX,CAA5B;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 0000000..79653c4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,119 @@ +import { isPlainObject } from "is-plain-object"; +import nodeFetch from "node-fetch"; +import { RequestError } from "@octokit/request-error"; +import getBuffer from "./get-buffer-response"; +export default function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; + if (isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect, + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data, + }, + request: requestOptions, + }); + throw error; + } + return getResponseData(response); + }) + .then((data) => { + return { + status, + url, + headers, + data, + }; + }) + .catch((error) => { + if (error instanceof RequestError) + throw error; + throw new RequestError(error.message, 500, { + request: requestOptions, + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/get-buffer-response.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 0000000..845a394 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,3 @@ +export default function getBufferResponse(response) { + return response.arrayBuffer(); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 0000000..2460e99 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/index.js @@ -0,0 +1,9 @@ +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import withDefaults from "./with-defaults"; +export const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/version.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 0000000..a068c68 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.6.3"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/with-defaults.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 0000000..e206429 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-src/with-defaults.js @@ -0,0 +1,22 @@ +import fetchWrapper from "./fetch-wrapper"; +export default function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 0000000..4901c79 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,11 @@ +import { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType & { + redirect?: "error" | "follow" | "manual"; +}): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts new file mode 100644 index 0000000..915b705 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1,2 @@ +import { Response } from "node-fetch"; +export default function getBufferResponse(response: Response): Promise; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/index.d.ts new file mode 100644 index 0000000..1030809 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const request: import("@octokit/types").RequestInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/version.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 0000000..5629807 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.6.3"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..0080469 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-web/index.js new file mode 100644 index 0000000..44359f8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,158 @@ +import { endpoint } from '@octokit/endpoint'; +import { getUserAgent } from 'universal-user-agent'; +import { isPlainObject } from 'is-plain-object'; +import nodeFetch from 'node-fetch'; +import { RequestError } from '@octokit/request-error'; + +const VERSION = "5.6.3"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; + if (isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect, + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data, + }, + request: requestOptions, + }); + throw error; + } + return getResponseData(response); + }) + .then((data) => { + return { + status, + url, + headers, + data, + }; + }) + .catch((error) => { + if (error instanceof RequestError) + throw error; + throw new RequestError(error.message, 500, { + request: requestOptions, + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint), + }); +} + +const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); + +export { request }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 0000000..b3cda51 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["getBuffer"],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA3B,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACpD,IAAI,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;;ACEc,SAAS,YAAY,CAAC,cAAc,EAAE;AACrD,IAAI,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG;AACpE,UAAU,cAAc,CAAC,OAAO,CAAC,GAAG;AACpC,UAAU,OAAO,CAAC;AAClB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1C,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACxF,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;AACnD,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM;AACrC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,OAAO,EAAE,cAAc,CAAC,OAAO;AACvC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,KAAK;AACL;AACA;AACA,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AAC5B,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK;AAClC,QAAQ,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC3B,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,QAAQ,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE;AACpD,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,aAAa,IAAI,OAAO,EAAE;AACtC,YAAY,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC/F,YAAY,MAAM,eAAe,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7D,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,kDAAkD,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAClN,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;AAC9C,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9C,YAAY,IAAI,MAAM,GAAG,GAAG,EAAE;AAC9B,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;AAChE,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,SAAS;AACnC,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,EAAE;AAC5B,YAAY,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;AAC3D,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,MAAM,eAAe,CAAC,QAAQ,CAAC;AACzD,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE;AAC3B,YAAY,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzD,YAAY,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE;AACzE,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI;AACxB,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzC,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK;AACxB,QAAQ,OAAO;AACf,YAAY,MAAM;AAClB,YAAY,GAAG;AACf,YAAY,OAAO;AACnB,YAAY,IAAI;AAChB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK;AAC1B,QAAQ,IAAI,KAAK,YAAY,YAAY;AACzC,YAAY,MAAM,KAAK,CAAC;AACxB,QAAQ,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;AACnD,YAAY,OAAO,EAAE,cAAc;AACnC,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,eAAe,eAAe,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7D,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC/C,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACpE,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAK;AACL,IAAI,OAAOA,iBAAS,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AACD,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;AAChC,QAAQ,OAAO,IAAI,CAAC;AACpB;AACA,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;AAC3B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACxC,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpF,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;;ACrHc,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AAC/D,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,IAAI,MAAM,MAAM,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE;AAChD,QAAQ,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE;AACvE,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AACjE,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK;AAC/C,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACnF,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/B,YAAY,QAAQ;AACpB,YAAY,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACtE,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,KAAK,CAAC,CAAC;AACP,CAAC;;ACjBW,MAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;AAC9C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/package.json new file mode 100644 index 0000000..e38c955 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/request/package.json @@ -0,0 +1,56 @@ +{ + "name": "@octokit/request", + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "version": "5.6.3", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "repository": "github:octokit/request.js", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth-app": "^3.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^27.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.0", + "@types/node-fetch": "^2.3.3", + "@types/once": "^1.4.0", + "fetch-mock": "^9.3.1", + "jest": "^27.0.0", + "lolex": "^6.0.0", + "prettier": "2.4.1", + "semantic-release": "^18.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^27.0.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +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 (including the next paragraph) 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/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/README.md b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..c48ce42 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "@octokit/types"; + +type listUserReposParameters = + Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..b3c252b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "6.41.0"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/AuthInterface.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/AuthInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointDefaults.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointInterface.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointOptions.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/EndpointOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Fetch.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Fetch.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/OctokitResponse.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/OctokitResponse.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestError.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestError.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestError.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestHeaders.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestInterface.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestMethod.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestOptions.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestParameters.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestParameters.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/RequestRequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/ResponseHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Route.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Route.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Signal.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Signal.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/StrategyInterface.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/StrategyInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Url.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/Url.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/VERSION.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..45a11b8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "6.41.0"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/generated/Endpoints.js @@ -0,0 +1 @@ +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..004ae9b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..8b39d61 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { Url } from "./Url"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..d7b4009 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Fetch.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..28fdfb8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: S; + /** + * URL of response after all redirects + */ + url: Url; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: T; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestError.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestError.d.ts new file mode 100644 index 0000000..89174e6 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -0,0 +1,11 @@ +export declare type RequestError = { + name: string; + status: number; + documentation_url: string; + errors?: Array<{ + resource: string; + code: string; + field: string; + message?: string; + }>; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. + */ + accept?: string; + /** + * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` + */ + authorization?: string; + /** + * `user-agent` is set do a default and can be overwritten as needed. + */ + "user-agent"?: string; + [header: string]: string | number | undefined; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..851811f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..b056a0e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { Url } from "./Url"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export declare type RequestParameters = { + /** + * Base URL to be used when a relative URL is passed, such as `/orgs/{org}`. + * If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/{org}`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide} + */ + mediaType?: { + /** + * `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint + */ + format?: string; + /** + * Custom media type names of {@link https://developer.github.com/v3/media/|API Previews} without the `-preview` suffix. + * Example for single preview: `['squirrel-girl']`. + * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`. + */ + previews?: string[]; + }; + /** + * Pass custom meta information for the request. The `request` object will be returned as is. + */ + request?: RequestRequestOptions; + /** + * Any additional parameter will be passed as follows + * 1. URL parameter if `':parameter'` or `{parameter}` is part of `url` + * 2. Query parameter if `method` is `'GET'` or `'HEAD'` + * 3. Request body if `parameter` is `'data'` + * 4. JSON in the request body in the form of `body[parameter]` unless `parameter` key is `'data'` + */ + [parameter: string]: unknown; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..8f5c43a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +import { Fetch } from "./Fetch"; +import { Signal } from "./Signal"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + * + * @see https://nodejs.org/api/http.html#http_class_http_agent + */ + agent?: unknown; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: Signal; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + [option: string]: any; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Route.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..dcaac75 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` + */ +export declare type Route = string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Signal.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Url.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..3e69916 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/VERSION.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..dc24575 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.41.0"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..3fe7cf8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,3571 @@ +import { paths } from "@octokit/openapi-types"; +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +declare type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ + [K in keyof T["parameters"]]: T["parameters"][K]; +}[keyof T["parameters"]]> : {}; +declare type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { + data: { + [K in keyof T["requestBody"]["content"]]: T["requestBody"]["content"][K]; + }[keyof T["requestBody"]["content"]]; +} : "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { + data: { + [K in keyof T["requestBody"]]: T["requestBody"][K]; + }[keyof T["requestBody"]]; +} : {}; +declare type ToOctokitParameters = ExtractParameters & ExtractRequestBody; +declare type RequiredPreview = T extends string ? { + mediaType: { + previews: [T, ...string[]]; + }; +} : {}; +declare type Operation = { + parameters: ToOctokitParameters & RequiredPreview; + request: { + method: Method extends keyof MethodsMap ? MethodsMap[Method] : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + }; + response: ExtractOctokitResponse; +}; +declare type MethodsMap = { + delete: "DELETE"; + get: "GET"; + patch: "PATCH"; + post: "POST"; + put: "PUT"; +}; +declare type SuccessStatuses = 200 | 201 | 202 | 204; +declare type RedirectStatuses = 301 | 302; +declare type EmptyResponseStatuses = 201 | 204; +declare type KnownJsonResponseTypes = "application/json" | "application/scim+json" | "text/html"; +declare type SuccessResponseDataType = { + [K in SuccessStatuses & keyof Responses]: GetContentKeyIfPresent extends never ? never : OctokitResponse, K>; +}[SuccessStatuses & keyof Responses]; +declare type RedirectResponseDataType = { + [K in RedirectStatuses & keyof Responses]: OctokitResponse; +}[RedirectStatuses & keyof Responses]; +declare type EmptyResponseDataType = { + [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; +}[EmptyResponseStatuses & keyof Responses]; +declare type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; +declare type DataType = { + [K in KnownJsonResponseTypes & keyof T]: T[K]; +}[KnownJsonResponseTypes & keyof T]; +declare type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; +export interface Endpoints { + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-installation-for-the-authenticated-app + */ + "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#unsuspend-an-app-installation + */ + "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-a-grant + */ + "DELETE /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-authorization + */ + "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-token + */ + "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization + */ + "DELETE /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-self-hosted-runner-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist + */ + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist-comment + */ + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#unstar-a-gist + */ + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token + */ + "DELETE /installation/token": Operation<"/installation/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-thread-subscription + */ + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#unblock-a-user-from-an-organization + */ + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization + */ + "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#delete-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook + */ + "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#cancel-an-organization-invitation + */ + "DELETE /orgs/{org}/invitations/{invitation_id}": Operation<"/orgs/{org}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-an-organization-member + */ + "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces + */ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user + */ + "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive + */ + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository + */ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization + */ + "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user + */ + "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#unlink-external-idp-group-team-connection + */ + "DELETE /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user + */ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-card + */ + "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-column + */ + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project + */ + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator + */ + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository + */ + "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-artifact + */ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id + */ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}": Operation<"/repos/{owner}/{repo}/actions/caches/{cache_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key + */ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}": Operation<"/repos/{owner}/{repo}/actions/caches", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-workflow-run + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-workflow-run-logs + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/v3/repos#delete-autolink + */ + "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-automated-security-fixes + */ + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-admin-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-pull-request-review-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-commit-signature-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-contexts + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-app-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-team-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-user-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator + */ + "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-commit-comment + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-a-commit-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-file + */ + "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deployment + */ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/git#delete-a-reference + */ + "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-webhook + */ + "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#cancel-an-import + */ + "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-invitation + */ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-an-issue-comment + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-all-labels-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-a-label-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#unlock-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deploy-key + */ + "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-label + */ + "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-git-lfs-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-milestone + */ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-github-pages-site + */ + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-pending-review-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release-asset + */ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions/#delete-a-release-reaction + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-repository-subscription + */ + "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-tag-protection-state-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-vulnerability-alerts + */ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-environment-secret + */ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/scim#delete-a-scim-user-from-an-organization + */ + "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy + */ + "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-member-legacy + */ + "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user-legacy + */ + "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-project-from-a-team-legacy + */ + "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team-legacy + */ + "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unblock-a-user + */ + "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-secret-for-the-authenticated-user + */ + "DELETE /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret + */ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-codespace-for-the-authenticated-user + */ + "DELETE /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user + */ + "DELETE /user/emails": Operation<"/user/emails", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unfollow-a-user + */ + "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user + */ + "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#remove-a-repository-from-an-app-installation + */ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories + */ + "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user + */ + "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive + */ + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-a-user-repository + */ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/overview/resources-in-the-rest-api#root-endpoint + */ + "GET /": Operation<"/", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-the-authenticated-app + */ + "GET /app": Operation<"/app", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-webhook-configuration-for-an-app + */ + "GET /app/hook/config": Operation<"/app/hook/config", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-delivery-for-an-app-webhook + */ + "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": Operation<"/app/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-installation-for-the-authenticated-app + */ + "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants + */ + "GET /applications/grants": Operation<"/applications/grants", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant + */ + "GET /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps/#get-an-app + */ + "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations + */ + "GET /authorizations": Operation<"/authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-authorization + */ + "GET /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct + */ + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-a-code-of-conduct + */ + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; + /** + * @see https://docs.github.com/rest/reference/emojis#get-emojis + */ + "GET /emojis": Operation<"/emojis", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-github-enterprise-server-statistics + */ + "GET /enterprise-installation/{enterprise_or_org}/server-statistics": Operation<"/enterprise-installation/{enterprise_or_org}/server-statistics", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/cache/usage": Operation<"/enterprises/{enterprise}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/workflow": Operation<"/enterprises/{enterprise}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners": Operation<"/enterprises/{enterprise}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/downloads": Operation<"/enterprises/{enterprise}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise + */ + "GET /enterprises/{enterprise}/audit-log": Operation<"/enterprises/{enterprise}/audit-log", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-scanning/alerts": Operation<"/enterprises/{enterprise}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/actions": Operation<"/enterprises/{enterprise}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/advanced-security": Operation<"/enterprises/{enterprise}/settings/billing/advanced-security", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/packages": Operation<"/enterprises/{enterprise}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/shared-storage": Operation<"/enterprises/{enterprise}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events + */ + "GET /events": Operation<"/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-feeds + */ + "GET /feeds": Operation<"/feeds", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": Operation<"/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-public-gists + */ + "GET /gists/public": Operation<"/gists/public", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-starred-gists + */ + "GET /gists/starred": Operation<"/gists/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist + */ + "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-comments + */ + "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-comment + */ + "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#check-if-a-gist-is-starred + */ + "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-revision + */ + "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates + */ + "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; + /** + * @see https://docs.github.com/rest/reference/gitignore#get-a-gitignore-template + */ + "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": Operation<"/installation/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": Operation<"/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": Operation<"/licenses", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses#get-a-license + */ + "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans + */ + "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/meta#get-github-meta-information + */ + "GET /meta": Operation<"/meta", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + */ + "GET /notifications": Operation<"/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread + */ + "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; + /** + * @see https://docs.github.com/rest/reference/meta#get-octocat + */ + "GET /octocat": Operation<"/octocat", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations + */ + "GET /organizations": Operation<"/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-custom-repository-roles-in-an-organization + */ + "GET /organizations/{organization_id}/custom_roles": Operation<"/organizations/{organization_id}/custom_roles", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + * @deprecated "org_id" is now "org" + */ + "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization + */ + "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "GET /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions + */ + "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-public-key + */ + "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-audit-log + */ + "GET /orgs/{org}/audit-log": Operation<"/orgs/{org}/audit-log", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-by-organization + */ + "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + */ + "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization + */ + "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key + */ + "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + */ + "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#external-idp-group-info-for-an-organization + */ + "GET /orgs/{org}/external-group/{group_id}": Operation<"/orgs/{org}/external-group/{group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-groups-for-an-organization + */ + "GET /orgs/{org}/external-groups": Operation<"/orgs/{org}/external-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-configuration-for-an-organization + */ + "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app + */ + "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-members + */ + "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user + */ + "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user + */ + "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + */ + "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status + */ + "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive + */ + "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + */ + "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user + */ + "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization + */ + "GET /orgs/{org}/settings/billing/advanced-security": Operation<"/orgs/{org}/settings/billing/advanced-security", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + */ + "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams + */ + "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-team-by-name + */ + "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-group-team-connection + */ + "GET /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user + */ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project + */ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository + */ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team + */ + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-card + */ + "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-column + */ + "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project + */ + "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user + */ + "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-columns + */ + "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; + /** + * @see https://docs.github.com/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user + */ + "GET /rate_limit": Operation<"/rate_limit", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository + */ + "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": Operation<"/repos/{owner}/{repo}/actions/caches", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-access-level-to-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-the-review-history-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-attempt-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-pending-deployments-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-usage + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned + */ + "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/v3/repos#list-autolinks + */ + "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; + /** + * @see https://docs.github.com/v3/repos#get-autolink + */ + "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches + */ + "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-admin-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-pull-request-review-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-commit-signature-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-status-checks-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-status-check-contexts + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-access-restrictions + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-run + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + * @deprecated "alert_id" is now "alert_number" + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-codeowners-errors + */ + "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-available-machine-types-for-a-repository + */ + "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#preview-attributes-for-a-new-codespace + */ + "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator + */ + "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user + */ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commits + */ + "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-community-profile-metrics + */ + "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{base}...{head}": Operation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-content + */ + "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits + */ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment-status + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-environments + */ + "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-forks + */ + "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-blob + */ + "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-commit + */ + "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-reference + */ + "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tag + */ + "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tree + */ + "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-webhook-configuration-for-a-repository + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-delivery-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-import-status + */ + "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-commit-authors + */ + "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-large-files + */ + "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-repository-installation-for-the-authenticated-app + */ + "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository + */ + "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-event + */ + "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deploy-key + */ + "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-label + */ + "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-languages + */ + "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses/#get-the-license-for-a-repository + */ + "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-github-pages-site + */ + "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-latest-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-github-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-dns-health-check-for-github-pages + */ + "GET /repos/{owner}/{repo}/pages/health": Operation<"/repos/{owner}/{repo}/pages/health", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme + */ + "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-directory-readme + */ + "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-releases + */ + "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-asset + */ + "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-latest-release + */ + "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name + */ + "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count + */ + "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day + */ + "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-repository-subscription + */ + "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-tag-protection-state-of-a-repository + */ + "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-clones + */ + "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-paths + */ + "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-sources + */ + "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-page-views + */ + "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-public-repositories + */ + "GET /repositories": Operation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-public-key + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-group + */ + "GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user + */ + "GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/scim#list-scim-provisioned-identities + */ + "GET /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/scim#get-scim-provisioning-information-for-a-user + */ + "GET /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-code + */ + "GET /search/code": Operation<"/search/code", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-commits + */ + "GET /search/commits": Operation<"/search/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + */ + "GET /search/issues": Operation<"/search/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-labels + */ + "GET /search/labels": Operation<"/search/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-repositories + */ + "GET /search/repositories": Operation<"/search/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-topics + */ + "GET /search/topics": Operation<"/search/topics", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-users + */ + "GET /search/users": Operation<"/search/users", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#get-a-team-legacy + */ + "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + */ + "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-member-legacy + */ + "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy + */ + "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-project-legacy + */ + "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy + */ + "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy + */ + "GET /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-the-authenticated-user + */ + "GET /user": Operation<"/user", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": Operation<"/user/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user + */ + "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": Operation<"/user/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-public-key-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-secret-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret + */ + "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user + */ + "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; + /** + * @see + */ + "GET /user/codespaces/{codespace_name}/exports/{export_id}": Operation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-machine-types-for-a-codespace + */ + "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": Operation<"/user/emails", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + */ + "GET /user/followers": Operation<"/user/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": Operation<"/user/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user + */ + "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user + */ + "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": Operation<"/user/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories + */ + "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": Operation<"/user/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": Operation<"/user/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user + */ + "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user + */ + "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + */ + "GET /user/migrations": Operation<"/user/migrations", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-a-user-migration-status + */ + "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive + */ + "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": Operation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": Operation<"/user/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": Operation<"/user/public_emails", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": Operation<"/user/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": Operation<"/user/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": Operation<"/user/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users + */ + "GET /users": Operation<"/users", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-user + */ + "GET /users/{username}": Operation<"/users/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + */ + "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + */ + "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user + */ + "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-contextual-information-for-a-user + */ + "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-user-installation-for-the-authenticated-app + */ + "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects + */ + "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-a-user + */ + "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-a-user + */ + "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user + */ + "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; + /** + * @see + */ + "GET /zen": Operation<"/zen", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#update-a-webhook-configuration-for-an-app + */ + "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#reset-a-token + */ + "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#update-an-existing-authorization + */ + "PATCH /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-enterprise + */ + "PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists/#update-a-gist + */ + "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists#update-a-gist-comment + */ + "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-a-thread-as-read + */ + "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs/#update-an-organization + */ + "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization + */ + "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-webhook + */ + "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-a-webhook-configuration-for-an-organization + */ + "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-team + */ + "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#link-external-idp-group-team-connection + */ + "PATCH /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections + */ + "PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-card + */ + "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-column + */ + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project + */ + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos/#update-a-repository + */ + "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-pull-request-review-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-status-check-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-a-check-run + */ + "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites + */ + "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#update-a-code-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-commit-comment + */ + "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/git#update-a-reference + */ + "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-webhook + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-webhook-configuration-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-an-import + */ + "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#map-a-commit-author + */ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-git-lfs-preference + */ + "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-invitation + */ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-an-issue-comment + */ + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues/#update-an-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-label + */ + "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-milestone + */ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-comment-for-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls/#update-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release-asset + */ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release + */ + "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group + */ + "PATCH /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user + */ + "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user + */ + "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy + */ + "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/users/#update-the-authenticated-user + */ + "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/reference/codespaces#update-a-codespace-for-the-authenticated-user + */ + "PATCH /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "patch">; + /** + * @see https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user + */ + "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user + */ + "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#redeliver-a-delivery-for-an-app-webhook + */ + "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/apps/#create-an-installation-access-token-for-an-app + */ + "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#check-a-token + */ + "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-scoped-access-token + */ + "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization + */ + "POST /authorizations": Operation<"/authorizations", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-self-hosted-runner-group-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/registration-token": Operation<"/enterprises/{enterprise}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/remove-token": Operation<"/enterprises/{enterprise}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist + */ + "POST /gists": Operation<"/gists", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist-comment + */ + "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#fork-a-gist + */ + "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document + */ + "POST /markdown": Operation<"/markdown", "post">; + /** + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": Operation<"/markdown/raw", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization + */ + "POST /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook + */ + "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#redeliver-a-delivery-for-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-invitation + */ + "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces + */ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-organization-migration + */ + "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-an-organization-repository + */ + "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-team + */ + "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-card + */ + "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-card + */ + "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-column + */ + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-column + */ + "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-job-for-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#review-pending-deployments-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-a-workflow + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-workflow-failed-jobs + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event + */ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/v3/repos#create-an-autolink + */ + "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#set-admin-branch-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-commit-signature-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-status-check-contexts + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-app-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-team-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-user-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#rename-a-branch + */ + "POST /repos/{owner}/{repo}/branches/{branch}/rename": Operation<"/repos/{owner}/{repo}/branches/{branch}/rename", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#upload-a-sarif-file + */ + "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-in-a-repository + */ + "POST /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-commit-comment + */ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-comment + */ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/dependency-graph#create-a-snapshot-of-dependencies-for-a-repository + */ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots": Operation<"/repos/{owner}/{repo}/dependency-graph/snapshots", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment + */ + "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment-status + */ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-dispatch-event + */ + "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-fork + */ + "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-blob + */ + "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-commit + */ + "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-reference + */ + "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tag-object + */ + "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tree + */ + "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#redeliver-a-delivery-for-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#ping-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#test-the-push-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue + */ + "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-labels-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deploy-key + */ + "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-label + */ + "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository + */ + "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#merge-a-branch + */ + "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-milestone + */ + "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-github-pages-site + */ + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#request-a-github-pages-build + */ + "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-repository-project + */ + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-from-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-reply-for-a-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-release + */ + "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#generate-release-notes + */ + "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-status + */ + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-tag-protection-state-for-a-repository + */ + "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#transfer-a-repository + */ + "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template + */ + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users + */ + "POST /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user + */ + "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/scim#provision-and-invite-a-scim-user + */ + "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-legacy + */ + "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces": Operation<"/user/codespaces", "post">; + /** + * @see + */ + "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#start-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/start": Operation<"/user/codespaces/{codespace_name}/start", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#stop-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/stop": Operation<"/user/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user + */ + "POST /user/emails": Operation<"/user/emails", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-gpg-key-for-the-authenticated-user + */ + "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user + */ + "POST /user/keys": Operation<"/user/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-a-user-migration + */ + "POST /user/migrations": Operation<"/user/migrations", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#upload-a-release-asset + */ + "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#suspend-an-app-installation + */ + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/{client_id}": Operation<"/authorizations/clients/{client_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/{client_id}/{fingerprint}": Operation<"/authorizations/clients/{client_id}/{fingerprint}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions/oidc#set-actions-oidc-custom-issuer-policy-for-enterprise + */ + "PUT /enterprises/{enterprise}/actions/oidc/customization/issuer": Operation<"/enterprises/{enterprise}/actions/oidc/customization/issuer", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/workflow": Operation<"/enterprises/{enterprise}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/gists#star-a-gist + */ + "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-notifications-as-read + */ + "PUT /notifications": Operation<"/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription + */ + "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions + */ + "PUT /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization + */ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization + */ + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization + */ + "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-organization-membership-for-a-user + */ + "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator + */ + "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user + */ + "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user + */ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/projects#add-project-collaborator + */ + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-workflow-access-to-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-automated-security-fixes + */ + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-branch-protection + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-status-check-contexts + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-app-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-team-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-user-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#add-a-repository-collaborator + */ + "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-file-contents + */ + "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-an-environment + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-import + */ + "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#set-labels-for-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#lock-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-git-lfs-for-a-repository + */ + "PUT /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read + */ + "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-information-about-a-github-pages-site + */ + "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#merge-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#dismiss-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-pull-request-branch + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-repository-subscription + */ + "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#replace-all-repository-topics + */ + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-vulnerability-alerts + */ + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-environment-secret + */ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group + */ + "PUT /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user + */ + "PUT /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/scim#set-scim-information-for-a-provisioned-user + */ + "PUT /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-team-member-legacy + */ + "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy + */ + "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-project-permissions-legacy + */ + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions-legacy + */ + "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#block-a-user + */ + "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user + */ + "PUT /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#follow-a-user + */ + "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/apps#add-a-repository-to-an-app-installation + */ + "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories + */ + "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; +} +export {}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..004ae9b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..b1b47d5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "6.41.0"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/package.json b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..960747f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@octokit/types/package.json @@ -0,0 +1,54 @@ +{ + "name": "@octokit/types", + "description": "Shared TypeScript definitions for Octokit projects", + "version": "6.41.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "octokit": { + "openapi-version": "6.8.0" + }, + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "repository": "github:octokit/types.ts", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + }, + "devDependencies": { + "@pika/pack": "^0.3.7", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/node": ">= 8", + "github-openapi-graphql-query": "^2.0.0", + "handlebars": "^4.7.6", + "json-schema-to-typescript": "^11.0.0", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "pika-plugin-merge-properties": "^1.0.6", + "prettier": "^2.0.0", + "semantic-release": "^19.0.3", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.2.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.23.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/LICENSE new file mode 100644 index 0000000..1a69ac8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/LICENSE @@ -0,0 +1,7 @@ +Copyright 2018 ZEIT, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/@@notfound.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/@@notfound.js new file mode 100644 index 0000000..6fdcb57 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/@@notfound.js @@ -0,0 +1 @@ +module.exports = __non_webpack_require__('UNKNOWN'); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/buildin/readme.md b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/buildin/readme.md new file mode 100644 index 0000000..9100d39 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/buildin/readme.md @@ -0,0 +1,7 @@ +# About this directory + +This directory will contain the webpack built-ins, like +`module.js`, so that they can be accessed by webpack when +it's being executeed inside the bundled ncc file. + +These files are published to npm. diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js new file mode 100755 index 0000000..6fdddc0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js @@ -0,0 +1,9 @@ +#!/usr/bin/env node +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const basename = __dirname + '/cli.js'; +const source = readFileSync(basename + '.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache'); +const scriptOpts = { filename: basename + '.cache.js', columnOffset: -62 } +const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js.cache b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js.cache new file mode 100644 index 0000000..0c5deb7 Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js.cache differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js new file mode 100644 index 0000000..baf9f96 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js @@ -0,0 +1 @@ +module.exports=(()=>{var __webpack_modules__={306:t=>{"use strict";t.exports=JSON.parse('{"name":"@vercel/ncc","description":"Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.","version":"0.24.1","repository":"vercel/ncc","license":"MIT","main":"./dist/ncc/index.js","bin":{"ncc":"./dist/ncc/cli.js"},"scripts":{"build":"node scripts/build","build-test-binary":"cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node","codecov":"codecov","test":"node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest","test-coverage":"node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest --coverage --globals \\"{\\\\\\"coverage\\\\\\":true}\\" && codecov","prepublish":"yarn build"},"devDependencies":{"@azure/cosmos":"^2.0.5","@bugsnag/js":"^5.0.1","@ffmpeg-installer/ffmpeg":"^1.0.17","@google-cloud/bigquery":"^2.0.1","@google-cloud/firestore":"^2.2.0","@sentry/node":"^4.3.0","@tensorflow/tfjs-node":"^0.3.0","@zeit/webpack-asset-relocator-loader":"0.8.0","analytics-node":"^3.3.0","apollo-server-express":"^2.2.2","arg":"^4.1.0","auth0":"^2.14.0","aws-sdk":"^2.356.0","axios":"^0.18.1","azure-storage":"^2.10.2","browserify-middleware":"^8.1.1","bytes":"^3.0.0","canvas":"^2.2.0","chromeless":"^1.5.2","codecov":"^3.6.5","consolidate":"^0.15.1","copy":"^0.3.2","core-js":"^2.5.7","cowsay":"^1.3.1","esm":"^3.2.22","express":"^4.16.4","fetch-h2":"^1.0.2","firebase":"^6.1.1","firebase-admin":"^6.3.0","fluent-ffmpeg":"^2.1.2","fontkit":"^1.7.7","get-folder-size":"^2.0.0","glob":"^7.1.3","got":"^9.3.2","graceful-fs":"^4.1.15","graphql":"^14.0.2","highlights":"^3.1.1","hot-shots":"^5.9.2","in-publish":"^2.0.0","ioredis":"^4.2.0","isomorphic-unfetch":"^3.0.0","jest":"^26.3.0","jimp":"^0.5.6","jugglingdb":"2.0.1","koa":"^2.6.2","leveldown":"^5.6.0","license-webpack-plugin":"^2.3.0","lighthouse":"^5.0.0","loopback":"^3.24.0","mailgun":"^0.5.0","mariadb":"^2.0.1-beta","memcached":"^2.2.2","mkdirp":"^0.5.1","mongoose":"^5.3.12","mysql":"^2.16.0","node-gyp":"^3.8.0","npm":"^6.13.4","oracledb":"^4.2.0","passport":"^0.4.0","passport-google-oauth":"^1.0.0","path-platform":"^0.11.15","pdf2json":"^1.1.8","pdfkit":"^0.8.3","pg":"^7.6.1","pug":"^2.0.3","react":"^16.6.3","react-dom":"^16.6.3","redis":"^2.8.0","request":"^2.88.0","rxjs":"^6.3.3","saslprep":"^1.0.2","sequelize":"^5.8.6","sharp":"^0.25.2","shebang-loader":"^0.0.1","socket.io":"^2.2.0","source-map-support":"^0.5.9","stripe":"^6.15.0","swig":"^1.4.2","terser":"^3.11.0","the-answer":"^1.0.0","tiny-json-http":"^7.0.2","ts-loader":"^5.3.1","tsconfig-paths":"^3.7.0","tsconfig-paths-webpack-plugin":"^3.2.0","twilio":"^3.23.2","typescript":"^3.2.2","vm2":"^3.6.6","vue":"^2.5.17","vue-server-renderer":"^2.5.17","webpack":"5.0.0-beta.28","when":"^3.7.8"}}')},832:t=>{const e=Symbol("arg flag");function arg(t,{argv:r,permissive:n=false,stopAtPositional:i=false}={}){if(!t){throw new Error("Argument specification object is required")}const o={_:[]};r=r||process.argv.slice(2);const s={};const a={};for(const r of Object.keys(t)){if(!r){throw new TypeError("Argument key cannot be an empty string")}if(r[0]!=="-"){throw new TypeError(`Argument key must start with '-' but found: '${r}'`)}if(r.length===1){throw new TypeError(`Argument key must have a name; singular '-' keys are not allowed: ${r}`)}if(typeof t[r]==="string"){s[r]=t[r];continue}let n=t[r];let i=false;if(Array.isArray(n)&&n.length===1&&typeof n[0]==="function"){const[t]=n;n=((e,r,n=[])=>{n.push(t(e,r,n[n.length-1]));return n});i=t===Boolean||t[e]===true}else if(typeof n==="function"){i=n===Boolean||n[e]===true}else{throw new TypeError(`Type missing or not a function or valid array type: ${r}`)}if(r[1]!=="-"&&r.length>2){throw new TypeError(`Short argument keys (with a single hyphen) must have only one character: ${r}`)}a[r]=[n,i]}for(let t=0,e=r.length;t0){o._=o._.concat(r.slice(t));break}if(e==="--"){o._=o._.concat(r.slice(t+1));break}if(e.length>1&&e[0]==="-"){const i=e[1]==="-"||e.length===2?[e]:e.slice(1).split("").map(t=>`-${t}`);for(let e=0;e1&&r[t+1][0]==="-"){const t=u===h?"":` (alias for ${h})`;throw new Error(`Option requires argument: ${u}${t}`)}o[h]=l(r[t+1],h,o[h]);++t}else{o[h]=l(f,h,o[h])}}}else{o._.push(e)}}return o}arg.flag=(t=>{t[e]=true;return t});arg.COUNT=arg.flag((t,e,r)=>(r||0)+1);t.exports=arg},835:t=>{"use strict";t.exports=balanced;function balanced(t,e,r){if(t instanceof RegExp)t=maybeMatch(t,r);if(e instanceof RegExp)e=maybeMatch(e,r);var n=range(t,e,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+t.length,n[1]),post:r.slice(n[1]+e.length)}}function maybeMatch(t,e){var r=e.match(t);return r?r[0]:null}balanced.range=range;function range(t,e,r){var n,i,o,s,a;var c=r.indexOf(t);var u=r.indexOf(e,c+1);var f=c;if(c>=0&&u>0){n=[];o=r.length;while(f>=0&&!a){if(f==c){n.push(f);c=r.indexOf(t,f+1)}else if(n.length==1){a=[n.pop(),u]}else{i=n.pop();if(i=0?c:u}if(n.length){a=[o,s]}}return a}},215:(t,e,r)=>{var n=r(551);var i=r(835);t.exports=expandTop;var o="\0SLASH"+Math.random()+"\0";var s="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var c="\0COMMA"+Math.random()+"\0";var u="\0PERIOD"+Math.random()+"\0";function numeric(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function escapeBraces(t){return t.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(a).split("\\,").join(c).split("\\.").join(u)}function unescapeBraces(t){return t.split(o).join("\\").split(s).join("{").split(a).join("}").split(c).join(",").split(u).join(".")}function parseCommaParts(t){if(!t)return[""];var e=[];var r=i("{","}",t);if(!r)return t.split(",");var n=r.pre;var o=r.body;var s=r.post;var a=n.split(",");a[a.length-1]+="{"+o+"}";var c=parseCommaParts(s);if(s.length){a[a.length-1]+=c.shift();a.push.apply(a,c)}e.push.apply(e,a);return e}function expandTop(t){if(!t)return[];if(t.substr(0,2)==="{}"){t="\\{\\}"+t.substr(2)}return expand(escapeBraces(t),true).map(unescapeBraces)}function identity(t){return t}function embrace(t){return"{"+t+"}"}function isPadded(t){return/^-?0\d/.test(t)}function lte(t,e){return t<=e}function gte(t,e){return t>=e}function expand(t,e){var r=[];var o=i("{","}",t);if(!o||/\$$/.test(o.pre))return[t];var s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o.body);var c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o.body);var u=s||c;var f=o.body.indexOf(",")>=0;if(!u&&!f){if(o.post.match(/,.*\}/)){t=o.pre+"{"+o.body+a+o.post;return expand(t)}return[t]}var h;if(u){h=o.body.split(/\.\./)}else{h=parseCommaParts(o.body);if(h.length===1){h=expand(h[0],false).map(embrace);if(h.length===1){var l=o.post.length?expand(o.post,false):[""];return l.map(function(t){return o.pre+h[0]+t})}}}var p=o.pre;var l=o.post.length?expand(o.post,false):[""];var d;if(u){var v=numeric(h[0]);var m=numeric(h[1]);var y=Math.max(h[0].length,h[1].length);var b=h.length==3?Math.abs(numeric(h[2])):1;var _=lte;var g=m0){var O=new Array(S+1).join("0");if(k<0)E="-"+O+E.slice(1);else E=O+E}}}d.push(E)}}else{d=n(h,function(t){return expand(t,false)})}for(var j=0;j{t.exports=function(t,r){var n=[];for(var i=0;i{t.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var n=r(747);var i=n.realpath;var o=n.realpathSync;var s=process.version;var a=/^v[0-5]\./.test(s);var c=r(411);function newError(t){return t&&t.syscall==="realpath"&&(t.code==="ELOOP"||t.code==="ENOMEM"||t.code==="ENAMETOOLONG")}function realpath(t,e,r){if(a){return i(t,e,r)}if(typeof e==="function"){r=e;e=null}i(t,e,function(n,i){if(newError(n)){c.realpath(t,e,r)}else{r(n,i)}})}function realpathSync(t,e){if(a){return o(t,e)}try{return o(t,e)}catch(r){if(newError(r)){return c.realpathSync(t,e)}else{throw r}}}function monkeypatch(){n.realpath=realpath;n.realpathSync=realpathSync}function unmonkeypatch(){n.realpath=i;n.realpathSync=o}},411:(t,e,r)=>{var n=r(622);var i=process.platform==="win32";var o=r(747);var s=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var t;if(s){var e=new Error;t=debugCallback}else t=missingCallback;return t;function debugCallback(t){if(t){e.message=t.message;t=e;missingCallback(t)}}function missingCallback(t){if(t){if(process.throwDeprecation)throw t;else if(!process.noDeprecation){var e="fs: missing callback "+(t.stack||t.message);if(process.traceDeprecation)console.trace(e);else console.error(e)}}}}function maybeCallback(t){return typeof t==="function"?t:rethrow()}var a=n.normalize;if(i){var c=/(.*?)(?:[\/\\]+|$)/g}else{var c=/(.*?)(?:[\/]+|$)/g}if(i){var u=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var u=/^[\/]*/}e.realpathSync=function realpathSync(t,e){t=n.resolve(t);if(e&&Object.prototype.hasOwnProperty.call(e,t)){return e[t]}var r=t,s={},a={};var f;var h;var l;var p;start();function start(){var e=u.exec(t);f=e[0].length;h=e[0];l=e[0];p="";if(i&&!a[l]){o.lstatSync(l);a[l]=true}}while(f=t.length){if(e)e[s]=t;return r(null,t)}c.lastIndex=h;var n=c.exec(t);d=l;l+=n[0];p=d+n[1];h=c.lastIndex;if(f[p]||e&&e[p]===p){return process.nextTick(LOOP)}if(e&&Object.prototype.hasOwnProperty.call(e,p)){return gotResolvedLink(e[p])}return o.lstat(p,gotStat)}function gotStat(t,n){if(t)return r(t);if(!n.isSymbolicLink()){f[p]=true;if(e)e[p]=p;return process.nextTick(LOOP)}if(!i){var s=n.dev.toString(32)+":"+n.ino.toString(32);if(a.hasOwnProperty(s)){return gotTarget(null,a[s],p)}}o.stat(p,function(t){if(t)return r(t);o.readlink(p,function(t,e){if(!i)a[s]=e;gotTarget(t,e)})})}function gotTarget(t,i,o){if(t)return r(t);var s=n.resolve(d,i);if(e)e[o]=s;gotResolvedLink(s)}function gotResolvedLink(e){t=n.resolve(e,t.slice(h));start()}}},74:(t,e,r)=>{"use strict";const n=r(747);const i=r(622);const o=r(833);function readSizeRecursive(t,e,r,s){let a;let c;if(!s){a=r;c=null}else{a=s;c=r}n.lstat(e,function lstat(r,s){let u=!r?s.size||0:0;if(s){if(t.has(s.ino)){return a(null,0)}t.add(s.ino)}if(!r&&s.isDirectory()){n.readdir(e,(r,n)=>{if(r){return a(r)}o(n,(r,n)=>{readSizeRecursive(t,i.join(e,r),c,(t,e)=>{if(!t){u+=e}n(t)})},t=>{a(t,u)})})}else{if(c&&c.test(e)){u=0}a(r,u)}})}t.exports=((...t)=>{t.unshift(new Set);return readSizeRecursive(...t)})},744:(t,e,r)=>{e.alphasort=alphasort;e.alphasorti=alphasorti;e.setopts=setopts;e.ownProp=ownProp;e.makeAbs=makeAbs;e.finish=finish;e.mark=mark;e.isIgnored=isIgnored;e.childrenIgnored=childrenIgnored;function ownProp(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var n=r(622);var i=r(642);var o=r(963);var s=i.Minimatch;function alphasorti(t,e){return t.toLowerCase().localeCompare(e.toLowerCase())}function alphasort(t,e){return t.localeCompare(e)}function setupIgnores(t,e){t.ignore=e.ignore||[];if(!Array.isArray(t.ignore))t.ignore=[t.ignore];if(t.ignore.length){t.ignore=t.ignore.map(ignoreMap)}}function ignoreMap(t){var e=null;if(t.slice(-3)==="/**"){var r=t.replace(/(\/\*\*)+$/,"");e=new s(r,{dot:true})}return{matcher:new s(t,{dot:true}),gmatcher:e}}function setopts(t,e,r){if(!r)r={};if(r.matchBase&&-1===e.indexOf("/")){if(r.noglobstar){throw new Error("base matching requires globstar")}e="**/"+e}t.silent=!!r.silent;t.pattern=e;t.strict=r.strict!==false;t.realpath=!!r.realpath;t.realpathCache=r.realpathCache||Object.create(null);t.follow=!!r.follow;t.dot=!!r.dot;t.mark=!!r.mark;t.nodir=!!r.nodir;if(t.nodir)t.mark=true;t.sync=!!r.sync;t.nounique=!!r.nounique;t.nonull=!!r.nonull;t.nosort=!!r.nosort;t.nocase=!!r.nocase;t.stat=!!r.stat;t.noprocess=!!r.noprocess;t.absolute=!!r.absolute;t.maxLength=r.maxLength||Infinity;t.cache=r.cache||Object.create(null);t.statCache=r.statCache||Object.create(null);t.symlinks=r.symlinks||Object.create(null);setupIgnores(t,r);t.changedCwd=false;var i=process.cwd();if(!ownProp(r,"cwd"))t.cwd=i;else{t.cwd=n.resolve(r.cwd);t.changedCwd=t.cwd!==i}t.root=r.root||n.resolve(t.cwd,"/");t.root=n.resolve(t.root);if(process.platform==="win32")t.root=t.root.replace(/\\/g,"/");t.cwdAbs=o(t.cwd)?t.cwd:makeAbs(t,t.cwd);if(process.platform==="win32")t.cwdAbs=t.cwdAbs.replace(/\\/g,"/");t.nomount=!!r.nomount;r.nonegate=true;r.nocomment=true;t.minimatch=new s(e,r);t.options=t.minimatch.options}function finish(t){var e=t.nounique;var r=e?[]:Object.create(null);for(var n=0,i=t.matches.length;n{t.exports=glob;var n=r(747);var i=r(909);var o=r(642);var s=o.Minimatch;var a=r(309);var c=r(614).EventEmitter;var u=r(622);var f=r(357);var h=r(963);var l=r(381);var p=r(744);var d=p.alphasort;var v=p.alphasorti;var m=p.setopts;var y=p.ownProp;var b=r(753);var _=r(669);var g=p.childrenIgnored;var w=p.isIgnored;var k=r(481);function glob(t,e,r){if(typeof e==="function")r=e,e={};if(!e)e={};if(e.sync){if(r)throw new TypeError("callback provided to sync glob");return l(t,e)}return new Glob(t,e,r)}glob.sync=l;var E=glob.GlobSync=l.GlobSync;glob.glob=glob;function extend(t,e){if(e===null||typeof e!=="object"){return t}var r=Object.keys(e);var n=r.length;while(n--){t[r[n]]=e[r[n]]}return t}glob.hasMagic=function(t,e){var r=extend({},e);r.noprocess=true;var n=new Glob(t,r);var i=n.minimatch.set;if(!t)return false;if(i.length>1)return true;for(var o=0;othis.maxLength)return e();if(!this.stat&&y(this.cache,r)){var o=this.cache[r];if(Array.isArray(o))o="DIR";if(!i||o==="DIR")return e(null,o);if(i&&o==="FILE")return e()}var s;var a=this.statCache[r];if(a!==undefined){if(a===false)return e(null,a);else{var c=a.isDirectory()?"DIR":"FILE";if(i&&c==="FILE")return e();else return e(null,c,a)}}var u=this;var f=b("stat\0"+r,lstatcb_);if(f)n.lstat(r,f);function lstatcb_(i,o){if(o&&o.isSymbolicLink()){return n.stat(r,function(n,i){if(n)u._stat2(t,r,null,o,e);else u._stat2(t,r,n,i,e)})}else{u._stat2(t,r,i,o,e)}}};Glob.prototype._stat2=function(t,e,r,n,i){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[e]=false;return i()}var o=t.slice(-1)==="/";this.statCache[e]=n;if(e.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,false,n);var s=true;if(n)s=n.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||s;if(o&&s==="FILE")return i();return i(null,s,n)}},381:(t,e,r)=>{t.exports=globSync;globSync.GlobSync=GlobSync;var n=r(747);var i=r(909);var o=r(642);var s=o.Minimatch;var a=r(750).Glob;var c=r(669);var u=r(622);var f=r(357);var h=r(963);var l=r(744);var p=l.alphasort;var d=l.alphasorti;var v=l.setopts;var m=l.ownProp;var y=l.childrenIgnored;var b=l.isIgnored;function globSync(t,e){if(typeof e==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(t,e).found}function GlobSync(t,e){if(!t)throw new Error("must provide pattern");if(typeof e==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(t,e);v(this,t,e);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var n=0;nthis.maxLength)return false;if(!this.stat&&m(this.cache,e)){var i=this.cache[e];if(Array.isArray(i))i="DIR";if(!r||i==="DIR")return i;if(r&&i==="FILE")return false}var o;var s=this.statCache[e];if(!s){var a;try{a=n.lstatSync(e)}catch(t){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[e]=false;return false}}if(a&&a.isSymbolicLink()){try{s=n.statSync(e)}catch(t){s=a}}else{s=a}}this.statCache[e]=s;var i=true;if(s)i=s.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||i;if(r&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(t){return l.mark(this,t)};GlobSync.prototype._makeAbs=function(t){return l.makeAbs(this,t)}},753:(t,e,r)=>{var n=r(687);var i=Object.create(null);var o=r(481);t.exports=n(inflight);function inflight(t,e){if(i[t]){i[t].push(e);return null}else{i[t]=[e];return makeres(t)}}function makeres(t){return o(function RES(){var e=i[t];var r=e.length;var n=slice(arguments);try{for(var o=0;or){e.splice(0,r);process.nextTick(function(){RES.apply(null,n)})}else{delete i[t]}}})}function slice(t){var e=t.length;var r=[];for(var n=0;n{try{var n=r(669);if(typeof n.inherits!=="function")throw"";t.exports=n.inherits}catch(e){t.exports=r(474)}},474:t=>{if(typeof Object.create==="function"){t.exports=function inherits(t,e){if(e){t.super_=e;t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:false,writable:true,configurable:true}})}}}else{t.exports=function inherits(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype;t.prototype=new r;t.prototype.constructor=t}}}},642:(t,e,r)=>{t.exports=minimatch;minimatch.Minimatch=Minimatch;var n={sep:"/"};try{n=r(622)}catch(t){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var o=r(215);var s={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var a="[^/]";var c=a+"*?";var u="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var f="(?:(?!(?:\\/|^)\\.).)*?";var h=charSet("().*{}+?[]^$\\!");function charSet(t){return t.split("").reduce(function(t,e){t[e]=true;return t},{})}var l=/\/+/;minimatch.filter=filter;function filter(t,e){e=e||{};return function(r,n,i){return minimatch(r,t,e)}}function ext(t,e){t=t||{};e=e||{};var r={};Object.keys(e).forEach(function(t){r[t]=e[t]});Object.keys(t).forEach(function(e){r[e]=t[e]});return r}minimatch.defaults=function(t){if(!t||!Object.keys(t).length)return minimatch;var e=minimatch;var r=function minimatch(r,n,i){return e.minimatch(r,n,ext(t,i))};r.Minimatch=function Minimatch(r,n){return new e.Minimatch(r,ext(t,n))};return r};Minimatch.defaults=function(t){if(!t||!Object.keys(t).length)return Minimatch;return minimatch.defaults(t).Minimatch};function minimatch(t,e,r){if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};if(!r.nocomment&&e.charAt(0)==="#"){return false}if(e.trim()==="")return t==="";return new Minimatch(e,r).match(t)}function Minimatch(t,e){if(!(this instanceof Minimatch)){return new Minimatch(t,e)}if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!e)e={};t=t.trim();if(n.sep!=="/"){t=t.split(n.sep).join("/")}this.options=e;this.set=[];this.pattern=t;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var t=this.pattern;var e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=true;return}if(!t){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(e.debug)this.debug=console.error;this.debug(this.pattern,r);r=this.globParts=r.map(function(t){return t.split(l)});this.debug(this.pattern,r);r=r.map(function(t,e,r){return t.map(this.parse,this)},this);this.debug(this.pattern,r);r=r.filter(function(t){return t.indexOf(false)===-1});this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var t=this.pattern;var e=false;var r=this.options;var n=0;if(r.nonegate)return;for(var i=0,o=t.length;i1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&t==="**")return i;if(t==="")return"";var n="";var o=!!r.nocase;var u=false;var f=[];var l=[];var d;var v=false;var m=-1;var y=-1;var b=t.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var _=this;function clearStateChar(){if(d){switch(d){case"*":n+=c;o=true;break;case"?":n+=a;o=true;break;default:n+="\\"+d;break}_.debug("clearStateChar %j %j",d,n);d=false}}for(var g=0,w=t.length,k;g-1;G--){var M=l[G];var I=n.slice(0,M.reStart);var C=n.slice(M.reStart,M.reEnd-8);var D=n.slice(M.reEnd-8,M.reEnd);var R=n.slice(M.reEnd);D+=R;var P=I.split("(").length-1;var $=R;for(g=0;g=0;s--){o=t[s];if(o)break}for(s=0;s>> no match, partial?",t,h,e,l);if(h===a)return true}return false}var d;if(typeof u==="string"){if(n.nocase){d=f.toLowerCase()===u.toLowerCase()}else{d=f===u}this.debug("string match",u,f,d)}else{d=f.match(u);this.debug("pattern match",u,f,d)}if(!d)return false}if(o===a&&s===c){return true}else if(o===a){return r}else if(s===c){var v=o===a-1&&t[o]==="";return v}throw new Error("wtf?")};function globUnescape(t){return t.replace(/\\(.)/g,"$1")}function regExpEscape(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},485:(t,e,r)=>{var n=r(622);var i=r(747);var o=parseInt("0777",8);t.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(t,e,r,s){if(typeof e==="function"){r=e;e={}}else if(!e||typeof e!=="object"){e={mode:e}}var a=e.mode;var c=e.fs||i;if(a===undefined){a=o}if(!s)s=null;var u=r||function(){};t=n.resolve(t);c.mkdir(t,a,function(r){if(!r){s=s||t;return u(null,s)}switch(r.code){case"ENOENT":if(n.dirname(t)===t)return u(r);mkdirP(n.dirname(t),e,function(r,n){if(r)u(r,n);else mkdirP(t,e,u,n)});break;default:c.stat(t,function(t,e){if(t||!e.isDirectory())u(r,s);else u(null,s)});break}})}mkdirP.sync=function sync(t,e,r){if(!e||typeof e!=="object"){e={mode:e}}var s=e.mode;var a=e.fs||i;if(s===undefined){s=o}if(!r)r=null;t=n.resolve(t);try{a.mkdirSync(t,s);r=r||t}catch(i){switch(i.code){case"ENOENT":r=sync(n.dirname(t),e,r);sync(t,e,r);break;default:var c;try{c=a.statSync(t)}catch(t){throw i}if(!c.isDirectory())throw i;break}}return r}},481:(t,e,r)=>{var n=r(687);t.exports=n(once);t.exports.strict=n(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(t){var e=function(){if(e.called)return e.value;e.called=true;return e.value=t.apply(this,arguments)};e.called=false;return e}function onceStrict(t){var e=function(){if(e.called)throw new Error(e.onceError);e.called=true;return e.value=t.apply(this,arguments)};var r=t.name||"Function wrapped with `once`";e.onceError=r+" shouldn't be called more than once";e.called=false;return e}},963:t=>{"use strict";function posix(t){return t.charAt(0)==="/"}function win32(t){var e=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var r=e.exec(t);var n=r[1]||"";var i=Boolean(n&&n.charAt(1)!==":");return Boolean(r[2]||i)}t.exports=process.platform==="win32"?win32:posix;t.exports.posix=posix;t.exports.win32=win32},8:(t,e,r)=>{t.exports=rimraf;rimraf.sync=rimrafSync;var n=r(357);var i=r(622);var o=r(747);var s=undefined;try{s=r(750)}catch(t){}var a=parseInt("666",8);var c={nosort:true,silent:true};var u=0;var f=process.platform==="win32";function defaults(t){var e=["unlink","chmod","stat","lstat","rmdir","readdir"];e.forEach(function(e){t[e]=t[e]||o[e];e=e+"Sync";t[e]=t[e]||o[e]});t.maxBusyTries=t.maxBusyTries||3;t.emfileWait=t.emfileWait||1e3;if(t.glob===false){t.disableGlob=true}if(t.disableGlob!==true&&s===undefined){throw Error("glob dependency not found, set `options.disableGlob = true` if intentional")}t.disableGlob=t.disableGlob||false;t.glob=t.glob||c}function rimraf(t,e,r){if(typeof e==="function"){r=e;e={}}n(t,"rimraf: missing path");n.equal(typeof t,"string","rimraf: path should be a string");n.equal(typeof r,"function","rimraf: callback function required");n(e,"rimraf: invalid options argument provided");n.equal(typeof e,"object","rimraf: options should be object");defaults(e);var i=0;var o=null;var a=0;if(e.disableGlob||!s.hasMagic(t))return afterGlob(null,[t]);e.lstat(t,function(r,n){if(!r)return afterGlob(null,[t]);s(t,e.glob,afterGlob)});function next(t){o=o||t;if(--a===0)r(o)}function afterGlob(t,n){if(t)return r(t);a=n.length;if(a===0)return r();n.forEach(function(t){rimraf_(t,e,function CB(r){if(r){if((r.code==="EBUSY"||r.code==="ENOTEMPTY"||r.code==="EPERM")&&i{"use strict";t.exports=function eachAsync(t,e,r,n){var i=0;var o=0;var s=t.length-1;var a=false;var c;var u;var f;if(typeof e==="number"){c=e;f=r;u=n||function noop(){}}else{f=e;u=r||function noop(){};c=t.length}if(!t.length){return u()}var h=f.length;var l=function shouldCallNextIterator(){return!a&&i{t.exports=wrappy;function wrappy(t,e){if(t&&e)return wrappy(t)(e);if(typeof t!=="function")throw new TypeError("need wrapper function");Object.keys(t).forEach(function(e){wrapper[e]=t[e]});return wrapper;function wrapper(){var e=new Array(arguments.length);for(var r=0;r{const{resolve:resolve,relative:relative,dirname:dirname,sep:sep,extname:extname}=__webpack_require__(622);const glob=__webpack_require__(750);const shebangRegEx=__webpack_require__(681);const rimraf=__webpack_require__(8);const crypto=__webpack_require__(417);const{writeFileSync:writeFileSync,unlink:unlink,existsSync:existsSync,symlinkSync:symlinkSync}=__webpack_require__(747);const mkdirp=__webpack_require__(485);const{version:nccVersion}=__webpack_require__(306);process.noDeprecation=true;const usage=`Usage: ncc \n\nCommands:\n build [opts]\n run [opts]\n cache clean|dir|size\n help\n version\n\nOptions:\n -o, --out [file] Output directory for build (defaults to dist)\n -m, --minify Minify output\n -C, --no-cache Skip build cache population\n -s, --source-map Generate source map\n --no-source-map-register Skip source-map-register source map support\n -e, --external [mod] Skip bundling 'mod'. Can be used many times\n -q, --quiet Disable build summaries / non-error outputs\n -w, --watch Start a watched build\n -t, --transpile-only Use transpileOnly option with the ts-loader\n --v8-cache Emit a build using the v8 compile cache\n --license [file] Adds a file containing licensing information to the output\n --stats-out [file] Emit webpack stats as json to the specified output file\n`;let api=false;if(require.main===require.cache[eval("__filename")]){runCmd(process.argv.slice(2),process.stdout,process.stderr).then(t=>{if(!t)process.exit()}).catch(t=>{if(!t.silent)console.error(t.nccError?t.message:t);process.exit(t.exitCode||1)})}else{module.exports=runCmd;api=true}function renderSummary(t,e,r,n,i,o){if(i&&!i.endsWith(sep))i+=sep;const s=Math.round(Buffer.byteLength(t,"utf8")/1024);const a=e?Math.round(Buffer.byteLength(e,"utf8")/1024):0;const c=Object.create(null);let u=s;let f=8+(e?4:0);for(const t of Object.keys(r)){const e=r[t].source;const n=Math.round((e.byteLength||Buffer.byteLength(e,"utf8"))/1024);c[t]=n;u+=n;if(t.length>f)f=t.length}const h=Object.keys(r).sort((t,e)=>c[t]>c[e]?1:-1);const l=u.toString().length;let p=`${s.toString().padStart(l," ")}kB ${i}index${n}`;let d=e?`${a.toString().padStart(l," ")}kB ${i}index${n}.map`:"";let v="",m=true;for(const t of h){if(m)m=false;else v+="\n";if(s2)errTooManyArguments("cache");const flags=Object.keys(args).filter(t=>t.startsWith("--"));if(flags.length)errFlagNotCompatible(flags[0],"cache");const cacheDir=__webpack_require__(946);switch(args._[1]){case"clean":rimraf.sync(cacheDir);break;case"dir":stdout.write(cacheDir+"\n");break;case"size":__webpack_require__(74)(cacheDir,(t,e)=>{if(t){if(t.code==="ENOENT"){stdout.write("0MB\n");return}throw t}stdout.write(`${(e/1024/1024).toFixed(2)}MB\n`)});break;default:errInvalidCommand("cache "+args._[1])}break;case"run":if(args._.length>2)errTooManyArguments("run");if(args["--out"])errFlagNotCompatible("--out","run");if(args["--watch"])errFlagNotCompatible("--watch","run");outDir=resolve(__webpack_require__(87).tmpdir(),crypto.createHash("md5").update(resolve(args._[1]||".")).digest("hex"));if(existsSync(outDir))rimraf.sync(outDir);run=true;case"build":if(args._.length>2)errTooManyArguments("build");let startTime=Date.now();let ps;const buildFile=eval("require.resolve")(resolve(args._[1]||"."));const ext=buildFile.endsWith(".cjs")?".cjs":".js";const ncc=__webpack_require__(612)(buildFile,{debugLog:args["--debug"],minify:args["--minify"],externals:args["--external"],sourceMap:args["--source-map"]||run,sourceMapRegister:args["--no-source-map-register"]?false:undefined,cache:args["--no-cache"]?false:undefined,watch:args["--watch"],v8cache:args["--v8-cache"],transpileOnly:args["--transpile-only"],license:args["--license"],quiet:quiet});async function handler({err:err,code:code,map:map,assets:assets,symlinks:symlinks,stats:stats}){if(err){stderr.write(err+"\n");stdout.write("Watching for changes...\n");return}outDir=outDir||resolve(eval("'dist'"));mkdirp.sync(outDir);await Promise.all((await new Promise((t,e)=>glob(outDir+"/**/*.(js|cjs)",(r,n)=>r?e(r):t(n)))).map(t=>new Promise((e,r)=>unlink(t,t=>t?r(t):e()))));writeFileSync(`${outDir}/index${ext}`,code,{mode:code.match(shebangRegEx)?511:438});if(map)writeFileSync(`${outDir}/index${ext}.map`,map);for(const t of Object.keys(assets)){const e=outDir+"/"+t;mkdirp.sync(dirname(e));writeFileSync(e,assets[t].source,{mode:assets[t].permissions})}for(const t of Object.keys(symlinks)){const e=outDir+"/"+t;symlinkSync(symlinks[t],e)}if(!quiet){stdout.write(renderSummary(code,map,assets,ext,run?"":relative(process.cwd(),outDir),Date.now()-startTime)+"\n");if(args["--watch"])stdout.write("Watching for changes...\n")}if(statsOutFile)writeFileSync(statsOutFile,JSON.stringify(stats.toJson()));if(run){const t=resolve("/node_modules");let e=dirname(buildFile)+"/node_modules";do{if(e===t){e=undefined;break}if(existsSync(e))break}while(e=resolve(e,"../../node_modules"));if(e)symlinkSync(e,outDir+"/node_modules","junction");ps=__webpack_require__(129).fork(`${outDir}/index${ext}`,{stdio:api?"pipe":"inherit"});if(api){ps.stdout.pipe(stdout);ps.stderr.pipe(stderr)}return new Promise((t,e)=>{function exit(r){__webpack_require__(8).sync(outDir);if(r===0)t();else e({silent:true,exitCode:r});process.off("SIGTERM",exit);process.off("SIGINT",exit)}ps.on("exit",exit);process.on("SIGTERM",exit);process.on("SIGINT",exit)})}}if(args["--watch"]){ncc.handler(handler);ncc.rebuild(()=>{if(ps)ps.kill();startTime=Date.now();stdout.write("File change, rebuilding...\n")});return true}else{return ncc.then(handler)}break;case"help":nccError(usage,2);case"version":stdout.write(__webpack_require__(306).version+"\n");break;default:errInvalidCommand(args._[0],2)}function errTooManyArguments(t){nccError(`Error: Too many ${t} arguments provided\n${usage}`,2)}function errFlagNotCompatible(t,e){nccError(`Error: ${t} flag is not compatible with ncc ${e}\n${usage}`,2)}function errInvalidCommand(t){nccError(`Error: Invalid command "${t}"\n${usage}`,2)}process.on("unhandledRejection",t=>{throw t})}},946:(t,e,r)=>{t.exports=r(87).tmpdir()+"/ncc-cache"},681:t=>{t.exports=/^#![^\n\r]*[\r\n]/},612:t=>{"use strict";t.exports=require("./index.js")},357:t=>{"use strict";t.exports=require("assert")},129:t=>{"use strict";t.exports=require("child_process")},417:t=>{"use strict";t.exports=require("crypto")},614:t=>{"use strict";t.exports=require("events")},747:t=>{"use strict";t.exports=require("fs")},87:t=>{"use strict";t.exports=require("os")},622:t=>{"use strict";t.exports=require("path")},669:t=>{"use strict";t.exports=require("util")}};var __webpack_module_cache__={};function __webpack_require__(t){if(__webpack_module_cache__[t]){return __webpack_module_cache__[t].exports}var e=__webpack_module_cache__[t]={exports:{}};var r=true;try{__webpack_modules__[t](e,e.exports,__webpack_require__);r=false}finally{if(r)delete __webpack_module_cache__[t]}return e.exports}__webpack_require__.ab=__dirname+"/";return __webpack_require__(819)})(); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js new file mode 100644 index 0000000..a4e5922 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js @@ -0,0 +1,8 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const basename = __dirname + '/index.js'; +const source = readFileSync(basename + '.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache'); +const scriptOpts = { filename: basename + '.cache.js', columnOffset: -62 } +const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js.cache b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js.cache new file mode 100644 index 0000000..1109b8f Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js.cache differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js new file mode 100644 index 0000000..568b2dd --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js @@ -0,0 +1 @@ +module.exports=(()=>{var __webpack_modules__={66835:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},40038:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},42245:e=>{"use strict";e.exports={i8:"5.1.0"}},18492:e=>{"use strict";e.exports={version:"4.2.1"}},82788:e=>{"use strict";e.exports={i8:"4.2.0"}},5537:e=>{"use strict";e.exports=JSON.parse('{"assert":true,"async_hooks":">= 8","buffer_ieee754":"< 0.9.7","buffer":true,"child_process":true,"cluster":true,"console":true,"constants":true,"crypto":true,"_debugger":"< 8","dgram":true,"dns":true,"domain":true,"events":true,"freelist":"< 6","fs":true,"fs/promises":">= 10 && < 10.1","_http_agent":">= 0.11.1","_http_client":">= 0.11.1","_http_common":">= 0.11.1","_http_incoming":">= 0.11.1","_http_outgoing":">= 0.11.1","_http_server":">= 0.11.1","http":true,"http2":">= 8.8","https":true,"inspector":">= 8.0.0","_linklist":"< 8","module":true,"net":true,"node-inspect/lib/_inspect":">= 7.6.0 && < 12","node-inspect/lib/internal/inspect_client":">= 7.6.0 && < 12","node-inspect/lib/internal/inspect_repl":">= 7.6.0 && < 12","os":true,"path":true,"perf_hooks":">= 8.5","process":">= 1","punycode":true,"querystring":true,"readline":true,"repl":true,"smalloc":">= 0.11.5 && < 3","_stream_duplex":">= 0.9.4","_stream_transform":">= 0.9.4","_stream_wrap":">= 1.4.1","_stream_passthrough":">= 0.9.4","_stream_readable":">= 0.9.4","_stream_writable":">= 0.9.4","stream":true,"string_decoder":true,"sys":true,"timers":true,"_tls_common":">= 0.11.13","_tls_legacy":">= 0.11.3 && < 10","_tls_wrap":">= 0.11.3","tls":true,"trace_events":">= 10","tty":true,"url":true,"util":true,"v8/tools/arguments":">= 10 && < 12","v8/tools/codemap":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/consarray":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/csvparser":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/logreader":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/profile_view":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/splaytree":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8":">= 1","vm":true,"worker_threads":">= 11.7","zlib":true}')},26068:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"Rule":{"description":"Filtering rule as regex or string.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"Rules":{"description":"Filtering rules.","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/Rule"}]}},{"$ref":"#/definitions/Rule"}]}},"title":"TerserPluginOptions","type":"object","additionalProperties":false,"properties":{"test":{"description":"Include all modules that pass test assertion.","oneOf":[{"$ref":"#/definitions/Rules"}]},"include":{"description":"Include all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"exclude":{"description":"Exclude all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"cache":{"description":"Enable file caching. Ignored in webpack 5, for webpack 5 please use https://webpack.js.org/configuration/other-options/#cache.","anyOf":[{"type":"boolean"},{"type":"string"}]},"cacheKeys":{"description":"Allows you to override default cache keys. Ignored in webpack 5, for webpack 5 please use https://webpack.js.org/configuration/other-options/#cache.","instanceof":"Function"},"parallel":{"description":"Use multi-process parallel running to improve the build speed.","anyOf":[{"type":"boolean"},{"type":"integer"}]},"sourceMap":{"description":"Enables/Disables generation of source maps.","type":"boolean"},"minify":{"description":"Allows you to override default minify function.","instanceof":"Function"},"terserOptions":{"description":"Options for `terser`.","additionalProperties":true,"type":"object"},"extractComments":{"description":"Whether comments shall be extracted to a separate file.","anyOf":[{"type":"boolean"},{"type":"string"},{"instanceof":"RegExp"},{"instanceof":"Function"},{"additionalProperties":false,"properties":{"condition":{"anyOf":[{"type":"boolean"},{"type":"string"},{"instanceof":"RegExp"},{"instanceof":"Function"}]},"filename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}]},"banner":{"anyOf":[{"type":"boolean"},{"type":"string"},{"instanceof":"Function"}]}},"type":"object"}]}}}')},16705:e=>{"use strict";e.exports=JSON.parse('{"Jw":{"k":"2","K":"5"}}')},47667:e=>{"use strict";e.exports=JSON.parse('{"name":"terser","description":"JavaScript parser, mangler/compressor and beautifier toolkit for ES6+","homepage":"https://terser.org","author":"Mihai Bazon (http://lisperator.net/)","license":"BSD-2-Clause","version":"5.2.1","engines":{"node":">=6.0.0"},"maintainers":["Fábio Santos "],"repository":"https://github.com/terser/terser","main":"dist/bundle.min.js","type":"module","module":"./main.js","exports":{".":{"import":"./main.js","require":"./dist/bundle.min.js"},"./package":{"default":"./package.json"},"./package.json":{"default":"./package.json"}},"types":"tools/terser.d.ts","bin":{"terser":"bin/terser"},"files":["bin","dist","lib","tools","LICENSE","README.md","CHANGELOG.md","PATRONS.md","main.js"],"dependencies":{"commander":"^2.20.0","source-map":"~0.6.1","source-map-support":"~0.5.12"},"devDependencies":{"@ls-lint/ls-lint":"^1.9.2","acorn":"^7.4.0","astring":"^1.4.1","eslint":"^7.0.0","eslump":"^2.0.0","esm":"^3.2.25","mocha":"^8.0.0","pre-commit":"^1.2.2","rimraf":"^3.0.0","rollup":"2.0.6","semver":"^7.1.3"},"scripts":{"test":"node test/compress.js && mocha test/mocha","test:compress":"node test/compress.js","test:mocha":"mocha test/mocha","lint":"eslint lib","lint-fix":"eslint --fix lib","ls-lint":"ls-lint","build":"rimraf dist/bundle* && rollup --config --silent","prepare":"npm run build","postversion":"echo \'Remember to update the changelog!\'"},"keywords":["uglify","terser","uglify-es","uglify-js","minify","minifier","javascript","ecmascript","es5","es6","es7","es8","es2015","es2016","es2017","async","await"],"eslintConfig":{"parserOptions":{"sourceType":"module","ecmaVersion":"2020"},"env":{"node":true,"browser":true,"es2020":true},"globals":{"describe":false,"it":false,"require":false,"global":false,"process":false},"rules":{"brace-style":["error","1tbs",{"allowSingleLine":true}],"quotes":["error","double","avoid-escape"],"no-debugger":"error","no-undef":"error","no-unused-vars":["error",{"varsIgnorePattern":"^_$"}],"no-tabs":"error","semi":["error","always"],"no-extra-semi":"error","no-irregular-whitespace":"error","space-before-blocks":["error","always"]}},"pre-commit":["lint-fix","ls-lint","test"]}')},48574:e=>{"use strict";e.exports={i8:"4.1.0"}},43201:e=>{"use strict";e.exports=JSON.parse('["$&","$\'","$*","$+","$1","$2","$3","$4","$5","$6","$7","$8","$9","$_","$`","$input","@@iterator","ABORT_ERR","ACTIVE","ACTIVE_ATTRIBUTES","ACTIVE_TEXTURE","ACTIVE_UNIFORMS","ADDITION","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","ALLOW_KEYBOARD_INPUT","ALLPASS","ALPHA","ALPHA_BITS","ALT_MASK","ALWAYS","ANY_TYPE","ANY_UNORDERED_NODE_TYPE","ARRAY_BUFFER","ARRAY_BUFFER_BINDING","ATTACHED_SHADERS","ATTRIBUTE_NODE","AT_TARGET","AddSearchProvider","AnalyserNode","AnimationEvent","AnonXMLHttpRequest","ApplicationCache","ApplicationCacheErrorEvent","Array","ArrayBuffer","Attr","Audio","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioListener","AudioNode","AudioParam","AudioProcessingEvent","AudioStreamTrack","AutocompleteErrorEvent","BACK","BAD_BOUNDARYPOINTS_ERR","BANDPASS","BLEND","BLEND_COLOR","BLEND_DST_ALPHA","BLEND_DST_RGB","BLEND_EQUATION","BLEND_EQUATION_ALPHA","BLEND_EQUATION_RGB","BLEND_SRC_ALPHA","BLEND_SRC_RGB","BLUE_BITS","BLUR","BOOL","BOOLEAN_TYPE","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","BOTH","BROWSER_DEFAULT_WEBGL","BUBBLING_PHASE","BUFFER_SIZE","BUFFER_USAGE","BYTE","BYTES_PER_ELEMENT","BarProp","BaseHref","BatteryManager","BeforeLoadEvent","BeforeUnloadEvent","BiquadFilterNode","Blob","BlobEvent","Boolean","CAPTURING_PHASE","CCW","CDATASection","CDATA_SECTION_NODE","CHANGE","CHARSET_RULE","CHECKING","CLAMP_TO_EDGE","CLICK","CLOSED","CLOSING","COLOR_ATTACHMENT0","COLOR_BUFFER_BIT","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","COMMENT_NODE","COMPILE_STATUS","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_TEXTURE_FORMATS","CONNECTING","CONSTANT_ALPHA","CONSTANT_COLOR","CONSTRAINT_ERR","CONTEXT_LOST_WEBGL","CONTROL_MASK","COUNTER_STYLE_RULE","CSS","CSS2Properties","CSSCharsetRule","CSSConditionRule","CSSCounterStyleRule","CSSFontFaceRule","CSSFontFeatureValuesRule","CSSGroupingRule","CSSImportRule","CSSKeyframeRule","CSSKeyframesRule","CSSMediaRule","CSSMozDocumentRule","CSSNameSpaceRule","CSSPageRule","CSSPrimitiveValue","CSSRule","CSSRuleList","CSSStyleDeclaration","CSSStyleRule","CSSStyleSheet","CSSSupportsRule","CSSUnknownRule","CSSValue","CSSValueList","CSSVariablesDeclaration","CSSVariablesRule","CSSViewportRule","CSS_ATTR","CSS_CM","CSS_COUNTER","CSS_CUSTOM","CSS_DEG","CSS_DIMENSION","CSS_EMS","CSS_EXS","CSS_FILTER_BLUR","CSS_FILTER_BRIGHTNESS","CSS_FILTER_CONTRAST","CSS_FILTER_CUSTOM","CSS_FILTER_DROP_SHADOW","CSS_FILTER_GRAYSCALE","CSS_FILTER_HUE_ROTATE","CSS_FILTER_INVERT","CSS_FILTER_OPACITY","CSS_FILTER_REFERENCE","CSS_FILTER_SATURATE","CSS_FILTER_SEPIA","CSS_GRAD","CSS_HZ","CSS_IDENT","CSS_IN","CSS_INHERIT","CSS_KHZ","CSS_MATRIX","CSS_MATRIX3D","CSS_MM","CSS_MS","CSS_NUMBER","CSS_PC","CSS_PERCENTAGE","CSS_PERSPECTIVE","CSS_PRIMITIVE_VALUE","CSS_PT","CSS_PX","CSS_RAD","CSS_RECT","CSS_RGBCOLOR","CSS_ROTATE","CSS_ROTATE3D","CSS_ROTATEX","CSS_ROTATEY","CSS_ROTATEZ","CSS_S","CSS_SCALE","CSS_SCALE3D","CSS_SCALEX","CSS_SCALEY","CSS_SCALEZ","CSS_SKEW","CSS_SKEWX","CSS_SKEWY","CSS_STRING","CSS_TRANSLATE","CSS_TRANSLATE3D","CSS_TRANSLATEX","CSS_TRANSLATEY","CSS_TRANSLATEZ","CSS_UNKNOWN","CSS_URI","CSS_VALUE_LIST","CSS_VH","CSS_VMAX","CSS_VMIN","CSS_VW","CULL_FACE","CULL_FACE_MODE","CURRENT_PROGRAM","CURRENT_VERTEX_ATTRIB","CUSTOM","CW","CanvasGradient","CanvasPattern","CanvasRenderingContext2D","CaretPosition","ChannelMergerNode","ChannelSplitterNode","CharacterData","ClientRect","ClientRectList","Clipboard","ClipboardEvent","CloseEvent","Collator","CommandEvent","Comment","CompositionEvent","Console","Controllers","ConvolverNode","Counter","Crypto","CryptoKey","CustomEvent","DATABASE_ERR","DATA_CLONE_ERR","DATA_ERR","DBLCLICK","DECR","DECR_WRAP","DELETE_STATUS","DEPTH_ATTACHMENT","DEPTH_BITS","DEPTH_BUFFER_BIT","DEPTH_CLEAR_VALUE","DEPTH_COMPONENT","DEPTH_COMPONENT16","DEPTH_FUNC","DEPTH_RANGE","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","DEPTH_TEST","DEPTH_WRITEMASK","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DISABLED","DISPATCH_REQUEST_ERR","DITHER","DOCUMENT_FRAGMENT_NODE","DOCUMENT_NODE","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC","DOCUMENT_POSITION_PRECEDING","DOCUMENT_TYPE_NODE","DOMCursor","DOMError","DOMException","DOMImplementation","DOMImplementationLS","DOMMatrix","DOMMatrixReadOnly","DOMParser","DOMPoint","DOMPointReadOnly","DOMQuad","DOMRect","DOMRectList","DOMRectReadOnly","DOMRequest","DOMSTRING_SIZE_ERR","DOMSettableTokenList","DOMStringList","DOMStringMap","DOMTokenList","DOMTransactionEvent","DOM_DELTA_LINE","DOM_DELTA_PAGE","DOM_DELTA_PIXEL","DOM_INPUT_METHOD_DROP","DOM_INPUT_METHOD_HANDWRITING","DOM_INPUT_METHOD_IME","DOM_INPUT_METHOD_KEYBOARD","DOM_INPUT_METHOD_MULTIMODAL","DOM_INPUT_METHOD_OPTION","DOM_INPUT_METHOD_PASTE","DOM_INPUT_METHOD_SCRIPT","DOM_INPUT_METHOD_UNKNOWN","DOM_INPUT_METHOD_VOICE","DOM_KEY_LOCATION_JOYSTICK","DOM_KEY_LOCATION_LEFT","DOM_KEY_LOCATION_MOBILE","DOM_KEY_LOCATION_NUMPAD","DOM_KEY_LOCATION_RIGHT","DOM_KEY_LOCATION_STANDARD","DOM_VK_0","DOM_VK_1","DOM_VK_2","DOM_VK_3","DOM_VK_4","DOM_VK_5","DOM_VK_6","DOM_VK_7","DOM_VK_8","DOM_VK_9","DOM_VK_A","DOM_VK_ACCEPT","DOM_VK_ADD","DOM_VK_ALT","DOM_VK_ALTGR","DOM_VK_AMPERSAND","DOM_VK_ASTERISK","DOM_VK_AT","DOM_VK_ATTN","DOM_VK_B","DOM_VK_BACKSPACE","DOM_VK_BACK_QUOTE","DOM_VK_BACK_SLASH","DOM_VK_BACK_SPACE","DOM_VK_C","DOM_VK_CANCEL","DOM_VK_CAPS_LOCK","DOM_VK_CIRCUMFLEX","DOM_VK_CLEAR","DOM_VK_CLOSE_BRACKET","DOM_VK_CLOSE_CURLY_BRACKET","DOM_VK_CLOSE_PAREN","DOM_VK_COLON","DOM_VK_COMMA","DOM_VK_CONTEXT_MENU","DOM_VK_CONTROL","DOM_VK_CONVERT","DOM_VK_CRSEL","DOM_VK_CTRL","DOM_VK_D","DOM_VK_DECIMAL","DOM_VK_DELETE","DOM_VK_DIVIDE","DOM_VK_DOLLAR","DOM_VK_DOUBLE_QUOTE","DOM_VK_DOWN","DOM_VK_E","DOM_VK_EISU","DOM_VK_END","DOM_VK_ENTER","DOM_VK_EQUALS","DOM_VK_EREOF","DOM_VK_ESCAPE","DOM_VK_EXCLAMATION","DOM_VK_EXECUTE","DOM_VK_EXSEL","DOM_VK_F","DOM_VK_F1","DOM_VK_F10","DOM_VK_F11","DOM_VK_F12","DOM_VK_F13","DOM_VK_F14","DOM_VK_F15","DOM_VK_F16","DOM_VK_F17","DOM_VK_F18","DOM_VK_F19","DOM_VK_F2","DOM_VK_F20","DOM_VK_F21","DOM_VK_F22","DOM_VK_F23","DOM_VK_F24","DOM_VK_F25","DOM_VK_F26","DOM_VK_F27","DOM_VK_F28","DOM_VK_F29","DOM_VK_F3","DOM_VK_F30","DOM_VK_F31","DOM_VK_F32","DOM_VK_F33","DOM_VK_F34","DOM_VK_F35","DOM_VK_F36","DOM_VK_F4","DOM_VK_F5","DOM_VK_F6","DOM_VK_F7","DOM_VK_F8","DOM_VK_F9","DOM_VK_FINAL","DOM_VK_FRONT","DOM_VK_G","DOM_VK_GREATER_THAN","DOM_VK_H","DOM_VK_HANGUL","DOM_VK_HANJA","DOM_VK_HASH","DOM_VK_HELP","DOM_VK_HK_TOGGLE","DOM_VK_HOME","DOM_VK_HYPHEN_MINUS","DOM_VK_I","DOM_VK_INSERT","DOM_VK_J","DOM_VK_JUNJA","DOM_VK_K","DOM_VK_KANA","DOM_VK_KANJI","DOM_VK_L","DOM_VK_LEFT","DOM_VK_LEFT_TAB","DOM_VK_LESS_THAN","DOM_VK_M","DOM_VK_META","DOM_VK_MODECHANGE","DOM_VK_MULTIPLY","DOM_VK_N","DOM_VK_NONCONVERT","DOM_VK_NUMPAD0","DOM_VK_NUMPAD1","DOM_VK_NUMPAD2","DOM_VK_NUMPAD3","DOM_VK_NUMPAD4","DOM_VK_NUMPAD5","DOM_VK_NUMPAD6","DOM_VK_NUMPAD7","DOM_VK_NUMPAD8","DOM_VK_NUMPAD9","DOM_VK_NUM_LOCK","DOM_VK_O","DOM_VK_OEM_1","DOM_VK_OEM_102","DOM_VK_OEM_2","DOM_VK_OEM_3","DOM_VK_OEM_4","DOM_VK_OEM_5","DOM_VK_OEM_6","DOM_VK_OEM_7","DOM_VK_OEM_8","DOM_VK_OEM_COMMA","DOM_VK_OEM_MINUS","DOM_VK_OEM_PERIOD","DOM_VK_OEM_PLUS","DOM_VK_OPEN_BRACKET","DOM_VK_OPEN_CURLY_BRACKET","DOM_VK_OPEN_PAREN","DOM_VK_P","DOM_VK_PA1","DOM_VK_PAGEDOWN","DOM_VK_PAGEUP","DOM_VK_PAGE_DOWN","DOM_VK_PAGE_UP","DOM_VK_PAUSE","DOM_VK_PERCENT","DOM_VK_PERIOD","DOM_VK_PIPE","DOM_VK_PLAY","DOM_VK_PLUS","DOM_VK_PRINT","DOM_VK_PRINTSCREEN","DOM_VK_PROCESSKEY","DOM_VK_PROPERITES","DOM_VK_Q","DOM_VK_QUESTION_MARK","DOM_VK_QUOTE","DOM_VK_R","DOM_VK_REDO","DOM_VK_RETURN","DOM_VK_RIGHT","DOM_VK_S","DOM_VK_SCROLL_LOCK","DOM_VK_SELECT","DOM_VK_SEMICOLON","DOM_VK_SEPARATOR","DOM_VK_SHIFT","DOM_VK_SLASH","DOM_VK_SLEEP","DOM_VK_SPACE","DOM_VK_SUBTRACT","DOM_VK_T","DOM_VK_TAB","DOM_VK_TILDE","DOM_VK_U","DOM_VK_UNDERSCORE","DOM_VK_UNDO","DOM_VK_UNICODE","DOM_VK_UP","DOM_VK_V","DOM_VK_VOLUME_DOWN","DOM_VK_VOLUME_MUTE","DOM_VK_VOLUME_UP","DOM_VK_W","DOM_VK_WIN","DOM_VK_WINDOW","DOM_VK_WIN_ICO_00","DOM_VK_WIN_ICO_CLEAR","DOM_VK_WIN_ICO_HELP","DOM_VK_WIN_OEM_ATTN","DOM_VK_WIN_OEM_AUTO","DOM_VK_WIN_OEM_BACKTAB","DOM_VK_WIN_OEM_CLEAR","DOM_VK_WIN_OEM_COPY","DOM_VK_WIN_OEM_CUSEL","DOM_VK_WIN_OEM_ENLW","DOM_VK_WIN_OEM_FINISH","DOM_VK_WIN_OEM_FJ_JISHO","DOM_VK_WIN_OEM_FJ_LOYA","DOM_VK_WIN_OEM_FJ_MASSHOU","DOM_VK_WIN_OEM_FJ_ROYA","DOM_VK_WIN_OEM_FJ_TOUROKU","DOM_VK_WIN_OEM_JUMP","DOM_VK_WIN_OEM_PA1","DOM_VK_WIN_OEM_PA2","DOM_VK_WIN_OEM_PA3","DOM_VK_WIN_OEM_RESET","DOM_VK_WIN_OEM_WSCTRL","DOM_VK_X","DOM_VK_XF86XK_ADD_FAVORITE","DOM_VK_XF86XK_APPLICATION_LEFT","DOM_VK_XF86XK_APPLICATION_RIGHT","DOM_VK_XF86XK_AUDIO_CYCLE_TRACK","DOM_VK_XF86XK_AUDIO_FORWARD","DOM_VK_XF86XK_AUDIO_LOWER_VOLUME","DOM_VK_XF86XK_AUDIO_MEDIA","DOM_VK_XF86XK_AUDIO_MUTE","DOM_VK_XF86XK_AUDIO_NEXT","DOM_VK_XF86XK_AUDIO_PAUSE","DOM_VK_XF86XK_AUDIO_PLAY","DOM_VK_XF86XK_AUDIO_PREV","DOM_VK_XF86XK_AUDIO_RAISE_VOLUME","DOM_VK_XF86XK_AUDIO_RANDOM_PLAY","DOM_VK_XF86XK_AUDIO_RECORD","DOM_VK_XF86XK_AUDIO_REPEAT","DOM_VK_XF86XK_AUDIO_REWIND","DOM_VK_XF86XK_AUDIO_STOP","DOM_VK_XF86XK_AWAY","DOM_VK_XF86XK_BACK","DOM_VK_XF86XK_BACK_FORWARD","DOM_VK_XF86XK_BATTERY","DOM_VK_XF86XK_BLUE","DOM_VK_XF86XK_BLUETOOTH","DOM_VK_XF86XK_BOOK","DOM_VK_XF86XK_BRIGHTNESS_ADJUST","DOM_VK_XF86XK_CALCULATOR","DOM_VK_XF86XK_CALENDAR","DOM_VK_XF86XK_CD","DOM_VK_XF86XK_CLOSE","DOM_VK_XF86XK_COMMUNITY","DOM_VK_XF86XK_CONTRAST_ADJUST","DOM_VK_XF86XK_COPY","DOM_VK_XF86XK_CUT","DOM_VK_XF86XK_CYCLE_ANGLE","DOM_VK_XF86XK_DISPLAY","DOM_VK_XF86XK_DOCUMENTS","DOM_VK_XF86XK_DOS","DOM_VK_XF86XK_EJECT","DOM_VK_XF86XK_EXCEL","DOM_VK_XF86XK_EXPLORER","DOM_VK_XF86XK_FAVORITES","DOM_VK_XF86XK_FINANCE","DOM_VK_XF86XK_FORWARD","DOM_VK_XF86XK_FRAME_BACK","DOM_VK_XF86XK_FRAME_FORWARD","DOM_VK_XF86XK_GAME","DOM_VK_XF86XK_GO","DOM_VK_XF86XK_GREEN","DOM_VK_XF86XK_HIBERNATE","DOM_VK_XF86XK_HISTORY","DOM_VK_XF86XK_HOME_PAGE","DOM_VK_XF86XK_HOT_LINKS","DOM_VK_XF86XK_I_TOUCH","DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN","DOM_VK_XF86XK_KBD_BRIGHTNESS_UP","DOM_VK_XF86XK_KBD_LIGHT_ON_OFF","DOM_VK_XF86XK_LAUNCH0","DOM_VK_XF86XK_LAUNCH1","DOM_VK_XF86XK_LAUNCH2","DOM_VK_XF86XK_LAUNCH3","DOM_VK_XF86XK_LAUNCH4","DOM_VK_XF86XK_LAUNCH5","DOM_VK_XF86XK_LAUNCH6","DOM_VK_XF86XK_LAUNCH7","DOM_VK_XF86XK_LAUNCH8","DOM_VK_XF86XK_LAUNCH9","DOM_VK_XF86XK_LAUNCH_A","DOM_VK_XF86XK_LAUNCH_B","DOM_VK_XF86XK_LAUNCH_C","DOM_VK_XF86XK_LAUNCH_D","DOM_VK_XF86XK_LAUNCH_E","DOM_VK_XF86XK_LAUNCH_F","DOM_VK_XF86XK_LIGHT_BULB","DOM_VK_XF86XK_LOG_OFF","DOM_VK_XF86XK_MAIL","DOM_VK_XF86XK_MAIL_FORWARD","DOM_VK_XF86XK_MARKET","DOM_VK_XF86XK_MEETING","DOM_VK_XF86XK_MEMO","DOM_VK_XF86XK_MENU_KB","DOM_VK_XF86XK_MENU_PB","DOM_VK_XF86XK_MESSENGER","DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN","DOM_VK_XF86XK_MON_BRIGHTNESS_UP","DOM_VK_XF86XK_MUSIC","DOM_VK_XF86XK_MY_COMPUTER","DOM_VK_XF86XK_MY_SITES","DOM_VK_XF86XK_NEW","DOM_VK_XF86XK_NEWS","DOM_VK_XF86XK_OFFICE_HOME","DOM_VK_XF86XK_OPEN","DOM_VK_XF86XK_OPEN_URL","DOM_VK_XF86XK_OPTION","DOM_VK_XF86XK_PASTE","DOM_VK_XF86XK_PHONE","DOM_VK_XF86XK_PICTURES","DOM_VK_XF86XK_POWER_DOWN","DOM_VK_XF86XK_POWER_OFF","DOM_VK_XF86XK_RED","DOM_VK_XF86XK_REFRESH","DOM_VK_XF86XK_RELOAD","DOM_VK_XF86XK_REPLY","DOM_VK_XF86XK_ROCKER_DOWN","DOM_VK_XF86XK_ROCKER_ENTER","DOM_VK_XF86XK_ROCKER_UP","DOM_VK_XF86XK_ROTATE_WINDOWS","DOM_VK_XF86XK_ROTATION_KB","DOM_VK_XF86XK_ROTATION_PB","DOM_VK_XF86XK_SAVE","DOM_VK_XF86XK_SCREEN_SAVER","DOM_VK_XF86XK_SCROLL_CLICK","DOM_VK_XF86XK_SCROLL_DOWN","DOM_VK_XF86XK_SCROLL_UP","DOM_VK_XF86XK_SEARCH","DOM_VK_XF86XK_SEND","DOM_VK_XF86XK_SHOP","DOM_VK_XF86XK_SPELL","DOM_VK_XF86XK_SPLIT_SCREEN","DOM_VK_XF86XK_STANDBY","DOM_VK_XF86XK_START","DOM_VK_XF86XK_STOP","DOM_VK_XF86XK_SUBTITLE","DOM_VK_XF86XK_SUPPORT","DOM_VK_XF86XK_SUSPEND","DOM_VK_XF86XK_TASK_PANE","DOM_VK_XF86XK_TERMINAL","DOM_VK_XF86XK_TIME","DOM_VK_XF86XK_TOOLS","DOM_VK_XF86XK_TOP_MENU","DOM_VK_XF86XK_TO_DO_LIST","DOM_VK_XF86XK_TRAVEL","DOM_VK_XF86XK_USER1KB","DOM_VK_XF86XK_USER2KB","DOM_VK_XF86XK_USER_PB","DOM_VK_XF86XK_UWB","DOM_VK_XF86XK_VENDOR_HOME","DOM_VK_XF86XK_VIDEO","DOM_VK_XF86XK_VIEW","DOM_VK_XF86XK_WAKE_UP","DOM_VK_XF86XK_WEB_CAM","DOM_VK_XF86XK_WHEEL_BUTTON","DOM_VK_XF86XK_WLAN","DOM_VK_XF86XK_WORD","DOM_VK_XF86XK_WWW","DOM_VK_XF86XK_XFER","DOM_VK_XF86XK_YELLOW","DOM_VK_XF86XK_ZOOM_IN","DOM_VK_XF86XK_ZOOM_OUT","DOM_VK_Y","DOM_VK_Z","DOM_VK_ZOOM","DONE","DONT_CARE","DOWNLOADING","DRAGDROP","DST_ALPHA","DST_COLOR","DYNAMIC_DRAW","DataChannel","DataTransfer","DataTransferItem","DataTransferItemList","DataView","Date","DateTimeFormat","DelayNode","DesktopNotification","DesktopNotificationCenter","DeviceLightEvent","DeviceMotionEvent","DeviceOrientationEvent","DeviceProximityEvent","DeviceStorage","DeviceStorageChangeEvent","Document","DocumentFragment","DocumentType","DragEvent","DynamicsCompressorNode","E","ELEMENT_ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER_BINDING","ELEMENT_NODE","EMPTY","ENCODING_ERR","ENDED","END_TO_END","END_TO_START","ENTITY_NODE","ENTITY_REFERENCE_NODE","EPSILON","EQUAL","EQUALPOWER","ERROR","EXPONENTIAL_DISTANCE","Element","ElementQuery","Entity","EntityReference","Error","ErrorEvent","EvalError","Event","EventException","EventSource","EventTarget","External","FASTEST","FIDOSDK","FILTER_ACCEPT","FILTER_INTERRUPT","FILTER_REJECT","FILTER_SKIP","FINISHED_STATE","FIRST_ORDERED_NODE_TYPE","FLOAT","FLOAT_MAT2","FLOAT_MAT3","FLOAT_MAT4","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FOCUS","FONT_FACE_RULE","FONT_FEATURE_VALUES_RULE","FRAGMENT_SHADER","FRAGMENT_SHADER_DERIVATIVE_HINT_OES","FRAMEBUFFER","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_BINDING","FRAMEBUFFER_COMPLETE","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_UNSUPPORTED","FRONT","FRONT_AND_BACK","FRONT_FACE","FUNC_ADD","FUNC_REVERSE_SUBTRACT","FUNC_SUBTRACT","Feed","FeedEntry","File","FileError","FileList","FileReader","FindInPage","Float32Array","Float64Array","FocusEvent","FontFace","FormData","Function","GENERATE_MIPMAP_HINT","GEQUAL","GREATER","GREEN_BITS","GainNode","Gamepad","GamepadButton","GamepadEvent","GestureEvent","HAVE_CURRENT_DATA","HAVE_ENOUGH_DATA","HAVE_FUTURE_DATA","HAVE_METADATA","HAVE_NOTHING","HEADERS_RECEIVED","HIDDEN","HIERARCHY_REQUEST_ERR","HIGHPASS","HIGHSHELF","HIGH_FLOAT","HIGH_INT","HORIZONTAL","HORIZONTAL_AXIS","HRTF","HTMLAllCollection","HTMLAnchorElement","HTMLAppletElement","HTMLAreaElement","HTMLAudioElement","HTMLBRElement","HTMLBaseElement","HTMLBaseFontElement","HTMLBlockquoteElement","HTMLBodyElement","HTMLButtonElement","HTMLCanvasElement","HTMLCollection","HTMLCommandElement","HTMLContentElement","HTMLDListElement","HTMLDataElement","HTMLDataListElement","HTMLDetailsElement","HTMLDialogElement","HTMLDirectoryElement","HTMLDivElement","HTMLDocument","HTMLElement","HTMLEmbedElement","HTMLFieldSetElement","HTMLFontElement","HTMLFormControlsCollection","HTMLFormElement","HTMLFrameElement","HTMLFrameSetElement","HTMLHRElement","HTMLHeadElement","HTMLHeadingElement","HTMLHtmlElement","HTMLIFrameElement","HTMLImageElement","HTMLInputElement","HTMLIsIndexElement","HTMLKeygenElement","HTMLLIElement","HTMLLabelElement","HTMLLegendElement","HTMLLinkElement","HTMLMapElement","HTMLMarqueeElement","HTMLMediaElement","HTMLMenuElement","HTMLMenuItemElement","HTMLMetaElement","HTMLMeterElement","HTMLModElement","HTMLOListElement","HTMLObjectElement","HTMLOptGroupElement","HTMLOptionElement","HTMLOptionsCollection","HTMLOutputElement","HTMLParagraphElement","HTMLParamElement","HTMLPictureElement","HTMLPreElement","HTMLProgressElement","HTMLPropertiesCollection","HTMLQuoteElement","HTMLScriptElement","HTMLSelectElement","HTMLShadowElement","HTMLSourceElement","HTMLSpanElement","HTMLStyleElement","HTMLTableCaptionElement","HTMLTableCellElement","HTMLTableColElement","HTMLTableElement","HTMLTableRowElement","HTMLTableSectionElement","HTMLTemplateElement","HTMLTextAreaElement","HTMLTimeElement","HTMLTitleElement","HTMLTrackElement","HTMLUListElement","HTMLUnknownElement","HTMLVideoElement","HashChangeEvent","Headers","History","ICE_CHECKING","ICE_CLOSED","ICE_COMPLETED","ICE_CONNECTED","ICE_FAILED","ICE_GATHERING","ICE_WAITING","IDBCursor","IDBCursorWithValue","IDBDatabase","IDBDatabaseException","IDBFactory","IDBFileHandle","IDBFileRequest","IDBIndex","IDBKeyRange","IDBMutableFile","IDBObjectStore","IDBOpenDBRequest","IDBRequest","IDBTransaction","IDBVersionChangeEvent","IDLE","IMPLEMENTATION_COLOR_READ_FORMAT","IMPLEMENTATION_COLOR_READ_TYPE","IMPORT_RULE","INCR","INCR_WRAP","INDEX_SIZE_ERR","INT","INT_VEC2","INT_VEC3","INT_VEC4","INUSE_ATTRIBUTE_ERR","INVALID_ACCESS_ERR","INVALID_CHARACTER_ERR","INVALID_ENUM","INVALID_EXPRESSION_ERR","INVALID_FRAMEBUFFER_OPERATION","INVALID_MODIFICATION_ERR","INVALID_NODE_TYPE_ERR","INVALID_OPERATION","INVALID_STATE_ERR","INVALID_VALUE","INVERSE_DISTANCE","INVERT","IceCandidate","Image","ImageBitmap","ImageData","Infinity","InputEvent","InputMethodContext","InstallTrigger","Int16Array","Int32Array","Int8Array","Intent","InternalError","Intl","IsSearchProviderInstalled","Iterator","JSON","KEEP","KEYDOWN","KEYFRAMES_RULE","KEYFRAME_RULE","KEYPRESS","KEYUP","KeyEvent","KeyboardEvent","LENGTHADJUST_SPACING","LENGTHADJUST_SPACINGANDGLYPHS","LENGTHADJUST_UNKNOWN","LEQUAL","LESS","LINEAR","LINEAR_DISTANCE","LINEAR_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","LINES","LINE_LOOP","LINE_STRIP","LINE_WIDTH","LINK_STATUS","LIVE","LN10","LN2","LOADED","LOADING","LOG10E","LOG2E","LOWPASS","LOWSHELF","LOW_FLOAT","LOW_INT","LSException","LSParserFilter","LUMINANCE","LUMINANCE_ALPHA","LocalMediaStream","Location","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_RENDERBUFFER_SIZE","MAX_SAFE_INTEGER","MAX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_TEXTURE_SIZE","MAX_VALUE","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","MEDIA_ERR_ABORTED","MEDIA_ERR_DECODE","MEDIA_ERR_ENCRYPTED","MEDIA_ERR_NETWORK","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_KEYERR_CLIENT","MEDIA_KEYERR_DOMAIN","MEDIA_KEYERR_HARDWARECHANGE","MEDIA_KEYERR_OUTPUT","MEDIA_KEYERR_SERVICE","MEDIA_KEYERR_UNKNOWN","MEDIA_RULE","MEDIUM_FLOAT","MEDIUM_INT","META_MASK","MIN_SAFE_INTEGER","MIN_VALUE","MIRRORED_REPEAT","MODE_ASYNCHRONOUS","MODE_SYNCHRONOUS","MODIFICATION","MOUSEDOWN","MOUSEDRAG","MOUSEMOVE","MOUSEOUT","MOUSEOVER","MOUSEUP","MOZ_KEYFRAMES_RULE","MOZ_KEYFRAME_RULE","MOZ_SOURCE_CURSOR","MOZ_SOURCE_ERASER","MOZ_SOURCE_KEYBOARD","MOZ_SOURCE_MOUSE","MOZ_SOURCE_PEN","MOZ_SOURCE_TOUCH","MOZ_SOURCE_UNKNOWN","MSGESTURE_FLAG_BEGIN","MSGESTURE_FLAG_CANCEL","MSGESTURE_FLAG_END","MSGESTURE_FLAG_INERTIA","MSGESTURE_FLAG_NONE","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_PEN","MSPOINTER_TYPE_TOUCH","MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE","MS_ASYNC_CALLBACK_STATUS_CANCEL","MS_ASYNC_CALLBACK_STATUS_CHOOSEANY","MS_ASYNC_CALLBACK_STATUS_ERROR","MS_ASYNC_CALLBACK_STATUS_JOIN","MS_ASYNC_OP_STATUS_CANCELED","MS_ASYNC_OP_STATUS_ERROR","MS_ASYNC_OP_STATUS_SUCCESS","MS_MANIPULATION_STATE_ACTIVE","MS_MANIPULATION_STATE_CANCELLED","MS_MANIPULATION_STATE_COMMITTED","MS_MANIPULATION_STATE_DRAGGING","MS_MANIPULATION_STATE_INERTIA","MS_MANIPULATION_STATE_PRESELECT","MS_MANIPULATION_STATE_SELECTING","MS_MANIPULATION_STATE_STOPPED","MS_MEDIA_ERR_ENCRYPTED","MS_MEDIA_KEYERR_CLIENT","MS_MEDIA_KEYERR_DOMAIN","MS_MEDIA_KEYERR_HARDWARECHANGE","MS_MEDIA_KEYERR_OUTPUT","MS_MEDIA_KEYERR_SERVICE","MS_MEDIA_KEYERR_UNKNOWN","Map","Math","MediaController","MediaDevices","MediaElementAudioSourceNode","MediaEncryptedEvent","MediaError","MediaKeyError","MediaKeyEvent","MediaKeyMessageEvent","MediaKeyNeededEvent","MediaKeySession","MediaKeyStatusMap","MediaKeySystemAccess","MediaKeys","MediaList","MediaQueryList","MediaQueryListEvent","MediaRecorder","MediaSource","MediaStream","MediaStreamAudioDestinationNode","MediaStreamAudioSourceNode","MediaStreamEvent","MediaStreamTrack","MediaStreamTrackEvent","MessageChannel","MessageEvent","MessagePort","Methods","MimeType","MimeTypeArray","MouseEvent","MouseScrollEvent","MozAnimation","MozAnimationDelay","MozAnimationDirection","MozAnimationDuration","MozAnimationFillMode","MozAnimationIterationCount","MozAnimationName","MozAnimationPlayState","MozAnimationTimingFunction","MozAppearance","MozBackfaceVisibility","MozBinding","MozBorderBottomColors","MozBorderEnd","MozBorderEndColor","MozBorderEndStyle","MozBorderEndWidth","MozBorderImage","MozBorderLeftColors","MozBorderRightColors","MozBorderStart","MozBorderStartColor","MozBorderStartStyle","MozBorderStartWidth","MozBorderTopColors","MozBoxAlign","MozBoxDirection","MozBoxFlex","MozBoxOrdinalGroup","MozBoxOrient","MozBoxPack","MozBoxSizing","MozCSSKeyframeRule","MozCSSKeyframesRule","MozColumnCount","MozColumnFill","MozColumnGap","MozColumnRule","MozColumnRuleColor","MozColumnRuleStyle","MozColumnRuleWidth","MozColumnWidth","MozColumns","MozContactChangeEvent","MozFloatEdge","MozFontFeatureSettings","MozFontLanguageOverride","MozForceBrokenImageIcon","MozHyphens","MozImageRegion","MozMarginEnd","MozMarginStart","MozMmsEvent","MozMmsMessage","MozMobileMessageThread","MozOSXFontSmoothing","MozOrient","MozOutlineRadius","MozOutlineRadiusBottomleft","MozOutlineRadiusBottomright","MozOutlineRadiusTopleft","MozOutlineRadiusTopright","MozPaddingEnd","MozPaddingStart","MozPerspective","MozPerspectiveOrigin","MozPowerManager","MozSettingsEvent","MozSmsEvent","MozSmsMessage","MozStackSizing","MozTabSize","MozTextAlignLast","MozTextDecorationColor","MozTextDecorationLine","MozTextDecorationStyle","MozTextSizeAdjust","MozTransform","MozTransformOrigin","MozTransformStyle","MozTransition","MozTransitionDelay","MozTransitionDuration","MozTransitionProperty","MozTransitionTimingFunction","MozUserFocus","MozUserInput","MozUserModify","MozUserSelect","MozWindowDragging","MozWindowShadow","MutationEvent","MutationObserver","MutationRecord","NAMESPACE_ERR","NAMESPACE_RULE","NEAREST","NEAREST_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","NEGATIVE_INFINITY","NETWORK_EMPTY","NETWORK_ERR","NETWORK_IDLE","NETWORK_LOADED","NETWORK_LOADING","NETWORK_NO_SOURCE","NEVER","NEW","NEXT","NEXT_NO_DUPLICATE","NICEST","NODE_AFTER","NODE_BEFORE","NODE_BEFORE_AND_AFTER","NODE_INSIDE","NONE","NON_TRANSIENT_ERR","NOTATION_NODE","NOTCH","NOTEQUAL","NOT_ALLOWED_ERR","NOT_FOUND_ERR","NOT_READABLE_ERR","NOT_SUPPORTED_ERR","NO_DATA_ALLOWED_ERR","NO_ERR","NO_ERROR","NO_MODIFICATION_ALLOWED_ERR","NUMBER_TYPE","NUM_COMPRESSED_TEXTURE_FORMATS","NaN","NamedNodeMap","Navigator","NearbyLinks","NetworkInformation","Node","NodeFilter","NodeIterator","NodeList","Notation","Notification","NotifyPaintEvent","Number","NumberFormat","OBSOLETE","ONE","ONE_MINUS_CONSTANT_ALPHA","ONE_MINUS_CONSTANT_COLOR","ONE_MINUS_DST_ALPHA","ONE_MINUS_DST_COLOR","ONE_MINUS_SRC_ALPHA","ONE_MINUS_SRC_COLOR","OPEN","OPENED","OPENING","ORDERED_NODE_ITERATOR_TYPE","ORDERED_NODE_SNAPSHOT_TYPE","OUT_OF_MEMORY","Object","OfflineAudioCompletionEvent","OfflineAudioContext","OfflineResourceList","Option","OscillatorNode","OverflowEvent","PACK_ALIGNMENT","PAGE_RULE","PARSE_ERR","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_CLOSEPATH","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_UNKNOWN","PATH_EXISTS_ERR","PEAKING","PERMISSION_DENIED","PERSISTENT","PI","PLAYING_STATE","POINTS","POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_FILL","POLYGON_OFFSET_UNITS","POSITION_UNAVAILABLE","POSITIVE_INFINITY","PREV","PREV_NO_DUPLICATE","PROCESSING_INSTRUCTION_NODE","PageChangeEvent","PageTransitionEvent","PaintRequest","PaintRequestList","PannerNode","Path2D","Performance","PerformanceEntry","PerformanceMark","PerformanceMeasure","PerformanceNavigation","PerformanceResourceTiming","PerformanceTiming","PeriodicWave","Plugin","PluginArray","PopStateEvent","PopupBlockedEvent","ProcessingInstruction","ProgressEvent","Promise","PropertyNodeList","Proxy","PushManager","PushSubscription","Q","QUOTA_ERR","QUOTA_EXCEEDED_ERR","QueryInterface","READ_ONLY","READ_ONLY_ERR","READ_WRITE","RED_BITS","REMOVAL","RENDERBUFFER","RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_BINDING","RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_HEIGHT","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_RED_SIZE","RENDERBUFFER_STENCIL_SIZE","RENDERBUFFER_WIDTH","RENDERER","RENDERING_INTENT_ABSOLUTE_COLORIMETRIC","RENDERING_INTENT_AUTO","RENDERING_INTENT_PERCEPTUAL","RENDERING_INTENT_RELATIVE_COLORIMETRIC","RENDERING_INTENT_SATURATION","RENDERING_INTENT_UNKNOWN","REPEAT","REPLACE","RGB","RGB565","RGB5_A1","RGBA","RGBA4","RGBColor","ROTATION_CLOCKWISE","ROTATION_COUNTERCLOCKWISE","RTCDataChannelEvent","RTCIceCandidate","RTCPeerConnectionIceEvent","RTCRtpReceiver","RTCRtpSender","RTCSessionDescription","RTCStatsReport","RadioNodeList","Range","RangeError","RangeException","RecordErrorEvent","Rect","ReferenceError","RegExp","Request","Response","SAMPLER_2D","SAMPLER_CUBE","SAMPLES","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_BUFFERS","SAMPLE_COVERAGE","SAMPLE_COVERAGE_INVERT","SAMPLE_COVERAGE_VALUE","SAWTOOTH","SCHEDULED_STATE","SCISSOR_BOX","SCISSOR_TEST","SCROLL_PAGE_DOWN","SCROLL_PAGE_UP","SDP_ANSWER","SDP_OFFER","SDP_PRANSWER","SECURITY_ERR","SELECT","SERIALIZE_ERR","SEVERITY_ERROR","SEVERITY_FATAL_ERROR","SEVERITY_WARNING","SHADER_COMPILER","SHADER_TYPE","SHADING_LANGUAGE_VERSION","SHIFT_MASK","SHORT","SHOWING","SHOW_ALL","SHOW_ATTRIBUTE","SHOW_CDATA_SECTION","SHOW_COMMENT","SHOW_DOCUMENT","SHOW_DOCUMENT_FRAGMENT","SHOW_DOCUMENT_TYPE","SHOW_ELEMENT","SHOW_ENTITY","SHOW_ENTITY_REFERENCE","SHOW_NOTATION","SHOW_PROCESSING_INSTRUCTION","SHOW_TEXT","SINE","SOUNDFIELD","SQLException","SQRT1_2","SQRT2","SQUARE","SRC_ALPHA","SRC_ALPHA_SATURATE","SRC_COLOR","START_TO_END","START_TO_START","STATIC_DRAW","STENCIL_ATTACHMENT","STENCIL_BACK_FAIL","STENCIL_BACK_FUNC","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_BACK_WRITEMASK","STENCIL_BITS","STENCIL_BUFFER_BIT","STENCIL_CLEAR_VALUE","STENCIL_FAIL","STENCIL_FUNC","STENCIL_INDEX","STENCIL_INDEX8","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_REF","STENCIL_TEST","STENCIL_VALUE_MASK","STENCIL_WRITEMASK","STREAM_DRAW","STRING_TYPE","STYLE_RULE","SUBPIXEL_BITS","SUPPORTS_RULE","SVGAElement","SVGAltGlyphDefElement","SVGAltGlyphElement","SVGAltGlyphItemElement","SVGAngle","SVGAnimateColorElement","SVGAnimateElement","SVGAnimateMotionElement","SVGAnimateTransformElement","SVGAnimatedAngle","SVGAnimatedBoolean","SVGAnimatedEnumeration","SVGAnimatedInteger","SVGAnimatedLength","SVGAnimatedLengthList","SVGAnimatedNumber","SVGAnimatedNumberList","SVGAnimatedPreserveAspectRatio","SVGAnimatedRect","SVGAnimatedString","SVGAnimatedTransformList","SVGAnimationElement","SVGCircleElement","SVGClipPathElement","SVGColor","SVGComponentTransferFunctionElement","SVGCursorElement","SVGDefsElement","SVGDescElement","SVGDiscardElement","SVGDocument","SVGElement","SVGElementInstance","SVGElementInstanceList","SVGEllipseElement","SVGException","SVGFEBlendElement","SVGFEColorMatrixElement","SVGFEComponentTransferElement","SVGFECompositeElement","SVGFEConvolveMatrixElement","SVGFEDiffuseLightingElement","SVGFEDisplacementMapElement","SVGFEDistantLightElement","SVGFEDropShadowElement","SVGFEFloodElement","SVGFEFuncAElement","SVGFEFuncBElement","SVGFEFuncGElement","SVGFEFuncRElement","SVGFEGaussianBlurElement","SVGFEImageElement","SVGFEMergeElement","SVGFEMergeNodeElement","SVGFEMorphologyElement","SVGFEOffsetElement","SVGFEPointLightElement","SVGFESpecularLightingElement","SVGFESpotLightElement","SVGFETileElement","SVGFETurbulenceElement","SVGFilterElement","SVGFontElement","SVGFontFaceElement","SVGFontFaceFormatElement","SVGFontFaceNameElement","SVGFontFaceSrcElement","SVGFontFaceUriElement","SVGForeignObjectElement","SVGGElement","SVGGeometryElement","SVGGlyphElement","SVGGlyphRefElement","SVGGradientElement","SVGGraphicsElement","SVGHKernElement","SVGImageElement","SVGLength","SVGLengthList","SVGLineElement","SVGLinearGradientElement","SVGMPathElement","SVGMarkerElement","SVGMaskElement","SVGMatrix","SVGMetadataElement","SVGMissingGlyphElement","SVGNumber","SVGNumberList","SVGPaint","SVGPathElement","SVGPathSeg","SVGPathSegArcAbs","SVGPathSegArcRel","SVGPathSegClosePath","SVGPathSegCurvetoCubicAbs","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathSegLinetoAbs","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegList","SVGPathSegMovetoAbs","SVGPathSegMovetoRel","SVGPatternElement","SVGPoint","SVGPointList","SVGPolygonElement","SVGPolylineElement","SVGPreserveAspectRatio","SVGRadialGradientElement","SVGRect","SVGRectElement","SVGRenderingIntent","SVGSVGElement","SVGScriptElement","SVGSetElement","SVGStopElement","SVGStringList","SVGStyleElement","SVGSwitchElement","SVGSymbolElement","SVGTRefElement","SVGTSpanElement","SVGTextContentElement","SVGTextElement","SVGTextPathElement","SVGTextPositioningElement","SVGTitleElement","SVGTransform","SVGTransformList","SVGUnitTypes","SVGUseElement","SVGVKernElement","SVGViewElement","SVGViewSpec","SVGZoomAndPan","SVGZoomEvent","SVG_ANGLETYPE_DEG","SVG_ANGLETYPE_GRAD","SVG_ANGLETYPE_RAD","SVG_ANGLETYPE_UNKNOWN","SVG_ANGLETYPE_UNSPECIFIED","SVG_CHANNEL_A","SVG_CHANNEL_B","SVG_CHANNEL_G","SVG_CHANNEL_R","SVG_CHANNEL_UNKNOWN","SVG_COLORTYPE_CURRENTCOLOR","SVG_COLORTYPE_RGBCOLOR","SVG_COLORTYPE_RGBCOLOR_ICCCOLOR","SVG_COLORTYPE_UNKNOWN","SVG_EDGEMODE_DUPLICATE","SVG_EDGEMODE_NONE","SVG_EDGEMODE_UNKNOWN","SVG_EDGEMODE_WRAP","SVG_FEBLEND_MODE_COLOR","SVG_FEBLEND_MODE_COLOR_BURN","SVG_FEBLEND_MODE_COLOR_DODGE","SVG_FEBLEND_MODE_DARKEN","SVG_FEBLEND_MODE_DIFFERENCE","SVG_FEBLEND_MODE_EXCLUSION","SVG_FEBLEND_MODE_HARD_LIGHT","SVG_FEBLEND_MODE_HUE","SVG_FEBLEND_MODE_LIGHTEN","SVG_FEBLEND_MODE_LUMINOSITY","SVG_FEBLEND_MODE_MULTIPLY","SVG_FEBLEND_MODE_NORMAL","SVG_FEBLEND_MODE_OVERLAY","SVG_FEBLEND_MODE_SATURATION","SVG_FEBLEND_MODE_SCREEN","SVG_FEBLEND_MODE_SOFT_LIGHT","SVG_FEBLEND_MODE_UNKNOWN","SVG_FECOLORMATRIX_TYPE_HUEROTATE","SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA","SVG_FECOLORMATRIX_TYPE_MATRIX","SVG_FECOLORMATRIX_TYPE_SATURATE","SVG_FECOLORMATRIX_TYPE_UNKNOWN","SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE","SVG_FECOMPONENTTRANSFER_TYPE_GAMMA","SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY","SVG_FECOMPONENTTRANSFER_TYPE_LINEAR","SVG_FECOMPONENTTRANSFER_TYPE_TABLE","SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_ARITHMETIC","SVG_FECOMPOSITE_OPERATOR_ATOP","SVG_FECOMPOSITE_OPERATOR_IN","SVG_FECOMPOSITE_OPERATOR_OUT","SVG_FECOMPOSITE_OPERATOR_OVER","SVG_FECOMPOSITE_OPERATOR_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_XOR","SVG_INVALID_VALUE_ERR","SVG_LENGTHTYPE_CM","SVG_LENGTHTYPE_EMS","SVG_LENGTHTYPE_EXS","SVG_LENGTHTYPE_IN","SVG_LENGTHTYPE_MM","SVG_LENGTHTYPE_NUMBER","SVG_LENGTHTYPE_PC","SVG_LENGTHTYPE_PERCENTAGE","SVG_LENGTHTYPE_PT","SVG_LENGTHTYPE_PX","SVG_LENGTHTYPE_UNKNOWN","SVG_MARKERUNITS_STROKEWIDTH","SVG_MARKERUNITS_UNKNOWN","SVG_MARKERUNITS_USERSPACEONUSE","SVG_MARKER_ORIENT_ANGLE","SVG_MARKER_ORIENT_AUTO","SVG_MARKER_ORIENT_UNKNOWN","SVG_MASKTYPE_ALPHA","SVG_MASKTYPE_LUMINANCE","SVG_MATRIX_NOT_INVERTABLE","SVG_MEETORSLICE_MEET","SVG_MEETORSLICE_SLICE","SVG_MEETORSLICE_UNKNOWN","SVG_MORPHOLOGY_OPERATOR_DILATE","SVG_MORPHOLOGY_OPERATOR_ERODE","SVG_MORPHOLOGY_OPERATOR_UNKNOWN","SVG_PAINTTYPE_CURRENTCOLOR","SVG_PAINTTYPE_NONE","SVG_PAINTTYPE_RGBCOLOR","SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR","SVG_PAINTTYPE_UNKNOWN","SVG_PAINTTYPE_URI","SVG_PAINTTYPE_URI_CURRENTCOLOR","SVG_PAINTTYPE_URI_NONE","SVG_PAINTTYPE_URI_RGBCOLOR","SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR","SVG_PRESERVEASPECTRATIO_NONE","SVG_PRESERVEASPECTRATIO_UNKNOWN","SVG_PRESERVEASPECTRATIO_XMAXYMAX","SVG_PRESERVEASPECTRATIO_XMAXYMID","SVG_PRESERVEASPECTRATIO_XMAXYMIN","SVG_PRESERVEASPECTRATIO_XMIDYMAX","SVG_PRESERVEASPECTRATIO_XMIDYMID","SVG_PRESERVEASPECTRATIO_XMIDYMIN","SVG_PRESERVEASPECTRATIO_XMINYMAX","SVG_PRESERVEASPECTRATIO_XMINYMID","SVG_PRESERVEASPECTRATIO_XMINYMIN","SVG_SPREADMETHOD_PAD","SVG_SPREADMETHOD_REFLECT","SVG_SPREADMETHOD_REPEAT","SVG_SPREADMETHOD_UNKNOWN","SVG_STITCHTYPE_NOSTITCH","SVG_STITCHTYPE_STITCH","SVG_STITCHTYPE_UNKNOWN","SVG_TRANSFORM_MATRIX","SVG_TRANSFORM_ROTATE","SVG_TRANSFORM_SCALE","SVG_TRANSFORM_SKEWX","SVG_TRANSFORM_SKEWY","SVG_TRANSFORM_TRANSLATE","SVG_TRANSFORM_UNKNOWN","SVG_TURBULENCE_TYPE_FRACTALNOISE","SVG_TURBULENCE_TYPE_TURBULENCE","SVG_TURBULENCE_TYPE_UNKNOWN","SVG_UNIT_TYPE_OBJECTBOUNDINGBOX","SVG_UNIT_TYPE_UNKNOWN","SVG_UNIT_TYPE_USERSPACEONUSE","SVG_WRONG_TYPE_ERR","SVG_ZOOMANDPAN_DISABLE","SVG_ZOOMANDPAN_MAGNIFY","SVG_ZOOMANDPAN_UNKNOWN","SYNTAX_ERR","SavedPages","Screen","ScreenOrientation","Script","ScriptProcessorNode","ScrollAreaEvent","SecurityPolicyViolationEvent","Selection","ServiceWorker","ServiceWorkerContainer","ServiceWorkerRegistration","SessionDescription","Set","ShadowRoot","SharedWorker","SimpleGestureEvent","SpeechSynthesisEvent","SpeechSynthesisUtterance","StopIteration","Storage","StorageEvent","String","StyleSheet","StyleSheetList","SubtleCrypto","Symbol","SyntaxError","TEMPORARY","TEXTPATH_METHODTYPE_ALIGN","TEXTPATH_METHODTYPE_STRETCH","TEXTPATH_METHODTYPE_UNKNOWN","TEXTPATH_SPACINGTYPE_AUTO","TEXTPATH_SPACINGTYPE_EXACT","TEXTPATH_SPACINGTYPE_UNKNOWN","TEXTURE","TEXTURE0","TEXTURE1","TEXTURE10","TEXTURE11","TEXTURE12","TEXTURE13","TEXTURE14","TEXTURE15","TEXTURE16","TEXTURE17","TEXTURE18","TEXTURE19","TEXTURE2","TEXTURE20","TEXTURE21","TEXTURE22","TEXTURE23","TEXTURE24","TEXTURE25","TEXTURE26","TEXTURE27","TEXTURE28","TEXTURE29","TEXTURE3","TEXTURE30","TEXTURE31","TEXTURE4","TEXTURE5","TEXTURE6","TEXTURE7","TEXTURE8","TEXTURE9","TEXTURE_2D","TEXTURE_BINDING_2D","TEXTURE_BINDING_CUBE_MAP","TEXTURE_CUBE_MAP","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Z","TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_MAG_FILTER","TEXTURE_MAX_ANISOTROPY_EXT","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXT_NODE","TIMEOUT","TIMEOUT_ERR","TOO_LARGE_ERR","TRANSACTION_INACTIVE_ERR","TRIANGLE","TRIANGLES","TRIANGLE_FAN","TRIANGLE_STRIP","TYPE_BACK_FORWARD","TYPE_ERR","TYPE_MISMATCH_ERR","TYPE_NAVIGATE","TYPE_RELOAD","TYPE_RESERVED","Text","TextDecoder","TextEncoder","TextEvent","TextMetrics","TextTrack","TextTrackCue","TextTrackCueList","TextTrackList","TimeEvent","TimeRanges","Touch","TouchEvent","TouchList","TrackEvent","TransitionEvent","TreeWalker","TypeError","UIEvent","UNCACHED","UNKNOWN_ERR","UNKNOWN_RULE","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","UNORDERED_NODE_ITERATOR_TYPE","UNORDERED_NODE_SNAPSHOT_TYPE","UNPACK_ALIGNMENT","UNPACK_COLORSPACE_CONVERSION_WEBGL","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNSCHEDULED_STATE","UNSENT","UNSIGNED_BYTE","UNSIGNED_INT","UNSIGNED_SHORT","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","UNSPECIFIED_EVENT_TYPE_ERR","UPDATEREADY","URIError","URL","URLSearchParams","URLUnencoded","URL_MISMATCH_ERR","UTC","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","UserMessageHandler","UserMessageHandlersNamespace","UserProximityEvent","VALIDATE_STATUS","VALIDATION_ERR","VARIABLES_RULE","VENDOR","VERSION","VERSION_CHANGE","VERSION_ERR","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE","VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_SHADER","VERTICAL","VERTICAL_AXIS","VER_ERR","VIEWPORT","VIEWPORT_RULE","VTTCue","VTTRegion","ValidityState","VideoStreamTrack","WEBKIT_FILTER_RULE","WEBKIT_KEYFRAMES_RULE","WEBKIT_KEYFRAME_RULE","WEBKIT_REGION_RULE","WRONG_DOCUMENT_ERR","WaveShaperNode","WeakMap","WeakSet","WebGLActiveInfo","WebGLBuffer","WebGLContextEvent","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLRenderingContext","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArray","WebKitAnimationEvent","WebKitBlobBuilder","WebKitCSSFilterRule","WebKitCSSFilterValue","WebKitCSSKeyframeRule","WebKitCSSKeyframesRule","WebKitCSSMatrix","WebKitCSSRegionRule","WebKitCSSTransformValue","WebKitDataCue","WebKitGamepad","WebKitMediaKeyError","WebKitMediaKeyMessageEvent","WebKitMediaKeySession","WebKitMediaKeys","WebKitMediaSource","WebKitMutationObserver","WebKitNamespace","WebKitPlaybackTargetAvailabilityEvent","WebKitPoint","WebKitShadowRoot","WebKitSourceBuffer","WebKitSourceBufferList","WebKitTransitionEvent","WebSocket","WheelEvent","Window","Worker","XMLDocument","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestException","XMLHttpRequestProgressEvent","XMLHttpRequestUpload","XMLSerializer","XMLStylesheetProcessingInstruction","XPathEvaluator","XPathException","XPathExpression","XPathNSResolver","XPathResult","XSLTProcessor","ZERO","_XD0M_","_YD0M_","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__opera","__proto__","_browserjsran","a","aLink","abbr","abort","abs","absolute","acceleration","accelerationIncludingGravity","accelerator","accept","acceptCharset","acceptNode","accessKey","accessKeyLabel","accuracy","acos","acosh","action","actionURL","active","activeCues","activeElement","activeSourceBuffers","activeSourceCount","activeTexture","add","addBehavior","addCandidate","addColorStop","addCue","addElement","addEventListener","addFilter","addFromString","addFromUri","addIceCandidate","addImport","addListener","addNamed","addPageRule","addPath","addPointer","addRange","addRegion","addRule","addSearchEngine","addSourceBuffer","addStream","addTextTrack","addTrack","addWakeLockListener","addedNodes","additionalName","additiveSymbols","addons","adoptNode","adr","advance","alert","algorithm","align","align-content","align-items","align-self","alignContent","alignItems","alignSelf","alignmentBaseline","alinkColor","all","allowFullscreen","allowedDirections","alpha","alt","altGraphKey","altHtml","altKey","altLeft","altitude","altitudeAccuracy","amplitude","ancestorOrigins","anchor","anchorNode","anchorOffset","anchors","angle","animVal","animate","animatedInstanceRoot","animatedNormalizedPathSegList","animatedPathSegList","animatedPoints","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","animationDelay","animationDirection","animationDuration","animationFillMode","animationIterationCount","animationName","animationPlayState","animationStartTime","animationTimingFunction","animationsPaused","anniversary","app","appCodeName","appMinorVersion","appName","appNotifications","appVersion","append","appendBuffer","appendChild","appendData","appendItem","appendMedium","appendNamed","appendRule","appendStream","appendWindowEnd","appendWindowStart","applets","applicationCache","apply","applyElement","arc","arcTo","archive","areas","arguments","arrayBuffer","asin","asinh","assert","assign","async","atEnd","atan","atan2","atanh","atob","attachEvent","attachShader","attachments","attack","attrChange","attrName","attributeName","attributeNamespace","attributes","audioTracks","autoIncrement","autobuffer","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","availHeight","availLeft","availTop","availWidth","availability","available","aversion","axes","axis","azimuth","b","back","backface-visibility","backfaceVisibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundColor","backgroundImage","backgroundOrigin","backgroundPosition","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","badInput","balance","baseFrequencyX","baseFrequencyY","baseNode","baseOffset","baseURI","baseVal","baselineShift","battery","bday","beginElement","beginElementAt","beginPath","behavior","behaviorCookie","behaviorPart","behaviorUrns","beta","bezierCurveTo","bgColor","bgProperties","bias","big","binaryType","bind","bindAttribLocation","bindBuffer","bindFramebuffer","bindRenderbuffer","bindTexture","blendColor","blendEquation","blendEquationSeparate","blendFunc","blendFuncSeparate","blink","blob","blockDirection","blue","blur","body","bodyUsed","bold","bookmarks","booleanValue","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","borderBottom","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderColorDark","borderColorLight","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRadius","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopLeftRadius","borderTopRightRadius","borderTopStyle","borderTopWidth","borderWidth","bottom","bottomMargin","bound","boundElements","boundingClientRect","boundingHeight","boundingLeft","boundingTop","boundingWidth","bounds","box-decoration-break","box-shadow","box-sizing","boxDecorationBreak","boxShadow","boxSizing","breakAfter","breakBefore","breakInside","browserLanguage","btoa","bubbles","buffer","bufferData","bufferDepth","bufferSize","bufferSubData","buffered","bufferedAmount","buildID","buildNumber","button","buttonID","buttons","byteLength","byteOffset","c","call","caller","canBeFormatted","canBeMounted","canBeShared","canHaveChildren","canHaveHTML","canPlayType","cancel","cancelAnimationFrame","cancelBubble","cancelScheduledValues","cancelable","candidate","canvas","caption","caption-side","captionSide","captureEvents","captureStackTrace","caretPositionFromPoint","caretRangeFromPoint","cast","catch","category","cbrt","cd","ceil","cellIndex","cellPadding","cellSpacing","cells","ch","chOff","chain","challenge","changedTouches","channel","channelCount","channelCountMode","channelInterpretation","char","charAt","charCode","charCodeAt","charIndex","characterSet","charging","chargingTime","charset","checkEnclosure","checkFramebufferStatus","checkIntersection","checkValidity","checked","childElementCount","childNodes","children","chrome","ciphertext","cite","classList","className","classid","clear","clearAttributes","clearColor","clearData","clearDepth","clearImmediate","clearInterval","clearMarks","clearMeasures","clearParameters","clearRect","clearResourceTimings","clearShadow","clearStencil","clearTimeout","clearWatch","click","clickCount","clientHeight","clientInformation","clientLeft","clientRect","clientRects","clientTop","clientWidth","clientX","clientY","clip","clip-path","clip-rule","clipBottom","clipLeft","clipPath","clipPathUnits","clipRight","clipRule","clipTop","clipboardData","clone","cloneContents","cloneNode","cloneRange","close","closePath","closed","closest","clz","clz32","cmp","code","codeBase","codePointAt","codeType","colSpan","collapse","collapseToEnd","collapseToStart","collapsed","collect","colno","color","color-interpolation","color-interpolation-filters","colorDepth","colorInterpolation","colorInterpolationFilters","colorMask","colorType","cols","columnCount","columnFill","columnGap","columnNumber","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","columns","command","commitPreferences","commonAncestorContainer","compact","compareBoundaryPoints","compareDocumentPosition","compareEndPoints","compareNode","comparePoint","compatMode","compatible","compile","compileShader","complete","componentFromPoint","compositionEndOffset","compositionStartOffset","compressedTexImage2D","compressedTexSubImage2D","concat","conditionText","coneInnerAngle","coneOuterAngle","coneOuterGain","confirm","confirmComposition","confirmSiteSpecificTrackingException","confirmWebWideTrackingException","connect","connectEnd","connectStart","connected","connection","connectionSpeed","console","consolidate","constrictionActive","constructor","contactID","contains","containsNode","content","contentDocument","contentEditable","contentOverflow","contentScriptType","contentStyleType","contentType","contentWindow","context","contextMenu","contextmenu","continue","continuous","control","controller","controls","convertToSpecifiedUnits","cookie","cookieEnabled","coords","copyFromChannel","copyTexImage2D","copyTexSubImage2D","copyToChannel","copyWithin","correspondingElement","correspondingUseElement","cos","cosh","count","counter-increment","counter-reset","counterIncrement","counterReset","cpuClass","cpuSleepAllowed","create","createAnalyser","createAnswer","createAttribute","createAttributeNS","createBiquadFilter","createBuffer","createBufferSource","createCDATASection","createCSSStyleSheet","createCaption","createChannelMerger","createChannelSplitter","createComment","createContextualFragment","createControlRange","createConvolver","createDTMFSender","createDataChannel","createDelay","createDelayNode","createDocument","createDocumentFragment","createDocumentType","createDynamicsCompressor","createElement","createElementNS","createEntityReference","createEvent","createEventObject","createExpression","createFramebuffer","createFunction","createGain","createGainNode","createHTMLDocument","createImageBitmap","createImageData","createIndex","createJavaScriptNode","createLinearGradient","createMediaElementSource","createMediaKeys","createMediaStreamDestination","createMediaStreamSource","createMutableFile","createNSResolver","createNodeIterator","createNotification","createObjectStore","createObjectURL","createOffer","createOscillator","createPanner","createPattern","createPeriodicWave","createPopup","createProcessingInstruction","createProgram","createRadialGradient","createRange","createRangeCollection","createRenderbuffer","createSVGAngle","createSVGLength","createSVGMatrix","createSVGNumber","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegClosePath","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPoint","createSVGRect","createSVGTransform","createSVGTransformFromMatrix","createScriptProcessor","createSession","createShader","createShadowRoot","createStereoPanner","createStyleSheet","createTBody","createTFoot","createTHead","createTextNode","createTextRange","createTexture","createTouch","createTouchList","createTreeWalker","createWaveShaper","creationTime","crossOrigin","crypto","csi","cssFloat","cssRules","cssText","cssValueType","ctrlKey","ctrlLeft","cues","cullFace","currentNode","currentPage","currentScale","currentScript","currentSrc","currentState","currentStyle","currentTarget","currentTime","currentTranslate","currentView","cursor","curve","customError","cx","cy","d","data","dataFld","dataFormatAs","dataPageSize","dataSrc","dataTransfer","database","dataset","dateTime","db","debug","debuggerEnabled","declare","decode","decodeAudioData","decodeURI","decodeURIComponent","decrypt","default","defaultCharset","defaultChecked","defaultMuted","defaultPlaybackRate","defaultPrevented","defaultSelected","defaultStatus","defaultURL","defaultValue","defaultView","defaultstatus","defer","defineMagicFunction","defineMagicVariable","defineProperties","defineProperty","delayTime","delete","deleteBuffer","deleteCaption","deleteCell","deleteContents","deleteData","deleteDatabase","deleteFramebuffer","deleteFromDocument","deleteIndex","deleteMedium","deleteObjectStore","deleteProgram","deleteRenderbuffer","deleteRow","deleteRule","deleteShader","deleteTFoot","deleteTHead","deleteTexture","deliverChangeRecords","delivery","deliveryInfo","deliveryStatus","deliveryTimestamp","delta","deltaMode","deltaX","deltaY","deltaZ","depthFunc","depthMask","depthRange","deriveBits","deriveKey","description","deselectAll","designMode","destination","destinationURL","detach","detachEvent","detachShader","detail","detune","devicePixelRatio","deviceXDPI","deviceYDPI","diffuseConstant","digest","dimensions","dir","dirName","direction","dirxml","disable","disableVertexAttribArray","disabled","dischargingTime","disconnect","dispatchEvent","display","distanceModel","divisor","djsapi","djsproxy","doImport","doNotTrack","doScroll","doctype","document","documentElement","documentMode","documentURI","dolphin","dolphinGameCenter","dolphininfo","dolphinmeta","domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","domLoading","domain","domainLookupEnd","domainLookupStart","dominant-baseline","dominantBaseline","done","dopplerFactor","download","dragDrop","draggable","drawArrays","drawArraysInstancedANGLE","drawCustomFocusRing","drawElements","drawElementsInstancedANGLE","drawFocusIfNeeded","drawImage","drawImageFromRect","drawSystemFocusRing","drawingBufferHeight","drawingBufferWidth","dropEffect","droppedVideoFrames","dropzone","dump","duplicate","duration","dvname","dvnum","dx","dy","dynsrc","e","edgeMode","effectAllowed","elapsedTime","elementFromPoint","elements","elevation","ellipse","email","embeds","empty","empty-cells","emptyCells","enable","enableBackground","enableStyleSheetsForSet","enableVertexAttribArray","enabled","enabledPlugin","encode","encodeURI","encodeURIComponent","encoding","encrypt","enctype","end","endContainer","endElement","endElementAt","endOfStream","endOffset","endTime","ended","endsWith","entities","entries","entryType","enumerate","enumerateEditable","error","errorCode","escape","eval","evaluate","event","eventPhase","every","exception","exec","execCommand","execCommandShowHelp","execScript","exitFullscreen","exitPointerLock","exp","expand","expandEntityReferences","expando","expansion","expiryDate","explicitOriginalTarget","expm1","exponent","exponentialRampToValueAtTime","exportKey","extend","extensions","extentNode","extentOffset","external","externalResourcesRequired","extractContents","extractable","f","face","factoryReset","fallback","familyName","farthestViewportElement","fastSeek","fatal","fetch","fetchStart","fftSize","fgColor","fileCreatedDate","fileHandle","fileModifiedDate","fileName","fileSize","fileUpdatedDate","filename","files","fill","fill-opacity","fill-rule","fillOpacity","fillRect","fillRule","fillStyle","fillText","filter","filterResX","filterResY","filterUnits","filters","find","findIndex","findRule","findText","finish","fireEvent","firstChild","firstElementChild","firstPage","fixed","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","flexBasis","flexDirection","flexFlow","flexGrow","flexShrink","flexWrap","flipX","flipY","float","flood-color","flood-opacity","floodColor","floodOpacity","floor","flush","focus","focusNode","focusOffset","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","fontFamily","fontFeatureSettings","fontKerning","fontLanguageOverride","fontSize","fontSizeAdjust","fontSmoothingEnabled","fontStretch","fontStyle","fontSynthesis","fontVariant","fontVariantAlternates","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariantPosition","fontWeight","fontcolor","fonts","fontsize","for","forEach","forceRedraw","form","formAction","formEnctype","formMethod","formNoValidate","formTarget","format","forms","forward","fr","frame","frameBorder","frameElement","frameSpacing","framebufferRenderbuffer","framebufferTexture2D","frames","freeSpace","freeze","frequency","frequencyBinCount","from","fromCharCode","fromCodePoint","fromElement","frontFace","fround","fullScreen","fullscreenElement","fullscreenEnabled","fx","fy","gain","gamepad","gamma","genderIdentity","generateKey","generateMipmap","generateRequest","geolocation","gestureObject","get","getActiveAttrib","getActiveUniform","getAdjacentText","getAll","getAllResponseHeaders","getAsFile","getAsString","getAttachedShaders","getAttribLocation","getAttribute","getAttributeNS","getAttributeNode","getAttributeNodeNS","getAudioTracks","getBBox","getBattery","getBlob","getBookmark","getBoundingClientRect","getBufferParameter","getByteFrequencyData","getByteTimeDomainData","getCSSCanvasContext","getCTM","getCandidateWindowClientRect","getChannelData","getCharNumAtPosition","getClientRect","getClientRects","getCompositionAlternatives","getComputedStyle","getComputedTextLength","getConfiguration","getContext","getContextAttributes","getCounterValue","getCueAsHTML","getCueById","getCurrentPosition","getCurrentTime","getData","getDatabaseNames","getDate","getDay","getDefaultComputedStyle","getDestinationInsertionPoints","getDistributedNodes","getEditable","getElementById","getElementsByClassName","getElementsByName","getElementsByTagName","getElementsByTagNameNS","getEnclosureList","getEndPositionOfChar","getEntries","getEntriesByName","getEntriesByType","getError","getExtension","getExtentOfChar","getFeature","getFile","getFloat32","getFloat64","getFloatFrequencyData","getFloatTimeDomainData","getFloatValue","getFramebufferAttachmentParameter","getFrequencyResponse","getFullYear","getGamepads","getHours","getImageData","getInt16","getInt32","getInt8","getIntersectionList","getItem","getItems","getKey","getLineDash","getLocalStreams","getMarks","getMatchedCSSRules","getMeasures","getMetadata","getMilliseconds","getMinutes","getModifierState","getMonth","getNamedItem","getNamedItemNS","getNotifier","getNumberOfChars","getOverrideHistoryNavigationMode","getOverrideStyle","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","getParameter","getPathSegAtLength","getPointAtLength","getPreference","getPreferenceDefault","getPresentationAttribute","getPreventDefault","getProgramInfoLog","getProgramParameter","getPropertyCSSValue","getPropertyPriority","getPropertyShorthand","getPropertyValue","getPrototypeOf","getRGBColorValue","getRandomValues","getRangeAt","getReceivers","getRectValue","getRegistration","getRemoteStreams","getRenderbufferParameter","getResponseHeader","getRoot","getRotationOfChar","getSVGDocument","getScreenCTM","getSeconds","getSelection","getSenders","getShaderInfoLog","getShaderParameter","getShaderPrecisionFormat","getShaderSource","getSimpleDuration","getSiteIcons","getSources","getSpeculativeParserUrls","getStartPositionOfChar","getStartTime","getStats","getStorageUpdates","getStreamById","getStringValue","getSubStringLength","getSubscription","getSupportedExtensions","getTexParameter","getTime","getTimezoneOffset","getTotalLength","getTrackById","getTracks","getTransformToElement","getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","getUint16","getUint32","getUint8","getUniform","getUniformLocation","getUserMedia","getValues","getVarDate","getVariableValue","getVertexAttrib","getVertexAttribOffset","getVideoPlaybackQuality","getVideoTracks","getWakeLockState","getYear","givenName","global","globalAlpha","globalCompositeOperation","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","go","gradientTransform","gradientUnits","grammars","green","group","groupCollapsed","groupEnd","hardwareConcurrency","has","hasAttribute","hasAttributeNS","hasAttributes","hasChildNodes","hasComposition","hasExtension","hasFeature","hasFocus","hasLayout","hasOwnProperty","hash","head","headers","heading","height","hidden","hide","hideFocus","high","hint","history","honorificPrefix","honorificSuffix","horizontalOverflow","host","hostname","href","hreflang","hspace","html5TagCheckInerface","htmlFor","htmlText","httpEquiv","hwTimestamp","hypot","iccId","iceConnectionState","iceGatheringState","icon","id","identifier","identity","ignoreBOM","ignoreCase","image-orientation","image-rendering","imageOrientation","imageRendering","images","ime-mode","imeMode","implementation","importKey","importNode","importStylesheet","imports","impp","imul","in1","in2","inBandMetadataTrackDispatchType","inRange","includes","incremental","indeterminate","index","indexNames","indexOf","indexedDB","inertiaDestinationX","inertiaDestinationY","info","init","initAnimationEvent","initBeforeLoadEvent","initClipboardEvent","initCloseEvent","initCommandEvent","initCompositionEvent","initCustomEvent","initData","initDeviceMotionEvent","initDeviceOrientationEvent","initDragEvent","initErrorEvent","initEvent","initFocusEvent","initGestureEvent","initHashChangeEvent","initKeyEvent","initKeyboardEvent","initMSManipulationEvent","initMessageEvent","initMouseEvent","initMouseScrollEvent","initMouseWheelEvent","initMutationEvent","initNSMouseEvent","initOverflowEvent","initPageEvent","initPageTransitionEvent","initPointerEvent","initPopStateEvent","initProgressEvent","initScrollAreaEvent","initSimpleGestureEvent","initStorageEvent","initTextEvent","initTimeEvent","initTouchEvent","initTransitionEvent","initUIEvent","initWebKitAnimationEvent","initWebKitTransitionEvent","initWebKitWheelEvent","initWheelEvent","initialTime","initialize","initiatorType","inner","innerHTML","innerHeight","innerText","innerWidth","input","inputBuffer","inputEncoding","inputMethod","insertAdjacentElement","insertAdjacentHTML","insertAdjacentText","insertBefore","insertCell","insertData","insertItemBefore","insertNode","insertRow","insertRule","instanceRoot","intercept","interimResults","internalSubset","intersectsNode","interval","invalidIteratorState","inverse","invertSelf","is","is2D","isAlternate","isArray","isBingCurrentSearchDefault","isBuffer","isCandidateWindowVisible","isChar","isCollapsed","isComposing","isContentEditable","isContentHandlerRegistered","isContextLost","isDefaultNamespace","isDisabled","isEnabled","isEqual","isEqualNode","isExtensible","isFinite","isFramebuffer","isFrozen","isGenerator","isId","isInjected","isInteger","isMap","isMultiLine","isNaN","isOpen","isPointInFill","isPointInPath","isPointInRange","isPointInStroke","isPrefAlternate","isPrimary","isProgram","isPropertyImplicit","isProtocolHandlerRegistered","isPrototypeOf","isRenderbuffer","isSafeInteger","isSameNode","isSealed","isShader","isSupported","isTextEdit","isTexture","isTrusted","isTypeSupported","isView","isolation","italics","item","itemId","itemProp","itemRef","itemScope","itemType","itemValue","iterateNext","iterator","javaEnabled","jobTitle","join","json","justify-content","justifyContent","k1","k2","k3","k4","kernelMatrix","kernelUnitLengthX","kernelUnitLengthY","kerning","key","keyCode","keyFor","keyIdentifier","keyLightEnabled","keyLocation","keyPath","keySystem","keyText","keyUsage","keys","keytype","kind","knee","label","labels","lang","language","languages","largeArcFlag","lastChild","lastElementChild","lastEventId","lastIndex","lastIndexOf","lastMatch","lastMessageSubject","lastMessageType","lastModified","lastModifiedDate","lastPage","lastParen","lastState","lastStyleSheetSet","latitude","layerX","layerY","layoutFlow","layoutGrid","layoutGridChar","layoutGridLine","layoutGridMode","layoutGridType","lbound","left","leftContext","leftMargin","length","lengthAdjust","lengthComputable","letter-spacing","letterSpacing","level","lighting-color","lightingColor","limitingConeAngle","line","line-height","lineAlign","lineBreak","lineCap","lineDashOffset","lineHeight","lineJoin","lineNumber","lineTo","lineWidth","linearRampToValueAtTime","lineno","link","linkColor","linkProgram","links","list","list-style","list-style-image","list-style-position","list-style-type","listStyle","listStyleImage","listStylePosition","listStyleType","listener","load","loadEventEnd","loadEventStart","loadTimes","loaded","localDescription","localName","localStorage","locale","localeCompare","location","locationbar","lock","lockedFile","log","log10","log1p","log2","logicalXDPI","logicalYDPI","longDesc","longitude","lookupNamespaceURI","lookupPrefix","loop","loopEnd","loopStart","looping","low","lower","lowerBound","lowerOpen","lowsrc","m11","m12","m13","m14","m21","m22","m23","m24","m31","m32","m33","m34","m41","m42","m43","m44","manifest","map","mapping","margin","margin-bottom","margin-left","margin-right","margin-top","marginBottom","marginHeight","marginLeft","marginRight","marginTop","marginWidth","mark","marker","marker-end","marker-mid","marker-offset","marker-start","markerEnd","markerHeight","markerMid","markerOffset","markerStart","markerUnits","markerWidth","marks","mask","mask-type","maskContentUnits","maskType","maskUnits","match","matchMedia","matchMedium","matches","matrix","matrixTransform","max","max-height","max-width","maxAlternatives","maxChannelCount","maxConnectionsPerServer","maxDecibels","maxDistance","maxHeight","maxLength","maxTouchPoints","maxValue","maxWidth","measure","measureText","media","mediaDevices","mediaElement","mediaGroup","mediaKeys","mediaText","meetOrSlice","memory","menubar","mergeAttributes","message","messageClass","messageHandlers","metaKey","method","mimeType","mimeTypes","min","min-height","min-width","minDecibels","minHeight","minValue","minWidth","miterLimit","mix-blend-mode","mixBlendMode","mode","modify","mount","move","moveBy","moveEnd","moveFirst","moveFocusDown","moveFocusLeft","moveFocusRight","moveFocusUp","moveNext","moveRow","moveStart","moveTo","moveToBookmark","moveToElementText","moveToPoint","mozAdd","mozAnimationStartTime","mozAnon","mozApps","mozAudioCaptured","mozAudioChannelType","mozAutoplayEnabled","mozCancelAnimationFrame","mozCancelFullScreen","mozCancelRequestAnimationFrame","mozCaptureStream","mozCaptureStreamUntilEnded","mozClearDataAt","mozContact","mozContacts","mozCreateFileHandle","mozCurrentTransform","mozCurrentTransformInverse","mozCursor","mozDash","mozDashOffset","mozDecodedFrames","mozExitPointerLock","mozFillRule","mozFragmentEnd","mozFrameDelay","mozFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozGetAll","mozGetAllKeys","mozGetAsFile","mozGetDataAt","mozGetMetadata","mozGetUserMedia","mozHasAudio","mozHasItem","mozHidden","mozImageSmoothingEnabled","mozIndexedDB","mozInnerScreenX","mozInnerScreenY","mozInputSource","mozIsTextField","mozItem","mozItemCount","mozItems","mozLength","mozLockOrientation","mozMatchesSelector","mozMovementX","mozMovementY","mozOpaque","mozOrientation","mozPaintCount","mozPaintedFrames","mozParsedFrames","mozPay","mozPointerLockElement","mozPresentedFrames","mozPreservesPitch","mozPressure","mozPrintCallback","mozRTCIceCandidate","mozRTCPeerConnection","mozRTCSessionDescription","mozRemove","mozRequestAnimationFrame","mozRequestFullScreen","mozRequestPointerLock","mozSetDataAt","mozSetImageElement","mozSourceNode","mozSrcObject","mozSystem","mozTCPSocket","mozTextStyle","mozTypesAt","mozUnlockOrientation","mozUserCancelled","mozVisibilityState","msAnimation","msAnimationDelay","msAnimationDirection","msAnimationDuration","msAnimationFillMode","msAnimationIterationCount","msAnimationName","msAnimationPlayState","msAnimationStartTime","msAnimationTimingFunction","msBackfaceVisibility","msBlockProgression","msCSSOMElementFloatMetrics","msCaching","msCachingEnabled","msCancelRequestAnimationFrame","msCapsLockWarningOff","msClearImmediate","msClose","msContentZoomChaining","msContentZoomFactor","msContentZoomLimit","msContentZoomLimitMax","msContentZoomLimitMin","msContentZoomSnap","msContentZoomSnapPoints","msContentZoomSnapType","msContentZooming","msConvertURL","msCrypto","msDoNotTrack","msElementsFromPoint","msElementsFromRect","msExitFullscreen","msExtendedCode","msFillRule","msFirstPaint","msFlex","msFlexAlign","msFlexDirection","msFlexFlow","msFlexItemAlign","msFlexLinePack","msFlexNegative","msFlexOrder","msFlexPack","msFlexPositive","msFlexPreferredSize","msFlexWrap","msFlowFrom","msFlowInto","msFontFeatureSettings","msFullscreenElement","msFullscreenEnabled","msGetInputContext","msGetRegionContent","msGetUntransformedBounds","msGraphicsTrustStatus","msGridColumn","msGridColumnAlign","msGridColumnSpan","msGridColumns","msGridRow","msGridRowAlign","msGridRowSpan","msGridRows","msHidden","msHighContrastAdjust","msHyphenateLimitChars","msHyphenateLimitLines","msHyphenateLimitZone","msHyphens","msImageSmoothingEnabled","msImeAlign","msIndexedDB","msInterpolationMode","msIsStaticHTML","msKeySystem","msKeys","msLaunchUri","msLockOrientation","msManipulationViewsEnabled","msMatchMedia","msMatchesSelector","msMaxTouchPoints","msOrientation","msOverflowStyle","msPerspective","msPerspectiveOrigin","msPlayToDisabled","msPlayToPreferredSourceUri","msPlayToPrimary","msPointerEnabled","msRegionOverflow","msReleasePointerCapture","msRequestAnimationFrame","msRequestFullscreen","msSaveBlob","msSaveOrOpenBlob","msScrollChaining","msScrollLimit","msScrollLimitXMax","msScrollLimitXMin","msScrollLimitYMax","msScrollLimitYMin","msScrollRails","msScrollSnapPointsX","msScrollSnapPointsY","msScrollSnapType","msScrollSnapX","msScrollSnapY","msScrollTranslation","msSetImmediate","msSetMediaKeys","msSetPointerCapture","msTextCombineHorizontal","msTextSizeAdjust","msToBlob","msTouchAction","msTouchSelect","msTraceAsyncCallbackCompleted","msTraceAsyncCallbackStarting","msTraceAsyncOperationCompleted","msTraceAsyncOperationStarting","msTransform","msTransformOrigin","msTransformStyle","msTransition","msTransitionDelay","msTransitionDuration","msTransitionProperty","msTransitionTimingFunction","msUnlockOrientation","msUpdateAsyncCallbackRelation","msUserSelect","msVisibilityState","msWrapFlow","msWrapMargin","msWrapThrough","msWriteProfilerMark","msZoom","msZoomTo","mt","multiEntry","multiSelectionObj","multiline","multiple","multiply","multiplySelf","mutableFile","muted","n","name","nameProp","namedItem","namedRecordset","names","namespaceURI","namespaces","naturalHeight","naturalWidth","navigate","navigation","navigationMode","navigationStart","navigator","near","nearestViewportElement","negative","netscape","networkState","newScale","newTranslate","newURL","newValue","newValueSpecifiedUnits","newVersion","newhome","next","nextElementSibling","nextNode","nextPage","nextSibling","nickname","noHref","noResize","noShade","noValidate","noWrap","nodeName","nodeType","nodeValue","normalize","normalizedPathSegList","notationName","notations","note","noteGrainOn","noteOff","noteOn","now","numOctaves","number","numberOfChannels","numberOfInputs","numberOfItems","numberOfOutputs","numberValue","oMatchesSelector","object","object-fit","object-position","objectFit","objectPosition","objectStore","objectStoreNames","observe","of","offscreenBuffering","offset","offsetHeight","offsetLeft","offsetNode","offsetParent","offsetTop","offsetWidth","offsetX","offsetY","ok","oldURL","oldValue","oldVersion","olderShadowRoot","onLine","onabort","onactivate","onactive","onaddstream","onaddtrack","onafterprint","onafterscriptexecute","onafterupdate","onaudioend","onaudioprocess","onaudiostart","onautocomplete","onautocompleteerror","onbeforeactivate","onbeforecopy","onbeforecut","onbeforedeactivate","onbeforeeditfocus","onbeforepaste","onbeforeprint","onbeforescriptexecute","onbeforeunload","onbeforeupdate","onblocked","onblur","onbounce","onboundary","oncached","oncancel","oncandidatewindowhide","oncandidatewindowshow","oncandidatewindowupdate","oncanplay","oncanplaythrough","oncellchange","onchange","onchargingchange","onchargingtimechange","onchecking","onclick","onclose","oncompassneedscalibration","oncomplete","oncontextmenu","oncontrolselect","oncopy","oncuechange","oncut","ondataavailable","ondatachannel","ondatasetchanged","ondatasetcomplete","ondblclick","ondeactivate","ondevicelight","ondevicemotion","ondeviceorientation","ondeviceproximity","ondischargingtimechange","ondisplay","ondownloading","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onencrypted","onend","onended","onenter","onerror","onerrorupdate","onexit","onfilterchange","onfinish","onfocus","onfocusin","onfocusout","onfullscreenchange","onfullscreenerror","ongesturechange","ongestureend","ongesturestart","ongotpointercapture","onhashchange","onhelp","onicecandidate","oniceconnectionstatechange","oninactive","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onlayoutcomplete","onlevelchange","onload","onloadeddata","onloadedmetadata","onloadend","onloadstart","onlosecapture","onlostpointercapture","only","onmark","onmessage","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onmove","onmoveend","onmovestart","onmozfullscreenchange","onmozfullscreenerror","onmozorientationchange","onmozpointerlockchange","onmozpointerlockerror","onmscontentzoom","onmsfullscreenchange","onmsfullscreenerror","onmsgesturechange","onmsgesturedoubletap","onmsgestureend","onmsgesturehold","onmsgesturestart","onmsgesturetap","onmsgotpointercapture","onmsinertiastart","onmslostpointercapture","onmsmanipulationstatechanged","onmsneedkey","onmsorientationchange","onmspointercancel","onmspointerdown","onmspointerenter","onmspointerhover","onmspointerleave","onmspointermove","onmspointerout","onmspointerover","onmspointerup","onmssitemodejumplistitemremoved","onmsthumbnailclick","onnegotiationneeded","onnomatch","onnoupdate","onobsolete","onoffline","ononline","onopen","onorientationchange","onpagechange","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpluginstreamstart","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointerlockchange","onpointerlockerror","onpointermove","onpointerout","onpointerover","onpointerup","onpopstate","onprogress","onpropertychange","onratechange","onreadystatechange","onremovestream","onremovetrack","onreset","onresize","onresizeend","onresizestart","onresourcetimingbufferfull","onresult","onresume","onrowenter","onrowexit","onrowsdelete","onrowsinserted","onscroll","onsearch","onseeked","onseeking","onselect","onselectionchange","onselectstart","onshow","onsignalingstatechange","onsoundend","onsoundstart","onspeechend","onspeechstart","onstalled","onstart","onstatechange","onstop","onstorage","onstoragecommit","onsubmit","onsuccess","onsuspend","ontextinput","ontimeout","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitionend","onunload","onupdateready","onupgradeneeded","onuserproximity","onversionchange","onvoiceschanged","onvolumechange","onwaiting","onwarning","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkitcurrentplaybacktargetiswirelesschanged","onwebkitfullscreenchange","onwebkitfullscreenerror","onwebkitkeyadded","onwebkitkeyerror","onwebkitkeymessage","onwebkitneedkey","onwebkitorientationchange","onwebkitplaybacktargetavailabilitychanged","onwebkitpointerlockchange","onwebkitpointerlockerror","onwebkitresourcetimingbufferfull","onwebkittransitionend","onwheel","onzoom","opacity","open","openCursor","openDatabase","openKeyCursor","opener","opera","operationType","operator","opr","optimum","options","order","orderX","orderY","ordered","org","orient","orientAngle","orientType","orientation","origin","originalTarget","orphans","oscpu","outerHTML","outerHeight","outerText","outerWidth","outline","outline-color","outline-offset","outline-style","outline-width","outlineColor","outlineOffset","outlineStyle","outlineWidth","outputBuffer","overflow","overflow-x","overflow-y","overflowX","overflowY","overrideMimeType","oversample","ownerDocument","ownerElement","ownerNode","ownerRule","ownerSVGElement","owningElement","p1","p2","p3","p4","pad","padding","padding-bottom","padding-left","padding-right","padding-top","paddingBottom","paddingLeft","paddingRight","paddingTop","page","page-break-after","page-break-before","page-break-inside","pageBreakAfter","pageBreakBefore","pageBreakInside","pageCount","pageX","pageXOffset","pageY","pageYOffset","pages","paint-order","paintOrder","paintRequests","paintType","palette","panningModel","parent","parentElement","parentNode","parentRule","parentStyleSheet","parentTextEdit","parentWindow","parse","parseFloat","parseFromString","parseInt","participants","password","pasteHTML","path","pathLength","pathSegList","pathSegType","pathSegTypeAsLetter","pathname","pattern","patternContentUnits","patternMismatch","patternTransform","patternUnits","pause","pauseAnimations","pauseOnExit","paused","pending","performance","permission","persisted","personalbar","perspective","perspective-origin","perspectiveOrigin","phoneticFamilyName","phoneticGivenName","photo","ping","pitch","pixelBottom","pixelDepth","pixelHeight","pixelLeft","pixelRight","pixelStorei","pixelTop","pixelUnitToMillimeterX","pixelUnitToMillimeterY","pixelWidth","placeholder","platform","play","playbackRate","playbackState","playbackTime","played","plugins","pluginspage","pname","pointer-events","pointerBeforeReferenceNode","pointerEnabled","pointerEvents","pointerId","pointerLockElement","pointerType","points","pointsAtX","pointsAtY","pointsAtZ","polygonOffset","pop","popupWindowFeatures","popupWindowName","popupWindowURI","port","port1","port2","ports","posBottom","posHeight","posLeft","posRight","posTop","posWidth","position","positionAlign","postError","postMessage","poster","pow","powerOff","preMultiplySelf","precision","preferredStyleSheetSet","preferredStylesheetSet","prefix","preload","preserveAlpha","preserveAspectRatio","preserveAspectRatioString","pressed","pressure","prevValue","preventDefault","preventExtensions","previousElementSibling","previousNode","previousPage","previousScale","previousSibling","previousTranslate","primaryKey","primitiveType","primitiveUnits","principals","print","privateKey","probablySupportsContext","process","processIceMessage","product","productSub","profile","profileEnd","profiles","prompt","properties","propertyIsEnumerable","propertyName","protocol","protocolLong","prototype","pseudoClass","pseudoElement","publicId","publicKey","published","push","pushNotification","pushState","put","putImageData","quadraticCurveTo","qualifier","queryCommandEnabled","queryCommandIndeterm","queryCommandState","queryCommandSupported","queryCommandText","queryCommandValue","querySelector","querySelectorAll","quote","quotes","r","r1","r2","race","radiogroup","radiusX","radiusY","random","range","rangeCount","rangeMax","rangeMin","rangeOffset","rangeOverflow","rangeParent","rangeUnderflow","rate","ratio","raw","read","readAsArrayBuffer","readAsBinaryString","readAsBlob","readAsDataURL","readAsText","readOnly","readPixels","readReportRequested","readyState","reason","reboot","receiver","receivers","recordNumber","recordset","rect","red","redirectCount","redirectEnd","redirectStart","reduce","reduceRight","reduction","refDistance","refX","refY","referenceNode","referrer","refresh","region","regionAnchorX","regionAnchorY","regionId","regions","register","registerContentHandler","registerElement","registerProtocolHandler","reject","rel","relList","relatedNode","relatedTarget","release","releaseCapture","releaseEvents","releasePointerCapture","releaseShaderCompiler","reliable","reload","remainingSpace","remoteDescription","remove","removeAllRanges","removeAttribute","removeAttributeNS","removeAttributeNode","removeBehavior","removeChild","removeCue","removeEventListener","removeFilter","removeImport","removeItem","removeListener","removeNamedItem","removeNamedItemNS","removeNode","removeParameter","removeProperty","removeRange","removeRegion","removeRule","removeSiteSpecificTrackingException","removeSourceBuffer","removeStream","removeTrack","removeVariable","removeWakeLockListener","removeWebWideTrackingException","removedNodes","renderbufferStorage","renderedBuffer","renderingMode","repeat","replace","replaceAdjacentText","replaceChild","replaceData","replaceId","replaceItem","replaceNode","replaceState","replaceTrack","replaceWholeText","reportValidity","requestAnimationFrame","requestAutocomplete","requestData","requestFullscreen","requestMediaKeySystemAccess","requestPermission","requestPointerLock","requestStart","requestingWindow","required","requiredExtensions","requiredFeatures","reset","resetTransform","resize","resizeBy","resizeTo","resolve","response","responseBody","responseEnd","responseStart","responseText","responseType","responseURL","responseXML","restore","result","resultType","resume","returnValue","rev","reverse","reversed","revocable","revokeObjectURL","rgbColor","right","rightContext","rightMargin","rolloffFactor","root","rootElement","rotate","rotateAxisAngle","rotateAxisAngleSelf","rotateFromVector","rotateFromVectorSelf","rotateSelf","rotation","rotationRate","round","rowIndex","rowSpan","rows","rubyAlign","rubyOverhang","rubyPosition","rules","runtime","runtimeStyle","rx","ry","safari","sampleCoverage","sampleRate","sandbox","save","scale","scale3d","scale3dSelf","scaleNonUniform","scaleNonUniformSelf","scaleSelf","scheme","scissor","scope","scopeName","scoped","screen","screenBrightness","screenEnabled","screenLeft","screenPixelToMillimeterX","screenPixelToMillimeterY","screenTop","screenX","screenY","scripts","scroll","scroll-behavior","scrollAmount","scrollBehavior","scrollBy","scrollByLines","scrollByPages","scrollDelay","scrollHeight","scrollIntoView","scrollIntoViewIfNeeded","scrollLeft","scrollLeftMax","scrollMaxX","scrollMaxY","scrollTo","scrollTop","scrollTopMax","scrollWidth","scrollX","scrollY","scrollbar3dLightColor","scrollbarArrowColor","scrollbarBaseColor","scrollbarDarkShadowColor","scrollbarFaceColor","scrollbarHighlightColor","scrollbarShadowColor","scrollbarTrackColor","scrollbars","scrolling","sdp","sdpMLineIndex","sdpMid","seal","search","searchBox","searchBoxJavaBridge_","searchParams","sectionRowIndex","secureConnectionStart","security","seed","seekable","seeking","select","selectAllChildren","selectNode","selectNodeContents","selectNodes","selectSingleNode","selectSubString","selected","selectedIndex","selectedOptions","selectedStyleSheetSet","selectedStylesheetSet","selection","selectionDirection","selectionEnd","selectionStart","selector","selectorText","self","send","sendAsBinary","sendBeacon","sender","sentTimestamp","separator","serializeToString","serviceWorker","sessionId","sessionStorage","set","setActive","setAlpha","setAttribute","setAttributeNS","setAttributeNode","setAttributeNodeNS","setBaseAndExtent","setBingCurrentSearchDefault","setCapture","setColor","setCompositeOperation","setCurrentTime","setCustomValidity","setData","setDate","setDragImage","setEnd","setEndAfter","setEndBefore","setEndPoint","setFillColor","setFilterRes","setFloat32","setFloat64","setFloatValue","setFullYear","setHours","setImmediate","setInt16","setInt32","setInt8","setInterval","setItem","setLineCap","setLineDash","setLineJoin","setLineWidth","setLocalDescription","setMatrix","setMatrixValue","setMediaKeys","setMilliseconds","setMinutes","setMiterLimit","setMonth","setNamedItem","setNamedItemNS","setNonUserCodeExceptions","setOrientToAngle","setOrientToAuto","setOrientation","setOverrideHistoryNavigationMode","setPaint","setParameter","setPeriodicWave","setPointerCapture","setPosition","setPreference","setProperty","setPrototypeOf","setRGBColor","setRGBColorICCColor","setRadius","setRangeText","setRemoteDescription","setRequestHeader","setResizable","setResourceTimingBufferSize","setRotate","setScale","setSeconds","setSelectionRange","setServerCertificate","setShadow","setSkewX","setSkewY","setStart","setStartAfter","setStartBefore","setStdDeviation","setStringValue","setStrokeColor","setSuggestResult","setTargetAtTime","setTargetValueAtTime","setTime","setTimeout","setTransform","setTranslate","setUTCDate","setUTCFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setUTCMonth","setUTCSeconds","setUint16","setUint32","setUint8","setUri","setValueAtTime","setValueCurveAtTime","setVariable","setVelocity","setVersion","setYear","settingName","settingValue","sex","shaderSource","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","shadowRoot","shape","shape-rendering","shapeRendering","sheet","shift","shiftKey","shiftLeft","show","showHelp","showModal","showModalDialog","showModelessDialog","showNotification","sidebar","sign","signalingState","sin","singleNodeValue","sinh","size","sizeToContent","sizes","skewX","skewXSelf","skewY","skewYSelf","slice","slope","small","smil","smoothingTimeConstant","snapToLines","snapshotItem","snapshotLength","some","sort","source","sourceBuffer","sourceBuffers","sourceIndex","spacing","span","speakAs","speaking","specified","specularConstant","specularExponent","speechSynthesis","speed","speedOfSound","spellcheck","splice","split","splitText","spreadMethod","sqrt","src","srcElement","srcFilter","srcUrn","srcdoc","srclang","srcset","stack","stackTraceLimit","stacktrace","standalone","standby","start","startContainer","startIce","startOffset","startRendering","startTime","startsWith","state","status","statusMessage","statusText","statusbar","stdDeviationX","stdDeviationY","stencilFunc","stencilFuncSeparate","stencilMask","stencilMaskSeparate","stencilOp","stencilOpSeparate","step","stepDown","stepMismatch","stepUp","sticky","stitchTiles","stop","stop-color","stop-opacity","stopColor","stopImmediatePropagation","stopOpacity","stopPropagation","storageArea","storageName","storageStatus","storeSiteSpecificTrackingException","storeWebWideTrackingException","stpVersion","stream","strike","stringValue","stringify","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeRect","strokeStyle","strokeText","strokeWidth","style","styleFloat","styleMedia","styleSheet","styleSheetSets","styleSheets","sub","subarray","subject","submit","subscribe","substr","substring","substringData","subtle","suffix","suffixes","summary","sup","supports","surfaceScale","surroundContents","suspend","suspendRedraw","swapCache","swapNode","sweepFlag","symbols","system","systemCode","systemId","systemLanguage","systemXDPI","systemYDPI","tBodies","tFoot","tHead","tabIndex","table","table-layout","tableLayout","tableValues","tag","tagName","tagUrn","tags","taintEnabled","takeRecords","tan","tanh","target","targetElement","targetTouches","targetX","targetY","tel","terminate","test","texImage2D","texParameterf","texParameteri","texSubImage2D","text","text-align","text-anchor","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","textAlign","textAlignLast","textAnchor","textAutospace","textBaseline","textContent","textDecoration","textDecorationBlink","textDecorationColor","textDecorationLine","textDecorationLineThrough","textDecorationNone","textDecorationOverline","textDecorationStyle","textDecorationUnderline","textIndent","textJustify","textJustifyTrim","textKashida","textKashidaSpace","textLength","textOverflow","textRendering","textShadow","textTracks","textTransform","textUnderlinePosition","then","threadId","threshold","tiltX","tiltY","time","timeEnd","timeStamp","timeout","timestamp","timestampOffset","timing","title","toArray","toBlob","toDataURL","toDateString","toElement","toExponential","toFixed","toFloat32Array","toFloat64Array","toGMTString","toISOString","toJSON","toLocaleDateString","toLocaleFormat","toLocaleLowerCase","toLocaleString","toLocaleTimeString","toLocaleUpperCase","toLowerCase","toMethod","toPrecision","toSdp","toSource","toStaticHTML","toString","toStringTag","toTimeString","toUTCString","toUpperCase","toggle","toggleLongPressEnabled","tooLong","toolbar","top","topMargin","total","totalFrameDelay","totalVideoFrames","touchAction","touches","trace","track","transaction","transactions","transform","transform-origin","transform-style","transformOrigin","transformPoint","transformString","transformStyle","transformToDocument","transformToFragment","transition","transition-delay","transition-duration","transition-property","transition-timing-function","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","translate","translateSelf","translationX","translationY","trim","trimLeft","trimRight","trueSpeed","trunc","truncate","type","typeDetail","typeMismatch","typeMustMatch","types","ubound","undefined","unescape","uneval","unicode-bidi","unicodeBidi","uniform1f","uniform1fv","uniform1i","uniform1iv","uniform2f","uniform2fv","uniform2i","uniform2iv","uniform3f","uniform3fv","uniform3i","uniform3iv","uniform4f","uniform4fv","uniform4i","uniform4iv","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","unique","uniqueID","uniqueNumber","unitType","units","unloadEventEnd","unloadEventStart","unlock","unmount","unobserve","unpause","unpauseAnimations","unreadCount","unregister","unregisterContentHandler","unregisterProtocolHandler","unscopables","unselectable","unshift","unsubscribe","unsuspendRedraw","unsuspendRedrawAll","unwatch","unwrapKey","update","updateCommands","updateIce","updateInterval","updateSettings","updated","updating","upload","upper","upperBound","upperOpen","uri","url","urn","urns","usages","useCurrentView","useMap","useProgram","usedSpace","userAgent","userLanguage","username","v8BreakIterator","vAlign","vLink","valid","validateProgram","validationMessage","validity","value","valueAsDate","valueAsNumber","valueAsString","valueInSpecifiedUnits","valueMissing","valueOf","valueText","valueType","values","vector-effect","vectorEffect","velocityAngular","velocityExpansion","velocityX","velocityY","vendor","vendorSub","verify","version","vertexAttrib1f","vertexAttrib1fv","vertexAttrib2f","vertexAttrib2fv","vertexAttrib3f","vertexAttrib3fv","vertexAttrib4f","vertexAttrib4fv","vertexAttribDivisorANGLE","vertexAttribPointer","vertical","vertical-align","verticalAlign","verticalOverflow","vibrate","videoHeight","videoTracks","videoWidth","view","viewBox","viewBoxString","viewTarget","viewTargetString","viewport","viewportAnchorX","viewportAnchorY","viewportElement","visibility","visibilityState","visible","vlinkColor","voice","volume","vrml","vspace","w","wand","warn","wasClean","watch","watchPosition","webdriver","webkitAddKey","webkitAnimation","webkitAnimationDelay","webkitAnimationDirection","webkitAnimationDuration","webkitAnimationFillMode","webkitAnimationIterationCount","webkitAnimationName","webkitAnimationPlayState","webkitAnimationTimingFunction","webkitAppearance","webkitAudioContext","webkitAudioDecodedByteCount","webkitAudioPannerNode","webkitBackfaceVisibility","webkitBackground","webkitBackgroundAttachment","webkitBackgroundClip","webkitBackgroundColor","webkitBackgroundImage","webkitBackgroundOrigin","webkitBackgroundPosition","webkitBackgroundPositionX","webkitBackgroundPositionY","webkitBackgroundRepeat","webkitBackgroundSize","webkitBackingStorePixelRatio","webkitBorderImage","webkitBorderImageOutset","webkitBorderImageRepeat","webkitBorderImageSlice","webkitBorderImageSource","webkitBorderImageWidth","webkitBoxAlign","webkitBoxDirection","webkitBoxFlex","webkitBoxOrdinalGroup","webkitBoxOrient","webkitBoxPack","webkitBoxSizing","webkitCancelAnimationFrame","webkitCancelFullScreen","webkitCancelKeyRequest","webkitCancelRequestAnimationFrame","webkitClearResourceTimings","webkitClosedCaptionsVisible","webkitConvertPointFromNodeToPage","webkitConvertPointFromPageToNode","webkitCreateShadowRoot","webkitCurrentFullScreenElement","webkitCurrentPlaybackTargetIsWireless","webkitDirectionInvertedFromDevice","webkitDisplayingFullscreen","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen","webkitExitPointerLock","webkitFullScreenKeyboardInputAllowed","webkitFullscreenElement","webkitFullscreenEnabled","webkitGenerateKeyRequest","webkitGetAsEntry","webkitGetDatabaseNames","webkitGetEntries","webkitGetEntriesByName","webkitGetEntriesByType","webkitGetFlowByName","webkitGetGamepads","webkitGetImageDataHD","webkitGetNamedFlows","webkitGetRegionFlowRanges","webkitGetUserMedia","webkitHasClosedCaptions","webkitHidden","webkitIDBCursor","webkitIDBDatabase","webkitIDBDatabaseError","webkitIDBDatabaseException","webkitIDBFactory","webkitIDBIndex","webkitIDBKeyRange","webkitIDBObjectStore","webkitIDBRequest","webkitIDBTransaction","webkitImageSmoothingEnabled","webkitIndexedDB","webkitInitMessageEvent","webkitIsFullScreen","webkitKeys","webkitLineDashOffset","webkitLockOrientation","webkitMatchesSelector","webkitMediaStream","webkitNotifications","webkitOfflineAudioContext","webkitOrientation","webkitPeerConnection00","webkitPersistentStorage","webkitPointerLockElement","webkitPostMessage","webkitPreservesPitch","webkitPutImageDataHD","webkitRTCPeerConnection","webkitRegionOverset","webkitRequestAnimationFrame","webkitRequestFileSystem","webkitRequestFullScreen","webkitRequestFullscreen","webkitRequestPointerLock","webkitResolveLocalFileSystemURL","webkitSetMediaKeys","webkitSetResourceTimingBufferSize","webkitShadowRoot","webkitShowPlaybackTargetPicker","webkitSlice","webkitSpeechGrammar","webkitSpeechGrammarList","webkitSpeechRecognition","webkitSpeechRecognitionError","webkitSpeechRecognitionEvent","webkitStorageInfo","webkitSupportsFullscreen","webkitTemporaryStorage","webkitTextSizeAdjust","webkitTransform","webkitTransformOrigin","webkitTransition","webkitTransitionDelay","webkitTransitionDuration","webkitTransitionProperty","webkitTransitionTimingFunction","webkitURL","webkitUnlockOrientation","webkitUserSelect","webkitVideoDecodedByteCount","webkitVisibilityState","webkitWirelessVideoPlaybackDisabled","webkitdropzone","webstore","weight","whatToShow","wheelDelta","wheelDeltaX","wheelDeltaY","which","white-space","whiteSpace","wholeText","widows","width","will-change","willChange","willValidate","window","withCredentials","word-break","word-spacing","word-wrap","wordBreak","wordSpacing","wordWrap","wrap","wrapKey","write","writeln","writingMode","x","x1","x2","xChannelSelector","xmlEncoding","xmlStandalone","xmlVersion","xmlbase","xmllang","xmlspace","y","y1","y2","yChannelSelector","yandex","z","z-index","zIndex","zoom","zoomAndPan","zoomRectScreen"]')},95890:e=>{"use strict";e.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["ecma","es"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/mrb-publish+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana"},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana"},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["keynote"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana"},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana"},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana"},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana"},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana"},"image/avcs":{"source":"iana"},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shex":{"extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana"},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')},61733:e=>{"use strict";e.exports=JSON.parse('{"i8":"5.0.0-beta.28"}')},76518:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"Amd":{"description":"Set the value of `require.amd` and `define.amd`. Or disable AMD support.","anyOf":[{"description":"You can pass `false` to disable AMD support.","enum":[false]},{"description":"You can pass an object to set the value of `require.amd` and `define.amd`.","type":"object"}]},"AssetModuleFilename":{"description":"The filename of asset modules as relative path inside the `output.path` directory.","anyOf":[{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"Bail":{"description":"Report the first error as a hard error instead of tolerating it.","type":"boolean"},"CacheOptions":{"description":"Cache generated modules and chunks to improve performance for multiple incremental builds.","anyOf":[{"description":"Enable in memory caching.","enum":[true]},{"$ref":"#/definitions/CacheOptionsNormalized"}]},"CacheOptionsNormalized":{"description":"Cache generated modules and chunks to improve performance for multiple incremental builds.","anyOf":[{"description":"Disable caching.","enum":[false]},{"$ref":"#/definitions/MemoryCacheOptions"},{"$ref":"#/definitions/FileCacheOptions"}]},"Charset":{"description":"Add charset attribute for script tag.","type":"boolean"},"ChunkCallbackName":{"description":"The callback function name used by webpack for loading of chunks in WebWorkers.","type":"string"},"ChunkFilename":{"description":"The filename of non-entry chunks as relative path inside the `output.path` directory.","type":"string","absolutePath":false},"ChunkLoadTimeout":{"description":"Number of milliseconds before chunk request expires.","type":"number"},"CompareBeforeEmit":{"description":"Check if to be emitted file already exists and have the same content before writing to output filesystem.","type":"boolean"},"Context":{"description":"The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.","type":"string","absolutePath":true},"CrossOriginLoading":{"description":"This option enables cross-origin loading of chunks.","enum":[false,"anonymous","use-credentials"]},"Dependencies":{"description":"References to other configurations to depend on.","type":"array","items":{"description":"References to another configuration to depend on.","type":"string"}},"DevServer":{"description":"Options for the webpack-dev-server.","type":"object"},"DevTool":{"description":"A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).","anyOf":[{"enum":[false,"eval"]},{"type":"string","pattern":"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"}]},"DevtoolFallbackModuleFilenameTemplate":{"description":"Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"DevtoolModuleFilenameTemplate":{"description":"Filename template string of function for the sources array in a generated SourceMap.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"DevtoolNamespace":{"description":"Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It\'s useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.","type":"string"},"EcmaVersion":{"description":"The maximum EcmaScript version of the webpack generated code (doesn\'t include input source code from modules).","anyOf":[{"enum":[2009]},{"type":"number","minimum":5,"maximum":11},{"type":"number","minimum":2015,"maximum":2020}]},"EnabledLibraryTypes":{"description":"List of library types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/LibraryType"}},"Entry":{"description":"The entry point(s) of the compilation.","anyOf":[{"$ref":"#/definitions/EntryDynamic"},{"$ref":"#/definitions/EntryStatic"}]},"EntryDescription":{"description":"An object with entry point description.","type":"object","additionalProperties":false,"properties":{"dependOn":{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","anyOf":[{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","type":"array","items":{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1}]},"filename":{"$ref":"#/definitions/Filename"},"import":{"$ref":"#/definitions/EntryItem"},"library":{"$ref":"#/definitions/LibraryOptions"},"runtime":{"$ref":"#/definitions/EntryRuntime"}},"required":["import"]},"EntryDescriptionNormalized":{"description":"An object with entry point description.","type":"object","additionalProperties":false,"properties":{"dependOn":{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","type":"array","items":{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},"filename":{"$ref":"#/definitions/Filename"},"import":{"description":"Module(s) that are loaded upon startup. The last one is exported.","type":"array","items":{"description":"Module that is loaded upon startup. Only the last one is exported.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},"library":{"$ref":"#/definitions/LibraryOptions"},"runtime":{"$ref":"#/definitions/EntryRuntime"}}},"EntryDynamic":{"description":"A Function returning an entry object, an entry string, an entry array or a promise to these things.","instanceof":"Function","tsType":"(() => EntryStatic | Promise)"},"EntryDynamicNormalized":{"description":"A Function returning a Promise resolving to a normalized entry.","instanceof":"Function","tsType":"(() => Promise)"},"EntryItem":{"description":"Module(s) that are loaded upon startup.","anyOf":[{"description":"All modules are loaded upon startup. The last one is exported.","type":"array","items":{"description":"A module that is loaded upon startup. Only the last one is exported.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},{"description":"The string is resolved to a module which is loaded upon startup.","type":"string","minLength":1}]},"EntryNormalized":{"description":"The entry point(s) of the compilation.","anyOf":[{"$ref":"#/definitions/EntryDynamicNormalized"},{"$ref":"#/definitions/EntryStaticNormalized"}]},"EntryObject":{"description":"Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.","type":"object","additionalProperties":{"description":"An entry point with name.","anyOf":[{"$ref":"#/definitions/EntryItem"},{"$ref":"#/definitions/EntryDescription"}]}},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","type":"string","minLength":1},"EntryStatic":{"description":"A static entry description.","anyOf":[{"$ref":"#/definitions/EntryObject"},{"$ref":"#/definitions/EntryUnnamed"}]},"EntryStaticNormalized":{"description":"Multiple entry bundles are created. The key is the entry name. The value is an entry description object.","type":"object","additionalProperties":{"description":"An object with entry point description.","oneOf":[{"$ref":"#/definitions/EntryDescriptionNormalized"}]}},"EntryUnnamed":{"description":"An entry point without name.","oneOf":[{"$ref":"#/definitions/EntryItem"}]},"Experiments":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","additionalProperties":false,"properties":{"asset":{"description":"Allow module type \'asset\' to generate assets.","type":"boolean"},"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"mjs":{"description":"Support .mjs files as way to define strict ESM file (node.js).","type":"boolean"},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"ExternalItem":{"description":"Specify dependency that shouldn\'t be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.","anyOf":[{"description":"Every matched dependency becomes external.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An exact matched dependency becomes external. The same string is used as external dependency.","type":"string"},{"description":"If an dependency matches exactly a property of the object, the property value is used as dependency.","type":"object","additionalProperties":{"description":"The dependency used for the external.","anyOf":[{"type":"array","items":{"description":"A part of the target of the external.","type":"string","minLength":1}},{"description":"`true`: The dependency name is used as target of the external.","type":"boolean"},{"description":"The target of the external.","type":"string"},{"type":"object"}]}},{"description":"The function is called on each dependency (`function(context, request, callback(err, result))`).","instanceof":"Function","tsType":"((data: { context: string, request: string }, callback: (err?: Error, result?: string) => void) => void)"}]},"Externals":{"description":"Specify dependencies that shouldn\'t be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.","anyOf":[{"type":"array","items":{"$ref":"#/definitions/ExternalItem"}},{"$ref":"#/definitions/ExternalItem"}]},"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system","promise","import","script"]},"FileCacheOptions":{"description":"Options object for persistent file-based caching.","type":"object","additionalProperties":false,"properties":{"buildDependencies":{"description":"Dependencies the build depends on (in multiple categories, default categories: \'defaultWebpack\').","type":"object","additionalProperties":{"description":"List of dependencies the build depends on.","type":"array","items":{"description":"Request to a dependency (resolved as directory relative to the context directory).","type":"string","minLength":1}}},"cacheDirectory":{"description":"Base directory for the cache (defaults to node_modules/.cache/webpack).","type":"string","absolutePath":true},"cacheLocation":{"description":"Locations for the cache (defaults to cacheDirectory / name).","type":"string","absolutePath":true},"hashAlgorithm":{"description":"Algorithm used for generation the hash (see node.js crypto package).","type":"string"},"idleTimeout":{"description":"Time in ms after which idle period the cache storing should happen (only for store: \'pack\' or \'idle\').","type":"number","minimum":0},"idleTimeoutForInitialStore":{"description":"Time in ms after which idle period the initial cache storing should happen (only for store: \'pack\' or \'idle\').","type":"number","minimum":0},"immutablePaths":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","type":"array","items":{"description":"A path to a immutable directory (usually a package manager cache directory).","type":"string","absolutePath":true,"minLength":1}},"managedPaths":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","type":"array","items":{"description":"A path to a managed directory (usually a node_modules directory).","type":"string","absolutePath":true,"minLength":1}},"name":{"description":"Name for the cache. Different names will lead to different coexisting caches.","type":"string"},"store":{"description":"When to store data to the filesystem. (pack: Store data when compiler is idle in a single file).","enum":["pack"]},"type":{"description":"Filesystem caching.","enum":["filesystem"]},"version":{"description":"Version of the cache data. Different versions won\'t allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn\'t allow to reuse cache. This will invalidate the cache.","type":"string"}},"required":["type"]},"Filename":{"description":"Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"FilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((value: string) => boolean)"}]},"FilterTypes":{"description":"Filtering values.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/FilterItemTypes"}]}},{"$ref":"#/definitions/FilterItemTypes"}]},"GlobalObject":{"description":"An expression which is used to address the global object/scope in runtime code.","type":"string","minLength":1},"HashDigest":{"description":"Digest type used for the hash.","type":"string"},"HashDigestLength":{"description":"Number of chars which are used for the hash.","type":"number","minimum":1},"HashFunction":{"description":"Algorithm used for generation the hash (see node.js crypto package).","anyOf":[{"type":"string","minLength":1},{"instanceof":"Function","tsType":"typeof import(\'../lib/util/Hash\')"}]},"HashSalt":{"description":"Any string which is added to the hash to salt it.","type":"string","minLength":1},"HotUpdateChunkFilename":{"description":"The filename of the Hot Update Chunks. They are inside the output.path directory.","type":"string","absolutePath":false},"HotUpdateFunction":{"description":"The JSONP function used by webpack for async loading of hot update chunks.","type":"string"},"HotUpdateMainFilename":{"description":"The filename of the Hot Update Main File. It is inside the `output.path` directory.","type":"string","absolutePath":false},"Iife":{"description":"Wrap javascript code into IIFE\'s to avoid leaking into global scope.","type":"boolean"},"ImportFunctionName":{"description":"The name of the native import() function (can be exchanged for a polyfill).","type":"string"},"InfrastructureLogging":{"description":"Options for infrastructure level logging.","type":"object","additionalProperties":false,"properties":{"debug":{"description":"Enable debug logging for specific loggers.","anyOf":[{"description":"Enable/Disable debug logging for all loggers.","type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"level":{"description":"Log level.","enum":["none","error","warn","info","log","verbose"]}}},"JsonpFunction":{"description":"The JSONP function used by webpack for async loading of chunks.","type":"string"},"Library":{"description":"Make the output files a library, exporting the exports of the entry point.","anyOf":[{"$ref":"#/definitions/LibraryName"},{"$ref":"#/definitions/LibraryOptions"}]},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1}},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library.","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]},"Loader":{"description":"Custom values available in the loader context.","type":"object"},"MemoryCacheOptions":{"description":"Options object for in-memory caching.","type":"object","additionalProperties":false,"properties":{"immutablePaths":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","type":"array","items":{"description":"A path to a immutable directory (usually a package manager cache directory).","type":"string","absolutePath":true,"minLength":1}},"managedPaths":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","type":"array","items":{"description":"A path to a managed directory (usually a node_modules directory).","type":"string","absolutePath":true,"minLength":1}},"type":{"description":"In memory caching.","enum":["memory"]}},"required":["type"]},"Mode":{"description":"Enable production optimizations or development hints.","enum":["development","production","none"]},"ModuleOptions":{"description":"Options affecting the normal modules (`NormalModuleFactory`).","type":"object","additionalProperties":false,"properties":{"defaultRules":{"description":"An array of rules applied by default for modules.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"exprContextCritical":{"description":"Enable warnings for full dynamic dependencies.","type":"boolean"},"exprContextRecursive":{"description":"Enable recursive directory lookup for full dynamic dependencies.","type":"boolean"},"exprContextRegExp":{"description":"Sets the default regular expression for full dynamic dependencies.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"exprContextRequest":{"description":"Set the default request for full dynamic dependencies.","type":"string"},"noParse":{"description":"Don\'t parse files matching. It\'s matched against the full resolved request.","anyOf":[{"type":"array","items":{"description":"Don\'t parse files matching. It\'s matched against the full resolved request.","anyOf":[{"description":"A regular expression, when matched the module is not parsed.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An absolute path, when the module starts with this path it is not parsed.","type":"string","absolutePath":true},{"instanceof":"Function","tsType":"Function"}]},"minItems":1},{"description":"A regular expression, when matched the module is not parsed.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An absolute path, when the module starts with this path it is not parsed.","type":"string","absolutePath":true},{"instanceof":"Function","tsType":"Function"}]},"rules":{"description":"An array of rules applied for modules.","oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"strictExportPresence":{"description":"Emit errors instead of warnings when imported names don\'t exist in imported module.","type":"boolean"},"strictThisContextOnImports":{"description":"Handle the this context correctly according to the spec for namespace objects.","type":"boolean"},"unknownContextCritical":{"description":"Enable warnings when using the require function in a not statically analyse-able way.","type":"boolean"},"unknownContextRecursive":{"description":"Enable recursive directory lookup when using the require function in a not statically analyse-able way.","type":"boolean"},"unknownContextRegExp":{"description":"Sets the regular expression when using the require function in a not statically analyse-able way.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"unknownContextRequest":{"description":"Sets the request when using the require function in a not statically analyse-able way.","type":"string"},"unsafeCache":{"description":"Cache the resolving of module requests.","anyOf":[{"type":"boolean"},{"instanceof":"Function","tsType":"Function"}]},"wrappedContextCritical":{"description":"Enable warnings for partial dynamic dependencies.","type":"boolean"},"wrappedContextRecursive":{"description":"Enable recursive directory lookup for partial dynamic dependencies.","type":"boolean"},"wrappedContextRegExp":{"description":"Set the inner regular expression for partial dynamic dependencies.","instanceof":"RegExp","tsType":"RegExp"}}},"Name":{"description":"Name of the configuration. Used when loading multiple configurations.","type":"string"},"Node":{"description":"Include polyfills or mocks for various node stuff.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/NodeOptions"}]},"NodeOptions":{"description":"Options object for node compatibility features.","type":"object","additionalProperties":false,"properties":{"__dirname":{"description":"Include a polyfill for the \'__dirname\' variable.","enum":[false,true,"mock"]},"__filename":{"description":"Include a polyfill for the \'__filename\' variable.","enum":[false,true,"mock"]},"global":{"description":"Include a polyfill for the \'global\' variable.","type":"boolean"}}},"Optimization":{"description":"Enables/Disables integrated optimizations.","type":"object","additionalProperties":false,"properties":{"checkWasmTypes":{"description":"Check for incompatible wasm types when importing/exporting from/to ESM.","type":"boolean"},"chunkIds":{"description":"Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).","enum":["natural","named","deterministic","size","total-size",false]},"concatenateModules":{"description":"Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.","type":"boolean"},"emitOnErrors":{"description":"Emit assets even when errors occur. Critical errors are emitted into the generated code and will cause errors at runtime.","type":"boolean"},"flagIncludedChunks":{"description":"Also flag chunks as loaded which contain a subset of the modules.","type":"boolean"},"innerGraph":{"description":"Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.","type":"boolean"},"mangleExports":{"description":"Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports, true/\\"deterministic\\": generate short deterministic names optimized for caching, \\"size\\": generate the shortest possible names).","anyOf":[{"enum":["size","deterministic"]},{"type":"boolean"}]},"mangleWasmImports":{"description":"Reduce size of WASM by changing imports to shorter strings.","type":"boolean"},"mergeDuplicateChunks":{"description":"Merge chunks which contain the same modules.","type":"boolean"},"minimize":{"description":"Enable minimizing the output. Uses optimization.minimizer.","type":"boolean"},"minimizer":{"description":"Minimizer(s) to use for minimizing the output.","type":"array","cli":{"exclude":true},"items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"enum":["..."]},{"$ref":"#/definitions/WebpackPluginInstance"},{"$ref":"#/definitions/WebpackPluginFunction"}]}},"moduleIds":{"description":"Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).","enum":["natural","named","hashed","deterministic","size",false]},"noEmitOnErrors":{"description":"Avoid emitting assets when errors occur (deprecated: use \'emitOnErrors\' instead).","type":"boolean","cli":{"exclude":true}},"nodeEnv":{"description":"Set process.env.NODE_ENV to a specific value.","anyOf":[{"enum":[false]},{"type":"string"}]},"portableRecords":{"description":"Generate records with relative paths to be able to move the context folder.","type":"boolean"},"providedExports":{"description":"Figure out which exports are provided by modules to generate more efficient code.","type":"boolean"},"realContentHash":{"description":"Use real [contenthash] based on final content of the assets.","type":"boolean"},"removeAvailableModules":{"description":"Removes modules from chunks when these modules are already included in all parents.","type":"boolean"},"removeEmptyChunks":{"description":"Remove chunks which are empty.","type":"boolean"},"runtimeChunk":{"$ref":"#/definitions/OptimizationRuntimeChunk"},"sideEffects":{"description":"Skip over modules which are flagged to contain no side effects when exports are not used.","type":"boolean"},"splitChunks":{"description":"Optimize duplication and caching by splitting chunks by shared modules and cache group.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/OptimizationSplitChunksOptions"}]},"usedExports":{"description":"Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code (true: analyse used exports for each runtime, \\"global\\": analyse exports globally for all runtimes combined).","anyOf":[{"enum":["global"]},{"type":"boolean"}]}}},"OptimizationRuntimeChunk":{"description":"Create an additional chunk which contains only the webpack runtime and chunk hash maps.","anyOf":[{"enum":["single","multiple"]},{"type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"name":{"description":"The name or name factory for the runtime chunks.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]}}}]},"OptimizationRuntimeChunkNormalized":{"description":"Create an additional chunk which contains only the webpack runtime and chunk hash maps.","anyOf":[{"enum":[false]},{"type":"object","additionalProperties":false,"properties":{"name":{"description":"The name factory for the runtime chunks.","instanceof":"Function","tsType":"Function"}}}]},"OptimizationSplitChunksCacheGroup":{"description":"Options object for describing behavior of a cache group selecting modules that should be cached together.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"chunks":{"description":"Select chunks for determining cache group content (defaults to \\"initial\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"enforce":{"description":"Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group.","type":"boolean"},"enforceSizeThreshold":{"description":"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"filename":{"description":"Sets the template for the filename for created chunks.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"idHint":{"description":"Sets the hint for chunk id.","type":"string"},"maxAsyncRequests":{"description":"Maximum number of requests which are accepted for on-demand loading.","type":"number","minimum":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialRequests":{"description":"Maximum number of initial chunks which are accepted for an entry point.","type":"number","minimum":1},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minChunks":{"description":"Minimum number of times a module has to be duplicated until it\'s considered for splitting.","type":"number","minimum":1},"minRemainingSize":{"description":"Minimal size for the chunks the stay after moving the modules to a new chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"name":{"description":"Give chunks for this cache group a name (chunks with equal name are merged).","anyOf":[{"enum":[false]},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"priority":{"description":"Priority of this cache group.","type":"number"},"reuseExistingChunk":{"description":"Try to reuse existing chunk (with name) when it has matching modules.","type":"boolean"},"test":{"description":"Assign modules to a cache group by module name.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"type":{"description":"Assign modules to a cache group by module type.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"usedExports":{"description":"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.","type":"boolean"}}},"OptimizationSplitChunksGetCacheGroups":{"description":"A function returning cache groups.","instanceof":"Function","tsType":"((module: import(\'../lib/Module\')) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void)"},"OptimizationSplitChunksOptions":{"description":"Options object for splitting chunks into smaller chunks.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"cacheGroups":{"description":"Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: \'default\', \'defaultVendors\').","type":"object","additionalProperties":{"description":"Configuration for a cache group.","anyOf":[{"enum":[false]},{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"},{"$ref":"#/definitions/OptimizationSplitChunksCacheGroup"}]},"not":{"description":"Using the cacheGroup shorthand syntax with a cache group named \'test\' is a potential config error\\nDid you intent to define a cache group with a test instead?\\ncacheGroups: {\\n : {\\n test: ...\\n }\\n}.","type":"object","additionalProperties":true,"properties":{"test":{"description":"The test property is a cache group name, but using the test option of the cache group could be intended instead.","anyOf":[{"instanceof":"Function","tsType":"Function"},{"type":"string"},{"instanceof":"RegExp","tsType":"RegExp"}]}},"required":["test"]}},"chunks":{"description":"Select chunks for determining shared modules (defaults to \\"async\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"enforceSizeThreshold":{"description":"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"fallbackCacheGroup":{"description":"Options for modules not selected by any other cache group.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]}}},"filename":{"description":"Sets the template for the filename for created chunks.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"hidePathInfo":{"description":"Prevents exposing path info when creating names for parts splitted by maxSize.","type":"boolean"},"maxAsyncRequests":{"description":"Maximum number of requests which are accepted for on-demand loading.","type":"number","minimum":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialRequests":{"description":"Maximum number of initial chunks which are accepted for an entry point.","type":"number","minimum":1},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minChunks":{"description":"Minimum number of times a module has to be duplicated until it\'s considered for splitting.","type":"number","minimum":1},"minRemainingSize":{"description":"Minimal size for the chunks the stay after moving the modules to a new chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"name":{"description":"Give chunks created a name (chunks with equal name are merged).","anyOf":[{"enum":[false]},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"usedExports":{"description":"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.","type":"boolean"}}},"OptimizationSplitChunksSizes":{"description":"Size description for limits.","anyOf":[{"description":"Size of the javascript part of the chunk.","type":"number","minimum":0},{"description":"Specify size limits per size type.","type":"object","additionalProperties":{"description":"Size of the part of the chunk with the type of the key.","type":"number"}}]},"Output":{"description":"Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.","type":"object","additionalProperties":false,"properties":{"assetModuleFilename":{"$ref":"#/definitions/AssetModuleFilename"},"auxiliaryComment":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/AuxiliaryComment"}]},"charset":{"$ref":"#/definitions/Charset"},"chunkCallbackName":{"$ref":"#/definitions/ChunkCallbackName"},"chunkFilename":{"$ref":"#/definitions/ChunkFilename"},"chunkLoadTimeout":{"$ref":"#/definitions/ChunkLoadTimeout"},"compareBeforeEmit":{"$ref":"#/definitions/CompareBeforeEmit"},"crossOriginLoading":{"$ref":"#/definitions/CrossOriginLoading"},"devtoolFallbackModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolFallbackModuleFilenameTemplate"},"devtoolModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolModuleFilenameTemplate"},"devtoolNamespace":{"$ref":"#/definitions/DevtoolNamespace"},"ecmaVersion":{"$ref":"#/definitions/EcmaVersion"},"enabledLibraryTypes":{"$ref":"#/definitions/EnabledLibraryTypes"},"filename":{"$ref":"#/definitions/Filename"},"globalObject":{"$ref":"#/definitions/GlobalObject"},"hashDigest":{"$ref":"#/definitions/HashDigest"},"hashDigestLength":{"$ref":"#/definitions/HashDigestLength"},"hashFunction":{"$ref":"#/definitions/HashFunction"},"hashSalt":{"$ref":"#/definitions/HashSalt"},"hotUpdateChunkFilename":{"$ref":"#/definitions/HotUpdateChunkFilename"},"hotUpdateFunction":{"$ref":"#/definitions/HotUpdateFunction"},"hotUpdateMainFilename":{"$ref":"#/definitions/HotUpdateMainFilename"},"iife":{"$ref":"#/definitions/Iife"},"importFunctionName":{"$ref":"#/definitions/ImportFunctionName"},"jsonpFunction":{"$ref":"#/definitions/JsonpFunction"},"library":{"$ref":"#/definitions/Library"},"libraryExport":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/LibraryExport"}]},"libraryTarget":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/LibraryType"}]},"module":{"$ref":"#/definitions/OutputModule"},"path":{"$ref":"#/definitions/Path"},"pathinfo":{"$ref":"#/definitions/Pathinfo"},"publicPath":{"$ref":"#/definitions/PublicPath"},"scriptType":{"$ref":"#/definitions/ScriptType"},"sourceMapFilename":{"$ref":"#/definitions/SourceMapFilename"},"sourcePrefix":{"$ref":"#/definitions/SourcePrefix"},"strictModuleExceptionHandling":{"$ref":"#/definitions/StrictModuleExceptionHandling"},"umdNamedDefine":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/UmdNamedDefine"}]},"uniqueName":{"$ref":"#/definitions/UniqueName"},"webassemblyModuleFilename":{"$ref":"#/definitions/WebassemblyModuleFilename"}}},"OutputModule":{"description":"Output javascript files as module source type.","type":"boolean"},"OutputNormalized":{"description":"Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.","type":"object","additionalProperties":false,"properties":{"assetModuleFilename":{"$ref":"#/definitions/AssetModuleFilename"},"charset":{"$ref":"#/definitions/Charset"},"chunkCallbackName":{"$ref":"#/definitions/ChunkCallbackName"},"chunkFilename":{"$ref":"#/definitions/ChunkFilename"},"chunkLoadTimeout":{"$ref":"#/definitions/ChunkLoadTimeout"},"compareBeforeEmit":{"$ref":"#/definitions/CompareBeforeEmit"},"crossOriginLoading":{"$ref":"#/definitions/CrossOriginLoading"},"devtoolFallbackModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolFallbackModuleFilenameTemplate"},"devtoolModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolModuleFilenameTemplate"},"devtoolNamespace":{"$ref":"#/definitions/DevtoolNamespace"},"ecmaVersion":{"$ref":"#/definitions/EcmaVersion"},"enabledLibraryTypes":{"$ref":"#/definitions/EnabledLibraryTypes"},"filename":{"$ref":"#/definitions/Filename"},"globalObject":{"$ref":"#/definitions/GlobalObject"},"hashDigest":{"$ref":"#/definitions/HashDigest"},"hashDigestLength":{"$ref":"#/definitions/HashDigestLength"},"hashFunction":{"$ref":"#/definitions/HashFunction"},"hashSalt":{"$ref":"#/definitions/HashSalt"},"hotUpdateChunkFilename":{"$ref":"#/definitions/HotUpdateChunkFilename"},"hotUpdateFunction":{"$ref":"#/definitions/HotUpdateFunction"},"hotUpdateMainFilename":{"$ref":"#/definitions/HotUpdateMainFilename"},"iife":{"$ref":"#/definitions/Iife"},"importFunctionName":{"$ref":"#/definitions/ImportFunctionName"},"jsonpFunction":{"$ref":"#/definitions/JsonpFunction"},"library":{"$ref":"#/definitions/LibraryOptions"},"module":{"$ref":"#/definitions/OutputModule"},"path":{"$ref":"#/definitions/Path"},"pathinfo":{"$ref":"#/definitions/Pathinfo"},"publicPath":{"$ref":"#/definitions/PublicPath"},"scriptType":{"$ref":"#/definitions/ScriptType"},"sourceMapFilename":{"$ref":"#/definitions/SourceMapFilename"},"sourcePrefix":{"$ref":"#/definitions/SourcePrefix"},"strictModuleExceptionHandling":{"$ref":"#/definitions/StrictModuleExceptionHandling"},"uniqueName":{"$ref":"#/definitions/UniqueName"},"webassemblyModuleFilename":{"$ref":"#/definitions/WebassemblyModuleFilename"}}},"Parallelism":{"description":"The number of parallel processed modules in the compilation.","type":"number","minimum":1},"Path":{"description":"The output directory as **absolute path** (required).","type":"string","absolutePath":true},"Pathinfo":{"description":"Include comments with information about the modules.","type":"boolean"},"Performance":{"description":"Configuration for web performance recommendations.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/PerformanceOptions"}]},"PerformanceOptions":{"description":"Configuration object for web performance recommendations.","type":"object","additionalProperties":false,"properties":{"assetFilter":{"description":"Filter function to select assets that are checked.","instanceof":"Function","tsType":"Function"},"hints":{"description":"Sets the format of the hints: warnings, errors or nothing at all.","enum":[false,"warning","error"]},"maxAssetSize":{"description":"File size limit (in bytes) when exceeded, that webpack will provide performance hints.","type":"number"},"maxEntrypointSize":{"description":"Total size of an entry point (in bytes).","type":"number"}}},"Plugins":{"description":"Add additional plugins to the compiler.","type":"array","items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"$ref":"#/definitions/WebpackPluginInstance"},{"$ref":"#/definitions/WebpackPluginFunction"}]}},"Profile":{"description":"Capture timing information for each module.","type":"boolean"},"PublicPath":{"description":"The `publicPath` specifies the public URL address of the output files when referenced in a browser.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"RecordsInputPath":{"description":"Store compiler state to a json file.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"RecordsOutputPath":{"description":"Load compiler state from a json file.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"RecordsPath":{"description":"Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"Resolve":{"description":"Options for the resolver.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"ResolveLoader":{"description":"Options for the resolver when resolving loaders.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"ResolveOptions":{"description":"Options object for resolving requests.","type":"object","additionalProperties":false,"properties":{"alias":{"description":"Redirect module requests.","anyOf":[{"type":"array","items":{"description":"Alias configuration.","type":"object","additionalProperties":false,"properties":{"alias":{"description":"New request.","anyOf":[{"description":"Multiple alternative requests.","type":"array","items":{"description":"One choice of request.","type":"string","minLength":1}},{"description":"Ignore request (replace with empty module).","enum":[false]},{"description":"New request.","type":"string","minLength":1}]},"name":{"description":"Request to be redirected.","type":"string"},"onlyModule":{"description":"Redirect only exact matching request.","type":"boolean"}},"required":["alias","name"]}},{"type":"object","additionalProperties":{"description":"New request.","anyOf":[{"description":"Multiple alternative requests.","type":"array","items":{"description":"One choice of request.","type":"string","minLength":1}},{"description":"Ignore request (replace with empty module).","enum":[false]},{"description":"New request.","type":"string","minLength":1}]}}]},"aliasFields":{"description":"Fields in the description file (usually package.json) which are used to redirect requests inside the module.","type":"array","items":{"description":"Field in the description file (usually package.json) which are used to redirect requests inside the module.","anyOf":[{"type":"array","items":{"description":"Part of the field path in the description file (usually package.json) which are used to redirect requests inside the module.","type":"string","minLength":1}},{"type":"string","minLength":1}]}},"byDependency":{"description":"Extra resolve options per dependency category. Typical categories are \\"commonjs\\", \\"amd\\", \\"esm\\".","type":"object","additionalProperties":{"description":"Options object for resolving requests.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]}},"cache":{"description":"Enable caching of successfully resolved requests (cache entries are revalidated).","type":"boolean"},"cachePredicate":{"description":"Predicate function to decide which requests should be cached.","instanceof":"Function","tsType":"((request: import(\'enhanced-resolve\').ResolveRequest) => boolean)"},"cacheWithContext":{"description":"Include the context information in the cache identifier when caching.","type":"boolean"},"conditionNames":{"description":"Condition names for exports field entry point.","type":"array","items":{"description":"Condition names for exports field entry point.","type":"string"}},"descriptionFiles":{"description":"Filenames used to find a description file (like a package.json).","type":"array","items":{"description":"Filename used to find a description file (like a package.json).","type":"string","minLength":1}},"enforceExtension":{"description":"Enforce the resolver to use one of the extensions from the extensions option (User must specify requests without extension).","type":"boolean"},"exportsFields":{"description":"Field names from the description file (usually package.json) which are used to provide entry points of a package.","type":"array","items":{"description":"Field name from the description file (usually package.json) which is used to provide entry points of a package.","type":"string"}},"extensions":{"description":"Extensions added to the request when trying to find the file.","type":"array","items":{"description":"Extension added to the request when trying to find the file.","type":"string","minLength":1}},"fileSystem":{"description":"Filesystem for the resolver.","tsType":"(import(\'../lib/util/fs\').InputFileSystem)"},"fullySpecified":{"description":"Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn\'t affect requests from mainFields, aliasFields or aliases).","type":"boolean"},"mainFields":{"description":"Field names from the description file (package.json) which are used to find the default entry point.","type":"array","items":{"description":"Field name from the description file (package.json) which are used to find the default entry point.","anyOf":[{"type":"array","items":{"description":"Part of the field path from the description file (package.json) which are used to find the default entry point.","type":"string","minLength":1}},{"type":"string","minLength":1}]}},"mainFiles":{"description":"Filenames used to find the default entry point if there is no description file or main field.","type":"array","items":{"description":"Filename used to find the default entry point if there is no description file or main field.","type":"string","minLength":1}},"modules":{"description":"Folder names or directory paths where to find modules.","type":"array","items":{"description":"Folder name or directory path where to find modules.","type":"string","minLength":1}},"plugins":{"description":"Plugins for the resolver.","type":"array","cli":{"exclude":true},"items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"enum":["..."]},{"$ref":"#/definitions/ResolvePluginInstance"}]}},"resolver":{"description":"Custom resolver.","tsType":"(import(\'enhanced-resolve\').Resolver)"},"restrictions":{"description":"A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.","type":"array","items":{"description":"Resolve restriction. Resolve result must fulfill this restriction.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":true,"minLength":1}]}},"roots":{"description":"A list of directories in which requests that are server-relative URLs (starting with \'/\') are resolved. On non-windows system these requests are tried to resolve as absolute path first.","type":"array","items":{"description":"Directory in which requests that are server-relative URLs (starting with \'/\') are resolved.","type":"string"}},"symlinks":{"description":"Enable resolving symlinks to the original location.","type":"boolean"},"unsafeCache":{"description":"Enable caching of successfully resolved requests (cache entries are not revalidated).","anyOf":[{"type":"boolean"},{"type":"object","additionalProperties":true}]},"useSyncFileSystemCalls":{"description":"Use synchronous filesystem calls for the resolver.","type":"boolean"}}},"ResolvePluginInstance":{"description":"Plugin instance.","type":"object","additionalProperties":true,"properties":{"apply":{"description":"The run point of the plugin, required method.","instanceof":"Function","tsType":"(resolver: import(\'enhanced-resolve/lib/Resolver\')) => void"}},"required":["apply"]},"RuleSetCondition":{"description":"A condition matcher.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1},{"type":"object","additionalProperties":false,"properties":{"and":{"description":"Logical AND.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]},"not":{"description":"Logical NOT.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]},"or":{"description":"Logical OR.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]}}},{"instanceof":"Function","tsType":"((value: string) => boolean)"},{"$ref":"#/definitions/RuleSetConditions"}]},"RuleSetConditionAbsolute":{"description":"A condition matcher matching an absolute path.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":true},{"type":"object","additionalProperties":false,"properties":{"and":{"description":"Logical AND.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"not":{"description":"Logical NOT.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"or":{"description":"Logical OR.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]}}},{"instanceof":"Function","tsType":"((value: string) => boolean)"},{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"RuleSetConditionOrConditions":{"description":"One or multiple rule conditions.","cli":{"helper":true},"anyOf":[{"$ref":"#/definitions/RuleSetCondition"},{"$ref":"#/definitions/RuleSetConditions"}]},"RuleSetConditionOrConditionsAbsolute":{"description":"One or multiple rule conditions matching an absolute path.","cli":{"helper":true},"anyOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"},{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"RuleSetConditions":{"description":"A list of rule conditions.","type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/RuleSetCondition"}]}},"RuleSetConditionsAbsolute":{"description":"A list of rule conditions matching an absolute path.","type":"array","items":{"description":"A rule condition matching an absolute path.","oneOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"}]}},"RuleSetLoader":{"description":"A loader request.","type":"string","minLength":1},"RuleSetLoaderOptions":{"description":"Options passed to a loader.","anyOf":[{"type":"string"},{"type":"object"}]},"RuleSetRule":{"description":"A rule description with conditions and effects for modules.","type":"object","additionalProperties":false,"properties":{"compiler":{"description":"Match the child compiler name.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"descriptionData":{"description":"Match values of properties in the description file (usually package.json).","type":"object","additionalProperties":{"$ref":"#/definitions/RuleSetConditionOrConditions"}},"enforce":{"description":"Enforce this rule as pre or post step.","enum":["pre","post"]},"exclude":{"description":"Shortcut for resource.exclude.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"generator":{"description":"The options for the module generator.","type":"object"},"include":{"description":"Shortcut for resource.include.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"issuer":{"description":"Match the issuer of the module (The module pointing to this module).","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"loader":{"description":"Shortcut for use.loader.","oneOf":[{"$ref":"#/definitions/RuleSetLoader"}]},"mimetype":{"description":"Match module mimetype when load from Data URI.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"oneOf":{"description":"Only execute the first matching rule in this array.","type":"array","items":{"description":"A rule.","oneOf":[{"$ref":"#/definitions/RuleSetRule"}]}},"options":{"description":"Shortcut for use.options.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetLoaderOptions"}]},"parser":{"description":"Options for parsing.","type":"object","additionalProperties":true},"realResource":{"description":"Match the real resource path of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"resolve":{"description":"Options for the resolver.","type":"object","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"resource":{"description":"Match the resource path of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"resourceFragment":{"description":"Match the resource fragment of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"resourceQuery":{"description":"Match the resource query of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"rules":{"description":"Match and execute these rules when this rule is matched.","type":"array","items":{"description":"A rule.","oneOf":[{"$ref":"#/definitions/RuleSetRule"}]}},"sideEffects":{"description":"Flags a module as with or without side effects.","type":"boolean"},"test":{"description":"Shortcut for resource.test.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"type":{"description":"Module type to use for the module.","type":"string"},"use":{"description":"Modifiers applied to the module when rule is matched.","oneOf":[{"$ref":"#/definitions/RuleSetUse"}]}}},"RuleSetRules":{"description":"A list of rules.","type":"array","items":{"description":"A rule.","anyOf":[{"cli":{"exclude":true},"enum":["..."]},{"$ref":"#/definitions/RuleSetRule"}]}},"RuleSetUse":{"description":"A list of descriptions of loaders applied.","anyOf":[{"type":"array","items":{"description":"An use item.","oneOf":[{"$ref":"#/definitions/RuleSetUseItem"}]}},{"instanceof":"Function","tsType":"((data: { resource: string, realResource: string, resourceQuery: string, issuer: string, compiler: string }) => RuleSetUseItem[])"},{"$ref":"#/definitions/RuleSetUseItem"}]},"RuleSetUseItem":{"description":"A description of an applied loader.","anyOf":[{"type":"object","additionalProperties":false,"properties":{"ident":{"description":"Unique loader options identifier.","type":"string"},"loader":{"description":"Loader name.","oneOf":[{"$ref":"#/definitions/RuleSetLoader"}]},"options":{"description":"Loader options.","oneOf":[{"$ref":"#/definitions/RuleSetLoaderOptions"}]}}},{"instanceof":"Function","tsType":"((data: object) => RuleSetUseItem|RuleSetUseItem[])"},{"$ref":"#/definitions/RuleSetLoader"}]},"ScriptType":{"description":"This option enables loading async chunks via a custom script type, such as script type=\\"module\\".","enum":[false,"text/javascript","module"]},"SourceMapFilename":{"description":"The filename of the SourceMaps for the JavaScript files. They are inside the `output.path` directory.","type":"string","absolutePath":false},"SourcePrefix":{"description":"Prefixes every line of the source in the bundle with this string.","type":"string"},"StatsOptions":{"description":"Stats options object.","type":"object","additionalProperties":false,"properties":{"all":{"description":"Fallback value for stats options when an option is not defined (has precedence over local webpack defaults).","type":"boolean"},"assets":{"description":"Add assets information.","type":"boolean"},"assetsSort":{"description":"Sort the assets by that field.","type":"string"},"builtAt":{"description":"Add built at time information.","type":"boolean"},"cached":{"description":"Add information about cached (not built) modules.","type":"boolean"},"cachedAssets":{"description":"Show cached assets (setting this to `false` only shows emitted files).","type":"boolean"},"children":{"description":"Add children information.","type":"boolean"},"chunkGroups":{"description":"Display all chunk groups with the corresponding bundles.","type":"boolean"},"chunkModules":{"description":"Add built modules information to chunk information.","type":"boolean"},"chunkOrigins":{"description":"Add the origins of chunks and chunk merging info.","type":"boolean"},"chunkRelations":{"description":"Add information about parent, children and sibling chunks to chunk information.","type":"boolean"},"chunkRootModules":{"description":"Add root modules information to chunk information.","type":"boolean"},"chunks":{"description":"Add chunk information.","type":"boolean"},"chunksSort":{"description":"Sort the chunks by that field.","type":"string"},"colors":{"description":"Enables/Disables colorful output.","anyOf":[{"description":"Enables/Disables colorful output.","type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"bold":{"description":"Custom color for bold text.","type":"string"},"cyan":{"description":"Custom color for cyan text.","type":"string"},"green":{"description":"Custom color for green text.","type":"string"},"magenta":{"description":"Custom color for magenta text.","type":"string"},"red":{"description":"Custom color for red text.","type":"string"},"yellow":{"description":"Custom color for yellow text.","type":"string"}}}]},"context":{"description":"Context directory for request shortening.","type":"string","absolutePath":true},"depth":{"description":"Add module depth in module graph.","type":"boolean"},"entrypoints":{"description":"Display the entry points with the corresponding bundles.","type":"boolean"},"env":{"description":"Add --env information.","type":"boolean"},"errorDetails":{"description":"Add details to errors (like resolving log).","type":"boolean"},"errorStack":{"description":"Add internal stack trace to errors.","type":"boolean"},"errors":{"description":"Add errors.","type":"boolean"},"exclude":{"description":"Please use excludeModules instead.","cli":{"exclude":true},"anyOf":[{"type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"excludeAssets":{"description":"Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.","oneOf":[{"$ref":"#/definitions/FilterTypes"}]},"excludeModules":{"description":"Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"hash":{"description":"Add the hash of the compilation.","type":"boolean"},"ids":{"description":"Add ids.","type":"boolean"},"logging":{"description":"Add logging output.","anyOf":[{"description":"Specify log level of logging output.","enum":["none","error","warn","info","log","verbose"]},{"description":"Enable/disable logging output (`true`: shows normal logging output, loglevel: log).","type":"boolean"}]},"loggingDebug":{"description":"Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.","anyOf":[{"description":"Enable/Disable debug logging for all loggers.","type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"loggingTrace":{"description":"Add stack traces to logging output.","type":"boolean"},"maxModules":{"description":"Set the maximum number of modules to be shown.","type":"number"},"moduleAssets":{"description":"Add information about assets inside modules.","type":"boolean"},"moduleTrace":{"description":"Add dependencies and origin of warnings/errors.","type":"boolean"},"modules":{"description":"Add built modules information.","type":"boolean"},"modulesSort":{"description":"Sort the modules by that field.","type":"string"},"nestedModules":{"description":"Add information about modules nested in other modules (like with module concatenation).","type":"boolean"},"optimizationBailout":{"description":"Show reasons why optimization bailed out for modules.","type":"boolean"},"orphanModules":{"description":"Add information about orphan modules.","type":"boolean"},"outputPath":{"description":"Add output path information.","type":"boolean"},"performance":{"description":"Add performance hint flags.","type":"boolean"},"preset":{"description":"Preset for the default values.","anyOf":[{"type":"boolean"},{"type":"string"}]},"providedExports":{"description":"Show exports provided by modules.","type":"boolean"},"publicPath":{"description":"Add public path information.","type":"boolean"},"reasons":{"description":"Add information about the reasons why modules are included.","type":"boolean"},"relatedAssets":{"description":"Add information about assets that are related to other assets (like SourceMaps for assets).","type":"boolean"},"runtime":{"description":"Add information about runtime modules.","type":"boolean"},"source":{"description":"Add the source code of modules.","type":"boolean"},"timings":{"description":"Add timing information.","type":"boolean"},"usedExports":{"description":"Show exports used by modules.","type":"boolean"},"version":{"description":"Add webpack version information.","type":"boolean"},"warnings":{"description":"Add warnings.","type":"boolean"},"warningsFilter":{"description":"Suppress warnings that match the specified filters. Filters can be Strings, RegExps or Functions.","oneOf":[{"$ref":"#/definitions/FilterTypes"}]}}},"StatsValue":{"description":"Stats options object or preset name.","anyOf":[{"enum":["none","errors-only","minimal","normal","detailed","verbose","errors-warnings"]},{"type":"boolean"},{"$ref":"#/definitions/StatsOptions"}]},"StrictModuleExceptionHandling":{"description":"Handles exceptions in module loading correctly at a performance cost.","type":"boolean"},"Target":{"description":"Environment to build for.","anyOf":[{"enum":["web","webworker","node","async-node","node-webkit","electron-main","electron-renderer","electron-preload"]},{"instanceof":"Function","tsType":"((compiler: import(\'../lib/Compiler\')) => void)"}]},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"},"UniqueName":{"description":"A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.","type":"string","minLength":1},"Watch":{"description":"Enter watch mode, which rebuilds on file change.","type":"boolean"},"WatchOptions":{"description":"Options for the watcher.","type":"object","additionalProperties":false,"properties":{"aggregateTimeout":{"description":"Delay the rebuilt after the first change. Value is a time in ms.","type":"number"},"ignored":{"description":"Ignore some files from watching (glob pattern).","anyOf":[{"type":"array","items":{"description":"A glob pattern for files that should be ignored from watching.","type":"string","minLength":1}},{"description":"A single glob pattern for files that should be ignored from watching.","type":"string","minLength":1}]},"poll":{"description":"Enable polling mode for watching.","anyOf":[{"description":"`number`: use polling with specified interval.","type":"number"},{"description":"`true`: use polling.","type":"boolean"}]},"stdin":{"description":"Stop watching when stdin stream has ended.","type":"boolean"}}},"WebassemblyModuleFilename":{"description":"The filename of WebAssembly modules as relative path inside the `output.path` directory.","type":"string","absolutePath":false},"WebpackOptionsNormalized":{"description":"Normalized webpack options object.","type":"object","additionalProperties":false,"properties":{"amd":{"$ref":"#/definitions/Amd"},"bail":{"$ref":"#/definitions/Bail"},"cache":{"$ref":"#/definitions/CacheOptionsNormalized"},"context":{"$ref":"#/definitions/Context"},"dependencies":{"$ref":"#/definitions/Dependencies"},"devServer":{"$ref":"#/definitions/DevServer"},"devtool":{"$ref":"#/definitions/DevTool"},"entry":{"$ref":"#/definitions/EntryNormalized"},"experiments":{"$ref":"#/definitions/Experiments"},"externals":{"$ref":"#/definitions/Externals"},"externalsType":{"$ref":"#/definitions/ExternalsType"},"infrastructureLogging":{"$ref":"#/definitions/InfrastructureLogging"},"loader":{"$ref":"#/definitions/Loader"},"mode":{"$ref":"#/definitions/Mode"},"module":{"$ref":"#/definitions/ModuleOptions"},"name":{"$ref":"#/definitions/Name"},"node":{"$ref":"#/definitions/Node"},"optimization":{"$ref":"#/definitions/Optimization"},"output":{"$ref":"#/definitions/OutputNormalized"},"parallelism":{"$ref":"#/definitions/Parallelism"},"performance":{"$ref":"#/definitions/Performance"},"plugins":{"$ref":"#/definitions/Plugins"},"profile":{"$ref":"#/definitions/Profile"},"recordsInputPath":{"$ref":"#/definitions/RecordsInputPath"},"recordsOutputPath":{"$ref":"#/definitions/RecordsOutputPath"},"resolve":{"$ref":"#/definitions/Resolve"},"resolveLoader":{"$ref":"#/definitions/ResolveLoader"},"stats":{"$ref":"#/definitions/StatsValue"},"target":{"$ref":"#/definitions/Target"},"watch":{"$ref":"#/definitions/Watch"},"watchOptions":{"$ref":"#/definitions/WatchOptions"}},"required":["cache","entry","experiments","externals","infrastructureLogging","module","node","optimization","output","plugins","resolve","resolveLoader","stats","watchOptions"]},"WebpackPluginFunction":{"description":"Function acting as plugin.","instanceof":"Function","tsType":"(this: import(\'../lib/Compiler\'), compiler: import(\'../lib/Compiler\')) => void"},"WebpackPluginInstance":{"description":"Plugin instance.","type":"object","additionalProperties":true,"properties":{"apply":{"description":"The run point of the plugin, required method.","instanceof":"Function","tsType":"(compiler: import(\'../lib/Compiler\')) => void"}},"required":["apply"]}},"description":"Options object as provided by the user.","type":"object","additionalProperties":false,"properties":{"amd":{"$ref":"#/definitions/Amd"},"bail":{"$ref":"#/definitions/Bail"},"cache":{"$ref":"#/definitions/CacheOptions"},"context":{"$ref":"#/definitions/Context"},"dependencies":{"$ref":"#/definitions/Dependencies"},"devServer":{"$ref":"#/definitions/DevServer"},"devtool":{"$ref":"#/definitions/DevTool"},"entry":{"$ref":"#/definitions/Entry"},"experiments":{"$ref":"#/definitions/Experiments"},"externals":{"$ref":"#/definitions/Externals"},"externalsType":{"$ref":"#/definitions/ExternalsType"},"infrastructureLogging":{"$ref":"#/definitions/InfrastructureLogging"},"loader":{"$ref":"#/definitions/Loader"},"mode":{"$ref":"#/definitions/Mode"},"module":{"$ref":"#/definitions/ModuleOptions"},"name":{"$ref":"#/definitions/Name"},"node":{"$ref":"#/definitions/Node"},"optimization":{"$ref":"#/definitions/Optimization"},"output":{"$ref":"#/definitions/Output"},"parallelism":{"$ref":"#/definitions/Parallelism"},"performance":{"$ref":"#/definitions/Performance"},"plugins":{"$ref":"#/definitions/Plugins"},"profile":{"$ref":"#/definitions/Profile"},"recordsInputPath":{"$ref":"#/definitions/RecordsInputPath"},"recordsOutputPath":{"$ref":"#/definitions/RecordsOutputPath"},"recordsPath":{"$ref":"#/definitions/RecordsPath"},"resolve":{"$ref":"#/definitions/Resolve"},"resolveLoader":{"$ref":"#/definitions/ResolveLoader"},"stats":{"$ref":"#/definitions/StatsValue"},"target":{"$ref":"#/definitions/Target"},"watch":{"$ref":"#/definitions/Watch"},"watchOptions":{"$ref":"#/definitions/WatchOptions"}}}')},23208:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"DataUrlFunction":{"description":"Function that executes for module and should return an DataUrl string.","instanceof":"Function","tsType":"((source: string | Buffer, context: { filename: string, module: import(\'../../lib/Module\') }) => string)"},"DataUrlOptions":{"description":"Options object for data url generation.","type":"object","additionalProperties":false,"properties":{"encoding":{"description":"Asset encoding (defaults to base64).","enum":[false,"base64"]},"mimetype":{"description":"Asset mimetype (getting from file extension by default).","type":"string"}}}},"title":"AssetModulesPluginGeneratorOptions","type":"object","additionalProperties":false,"properties":{"dataUrl":{"description":"The options for data url generator.","anyOf":[{"$ref":"#/definitions/DataUrlOptions"},{"$ref":"#/definitions/DataUrlFunction"}]},"filename":{"description":"Template for asset filename.","anyOf":[{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((pathData: import(\\"../../lib/Compilation\\").PathData, assetInfo?: import(\\"../../lib/Compilation\\").AssetInfo) => string)"}]}}}')},81821:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"DataUrlFunction":{"description":"Function that executes for module and should return whenever asset should be inlined as DataUrl.","instanceof":"Function","tsType":"((source: string | Buffer, context: { filename: string, module: import(\'../../lib/Module\') }) => boolean)"},"DataUrlOptions":{"description":"Options object for DataUrl condition.","type":"object","additionalProperties":false,"properties":{"maxSize":{"description":"Maximum size of asset that should be inline as modules. Default: 8kb.","type":"number"}}}},"title":"AssetModulesPluginParserOptions","type":"object","additionalProperties":false,"properties":{"dataUrlCondition":{"description":"The condition for inlining the asset as DataUrl.","anyOf":[{"$ref":"#/definitions/DataUrlOptions"},{"$ref":"#/definitions/DataUrlFunction"}]}}}')},4837:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"BannerFunction":{"description":"The banner as function, it will be wrapped in a comment.","instanceof":"Function","tsType":"(data: { hash: string, chunk: import(\'../../lib/Chunk\'), filename: string }) => string"},"Rule":{"description":"Filtering rule as regex or string.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"Rules":{"description":"Filtering rules.","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/Rule"}]}},{"$ref":"#/definitions/Rule"}]}},"title":"BannerPluginArgument","anyOf":[{"description":"The banner as string, it will be wrapped in a comment.","type":"string","minLength":1},{"title":"BannerPluginOptions","type":"object","additionalProperties":false,"properties":{"banner":{"description":"Specifies the banner.","anyOf":[{"type":"string"},{"$ref":"#/definitions/BannerFunction"}]},"entryOnly":{"description":"If true, the banner will only be added to the entry chunks.","type":"boolean"},"exclude":{"description":"Exclude all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"include":{"description":"Include all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"raw":{"description":"If true, banner will not be wrapped in a comment.","type":"boolean"},"test":{"description":"Include all modules that pass test assertion.","oneOf":[{"$ref":"#/definitions/Rules"}]}},"required":["banner"]},{"$ref":"#/definitions/BannerFunction"}]}')},39670:e=>{"use strict";e.exports=JSON.parse('{"title":"DllPluginOptions","type":"object","additionalProperties":false,"properties":{"context":{"description":"Context of requests in the manifest file (defaults to the webpack context).","type":"string","minLength":1},"entryOnly":{"description":"If true, only entry points will be exposed (default: true).","type":"boolean"},"format":{"description":"If true, manifest json file (output) will be formatted.","type":"boolean"},"name":{"description":"Name of the exposed dll function (external name, use value of \'output.library\').","type":"string","minLength":1},"path":{"description":"Absolute path to the manifest json file (output).","type":"string","minLength":1},"type":{"description":"Type of the dll bundle (external type, use value of \'output.libraryTarget\').","type":"string","minLength":1}},"required":["path"]}')},53670:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"DllReferencePluginOptionsContent":{"description":"The mappings from request to module info.","type":"object","additionalProperties":{"description":"Module info.","type":"object","additionalProperties":false,"properties":{"buildMeta":{"description":"Meta information about the module.","type":"object"},"exports":{"description":"Information about the provided exports of the module.","anyOf":[{"description":"List of provided exports of the module.","type":"array","items":{"description":"Name of the export.","type":"string","minLength":1}},{"description":"Exports unknown/dynamic.","enum":[true]}]},"id":{"description":"Module ID.","anyOf":[{"type":"number"},{"type":"string","minLength":1}]}},"required":["id"]},"minProperties":1},"DllReferencePluginOptionsManifest":{"description":"An object containing content, name and type.","type":"object","additionalProperties":false,"properties":{"content":{"description":"The mappings from request to module info.","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsContent"}]},"name":{"description":"The name where the dll is exposed (external name).","type":"string","minLength":1},"type":{"description":"The type how the dll is exposed (external type).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]}},"required":["content"]},"DllReferencePluginOptionsSourceType":{"description":"The type how the dll is exposed (external type).","enum":["var","assign","this","window","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]}},"title":"DllReferencePluginOptions","anyOf":[{"type":"object","additionalProperties":false,"properties":{"context":{"description":"Context of requests in the manifest (or content property) as absolute path.","type":"string","absolutePath":true},"extensions":{"description":"Extensions used to resolve modules in the dll bundle (only used when using \'scope\').","type":"array","items":{"description":"An extension.","type":"string"}},"manifest":{"description":"An object containing content and name or a string to the absolute path of the JSON manifest to be loaded upon compilation.","anyOf":[{"type":"string","absolutePath":true},{"$ref":"#/definitions/DllReferencePluginOptionsManifest"}]},"name":{"description":"The name where the dll is exposed (external name, defaults to manifest.name).","type":"string","minLength":1},"scope":{"description":"Prefix which is used for accessing the content of the dll.","type":"string","minLength":1},"sourceType":{"description":"How the dll is exposed (libraryTarget, defaults to manifest.type).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]},"type":{"description":"The way how the export of the dll bundle is used.","enum":["require","object"]}},"required":["manifest"]},{"type":"object","additionalProperties":false,"properties":{"content":{"description":"The mappings from request to module info.","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsContent"}]},"context":{"description":"Context of requests in the manifest (or content property) as absolute path.","type":"string","absolutePath":true},"extensions":{"description":"Extensions used to resolve modules in the dll bundle (only used when using \'scope\').","type":"array","items":{"description":"An extension.","type":"string"}},"name":{"description":"The name where the dll is exposed (external name).","type":"string","minLength":1},"scope":{"description":"Prefix which is used for accessing the content of the dll.","type":"string","minLength":1},"sourceType":{"description":"How the dll is exposed (libraryTarget).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]},"type":{"description":"The way how the export of the dll bundle is used.","enum":["require","object"]}},"required":["content","name"]}]}')},1842:e=>{"use strict";e.exports=JSON.parse('{"title":"HashedModuleIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"context":{"description":"The context directory for creating names.","type":"string","absolutePath":true},"hashDigest":{"description":"The encoding to use when generating the hash, defaults to \'base64\'. All encodings from Node.JS\' hash.digest are supported.","enum":["hex","latin1","base64"]},"hashDigestLength":{"description":"The prefix length of the hash digest to use, defaults to 4.","type":"number","minimum":1},"hashFunction":{"description":"The hashing algorithm to use, defaults to \'md4\'. All functions from Node.JS\' crypto.createHash are supported.","type":"string","minLength":1}}}')},24019:e=>{"use strict";e.exports=JSON.parse('{"title":"IgnorePluginOptions","anyOf":[{"type":"object","additionalProperties":false,"properties":{"contextRegExp":{"description":"A RegExp to test the context (directory) against.","instanceof":"RegExp","tsType":"RegExp"},"resourceRegExp":{"description":"A RegExp to test the request against.","instanceof":"RegExp","tsType":"RegExp"}}},{"type":"object","additionalProperties":false,"properties":{"checkResource":{"description":"A filter function for resource and context.","instanceof":"Function","tsType":"((resource: string, context: string) => boolean)"}}}]}')},18496:e=>{"use strict";e.exports=JSON.parse('{"title":"JsonModulesPluginParserOptions","type":"object","additionalProperties":false,"properties":{"parse":{"description":"Function that executes for a module source string and should return json-compatible data.","instanceof":"Function","tsType":"((input: string) => any)"}}}')},6087:e=>{"use strict";e.exports=JSON.parse('{"title":"LoaderOptionsPluginOptions","type":"object","additionalProperties":true,"properties":{"debug":{"description":"Whether loaders should be in debug mode or not. debug will be removed as of webpack 3.","type":"boolean"},"minimize":{"description":"Where loaders can be switched to minimize mode.","type":"boolean"},"options":{"description":"A configuration object that can be used to configure older loaders.","type":"object","additionalProperties":true,"properties":{"context":{"description":"The context that can be used to configure older loaders.","type":"string","absolutePath":true}}}}}')},78760:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"HandlerFunction":{"description":"Function that executes for every progress step.","instanceof":"Function","tsType":"((percentage: number, msg: string, ...args: string[]) => void)"},"ProgressPluginOptions":{"description":"Options object for the ProgressPlugin.","type":"object","additionalProperties":false,"properties":{"activeModules":{"description":"Show active modules count and one active module in progress message.","type":"boolean"},"dependencies":{"description":"Show dependencies count in progress message.","type":"boolean"},"dependenciesCount":{"description":"Minimum dependencies count to start with. For better progress calculation. Default: 10000.","type":"number"},"entries":{"description":"Show entries count in progress message.","type":"boolean"},"handler":{"description":"Function that executes for every progress step.","oneOf":[{"$ref":"#/definitions/HandlerFunction"}]},"modules":{"description":"Show modules count in progress message.","type":"boolean"},"modulesCount":{"description":"Minimum modules count to start with. For better progress calculation. Default: 5000.","type":"number"},"percentBy":{"description":"Collect percent algorithm. By default it calculates by a median from modules, entries and dependencies percent.","enum":["entries","modules","dependencies",null]},"profile":{"description":"Collect profile data for progress steps. Default: false.","enum":[true,false,null]}}}},"title":"ProgressPluginArgument","anyOf":[{"$ref":"#/definitions/ProgressPluginOptions"},{"$ref":"#/definitions/HandlerFunction"}]}')},82037:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"rule":{"description":"Include source maps for modules based on their extension (defaults to .js and .css).","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"rules":{"description":"Include source maps for modules based on their extension (defaults to .js and .css).","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/rule"}]}},{"$ref":"#/definitions/rule"}]}},"title":"SourceMapDevToolPluginOptions","type":"object","additionalProperties":false,"properties":{"append":{"description":"Appends the given value to the original asset. Usually the #sourceMappingURL comment. [url] is replaced with a URL to the source map file. false disables the appending.","anyOf":[{"description":"Append no SourceMap comment to the bundle, but still generate SourceMaps.","enum":[false,null]},{"type":"string","minLength":1}]},"columns":{"description":"Indicates whether column mappings should be used (defaults to true).","type":"boolean"},"exclude":{"description":"Exclude modules that match the given value from source map generation.","oneOf":[{"$ref":"#/definitions/rules"}]},"fallbackModuleFilenameTemplate":{"description":"Generator string or function to create identifiers of modules for the \'sources\' array in the SourceMap used only if \'moduleFilenameTemplate\' would result in a conflict.","anyOf":[{"type":"string","minLength":1},{"description":"Custom function generating the identifier.","instanceof":"Function","tsType":"Function"}]},"fileContext":{"description":"Path prefix to which the [file] placeholder is relative to.","type":"string"},"filename":{"description":"Defines the output filename of the SourceMap (will be inlined if no value is provided).","anyOf":[{"description":"Disable separate SourceMap file and inline SourceMap as DataUrl.","enum":[false,null]},{"type":"string","absolutePath":false,"minLength":1}]},"include":{"description":"Include source maps for module paths that match the given value.","oneOf":[{"$ref":"#/definitions/rules"}]},"module":{"description":"Indicates whether SourceMaps from loaders should be used (defaults to true).","type":"boolean"},"moduleFilenameTemplate":{"description":"Generator string or function to create identifiers of modules for the \'sources\' array in the SourceMap.","anyOf":[{"type":"string","minLength":1},{"description":"Custom function generating the identifier.","instanceof":"Function","tsType":"Function"}]},"namespace":{"description":"Namespace prefix to allow multiple webpack roots in the devtools.","type":"string"},"noSources":{"description":"Omit the \'sourceContents\' array from the SourceMap.","type":"boolean"},"publicPath":{"description":"Provide a custom public path for the SourceMapping comment.","type":"string"},"sourceRoot":{"description":"Provide a custom value for the \'sourceRoot\' property in the SourceMap.","type":"string"},"test":{"$ref":"#/definitions/rules"}}}')},82997:e=>{"use strict";e.exports=JSON.parse('{"title":"WatchIgnorePluginOptions","type":"object","additionalProperties":false,"properties":{"paths":{"description":"A list of RegExps or absolute paths to directories or files that should be ignored.","type":"array","items":{"description":"RegExp or absolute path to directories or files that should be ignored.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"}]},"minItems":1}},"required":["paths"]}')},19593:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"Exposes":{"description":"Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.","anyOf":[{"type":"array","items":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesObject"}]}},{"$ref":"#/definitions/ExposesObject"}]},"ExposesConfig":{"description":"Advanced configuration for modules that should be exposed by this container.","type":"object","additionalProperties":false,"properties":{"import":{"description":"Request to a module that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"required":["import"]},"ExposesItem":{"description":"Module that should be exposed by this container.","type":"string","minLength":1},"ExposesItems":{"description":"Modules that should be exposed by this container.","type":"array","items":{"$ref":"#/definitions/ExposesItem"}},"ExposesObject":{"description":"Modules that should be exposed by this container. Property names are used as public paths.","type":"object","additionalProperties":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesConfig"},{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1}},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library.","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"}},"title":"ContainerPluginOptions","type":"object","additionalProperties":false,"properties":{"exposes":{"$ref":"#/definitions/Exposes"},"filename":{"description":"The filename for this container relative path inside the `output.path` directory.","type":"string","absolutePath":false,"minLength":1},"library":{"$ref":"#/definitions/LibraryOptions"},"name":{"description":"The name for this container.","type":"string","minLength":1},"shareScope":{"description":"The name of the share scope which is shared with the host (defaults to \'default\').","type":"string","minLength":1}},"required":["name","exposes"]}')},39101:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system","promise","import","script"]},"Remotes":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime. When provided, property name is used as request scope, otherwise request scope is automatically inferred from container location.","anyOf":[{"type":"array","items":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesObject"}]}},{"$ref":"#/definitions/RemotesObject"}]},"RemotesConfig":{"description":"Advanced configuration for container locations from which modules should be resolved and loaded at runtime.","type":"object","additionalProperties":false,"properties":{"external":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]},"shareScope":{"description":"The name of the share scope shared with this remote.","type":"string","minLength":1}},"required":["external"]},"RemotesItem":{"description":"Container location from which modules should be resolved and loaded at runtime.","type":"string","minLength":1},"RemotesItems":{"description":"Container locations from which modules should be resolved and loaded at runtime.","type":"array","items":{"$ref":"#/definitions/RemotesItem"}},"RemotesObject":{"description":"Container locations from which modules should be resolved and loaded at runtime. Property names are used as request scopes.","type":"object","additionalProperties":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesConfig"},{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]}}},"title":"ContainerReferencePluginOptions","type":"object","additionalProperties":false,"properties":{"remoteType":{"description":"The external type of the remote containers.","oneOf":[{"$ref":"#/definitions/ExternalsType"}]},"remotes":{"$ref":"#/definitions/Remotes"},"shareScope":{"description":"The name of the share scope shared with all remotes (defaults to \'default\').","type":"string","minLength":1}},"required":["remoteType","remotes"]}')},7265:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"Exposes":{"description":"Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.","anyOf":[{"type":"array","items":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesObject"}]}},{"$ref":"#/definitions/ExposesObject"}]},"ExposesConfig":{"description":"Advanced configuration for modules that should be exposed by this container.","type":"object","additionalProperties":false,"properties":{"import":{"description":"Request to a module that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"required":["import"]},"ExposesItem":{"description":"Module that should be exposed by this container.","type":"string","minLength":1},"ExposesItems":{"description":"Modules that should be exposed by this container.","type":"array","items":{"$ref":"#/definitions/ExposesItem"}},"ExposesObject":{"description":"Modules that should be exposed by this container. Property names are used as public paths.","type":"object","additionalProperties":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesConfig"},{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system","promise","import","script"]},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1}},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library.","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]},"Remotes":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime. When provided, property name is used as request scope, otherwise request scope is automatically inferred from container location.","anyOf":[{"type":"array","items":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesObject"}]}},{"$ref":"#/definitions/RemotesObject"}]},"RemotesConfig":{"description":"Advanced configuration for container locations from which modules should be resolved and loaded at runtime.","type":"object","additionalProperties":false,"properties":{"external":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]},"shareScope":{"description":"The name of the share scope shared with this remote.","type":"string","minLength":1}},"required":["external"]},"RemotesItem":{"description":"Container location from which modules should be resolved and loaded at runtime.","type":"string","minLength":1},"RemotesItems":{"description":"Container locations from which modules should be resolved and loaded at runtime.","type":"array","items":{"$ref":"#/definitions/RemotesItem"}},"RemotesObject":{"description":"Container locations from which modules should be resolved and loaded at runtime. Property names are used as request scopes.","type":"object","additionalProperties":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesConfig"},{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]}},"Shared":{"description":"Modules that should be shared in the share scope. When provided, property names are used to match requested modules in this compilation.","anyOf":[{"type":"array","items":{"description":"Modules that should be shared in the share scope.","anyOf":[{"$ref":"#/definitions/SharedItem"},{"$ref":"#/definitions/SharedObject"}]}},{"$ref":"#/definitions/SharedObject"}]},"SharedConfig":{"description":"Advanced configuration for modules that should be shared in the share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the provided and fallback module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"import":{"description":"Provided module that should be provided to share scope. Also acts as fallback module if no shared module is found in share scope or version isn\'t valid. Defaults to the property name.","anyOf":[{"description":"No provided or fallback module.","enum":[false]},{"$ref":"#/definitions/SharedItem"}]},"packageName":{"description":"Package name to determine required version from description file. This is only needed when package name can\'t be automatically determined from request.","type":"string","minLength":1},"requiredVersion":{"description":"Version requirement from module in share scope.","anyOf":[{"description":"No version requirement check.","enum":[false]},{"description":"Version as string. Can be prefixed with \'^\' or \'~\' for minimum matches. Each part of the version should be separated by a dot \'.\'.","type":"string"}]},"shareKey":{"description":"Module is looked up under this key from the share scope.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"singleton":{"description":"Allow only a single version of the shared module in share scope (disabled by default).","type":"boolean"},"strictVersion":{"description":"Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).","type":"boolean"},"version":{"description":"Version of the provided module. Will replace lower matching versions, but not higher.","anyOf":[{"description":"Don\'t provide a version.","enum":[false]},{"description":"Version as string. Each part of the version should be separated by a dot \'.\'.","type":"string"}]}}},"SharedItem":{"description":"A module that should be shared in the share scope.","type":"string","minLength":1},"SharedObject":{"description":"Modules that should be shared in the share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.","type":"object","additionalProperties":{"description":"Modules that should be shared in the share scope.","anyOf":[{"$ref":"#/definitions/SharedConfig"},{"$ref":"#/definitions/SharedItem"}]}},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"}},"title":"ModuleFederationPluginOptions","type":"object","additionalProperties":false,"properties":{"exposes":{"$ref":"#/definitions/Exposes"},"filename":{"description":"The filename of the container as relative path inside the `output.path` directory.","type":"string","absolutePath":false},"library":{"$ref":"#/definitions/LibraryOptions"},"name":{"description":"The name of the container.","type":"string"},"remoteType":{"description":"The external type of the remote containers.","oneOf":[{"$ref":"#/definitions/ExternalsType"}]},"remotes":{"$ref":"#/definitions/Remotes"},"shareScope":{"description":"Share scope name used for all shared modules (defaults to \'default\').","type":"string","minLength":1},"shared":{"$ref":"#/definitions/Shared"}}}')},8462:e=>{"use strict";e.exports=JSON.parse('{"title":"ProfilingPluginOptions","type":"object","additionalProperties":false,"properties":{"outputPath":{"description":"Path to the output file e.g. `path.resolve(__dirname, \'profiling/events.json\')`. Defaults to `events.json`.","type":"string","absolutePath":true}}}')},66451:e=>{"use strict";e.exports=JSON.parse('{"title":"OccurrenceChunkIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"prioritiseInitial":{"description":"Prioritise initial size over total size.","type":"boolean"}}}')},25049:e=>{"use strict";e.exports=JSON.parse('{"title":"OccurrenceModuleIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"prioritiseInitial":{"description":"Prioritise initial size over total size.","type":"boolean"}}}')},69127:e=>{"use strict";e.exports=JSON.parse('{"title":"AggressiveSplittingPluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Extra cost for each chunk (Default: 9.8kiB).","type":"number"},"entryChunkMultiplicator":{"description":"Extra cost multiplicator for entry chunks (Default: 10).","type":"number"},"maxSize":{"description":"Byte, max size of per file (Default: 50kiB).","type":"number"},"minSize":{"description":"Byte, split point. (Default: 30kiB).","type":"number"}}}')},97350:e=>{"use strict";e.exports=JSON.parse('{"title":"LimitChunkCountPluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Constant overhead for a chunk.","type":"number"},"entryChunkMultiplicator":{"description":"Multiplicator for initial chunks.","type":"number"},"maxChunks":{"description":"Limit the maximum number of chunks using a value greater greater than or equal to 1.","type":"number","minimum":1}},"required":["maxChunks"]}')},84796:e=>{"use strict";e.exports=JSON.parse('{"title":"MinChunkSizePluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Constant overhead for a chunk.","type":"number"},"entryChunkMultiplicator":{"description":"Multiplicator for initial chunks.","type":"number"},"minChunkSize":{"description":"Minimum number of characters.","type":"number"}},"required":["minChunkSize"]}')},16308:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"Consumes":{"description":"Modules that should be consumed from share scope. When provided, property names are used to match requested modules in this compilation.","anyOf":[{"type":"array","items":{"description":"Modules that should be consumed from share scope.","anyOf":[{"$ref":"#/definitions/ConsumesItem"},{"$ref":"#/definitions/ConsumesObject"}]}},{"$ref":"#/definitions/ConsumesObject"}]},"ConsumesConfig":{"description":"Advanced configuration for modules that should be consumed from share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the fallback module directly instead behind an async request. This allows to use fallback module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"import":{"description":"Fallback module if no shared module is found in share scope. Defaults to the property name.","anyOf":[{"description":"No fallback module.","enum":[false]},{"$ref":"#/definitions/ConsumesItem"}]},"packageName":{"description":"Package name to determine required version from description file. This is only needed when package name can\'t be automatically determined from request.","type":"string","minLength":1},"requiredVersion":{"description":"Version requirement from module in share scope.","anyOf":[{"description":"No version requirement check.","enum":[false]},{"description":"Version as string. Can be prefixed with \'^\' or \'~\' for minimum matches. Each part of the version should be separated by a dot \'.\'.","type":"string"}]},"shareKey":{"description":"Module is looked up under this key from the share scope.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"singleton":{"description":"Allow only a single version of the shared module in share scope (disabled by default).","type":"boolean"},"strictVersion":{"description":"Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).","type":"boolean"}}},"ConsumesItem":{"description":"A module that should be consumed from share scope.","type":"string","minLength":1},"ConsumesObject":{"description":"Modules that should be consumed from share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.","type":"object","additionalProperties":{"description":"Modules that should be consumed from share scope.","anyOf":[{"$ref":"#/definitions/ConsumesConfig"},{"$ref":"#/definitions/ConsumesItem"}]}}},"title":"ConsumeSharedPluginOptions","description":"Options for consuming shared modules.","type":"object","additionalProperties":false,"properties":{"consumes":{"$ref":"#/definitions/Consumes"},"shareScope":{"description":"Share scope name used for all consumed modules (defaults to \'default\').","type":"string","minLength":1}},"required":["consumes"]}')},23288:e=>{"use strict";e.exports=JSON.parse('{"definitions":{"Provides":{"description":"Modules that should be provided as shared modules to the share scope. When provided, property name is used to match modules, otherwise this is automatically inferred from share key.","anyOf":[{"type":"array","items":{"description":"Modules that should be provided as shared modules to the share scope.","anyOf":[{"$ref":"#/definitions/ProvidesItem"},{"$ref":"#/definitions/ProvidesObject"}]}},{"$ref":"#/definitions/ProvidesObject"}]},"ProvidesConfig":{"description":"Advanced configuration for modules that should be provided as shared modules to the share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the provided module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"shareKey":{"description":"Key in the share scope under which the shared modules should be stored.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"version":{"description":"Version of the provided module. Will replace lower matching versions, but not higher.","anyOf":[{"description":"Don\'t provide a version.","enum":[false]},{"description":"Version as string. Each part of the version should be separated by a dot \'.\'.","type":"string"}]}}},"ProvidesItem":{"description":"Request to a module that should be provided as shared module to the share scope (will be resolved when relative).","type":"string","minLength":1},"ProvidesObject":{"description":"Modules that should be provided as shared modules to the share scope. Property names are used as share keys.","type":"object","additionalProperties":{"description":"Modules that should be provided as shared modules to the share scope.","anyOf":[{"$ref":"#/definitions/ProvidesConfig"},{"$ref":"#/definitions/ProvidesItem"}]}}},"title":"ProvideSharedPluginOptions","type":"object","additionalProperties":false,"properties":{"provides":{"$ref":"#/definitions/Provides"},"shareScope":{"description":"Share scope name used for all provided modules (defaults to \'default\').","type":"string","minLength":1}},"required":["provides"]}')},60306:e=>{"use strict";e.exports=JSON.parse('{"name":"@vercel/ncc","description":"Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.","version":"0.24.1","repository":"vercel/ncc","license":"MIT","main":"./dist/ncc/index.js","bin":{"ncc":"./dist/ncc/cli.js"},"scripts":{"build":"node scripts/build","build-test-binary":"cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node","codecov":"codecov","test":"node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest","test-coverage":"node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest --coverage --globals \\"{\\\\\\"coverage\\\\\\":true}\\" && codecov","prepublish":"yarn build"},"devDependencies":{"@azure/cosmos":"^2.0.5","@bugsnag/js":"^5.0.1","@ffmpeg-installer/ffmpeg":"^1.0.17","@google-cloud/bigquery":"^2.0.1","@google-cloud/firestore":"^2.2.0","@sentry/node":"^4.3.0","@tensorflow/tfjs-node":"^0.3.0","@zeit/webpack-asset-relocator-loader":"0.8.0","analytics-node":"^3.3.0","apollo-server-express":"^2.2.2","arg":"^4.1.0","auth0":"^2.14.0","aws-sdk":"^2.356.0","axios":"^0.18.1","azure-storage":"^2.10.2","browserify-middleware":"^8.1.1","bytes":"^3.0.0","canvas":"^2.2.0","chromeless":"^1.5.2","codecov":"^3.6.5","consolidate":"^0.15.1","copy":"^0.3.2","core-js":"^2.5.7","cowsay":"^1.3.1","esm":"^3.2.22","express":"^4.16.4","fetch-h2":"^1.0.2","firebase":"^6.1.1","firebase-admin":"^6.3.0","fluent-ffmpeg":"^2.1.2","fontkit":"^1.7.7","get-folder-size":"^2.0.0","glob":"^7.1.3","got":"^9.3.2","graceful-fs":"^4.1.15","graphql":"^14.0.2","highlights":"^3.1.1","hot-shots":"^5.9.2","in-publish":"^2.0.0","ioredis":"^4.2.0","isomorphic-unfetch":"^3.0.0","jest":"^26.3.0","jimp":"^0.5.6","jugglingdb":"2.0.1","koa":"^2.6.2","leveldown":"^5.6.0","license-webpack-plugin":"^2.3.0","lighthouse":"^5.0.0","loopback":"^3.24.0","mailgun":"^0.5.0","mariadb":"^2.0.1-beta","memcached":"^2.2.2","mkdirp":"^0.5.1","mongoose":"^5.3.12","mysql":"^2.16.0","node-gyp":"^3.8.0","npm":"^6.13.4","oracledb":"^4.2.0","passport":"^0.4.0","passport-google-oauth":"^1.0.0","path-platform":"^0.11.15","pdf2json":"^1.1.8","pdfkit":"^0.8.3","pg":"^7.6.1","pug":"^2.0.3","react":"^16.6.3","react-dom":"^16.6.3","redis":"^2.8.0","request":"^2.88.0","rxjs":"^6.3.3","saslprep":"^1.0.2","sequelize":"^5.8.6","sharp":"^0.25.2","shebang-loader":"^0.0.1","socket.io":"^2.2.0","source-map-support":"^0.5.9","stripe":"^6.15.0","swig":"^1.4.2","terser":"^3.11.0","the-answer":"^1.0.0","tiny-json-http":"^7.0.2","ts-loader":"^5.3.1","tsconfig-paths":"^3.7.0","tsconfig-paths-webpack-plugin":"^3.2.0","twilio":"^3.23.2","typescript":"^3.2.2","vm2":"^3.6.6","vue":"^2.5.17","vue-server-renderer":"^2.5.17","webpack":"5.0.0-beta.28","when":"^3.7.8"}}')},93414:(e,t,n)=>{const{dirname:r}=n(85622);const{promisify:i}=n(31669);const{access:s,accessSync:o,copyFile:a,copyFileSync:c,unlink:u,unlinkSync:l,rename:f,renameSync:p}=n(35747);const d=i(s);const h=i(a);const m=i(u);const g=i(f);const y=n(16593);const v=async e=>{try{await d(e);return true}catch(e){return e.code!=="ENOENT"}};const _=e=>{try{o(e);return true}catch(e){return e.code!=="ENOENT"}};e.exports=(async(e,t,n={})=>{if(!e||!t){throw new TypeError("`source` and `destination` file required")}n={overwrite:true,...n};if(!n.overwrite&&await v(t)){throw new Error(`The destination file exists: ${t}`)}await y(r(t));try{await g(e,t)}catch(n){if(n.code==="EXDEV"){await h(e,t);await m(e)}else{throw n}}});e.exports.sync=((e,t,n={})=>{if(!e||!t){throw new TypeError("`source` and `destination` file required")}n={overwrite:true,...n};if(!n.overwrite&&_(t)){throw new Error(`The destination file exists: ${t}`)}y.sync(r(t));try{p(e,t)}catch(n){if(n.code==="EXDEV"){c(e,t);l(e)}else{throw n}}})},16593:(e,t,n)=>{const r=n(39629);const i=n(27112);const{mkdirpNative:s,mkdirpNativeSync:o}=n(74503);const{mkdirpManual:a,mkdirpManualSync:c}=n(40325);const{useNative:u,useNativeSync:l}=n(79407);const f=(e,t)=>{e=i(e);t=r(t);return u(t)?s(e,t):a(e,t)};const p=(e,t)=>{e=i(e);t=r(t);return l(t)?o(e,t):c(e,t)};f.sync=p;f.native=((e,t)=>s(i(e),r(t)));f.manual=((e,t)=>a(i(e),r(t)));f.nativeSync=((e,t)=>o(i(e),r(t)));f.manualSync=((e,t)=>c(i(e),r(t)));e.exports=f},92804:(e,t,n)=>{const{dirname:r}=n(85622);const i=(e,t,n=undefined)=>{if(n===t)return Promise.resolve();return e.statAsync(t).then(e=>e.isDirectory()?n:undefined,n=>n.code==="ENOENT"?i(e,r(t),t):undefined)};const s=(e,t,n=undefined)=>{if(n===t)return undefined;try{return e.statSync(t).isDirectory()?n:undefined}catch(n){return n.code==="ENOENT"?s(e,r(t),t):undefined}};e.exports={findMade:i,findMadeSync:s}},40325:(e,t,n)=>{const{dirname:r}=n(85622);const i=(e,t,n)=>{t.recursive=false;const s=r(e);if(s===e){return t.mkdirAsync(e,t).catch(e=>{if(e.code!=="EISDIR")throw e})}return t.mkdirAsync(e,t).then(()=>n||e,r=>{if(r.code==="ENOENT")return i(s,t).then(n=>i(e,t,n));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;return t.statAsync(e).then(e=>{if(e.isDirectory())return n;else throw r},()=>{throw r})})};const s=(e,t,n)=>{const i=r(e);t.recursive=false;if(i===e){try{return t.mkdirSync(e,t)}catch(e){if(e.code!=="EISDIR")throw e;else return}}try{t.mkdirSync(e,t);return n||e}catch(r){if(r.code==="ENOENT")return s(e,t,s(i,t,n));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;try{if(!t.statSync(e).isDirectory())throw r}catch(e){throw r}}};e.exports={mkdirpManual:i,mkdirpManualSync:s}},74503:(e,t,n)=>{const{dirname:r}=n(85622);const{findMade:i,findMadeSync:s}=n(92804);const{mkdirpManual:o,mkdirpManualSync:a}=n(40325);const c=(e,t)=>{t.recursive=true;const n=r(e);if(n===e)return t.mkdirAsync(e,t);return i(t,e).then(n=>t.mkdirAsync(e,t).then(()=>n).catch(n=>{if(n.code==="ENOENT")return o(e,t);else throw n}))};const u=(e,t)=>{t.recursive=true;const n=r(e);if(n===e)return t.mkdirSync(e,t);const i=s(t,e);try{t.mkdirSync(e,t);return i}catch(n){if(n.code==="ENOENT")return a(e,t);else throw n}};e.exports={mkdirpNative:c,mkdirpNativeSync:u}},39629:(e,t,n)=>{const{promisify:r}=n(31669);const i=n(35747);const s=e=>{if(!e)e={mode:511,fs:i};else if(typeof e==="object")e={mode:511,fs:i,...e};else if(typeof e==="number")e={mode:e,fs:i};else if(typeof e==="string")e={mode:parseInt(e,8),fs:i};else throw new TypeError("invalid options argument");e.mkdir=e.mkdir||e.fs.mkdir||i.mkdir;e.mkdirAsync=r(e.mkdir);e.stat=e.stat||e.fs.stat||i.stat;e.statAsync=r(e.stat);e.statSync=e.statSync||e.fs.statSync||i.statSync;e.mkdirSync=e.mkdirSync||e.fs.mkdirSync||i.mkdirSync;return e};e.exports=s},27112:(e,t,n)=>{const r=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const{resolve:i,parse:s}=n(85622);const o=e=>{if(/\0/.test(e)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:e,code:"ERR_INVALID_ARG_VALUE"})}e=i(e);if(r==="win32"){const t=/[*|"<>?:]/;const{root:n}=s(e);if(t.test(e.substr(n.length))){throw Object.assign(new Error("Illegal characters in path."),{path:e,code:"EINVAL"})}}return e};e.exports=o},79407:(e,t,n)=>{const r=n(35747);const i=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const s=i.replace(/^v/,"").split(".");const o=+s[0]>10||+s[0]===10&&+s[1]>=12;const a=!o?()=>false:e=>e.mkdir===r.mkdir;const c=!o?()=>false:e=>e.mkdirSync===r.mkdirSync;e.exports={useNative:a,useNativeSync:c}},70797:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.cloneNode=cloneNode;function cloneNode(e){var t={};for(var n in e){t[n]=e[n]}return t}},98093:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r={numberLiteralFromRaw:true,withLoc:true,withRaw:true,funcParam:true,indexLiteral:true,memIndexLiteral:true,instruction:true,objectInstruction:true,traverse:true,signatures:true,cloneNode:true};Object.defineProperty(t,"numberLiteralFromRaw",{enumerable:true,get:function get(){return s.numberLiteralFromRaw}});Object.defineProperty(t,"withLoc",{enumerable:true,get:function get(){return s.withLoc}});Object.defineProperty(t,"withRaw",{enumerable:true,get:function get(){return s.withRaw}});Object.defineProperty(t,"funcParam",{enumerable:true,get:function get(){return s.funcParam}});Object.defineProperty(t,"indexLiteral",{enumerable:true,get:function get(){return s.indexLiteral}});Object.defineProperty(t,"memIndexLiteral",{enumerable:true,get:function get(){return s.memIndexLiteral}});Object.defineProperty(t,"instruction",{enumerable:true,get:function get(){return s.instruction}});Object.defineProperty(t,"objectInstruction",{enumerable:true,get:function get(){return s.objectInstruction}});Object.defineProperty(t,"traverse",{enumerable:true,get:function get(){return o.traverse}});Object.defineProperty(t,"signatures",{enumerable:true,get:function get(){return a.signatures}});Object.defineProperty(t,"cloneNode",{enumerable:true,get:function get(){return u.cloneNode}});var i=n(52696);Object.keys(i).forEach(function(e){if(e==="default"||e==="__esModule")return;if(Object.prototype.hasOwnProperty.call(r,e))return;Object.defineProperty(t,e,{enumerable:true,get:function get(){return i[e]}})});var s=n(11891);var o=n(22056);var a=n(75769);var c=n(91764);Object.keys(c).forEach(function(e){if(e==="default"||e==="__esModule")return;if(Object.prototype.hasOwnProperty.call(r,e))return;Object.defineProperty(t,e,{enumerable:true,get:function get(){return c[e]}})});var u=n(70797)},11891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.numberLiteralFromRaw=numberLiteralFromRaw;t.instruction=instruction;t.objectInstruction=objectInstruction;t.withLoc=withLoc;t.withRaw=withRaw;t.funcParam=funcParam;t.indexLiteral=indexLiteral;t.memIndexLiteral=memIndexLiteral;var r=n(81684);var i=n(52696);function numberLiteralFromRaw(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"i32";var n=e;if(typeof e==="string"){e=e.replace(/_/g,"")}if(typeof e==="number"){return(0,i.numberLiteral)(e,String(n))}else{switch(t){case"i32":{return(0,i.numberLiteral)((0,r.parse32I)(e),String(n))}case"u32":{return(0,i.numberLiteral)((0,r.parseU32)(e),String(n))}case"i64":{return(0,i.longNumberLiteral)((0,r.parse64I)(e),String(n))}case"f32":{return(0,i.floatLiteral)((0,r.parse32F)(e),(0,r.isNanLiteral)(e),(0,r.isInfLiteral)(e),String(n))}default:{return(0,i.floatLiteral)((0,r.parse64F)(e),(0,r.isNanLiteral)(e),(0,r.isInfLiteral)(e),String(n))}}}}function instruction(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return(0,i.instr)(e,undefined,t,n)}function objectInstruction(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};return(0,i.instr)(e,t,n,r)}function withLoc(e,t,n){var r={start:n,end:t};e.loc=r;return e}function withRaw(e,t){e.raw=t;return e}function funcParam(e,t){return{id:t,valtype:e}}function indexLiteral(e){var t=numberLiteralFromRaw(e,"u32");return t}function memIndexLiteral(e){var t=numberLiteralFromRaw(e,"u32");return t}},46166:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createPath=createPath;function _extends(){_extends=Object.assign||function(e){for(var t=1;t2&&arguments[2]!==undefined?arguments[2]:0;if(!r){throw new Error("inList"+" error: "+("insert can only be used for nodes that are within lists"||0))}if(!(i!=null)){throw new Error("parentPath != null"+" error: "+("Can not remove root node"||0))}var a=i.node[s];var c=a.findIndex(function(e){return e===n});a.splice(c+o,0,t)}function remove(e){var t=e.node,n=e.parentKey,r=e.parentPath;if(!(r!=null)){throw new Error("parentPath != null"+" error: "+("Can not remove root node"||0))}var i=r.node;var s=i[n];if(Array.isArray(s)){i[n]=s.filter(function(e){return e!==t})}else{delete i[n]}t._deleted=true}function stop(e){e.shouldStop=true}function replaceWith(e,t){var n=e.parentPath.node;var r=n[e.parentKey];if(Array.isArray(r)){var i=r.findIndex(function(t){return t===e.node});r.splice(i,1,t)}else{n[e.parentKey]=t}e.node._deleted=true;e.node=t}function bindNodeOperations(e,t){var n=Object.keys(e);var r={};n.forEach(function(n){r[n]=e[n].bind(null,t)});return r}function createPathOperations(e){return bindNodeOperations({findParent:findParent,replaceWith:replaceWith,remove:remove,insertBefore:insertBefore,insertAfter:insertAfter,stop:stop},e)}function createPath(e){var t=_extends({},e);Object.assign(t,createPathOperations(t));return t}},52696:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.module=_module;t.moduleMetadata=moduleMetadata;t.moduleNameMetadata=moduleNameMetadata;t.functionNameMetadata=functionNameMetadata;t.localNameMetadata=localNameMetadata;t.binaryModule=binaryModule;t.quoteModule=quoteModule;t.sectionMetadata=sectionMetadata;t.producersSectionMetadata=producersSectionMetadata;t.producerMetadata=producerMetadata;t.producerMetadataVersionedName=producerMetadataVersionedName;t.loopInstruction=loopInstruction;t.instr=instr;t.ifInstruction=ifInstruction;t.stringLiteral=stringLiteral;t.numberLiteral=numberLiteral;t.longNumberLiteral=longNumberLiteral;t.floatLiteral=floatLiteral;t.elem=elem;t.indexInFuncSection=indexInFuncSection;t.valtypeLiteral=valtypeLiteral;t.typeInstruction=typeInstruction;t.start=start;t.globalType=globalType;t.leadingComment=leadingComment;t.blockComment=blockComment;t.data=data;t.global=global;t.table=table;t.memory=memory;t.funcImportDescr=funcImportDescr;t.moduleImport=moduleImport;t.moduleExportDescr=moduleExportDescr;t.moduleExport=moduleExport;t.limit=limit;t.signature=signature;t.program=program;t.identifier=identifier;t.blockInstruction=blockInstruction;t.callInstruction=callInstruction;t.callIndirectInstruction=callIndirectInstruction;t.byteArray=byteArray;t.func=func;t.internalBrUnless=internalBrUnless;t.internalGoto=internalGoto;t.internalCallExtern=internalCallExtern;t.internalEndAndReturn=internalEndAndReturn;t.assertInternalCallExtern=t.assertInternalGoto=t.assertInternalBrUnless=t.assertFunc=t.assertByteArray=t.assertCallIndirectInstruction=t.assertCallInstruction=t.assertBlockInstruction=t.assertIdentifier=t.assertProgram=t.assertSignature=t.assertLimit=t.assertModuleExport=t.assertModuleExportDescr=t.assertModuleImport=t.assertFuncImportDescr=t.assertMemory=t.assertTable=t.assertGlobal=t.assertData=t.assertBlockComment=t.assertLeadingComment=t.assertGlobalType=t.assertStart=t.assertTypeInstruction=t.assertValtypeLiteral=t.assertIndexInFuncSection=t.assertElem=t.assertFloatLiteral=t.assertLongNumberLiteral=t.assertNumberLiteral=t.assertStringLiteral=t.assertIfInstruction=t.assertInstr=t.assertLoopInstruction=t.assertProducerMetadataVersionedName=t.assertProducerMetadata=t.assertProducersSectionMetadata=t.assertSectionMetadata=t.assertQuoteModule=t.assertBinaryModule=t.assertLocalNameMetadata=t.assertFunctionNameMetadata=t.assertModuleNameMetadata=t.assertModuleMetadata=t.assertModule=t.isIntrinsic=t.isImportDescr=t.isNumericLiteral=t.isExpression=t.isInstruction=t.isBlock=t.isNode=t.isInternalEndAndReturn=t.isInternalCallExtern=t.isInternalGoto=t.isInternalBrUnless=t.isFunc=t.isByteArray=t.isCallIndirectInstruction=t.isCallInstruction=t.isBlockInstruction=t.isIdentifier=t.isProgram=t.isSignature=t.isLimit=t.isModuleExport=t.isModuleExportDescr=t.isModuleImport=t.isFuncImportDescr=t.isMemory=t.isTable=t.isGlobal=t.isData=t.isBlockComment=t.isLeadingComment=t.isGlobalType=t.isStart=t.isTypeInstruction=t.isValtypeLiteral=t.isIndexInFuncSection=t.isElem=t.isFloatLiteral=t.isLongNumberLiteral=t.isNumberLiteral=t.isStringLiteral=t.isIfInstruction=t.isInstr=t.isLoopInstruction=t.isProducerMetadataVersionedName=t.isProducerMetadata=t.isProducersSectionMetadata=t.isSectionMetadata=t.isQuoteModule=t.isBinaryModule=t.isLocalNameMetadata=t.isFunctionNameMetadata=t.isModuleNameMetadata=t.isModuleMetadata=t.isModule=void 0;t.nodeAndUnionTypes=t.unionTypesMap=t.assertInternalEndAndReturn=void 0;function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function isTypeOf(e){return function(t){return t.type===e}}function assertTypeOf(e){return function(t){return function(){if(!(t.type===e)){throw new Error("n.type === t"+" error: "+(undefined||"unknown"))}}()}}function _module(e,t,n){if(e!==null&&e!==undefined){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||0))}}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof fields === "object" && typeof fields.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"Module",id:e,fields:t};if(typeof n!=="undefined"){r.metadata=n}return r}function moduleMetadata(e,t,n,r){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof sections === "object" && typeof sections.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(t!==null&&t!==undefined){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof functionNames === "object" && typeof functionNames.length !== "undefined"'+" error: "+(undefined||"unknown"))}}if(n!==null&&n!==undefined){if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof localNames === "object" && typeof localNames.length !== "undefined"'+" error: "+(undefined||"unknown"))}}if(r!==null&&r!==undefined){if(!(_typeof(r)==="object"&&typeof r.length!=="undefined")){throw new Error('typeof producers === "object" && typeof producers.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var i={type:"ModuleMetadata",sections:e};if(typeof t!=="undefined"&&t.length>0){i.functionNames=t}if(typeof n!=="undefined"&&n.length>0){i.localNames=n}if(typeof r!=="undefined"&&r.length>0){i.producers=r}return i}function moduleNameMetadata(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}var t={type:"ModuleNameMetadata",value:e};return t}function functionNameMetadata(e,t){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}if(!(typeof t==="number")){throw new Error('typeof index === "number"'+" error: "+("Argument index must be of type number, given: "+_typeof(t)||0))}var n={type:"FunctionNameMetadata",value:e,index:t};return n}function localNameMetadata(e,t,n){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}if(!(typeof t==="number")){throw new Error('typeof localIndex === "number"'+" error: "+("Argument localIndex must be of type number, given: "+_typeof(t)||0))}if(!(typeof n==="number")){throw new Error('typeof functionIndex === "number"'+" error: "+("Argument functionIndex must be of type number, given: "+_typeof(n)||0))}var r={type:"LocalNameMetadata",value:e,localIndex:t,functionIndex:n};return r}function binaryModule(e,t){if(e!==null&&e!==undefined){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||0))}}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof blob === "object" && typeof blob.length !== "undefined"'+" error: "+(undefined||"unknown"))}var n={type:"BinaryModule",id:e,blob:t};return n}function quoteModule(e,t){if(e!==null&&e!==undefined){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||0))}}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof string === "object" && typeof string.length !== "undefined"'+" error: "+(undefined||"unknown"))}var n={type:"QuoteModule",id:e,string:t};return n}function sectionMetadata(e,t,n,r){if(!(typeof t==="number")){throw new Error('typeof startOffset === "number"'+" error: "+("Argument startOffset must be of type number, given: "+_typeof(t)||0))}var i={type:"SectionMetadata",section:e,startOffset:t,size:n,vectorOfSize:r};return i}function producersSectionMetadata(e){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof producers === "object" && typeof producers.length !== "undefined"'+" error: "+(undefined||"unknown"))}var t={type:"ProducersSectionMetadata",producers:e};return t}function producerMetadata(e,t,n){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof language === "object" && typeof language.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof processedBy === "object" && typeof processedBy.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof sdk === "object" && typeof sdk.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"ProducerMetadata",language:e,processedBy:t,sdk:n};return r}function producerMetadataVersionedName(e,t){if(!(typeof e==="string")){throw new Error('typeof name === "string"'+" error: "+("Argument name must be of type string, given: "+_typeof(e)||0))}if(!(typeof t==="string")){throw new Error('typeof version === "string"'+" error: "+("Argument version must be of type string, given: "+_typeof(t)||0))}var n={type:"ProducerMetadataVersionedName",name:e,version:t};return n}function loopInstruction(e,t,n){if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof instr === "object" && typeof instr.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"LoopInstruction",id:"loop",label:e,resulttype:t,instr:n};return r}function instr(e,t,n,r){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||0))}if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof args === "object" && typeof args.length !== "undefined"'+" error: "+(undefined||"unknown"))}var i={type:"Instr",id:e,args:n};if(typeof t!=="undefined"){i.object=t}if(typeof r!=="undefined"&&Object.keys(r).length!==0){i.namedArgs=r}return i}function ifInstruction(e,t,n,r,i){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof test === "object" && typeof test.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(r)==="object"&&typeof r.length!=="undefined")){throw new Error('typeof consequent === "object" && typeof consequent.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(i)==="object"&&typeof i.length!=="undefined")){throw new Error('typeof alternate === "object" && typeof alternate.length !== "undefined"'+" error: "+(undefined||"unknown"))}var s={type:"IfInstruction",id:"if",testLabel:e,test:t,result:n,consequent:r,alternate:i};return s}function stringLiteral(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}var t={type:"StringLiteral",value:e};return t}function numberLiteral(e,t){if(!(typeof e==="number")){throw new Error('typeof value === "number"'+" error: "+("Argument value must be of type number, given: "+_typeof(e)||0))}if(!(typeof t==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(t)||0))}var n={type:"NumberLiteral",value:e,raw:t};return n}function longNumberLiteral(e,t){if(!(typeof t==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(t)||0))}var n={type:"LongNumberLiteral",value:e,raw:t};return n}function floatLiteral(e,t,n,r){if(!(typeof e==="number")){throw new Error('typeof value === "number"'+" error: "+("Argument value must be of type number, given: "+_typeof(e)||0))}if(t!==null&&t!==undefined){if(!(typeof t==="boolean")){throw new Error('typeof nan === "boolean"'+" error: "+("Argument nan must be of type boolean, given: "+_typeof(t)||0))}}if(n!==null&&n!==undefined){if(!(typeof n==="boolean")){throw new Error('typeof inf === "boolean"'+" error: "+("Argument inf must be of type boolean, given: "+_typeof(n)||0))}}if(!(typeof r==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(r)||0))}var i={type:"FloatLiteral",value:e,raw:r};if(t===true){i.nan=true}if(n===true){i.inf=true}return i}function elem(e,t,n){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof offset === "object" && typeof offset.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof funcs === "object" && typeof funcs.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"Elem",table:e,offset:t,funcs:n};return r}function indexInFuncSection(e){var t={type:"IndexInFuncSection",index:e};return t}function valtypeLiteral(e){var t={type:"ValtypeLiteral",name:e};return t}function typeInstruction(e,t){var n={type:"TypeInstruction",id:e,functype:t};return n}function start(e){var t={type:"Start",index:e};return t}function globalType(e,t){var n={type:"GlobalType",valtype:e,mutability:t};return n}function leadingComment(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}var t={type:"LeadingComment",value:e};return t}function blockComment(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}var t={type:"BlockComment",value:e};return t}function data(e,t,n){var r={type:"Data",memoryIndex:e,offset:t,init:n};return r}function global(e,t,n){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof init === "object" && typeof init.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"Global",globalType:e,init:t,name:n};return r}function table(e,t,n,r){if(!(t.type==="Limit")){throw new Error('limits.type === "Limit"'+" error: "+("Argument limits must be of type Limit, given: "+t.type||0))}if(r!==null&&r!==undefined){if(!(_typeof(r)==="object"&&typeof r.length!=="undefined")){throw new Error('typeof elements === "object" && typeof elements.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var i={type:"Table",elementType:e,limits:t,name:n};if(typeof r!=="undefined"&&r.length>0){i.elements=r}return i}function memory(e,t){var n={type:"Memory",limits:e,id:t};return n}function funcImportDescr(e,t){var n={type:"FuncImportDescr",id:e,signature:t};return n}function moduleImport(e,t,n){if(!(typeof e==="string")){throw new Error('typeof module === "string"'+" error: "+("Argument module must be of type string, given: "+_typeof(e)||0))}if(!(typeof t==="string")){throw new Error('typeof name === "string"'+" error: "+("Argument name must be of type string, given: "+_typeof(t)||0))}var r={type:"ModuleImport",module:e,name:t,descr:n};return r}function moduleExportDescr(e,t){var n={type:"ModuleExportDescr",exportType:e,id:t};return n}function moduleExport(e,t){if(!(typeof e==="string")){throw new Error('typeof name === "string"'+" error: "+("Argument name must be of type string, given: "+_typeof(e)||0))}var n={type:"ModuleExport",name:e,descr:t};return n}function limit(e,t){if(!(typeof e==="number")){throw new Error('typeof min === "number"'+" error: "+("Argument min must be of type number, given: "+_typeof(e)||0))}if(t!==null&&t!==undefined){if(!(typeof t==="number")){throw new Error('typeof max === "number"'+" error: "+("Argument max must be of type number, given: "+_typeof(t)||0))}}var n={type:"Limit",min:e};if(typeof t!=="undefined"){n.max=t}return n}function signature(e,t){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof params === "object" && typeof params.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof results === "object" && typeof results.length !== "undefined"'+" error: "+(undefined||"unknown"))}var n={type:"Signature",params:e,results:t};return n}function program(e){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof body === "object" && typeof body.length !== "undefined"'+" error: "+(undefined||"unknown"))}var t={type:"Program",body:e};return t}function identifier(e,t){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||0))}if(t!==null&&t!==undefined){if(!(typeof t==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(t)||0))}}var n={type:"Identifier",value:e};if(typeof t!=="undefined"){n.raw=t}return n}function blockInstruction(e,t,n){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof instr === "object" && typeof instr.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"BlockInstruction",id:"block",label:e,instr:t,result:n};return r}function callInstruction(e,t,n){if(t!==null&&t!==undefined){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof instrArgs === "object" && typeof instrArgs.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var r={type:"CallInstruction",id:"call",index:e};if(typeof t!=="undefined"&&t.length>0){r.instrArgs=t}if(typeof n!=="undefined"){r.numeric=n}return r}function callIndirectInstruction(e,t){if(t!==null&&t!==undefined){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof intrs === "object" && typeof intrs.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var n={type:"CallIndirectInstruction",id:"call_indirect",signature:e};if(typeof t!=="undefined"&&t.length>0){n.intrs=t}return n}function byteArray(e){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof values === "object" && typeof values.length !== "undefined"'+" error: "+(undefined||"unknown"))}var t={type:"ByteArray",values:e};return t}function func(e,t,n,r,i){if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof body === "object" && typeof body.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(r!==null&&r!==undefined){if(!(typeof r==="boolean")){throw new Error('typeof isExternal === "boolean"'+" error: "+("Argument isExternal must be of type boolean, given: "+_typeof(r)||0))}}var s={type:"Func",name:e,signature:t,body:n};if(r===true){s.isExternal=true}if(typeof i!=="undefined"){s.metadata=i}return s}function internalBrUnless(e){if(!(typeof e==="number")){throw new Error('typeof target === "number"'+" error: "+("Argument target must be of type number, given: "+_typeof(e)||0))}var t={type:"InternalBrUnless",target:e};return t}function internalGoto(e){if(!(typeof e==="number")){throw new Error('typeof target === "number"'+" error: "+("Argument target must be of type number, given: "+_typeof(e)||0))}var t={type:"InternalGoto",target:e};return t}function internalCallExtern(e){if(!(typeof e==="number")){throw new Error('typeof target === "number"'+" error: "+("Argument target must be of type number, given: "+_typeof(e)||0))}var t={type:"InternalCallExtern",target:e};return t}function internalEndAndReturn(){var e={type:"InternalEndAndReturn"};return e}var n=isTypeOf("Module");t.isModule=n;var r=isTypeOf("ModuleMetadata");t.isModuleMetadata=r;var i=isTypeOf("ModuleNameMetadata");t.isModuleNameMetadata=i;var s=isTypeOf("FunctionNameMetadata");t.isFunctionNameMetadata=s;var o=isTypeOf("LocalNameMetadata");t.isLocalNameMetadata=o;var a=isTypeOf("BinaryModule");t.isBinaryModule=a;var c=isTypeOf("QuoteModule");t.isQuoteModule=c;var u=isTypeOf("SectionMetadata");t.isSectionMetadata=u;var l=isTypeOf("ProducersSectionMetadata");t.isProducersSectionMetadata=l;var f=isTypeOf("ProducerMetadata");t.isProducerMetadata=f;var p=isTypeOf("ProducerMetadataVersionedName");t.isProducerMetadataVersionedName=p;var d=isTypeOf("LoopInstruction");t.isLoopInstruction=d;var h=isTypeOf("Instr");t.isInstr=h;var m=isTypeOf("IfInstruction");t.isIfInstruction=m;var g=isTypeOf("StringLiteral");t.isStringLiteral=g;var y=isTypeOf("NumberLiteral");t.isNumberLiteral=y;var v=isTypeOf("LongNumberLiteral");t.isLongNumberLiteral=v;var _=isTypeOf("FloatLiteral");t.isFloatLiteral=_;var b=isTypeOf("Elem");t.isElem=b;var E=isTypeOf("IndexInFuncSection");t.isIndexInFuncSection=E;var w=isTypeOf("ValtypeLiteral");t.isValtypeLiteral=w;var S=isTypeOf("TypeInstruction");t.isTypeInstruction=S;var k=isTypeOf("Start");t.isStart=k;var D=isTypeOf("GlobalType");t.isGlobalType=D;var x=isTypeOf("LeadingComment");t.isLeadingComment=x;var C=isTypeOf("BlockComment");t.isBlockComment=C;var A=isTypeOf("Data");t.isData=A;var T=isTypeOf("Global");t.isGlobal=T;var M=isTypeOf("Table");t.isTable=M;var O=isTypeOf("Memory");t.isMemory=O;var F=isTypeOf("FuncImportDescr");t.isFuncImportDescr=F;var I=isTypeOf("ModuleImport");t.isModuleImport=I;var R=isTypeOf("ModuleExportDescr");t.isModuleExportDescr=R;var P=isTypeOf("ModuleExport");t.isModuleExport=P;var N=isTypeOf("Limit");t.isLimit=N;var L=isTypeOf("Signature");t.isSignature=L;var B=isTypeOf("Program");t.isProgram=B;var j=isTypeOf("Identifier");t.isIdentifier=j;var U=isTypeOf("BlockInstruction");t.isBlockInstruction=U;var z=isTypeOf("CallInstruction");t.isCallInstruction=z;var H=isTypeOf("CallIndirectInstruction");t.isCallIndirectInstruction=H;var V=isTypeOf("ByteArray");t.isByteArray=V;var G=isTypeOf("Func");t.isFunc=G;var q=isTypeOf("InternalBrUnless");t.isInternalBrUnless=q;var W=isTypeOf("InternalGoto");t.isInternalGoto=W;var K=isTypeOf("InternalCallExtern");t.isInternalCallExtern=K;var X=isTypeOf("InternalEndAndReturn");t.isInternalEndAndReturn=X;var J=function isNode(e){return n(e)||r(e)||i(e)||s(e)||o(e)||a(e)||c(e)||u(e)||l(e)||f(e)||p(e)||d(e)||h(e)||m(e)||g(e)||y(e)||v(e)||_(e)||b(e)||E(e)||w(e)||S(e)||k(e)||D(e)||x(e)||C(e)||A(e)||T(e)||M(e)||O(e)||F(e)||I(e)||R(e)||P(e)||N(e)||L(e)||B(e)||j(e)||U(e)||z(e)||H(e)||V(e)||G(e)||q(e)||W(e)||K(e)||X(e)};t.isNode=J;var Y=function isBlock(e){return d(e)||U(e)||G(e)};t.isBlock=Y;var Q=function isInstruction(e){return d(e)||h(e)||m(e)||S(e)||U(e)||z(e)||H(e)};t.isInstruction=Q;var Z=function isExpression(e){return h(e)||g(e)||y(e)||v(e)||_(e)||w(e)||j(e)};t.isExpression=Z;var $=function isNumericLiteral(e){return y(e)||v(e)||_(e)};t.isNumericLiteral=$;var ee=function isImportDescr(e){return D(e)||M(e)||O(e)||F(e)};t.isImportDescr=ee;var te=function isIntrinsic(e){return q(e)||W(e)||K(e)||X(e)};t.isIntrinsic=te;var ne=assertTypeOf("Module");t.assertModule=ne;var re=assertTypeOf("ModuleMetadata");t.assertModuleMetadata=re;var ie=assertTypeOf("ModuleNameMetadata");t.assertModuleNameMetadata=ie;var se=assertTypeOf("FunctionNameMetadata");t.assertFunctionNameMetadata=se;var oe=assertTypeOf("LocalNameMetadata");t.assertLocalNameMetadata=oe;var ae=assertTypeOf("BinaryModule");t.assertBinaryModule=ae;var ce=assertTypeOf("QuoteModule");t.assertQuoteModule=ce;var ue=assertTypeOf("SectionMetadata");t.assertSectionMetadata=ue;var le=assertTypeOf("ProducersSectionMetadata");t.assertProducersSectionMetadata=le;var fe=assertTypeOf("ProducerMetadata");t.assertProducerMetadata=fe;var pe=assertTypeOf("ProducerMetadataVersionedName");t.assertProducerMetadataVersionedName=pe;var de=assertTypeOf("LoopInstruction");t.assertLoopInstruction=de;var he=assertTypeOf("Instr");t.assertInstr=he;var me=assertTypeOf("IfInstruction");t.assertIfInstruction=me;var ge=assertTypeOf("StringLiteral");t.assertStringLiteral=ge;var ye=assertTypeOf("NumberLiteral");t.assertNumberLiteral=ye;var ve=assertTypeOf("LongNumberLiteral");t.assertLongNumberLiteral=ve;var _e=assertTypeOf("FloatLiteral");t.assertFloatLiteral=_e;var be=assertTypeOf("Elem");t.assertElem=be;var Ee=assertTypeOf("IndexInFuncSection");t.assertIndexInFuncSection=Ee;var we=assertTypeOf("ValtypeLiteral");t.assertValtypeLiteral=we;var Se=assertTypeOf("TypeInstruction");t.assertTypeInstruction=Se;var ke=assertTypeOf("Start");t.assertStart=ke;var De=assertTypeOf("GlobalType");t.assertGlobalType=De;var xe=assertTypeOf("LeadingComment");t.assertLeadingComment=xe;var Ce=assertTypeOf("BlockComment");t.assertBlockComment=Ce;var Ae=assertTypeOf("Data");t.assertData=Ae;var Te=assertTypeOf("Global");t.assertGlobal=Te;var Me=assertTypeOf("Table");t.assertTable=Me;var Oe=assertTypeOf("Memory");t.assertMemory=Oe;var Fe=assertTypeOf("FuncImportDescr");t.assertFuncImportDescr=Fe;var Ie=assertTypeOf("ModuleImport");t.assertModuleImport=Ie;var Re=assertTypeOf("ModuleExportDescr");t.assertModuleExportDescr=Re;var Pe=assertTypeOf("ModuleExport");t.assertModuleExport=Pe;var Ne=assertTypeOf("Limit");t.assertLimit=Ne;var Le=assertTypeOf("Signature");t.assertSignature=Le;var Be=assertTypeOf("Program");t.assertProgram=Be;var je=assertTypeOf("Identifier");t.assertIdentifier=je;var Ue=assertTypeOf("BlockInstruction");t.assertBlockInstruction=Ue;var ze=assertTypeOf("CallInstruction");t.assertCallInstruction=ze;var He=assertTypeOf("CallIndirectInstruction");t.assertCallIndirectInstruction=He;var Ve=assertTypeOf("ByteArray");t.assertByteArray=Ve;var Ge=assertTypeOf("Func");t.assertFunc=Ge;var qe=assertTypeOf("InternalBrUnless");t.assertInternalBrUnless=qe;var We=assertTypeOf("InternalGoto");t.assertInternalGoto=We;var Ke=assertTypeOf("InternalCallExtern");t.assertInternalCallExtern=Ke;var Xe=assertTypeOf("InternalEndAndReturn");t.assertInternalEndAndReturn=Xe;var Je={Module:["Node"],ModuleMetadata:["Node"],ModuleNameMetadata:["Node"],FunctionNameMetadata:["Node"],LocalNameMetadata:["Node"],BinaryModule:["Node"],QuoteModule:["Node"],SectionMetadata:["Node"],ProducersSectionMetadata:["Node"],ProducerMetadata:["Node"],ProducerMetadataVersionedName:["Node"],LoopInstruction:["Node","Block","Instruction"],Instr:["Node","Expression","Instruction"],IfInstruction:["Node","Instruction"],StringLiteral:["Node","Expression"],NumberLiteral:["Node","NumericLiteral","Expression"],LongNumberLiteral:["Node","NumericLiteral","Expression"],FloatLiteral:["Node","NumericLiteral","Expression"],Elem:["Node"],IndexInFuncSection:["Node"],ValtypeLiteral:["Node","Expression"],TypeInstruction:["Node","Instruction"],Start:["Node"],GlobalType:["Node","ImportDescr"],LeadingComment:["Node"],BlockComment:["Node"],Data:["Node"],Global:["Node"],Table:["Node","ImportDescr"],Memory:["Node","ImportDescr"],FuncImportDescr:["Node","ImportDescr"],ModuleImport:["Node"],ModuleExportDescr:["Node"],ModuleExport:["Node"],Limit:["Node"],Signature:["Node"],Program:["Node"],Identifier:["Node","Expression"],BlockInstruction:["Node","Block","Instruction"],CallInstruction:["Node","Instruction"],CallIndirectInstruction:["Node","Instruction"],ByteArray:["Node"],Func:["Node","Block"],InternalBrUnless:["Node","Intrinsic"],InternalGoto:["Node","Intrinsic"],InternalCallExtern:["Node","Intrinsic"],InternalEndAndReturn:["Node","Intrinsic"]};t.unionTypesMap=Je;var Ye=["Module","ModuleMetadata","ModuleNameMetadata","FunctionNameMetadata","LocalNameMetadata","BinaryModule","QuoteModule","SectionMetadata","ProducersSectionMetadata","ProducerMetadata","ProducerMetadataVersionedName","LoopInstruction","Instr","IfInstruction","StringLiteral","NumberLiteral","LongNumberLiteral","FloatLiteral","Elem","IndexInFuncSection","ValtypeLiteral","TypeInstruction","Start","GlobalType","LeadingComment","BlockComment","Data","Global","Table","Memory","FuncImportDescr","ModuleImport","ModuleExportDescr","ModuleExport","Limit","Signature","Program","Identifier","BlockInstruction","CallInstruction","CallIndirectInstruction","ByteArray","Func","InternalBrUnless","InternalGoto","InternalCallExtern","InternalEndAndReturn","Node","Block","Instruction","Expression","NumericLiteral","ImportDescr","Intrinsic"];t.nodeAndUnionTypes=Ye},75769:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.signatures=void 0;function sign(e,t){return[e,t]}var n="u32";var r="i32";var i="i64";var s="f32";var o="f64";var a=function vector(e){var t=[e];t.vector=true;return t};var c={unreachable:sign([],[]),nop:sign([],[]),br:sign([n],[]),br_if:sign([n],[]),br_table:sign(a(n),[]),return:sign([],[]),call:sign([n],[]),call_indirect:sign([n],[])};var u={drop:sign([],[]),select:sign([],[])};var l={get_local:sign([n],[]),set_local:sign([n],[]),tee_local:sign([n],[]),get_global:sign([n],[]),set_global:sign([n],[])};var f={"i32.load":sign([n,n],[r]),"i64.load":sign([n,n],[]),"f32.load":sign([n,n],[]),"f64.load":sign([n,n],[]),"i32.load8_s":sign([n,n],[r]),"i32.load8_u":sign([n,n],[r]),"i32.load16_s":sign([n,n],[r]),"i32.load16_u":sign([n,n],[r]),"i64.load8_s":sign([n,n],[i]),"i64.load8_u":sign([n,n],[i]),"i64.load16_s":sign([n,n],[i]),"i64.load16_u":sign([n,n],[i]),"i64.load32_s":sign([n,n],[i]),"i64.load32_u":sign([n,n],[i]),"i32.store":sign([n,n],[]),"i64.store":sign([n,n],[]),"f32.store":sign([n,n],[]),"f64.store":sign([n,n],[]),"i32.store8":sign([n,n],[]),"i32.store16":sign([n,n],[]),"i64.store8":sign([n,n],[]),"i64.store16":sign([n,n],[]),"i64.store32":sign([n,n],[]),current_memory:sign([],[]),grow_memory:sign([],[])};var p={"i32.const":sign([r],[r]),"i64.const":sign([i],[i]),"f32.const":sign([s],[s]),"f64.const":sign([o],[o]),"i32.eqz":sign([r],[r]),"i32.eq":sign([r,r],[r]),"i32.ne":sign([r,r],[r]),"i32.lt_s":sign([r,r],[r]),"i32.lt_u":sign([r,r],[r]),"i32.gt_s":sign([r,r],[r]),"i32.gt_u":sign([r,r],[r]),"i32.le_s":sign([r,r],[r]),"i32.le_u":sign([r,r],[r]),"i32.ge_s":sign([r,r],[r]),"i32.ge_u":sign([r,r],[r]),"i64.eqz":sign([i],[i]),"i64.eq":sign([i,i],[r]),"i64.ne":sign([i,i],[r]),"i64.lt_s":sign([i,i],[r]),"i64.lt_u":sign([i,i],[r]),"i64.gt_s":sign([i,i],[r]),"i64.gt_u":sign([i,i],[r]),"i64.le_s":sign([i,i],[r]),"i64.le_u":sign([i,i],[r]),"i64.ge_s":sign([i,i],[r]),"i64.ge_u":sign([i,i],[r]),"f32.eq":sign([s,s],[r]),"f32.ne":sign([s,s],[r]),"f32.lt":sign([s,s],[r]),"f32.gt":sign([s,s],[r]),"f32.le":sign([s,s],[r]),"f32.ge":sign([s,s],[r]),"f64.eq":sign([o,o],[r]),"f64.ne":sign([o,o],[r]),"f64.lt":sign([o,o],[r]),"f64.gt":sign([o,o],[r]),"f64.le":sign([o,o],[r]),"f64.ge":sign([o,o],[r]),"i32.clz":sign([r],[r]),"i32.ctz":sign([r],[r]),"i32.popcnt":sign([r],[r]),"i32.add":sign([r,r],[r]),"i32.sub":sign([r,r],[r]),"i32.mul":sign([r,r],[r]),"i32.div_s":sign([r,r],[r]),"i32.div_u":sign([r,r],[r]),"i32.rem_s":sign([r,r],[r]),"i32.rem_u":sign([r,r],[r]),"i32.and":sign([r,r],[r]),"i32.or":sign([r,r],[r]),"i32.xor":sign([r,r],[r]),"i32.shl":sign([r,r],[r]),"i32.shr_s":sign([r,r],[r]),"i32.shr_u":sign([r,r],[r]),"i32.rotl":sign([r,r],[r]),"i32.rotr":sign([r,r],[r]),"i64.clz":sign([i],[i]),"i64.ctz":sign([i],[i]),"i64.popcnt":sign([i],[i]),"i64.add":sign([i,i],[i]),"i64.sub":sign([i,i],[i]),"i64.mul":sign([i,i],[i]),"i64.div_s":sign([i,i],[i]),"i64.div_u":sign([i,i],[i]),"i64.rem_s":sign([i,i],[i]),"i64.rem_u":sign([i,i],[i]),"i64.and":sign([i,i],[i]),"i64.or":sign([i,i],[i]),"i64.xor":sign([i,i],[i]),"i64.shl":sign([i,i],[i]),"i64.shr_s":sign([i,i],[i]),"i64.shr_u":sign([i,i],[i]),"i64.rotl":sign([i,i],[i]),"i64.rotr":sign([i,i],[i]),"f32.abs":sign([s],[s]),"f32.neg":sign([s],[s]),"f32.ceil":sign([s],[s]),"f32.floor":sign([s],[s]),"f32.trunc":sign([s],[s]),"f32.nearest":sign([s],[s]),"f32.sqrt":sign([s],[s]),"f32.add":sign([s,s],[s]),"f32.sub":sign([s,s],[s]),"f32.mul":sign([s,s],[s]),"f32.div":sign([s,s],[s]),"f32.min":sign([s,s],[s]),"f32.max":sign([s,s],[s]),"f32.copysign":sign([s,s],[s]),"f64.abs":sign([o],[o]),"f64.neg":sign([o],[o]),"f64.ceil":sign([o],[o]),"f64.floor":sign([o],[o]),"f64.trunc":sign([o],[o]),"f64.nearest":sign([o],[o]),"f64.sqrt":sign([o],[o]),"f64.add":sign([o,o],[o]),"f64.sub":sign([o,o],[o]),"f64.mul":sign([o,o],[o]),"f64.div":sign([o,o],[o]),"f64.min":sign([o,o],[o]),"f64.max":sign([o,o],[o]),"f64.copysign":sign([o,o],[o]),"i32.wrap/i64":sign([i],[r]),"i32.trunc_s/f32":sign([s],[r]),"i32.trunc_u/f32":sign([s],[r]),"i32.trunc_s/f64":sign([s],[r]),"i32.trunc_u/f64":sign([o],[r]),"i64.extend_s/i32":sign([r],[i]),"i64.extend_u/i32":sign([r],[i]),"i64.trunc_s/f32":sign([s],[i]),"i64.trunc_u/f32":sign([s],[i]),"i64.trunc_s/f64":sign([o],[i]),"i64.trunc_u/f64":sign([o],[i]),"f32.convert_s/i32":sign([r],[s]),"f32.convert_u/i32":sign([r],[s]),"f32.convert_s/i64":sign([i],[s]),"f32.convert_u/i64":sign([i],[s]),"f32.demote/f64":sign([o],[s]),"f64.convert_s/i32":sign([r],[o]),"f64.convert_u/i32":sign([r],[o]),"f64.convert_s/i64":sign([i],[o]),"f64.convert_u/i64":sign([i],[o]),"f64.promote/f32":sign([s],[o]),"i32.reinterpret/f32":sign([s],[r]),"i64.reinterpret/f64":sign([o],[i]),"f32.reinterpret/i32":sign([r],[s]),"f64.reinterpret/i64":sign([i],[o])};var d=Object.assign({},c,u,l,f,p);t.signatures=d},22056:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.traverse=traverse;var r=n(46166);var i=n(52696);function walk(e,t){var n=false;function innerWalk(e,t){if(n){return}var i=e.node;if(i===undefined){console.warn("traversing with an empty context");return}if(i._deleted===true){return}var s=(0,r.createPath)(e);t(i.type,s);if(s.shouldStop){n=true;return}Object.keys(i).forEach(function(e){var n=i[e];if(n===null||n===undefined){return}var r=Array.isArray(n)?n:[n];r.forEach(function(r){if(typeof r.type==="string"){var i={node:r,parentKey:e,parentPath:s,shouldStop:false,inList:Array.isArray(n)};innerWalk(i,t)}})})}innerWalk(e,t)}var s=function noop(){};function traverse(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:s;var r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:s;Object.keys(t).forEach(function(e){if(!i.nodeAndUnionTypes.includes(e)){throw new Error("Unexpected visitor ".concat(e))}});var o={node:e,inList:false,shouldStop:false,parentPath:null,parentKey:null};walk(o,function(e,s){if(typeof t[e]==="function"){n(e,s);t[e](s);r(e,s)}var o=i.unionTypesMap[e];if(!o){throw new Error("Unexpected node type ".concat(e))}o.forEach(function(e){if(typeof t[e]==="function"){n(e,s);t[e](s);r(e,s)}})})}},91764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isAnonymous=isAnonymous;t.getSectionMetadata=getSectionMetadata;t.getSectionMetadatas=getSectionMetadatas;t.sortSectionMetadata=sortSectionMetadata;t.orderedInsertNode=orderedInsertNode;t.assertHasLoc=assertHasLoc;t.getEndOfSection=getEndOfSection;t.shiftLoc=shiftLoc;t.shiftSection=shiftSection;t.signatureForOpcode=signatureForOpcode;t.getUniqueNameGenerator=getUniqueNameGenerator;t.getStartByteOffset=getStartByteOffset;t.getEndByteOffset=getEndByteOffset;t.getFunctionBeginingByteOffset=getFunctionBeginingByteOffset;t.getEndBlockByteOffset=getEndBlockByteOffset;t.getStartBlockByteOffset=getStartBlockByteOffset;var r=n(75769);var i=n(22056);var s=_interopRequireWildcard(n(3930));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _sliceIterator(e,t){var n=[];var r=true;var i=false;var s=undefined;try{for(var o=e[Symbol.iterator](),a;!(r=(a=o.next()).done);r=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){i=true;s=e}finally{try{if(!r&&o["return"]!=null)o["return"]()}finally{if(i)throw s}}return n}function _slicedToArray(e,t){if(Array.isArray(e)){return e}else if(Symbol.iterator in Object(e)){return _sliceIterator(e,t)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function isAnonymous(e){return e.raw===""}function getSectionMetadata(e,t){var n;(0,i.traverse)(e,{SectionMetadata:function(e){function SectionMetadata(t){return e.apply(this,arguments)}SectionMetadata.toString=function(){return e.toString()};return SectionMetadata}(function(e){var r=e.node;if(r.section===t){n=r}})});return n}function getSectionMetadatas(e,t){var n=[];(0,i.traverse)(e,{SectionMetadata:function(e){function SectionMetadata(t){return e.apply(this,arguments)}SectionMetadata.toString=function(){return e.toString()};return SectionMetadata}(function(e){var r=e.node;if(r.section===t){n.push(r)}})});return n}function sortSectionMetadata(e){if(e.metadata==null){console.warn("sortSectionMetadata: no metadata to sort");return}e.metadata.sections.sort(function(e,t){var n=s.default.sections[e.section];var r=s.default.sections[t.section];if(typeof n!=="number"||typeof r!=="number"){throw new Error("Section id not found")}return n-r})}function orderedInsertNode(e,t){assertHasLoc(t);var n=false;if(t.type==="ModuleExport"){e.fields.push(t);return}e.fields=e.fields.reduce(function(e,r){var i=Infinity;if(r.loc!=null){i=r.loc.end.column}if(n===false&&t.loc.start.column0&&arguments[0]!==undefined?arguments[0]:"temp";if(!(t in e)){e[t]=0}else{e[t]=e[t]+1}return t+"_"+e[t]}}function getStartByteOffset(e){if(typeof e.loc==="undefined"||typeof e.loc.start==="undefined"){throw new Error("Can not get byte offset without loc informations, node: "+String(e.id))}return e.loc.start.column}function getEndByteOffset(e){if(typeof e.loc==="undefined"||typeof e.loc.end==="undefined"){throw new Error("Can not get byte offset without loc informations, node: "+e.type)}return e.loc.end.column}function getFunctionBeginingByteOffset(e){if(!(e.body.length>0)){throw new Error("n.body.length > 0"+" error: "+(undefined||"unknown"))}var t=_slicedToArray(e.body,1),n=t[0];return getStartByteOffset(n)}function getEndBlockByteOffset(e){if(!(e.instr.length>0||e.body.length>0)){throw new Error("n.instr.length > 0 || n.body.length > 0"+" error: "+(undefined||"unknown"))}var t;if(e.instr){t=e.instr[e.instr.length-1]}if(e.body){t=e.body[e.body.length-1]}if(!(_typeof(t)==="object")){throw new Error('typeof lastInstruction === "object"'+" error: "+(undefined||"unknown"))}return getStartByteOffset(t)}function getStartBlockByteOffset(e){if(!(e.instr.length>0||e.body.length>0)){throw new Error("n.instr.length > 0 || n.body.length > 0"+" error: "+(undefined||"unknown"))}var t;if(e.instr){var n=_slicedToArray(e.instr,1);t=n[0]}if(e.body){var r=_slicedToArray(e.body,1);t=r[0]}if(!(_typeof(t)==="object")){throw new Error('typeof fistInstruction === "object"'+" error: "+(undefined||"unknown"))}return getStartByteOffset(t)}},18083:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=parse;function parse(e){e=e.toUpperCase();var t=e.indexOf("P");var n,r;if(t!==-1){n=e.substring(0,t);r=parseInt(e.substring(t+1))}else{n=e;r=0}var i=n.indexOf(".");if(i!==-1){var s=parseInt(n.substring(0,i),16);var o=Math.sign(s);s=o*s;var a=n.length-i-1;var c=parseInt(n.substring(i+1),16);var u=a>0?c/Math.pow(16,a):0;if(o===0){if(u===0){n=o}else{if(Object.is(o,-0)){n=-u}else{n=u}}}else{n=o*(s+u)}}else{n=parseInt(n,16)}return n*(t!==-1?Math.pow(2,r):1)}},35866:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LinkError=t.CompileError=t.RuntimeError=void 0;function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(e,t){if(t&&(_typeof(t)==="object"||typeof t==="function")){return t}if(!e){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _inherits(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}});if(t)Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t}var n=function(e){_inherits(RuntimeError,e);function RuntimeError(){_classCallCheck(this,RuntimeError);return _possibleConstructorReturn(this,(RuntimeError.__proto__||Object.getPrototypeOf(RuntimeError)).apply(this,arguments))}return RuntimeError}(Error);t.RuntimeError=n;var r=function(e){_inherits(CompileError,e);function CompileError(){_classCallCheck(this,CompileError);return _possibleConstructorReturn(this,(CompileError.__proto__||Object.getPrototypeOf(CompileError)).apply(this,arguments))}return CompileError}(Error);t.CompileError=r;var i=function(e){_inherits(LinkError,e);function LinkError(){_classCallCheck(this,LinkError);return _possibleConstructorReturn(this,(LinkError.__proto__||Object.getPrototypeOf(LinkError)).apply(this,arguments))}return LinkError}(Error);t.LinkError=i},3104:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.overrideBytesInBuffer=overrideBytesInBuffer;t.makeBuffer=makeBuffer;t.fromHexdump=fromHexdump;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.codeFrameFromAst=codeFrameFromAst;t.codeFrameFromSource=codeFrameFromSource;var r=n(82925);function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}var i=5;function repeat(e,t){return Array(t).fill(e).join("")}function codeFrameFromAst(e,t){return codeFrameFromSource((0,r.print)(e),t)}function codeFrameFromSource(e,t){var n=t.start,r=t.end;var s=1;if(_typeof(r)==="object"){s=r.column-n.column+1}return e.split("\n").reduce(function(e,t,r){if(Math.abs(n.line-r){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.makeTransition=makeTransition;t.FSM=void 0;function _sliceIterator(e,t){var n=[];var r=true;var i=false;var s=undefined;try{for(var o=e[Symbol.iterator](),a;!(r=(a=o.next()).done);r=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){i=true;s=e}finally{try{if(!r&&o["return"]!=null)o["return"]()}finally{if(i)throw s}}return n}function _slicedToArray(e,t){if(Array.isArray(e)){return e}else if(Symbol.iterator in Object(e)){return _sliceIterator(e,t)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(e,t){for(var n=0;n2&&arguments[2]!==undefined?arguments[2]:{},r=n.n,i=r===void 0?1:r,s=n.allowedSeparator;return function(n){if(s){if(n.input[n.ptr]===s){if(e.test(n.input.substring(n.ptr-1,n.ptr))){return[n.currentState,1]}else{return[n.terminatingState,0]}}}if(e.test(n.input.substring(n.ptr,n.ptr+i))){return[t,i]}return false}}function combineTransitions(e){return function(){var t=false;var n=e[this.currentState]||[];for(var r=0;r2&&arguments[2]!==undefined?arguments[2]:n;_classCallCheck(this,FSM);this.initialState=t;this.terminatingState=r;if(r===n||!e[r]){e[r]=[]}this.transitionFunction=combineTransitions.call(this,e)}_createClass(FSM,[{key:"run",value:function run(e){this.input=e;this.ptr=0;this.currentState=this.initialState;var t="";var n,r;while(this.currentState!==this.terminatingState&&this.ptr{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.moduleContextFromModuleAST=moduleContextFromModuleAST;t.ModuleContext=void 0;var r=n(98093);function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(e,t){for(var n=0;ne&&e>=0}},{key:"getLabel",value:function getLabel(e){return this.labels[e]}},{key:"popLabel",value:function popLabel(){this.labels.shift()}},{key:"hasLocal",value:function hasLocal(e){return typeof this.getLocal(e)!=="undefined"}},{key:"getLocal",value:function getLocal(e){return this.locals[e]}},{key:"addLocal",value:function addLocal(e){this.locals.push(e)}},{key:"addType",value:function addType(e){if(!(e.functype.type==="Signature")){throw new Error('type.functype.type === "Signature"'+" error: "+(undefined||"unknown"))}this.types.push(e.functype)}},{key:"hasType",value:function hasType(e){return this.types[e]!==undefined}},{key:"getType",value:function getType(e){return this.types[e]}},{key:"hasGlobal",value:function hasGlobal(e){return this.globals.length>e&&e>=0}},{key:"getGlobal",value:function getGlobal(e){return this.globals[e].type}},{key:"getGlobalOffsetByIdentifier",value:function getGlobalOffsetByIdentifier(e){if(!(typeof e==="string")){throw new Error('typeof name === "string"'+" error: "+(undefined||"unknown"))}return this.globalsOffsetByIdentifier[e]}},{key:"defineGlobal",value:function defineGlobal(e){var t=e.globalType.valtype;var n=e.globalType.mutability;this.globals.push({type:t,mutability:n});if(typeof e.name!=="undefined"){this.globalsOffsetByIdentifier[e.name.value]=this.globals.length-1}}},{key:"importGlobal",value:function importGlobal(e,t){this.globals.push({type:e,mutability:t})}},{key:"isMutableGlobal",value:function isMutableGlobal(e){return this.globals[e].mutability==="var"}},{key:"isImmutableGlobal",value:function isImmutableGlobal(e){return this.globals[e].mutability==="const"}},{key:"hasMemory",value:function hasMemory(e){return this.mems.length>e&&e>=0}},{key:"addMemory",value:function addMemory(e,t){this.mems.push({min:e,max:t})}},{key:"getMemory",value:function getMemory(e){return this.mems[e]}}]);return ModuleContext}();t.ModuleContext=i},3930:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"getSectionForNode",{enumerable:true,get:function get(){return r.getSectionForNode}});t.default=void 0;var r=n(55474);var i="illegal";var s=[0,97,115,109];var o=[1,0,0,0];function invertMap(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(e){return e};var n={};var r=Object.keys(e);for(var i=0,s=r.length;i2&&arguments[2]!==undefined?arguments[2]:0;return{name:e,object:t,numberOfArgs:n}}function createSymbol(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return{name:e,numberOfArgs:t}}var a={func:96,result:64};var c={0:"Func",1:"Table",2:"Mem",3:"Global"};var u=invertMap(c);var l={127:"i32",126:"i64",125:"f32",124:"f64",123:"v128"};var f=invertMap(l);var p={112:"anyfunc"};var d=Object.assign({},l,{64:null,127:"i32",126:"i64",125:"f32",124:"f64"});var h={0:"const",1:"var"};var m=invertMap(h);var g={0:"func",1:"table",2:"mem",3:"global"};var y={custom:0,type:1,import:2,func:3,table:4,memory:5,global:6,export:7,start:8,element:9,code:10,data:11};var v={0:createSymbol("unreachable"),1:createSymbol("nop"),2:createSymbol("block"),3:createSymbol("loop"),4:createSymbol("if"),5:createSymbol("else"),6:i,7:i,8:i,9:i,10:i,11:createSymbol("end"),12:createSymbol("br",1),13:createSymbol("br_if",1),14:createSymbol("br_table"),15:createSymbol("return"),16:createSymbol("call",1),17:createSymbol("call_indirect",2),18:i,19:i,20:i,21:i,22:i,23:i,24:i,25:i,26:createSymbol("drop"),27:createSymbol("select"),28:i,29:i,30:i,31:i,32:createSymbol("get_local",1),33:createSymbol("set_local",1),34:createSymbol("tee_local",1),35:createSymbol("get_global",1),36:createSymbol("set_global",1),37:i,38:i,39:i,40:createSymbolObject("load","u32",1),41:createSymbolObject("load","u64",1),42:createSymbolObject("load","f32",1),43:createSymbolObject("load","f64",1),44:createSymbolObject("load8_s","u32",1),45:createSymbolObject("load8_u","u32",1),46:createSymbolObject("load16_s","u32",1),47:createSymbolObject("load16_u","u32",1),48:createSymbolObject("load8_s","u64",1),49:createSymbolObject("load8_u","u64",1),50:createSymbolObject("load16_s","u64",1),51:createSymbolObject("load16_u","u64",1),52:createSymbolObject("load32_s","u64",1),53:createSymbolObject("load32_u","u64",1),54:createSymbolObject("store","u32",1),55:createSymbolObject("store","u64",1),56:createSymbolObject("store","f32",1),57:createSymbolObject("store","f64",1),58:createSymbolObject("store8","u32",1),59:createSymbolObject("store16","u32",1),60:createSymbolObject("store8","u64",1),61:createSymbolObject("store16","u64",1),62:createSymbolObject("store32","u64",1),63:createSymbolObject("current_memory"),64:createSymbolObject("grow_memory"),65:createSymbolObject("const","i32",1),66:createSymbolObject("const","i64",1),67:createSymbolObject("const","f32",1),68:createSymbolObject("const","f64",1),69:createSymbolObject("eqz","i32"),70:createSymbolObject("eq","i32"),71:createSymbolObject("ne","i32"),72:createSymbolObject("lt_s","i32"),73:createSymbolObject("lt_u","i32"),74:createSymbolObject("gt_s","i32"),75:createSymbolObject("gt_u","i32"),76:createSymbolObject("le_s","i32"),77:createSymbolObject("le_u","i32"),78:createSymbolObject("ge_s","i32"),79:createSymbolObject("ge_u","i32"),80:createSymbolObject("eqz","i64"),81:createSymbolObject("eq","i64"),82:createSymbolObject("ne","i64"),83:createSymbolObject("lt_s","i64"),84:createSymbolObject("lt_u","i64"),85:createSymbolObject("gt_s","i64"),86:createSymbolObject("gt_u","i64"),87:createSymbolObject("le_s","i64"),88:createSymbolObject("le_u","i64"),89:createSymbolObject("ge_s","i64"),90:createSymbolObject("ge_u","i64"),91:createSymbolObject("eq","f32"),92:createSymbolObject("ne","f32"),93:createSymbolObject("lt","f32"),94:createSymbolObject("gt","f32"),95:createSymbolObject("le","f32"),96:createSymbolObject("ge","f32"),97:createSymbolObject("eq","f64"),98:createSymbolObject("ne","f64"),99:createSymbolObject("lt","f64"),100:createSymbolObject("gt","f64"),101:createSymbolObject("le","f64"),102:createSymbolObject("ge","f64"),103:createSymbolObject("clz","i32"),104:createSymbolObject("ctz","i32"),105:createSymbolObject("popcnt","i32"),106:createSymbolObject("add","i32"),107:createSymbolObject("sub","i32"),108:createSymbolObject("mul","i32"),109:createSymbolObject("div_s","i32"),110:createSymbolObject("div_u","i32"),111:createSymbolObject("rem_s","i32"),112:createSymbolObject("rem_u","i32"),113:createSymbolObject("and","i32"),114:createSymbolObject("or","i32"),115:createSymbolObject("xor","i32"),116:createSymbolObject("shl","i32"),117:createSymbolObject("shr_s","i32"),118:createSymbolObject("shr_u","i32"),119:createSymbolObject("rotl","i32"),120:createSymbolObject("rotr","i32"),121:createSymbolObject("clz","i64"),122:createSymbolObject("ctz","i64"),123:createSymbolObject("popcnt","i64"),124:createSymbolObject("add","i64"),125:createSymbolObject("sub","i64"),126:createSymbolObject("mul","i64"),127:createSymbolObject("div_s","i64"),128:createSymbolObject("div_u","i64"),129:createSymbolObject("rem_s","i64"),130:createSymbolObject("rem_u","i64"),131:createSymbolObject("and","i64"),132:createSymbolObject("or","i64"),133:createSymbolObject("xor","i64"),134:createSymbolObject("shl","i64"),135:createSymbolObject("shr_s","i64"),136:createSymbolObject("shr_u","i64"),137:createSymbolObject("rotl","i64"),138:createSymbolObject("rotr","i64"),139:createSymbolObject("abs","f32"),140:createSymbolObject("neg","f32"),141:createSymbolObject("ceil","f32"),142:createSymbolObject("floor","f32"),143:createSymbolObject("trunc","f32"),144:createSymbolObject("nearest","f32"),145:createSymbolObject("sqrt","f32"),146:createSymbolObject("add","f32"),147:createSymbolObject("sub","f32"),148:createSymbolObject("mul","f32"),149:createSymbolObject("div","f32"),150:createSymbolObject("min","f32"),151:createSymbolObject("max","f32"),152:createSymbolObject("copysign","f32"),153:createSymbolObject("abs","f64"),154:createSymbolObject("neg","f64"),155:createSymbolObject("ceil","f64"),156:createSymbolObject("floor","f64"),157:createSymbolObject("trunc","f64"),158:createSymbolObject("nearest","f64"),159:createSymbolObject("sqrt","f64"),160:createSymbolObject("add","f64"),161:createSymbolObject("sub","f64"),162:createSymbolObject("mul","f64"),163:createSymbolObject("div","f64"),164:createSymbolObject("min","f64"),165:createSymbolObject("max","f64"),166:createSymbolObject("copysign","f64"),167:createSymbolObject("wrap/i64","i32"),168:createSymbolObject("trunc_s/f32","i32"),169:createSymbolObject("trunc_u/f32","i32"),170:createSymbolObject("trunc_s/f64","i32"),171:createSymbolObject("trunc_u/f64","i32"),172:createSymbolObject("extend_s/i32","i64"),173:createSymbolObject("extend_u/i32","i64"),174:createSymbolObject("trunc_s/f32","i64"),175:createSymbolObject("trunc_u/f32","i64"),176:createSymbolObject("trunc_s/f64","i64"),177:createSymbolObject("trunc_u/f64","i64"),178:createSymbolObject("convert_s/i32","f32"),179:createSymbolObject("convert_u/i32","f32"),180:createSymbolObject("convert_s/i64","f32"),181:createSymbolObject("convert_u/i64","f32"),182:createSymbolObject("demote/f64","f32"),183:createSymbolObject("convert_s/i32","f64"),184:createSymbolObject("convert_u/i32","f64"),185:createSymbolObject("convert_s/i64","f64"),186:createSymbolObject("convert_u/i64","f64"),187:createSymbolObject("promote/f32","f64"),188:createSymbolObject("reinterpret/f32","i32"),189:createSymbolObject("reinterpret/f64","i64"),190:createSymbolObject("reinterpret/i32","f32"),191:createSymbolObject("reinterpret/i64","f64")};var _=invertMap(v,function(e){if(typeof e.object==="string"){return"".concat(e.object,".").concat(e.name)}return e.name});var b={symbolsByByte:v,sections:y,magicModuleHeader:s,moduleVersion:o,types:a,valtypes:l,exportTypes:c,blockTypes:d,tableTypes:p,globalTypes:h,importTypes:g,valtypesByString:f,globalTypesByString:m,exportTypesByName:u,symbolsByName:_};t.default=b},55474:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getSectionForNode=getSectionForNode;function getSectionForNode(e){switch(e.type){case"ModuleImport":return"import";case"CallInstruction":case"CallIndirectInstruction":case"Func":case"Instr":return"code";case"ModuleExport":return"export";case"Start":return"start";case"TypeInstruction":return"type";case"IndexInFuncSection":return"func";case"Global":return"global";default:return}}},97961:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createEmptySection=createEmptySection;var r=n(44166);var i=n(3104);var s=_interopRequireDefault(n(3930));var o=_interopRequireWildcard(n(98093));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function findLastSection(e,t){var n=s.default.sections[t];var r=e.body[0].metadata.sections;var i;var o=0;for(var a=0,c=r.length;ao&&n{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"resizeSectionByteSize",{enumerable:true,get:function get(){return r.resizeSectionByteSize}});Object.defineProperty(t,"resizeSectionVecSize",{enumerable:true,get:function get(){return r.resizeSectionVecSize}});Object.defineProperty(t,"createEmptySection",{enumerable:true,get:function get(){return i.createEmptySection}});Object.defineProperty(t,"removeSections",{enumerable:true,get:function get(){return s.removeSections}});var r=n(35369);var i=n(97961);var s=n(96744)},96744:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.removeSections=removeSections;var r=n(98093);var i=n(3104);function removeSections(e,t,n){var s=(0,r.getSectionMetadatas)(e,n);if(s.length===0){throw new Error("Section metadata not found")}return s.reverse().reduce(function(t,s){var o=s.startOffset-1;var a=n==="start"?s.size.loc.end.column+1:s.startOffset+s.size.value+1;var c=-(a-o);var u=false;(0,r.traverse)(e,{SectionMetadata:function SectionMetadata(t){if(t.node.section===n){u=true;return t.remove()}if(u===true){(0,r.shiftSection)(e,t.node,c)}}});var l=[];return(0,i.overrideBytesInBuffer)(t,o,a,l)},t)}},35369:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.resizeSectionByteSize=resizeSectionByteSize;t.resizeSectionVecSize=resizeSectionVecSize;var r=n(44166);var i=n(98093);var s=n(3104);function resizeSectionByteSize(e,t,n,o){var a=(0,i.getSectionMetadata)(e,n);if(typeof a==="undefined"){throw new Error("Section metadata not found")}if(typeof a.size.loc==="undefined"){throw new Error("SectionMetadata "+n+" has no loc")}var c=a.size.loc.start.column;var u=a.size.loc.end.column;var l=a.size.value+o;var f=(0,r.encodeU32)(l);a.size.value=l;var p=u-c;var d=f.length;if(d!==p){var h=d-p;a.size.loc.end.column=c+d;o+=h;a.vectorOfSize.loc.start.column+=h;a.vectorOfSize.loc.end.column+=h}var m=false;(0,i.traverse)(e,{SectionMetadata:function SectionMetadata(t){if(t.node.section===n){m=true;return}if(m===true){(0,i.shiftSection)(e,t.node,o)}}});return(0,s.overrideBytesInBuffer)(t,c,u,f)}function resizeSectionVecSize(e,t,n,o){var a=(0,i.getSectionMetadata)(e,n);if(typeof a==="undefined"){throw new Error("Section metadata not found")}if(typeof a.vectorOfSize.loc==="undefined"){throw new Error("SectionMetadata "+n+" has no loc")}if(a.vectorOfSize.value===-1){return t}var c=a.vectorOfSize.loc.start.column;var u=a.vectorOfSize.loc.end.column;var l=a.vectorOfSize.value+o;var f=(0,r.encodeU32)(l);a.vectorOfSize.value=l;a.vectorOfSize.loc.end.column=c+f.length;return(0,s.overrideBytesInBuffer)(t,c,u,f)}},48:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encodeF32=encodeF32;t.encodeF64=encodeF64;t.decodeF32=decodeF32;t.decodeF64=decodeF64;t.DOUBLE_PRECISION_MANTISSA=t.SINGLE_PRECISION_MANTISSA=t.NUMBER_OF_BYTE_F64=t.NUMBER_OF_BYTE_F32=void 0;var r=n(3158);var i=4;t.NUMBER_OF_BYTE_F32=i;var s=8;t.NUMBER_OF_BYTE_F64=s;var o=23;t.SINGLE_PRECISION_MANTISSA=o;var a=52;t.DOUBLE_PRECISION_MANTISSA=a;function encodeF32(e){var t=[];(0,r.write)(t,e,0,true,o,i);return t}function encodeF64(e){var t=[];(0,r.write)(t,e,0,true,a,s);return t}function decodeF32(e){var t=Buffer.from(e);return(0,r.read)(t,0,true,o,i)}function decodeF64(e){var t=Buffer.from(e);return(0,r.read)(t,0,true,a,s)}},90683:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.extract=extract;t.inject=inject;t.getSign=getSign;t.highOrder=highOrder;function extract(e,t,n,r){if(n<0||n>32){throw new Error("Bad value for bitLength.")}if(r===undefined){r=0}else if(r!==0&&r!==1){throw new Error("Bad value for defaultBit.")}var i=r*255;var s=0;var o=t+n;var a=Math.floor(t/8);var c=t%8;var u=Math.floor(o/8);var l=o%8;if(l!==0){s=get(u)&(1<a){u--;s=s<<8|get(u)}s>>>=c;return s;function get(t){var n=e[t];return n===undefined?i:n}}function inject(e,t,n,r){if(n<0||n>32){throw new Error("Bad value for bitLength.")}var i=Math.floor((t+n-1)/8);if(t<0||i>=e.length){throw new Error("Index out of range.")}var s=Math.floor(t/8);var o=t%8;while(n>0){if(r&1){e[s]|=1<>=1;n--;o=(o+1)%8;if(o===0){s++}}}function getSign(e){return e[e.length-1]>>>7}function highOrder(e,t){var n=t.length;var r=(e^1)*255;while(n>0&&t[n-1]===r){n--}if(n===0){return-1}var i=t[n-1];var s=n*8-1;for(var o=7;o>0;o--){if((i>>o&1)===e){break}s--}return s}},1779:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.alloc=alloc;t.free=free;t.resize=resize;t.readInt=readInt;t.readUInt=readUInt;t.writeInt64=writeInt64;t.writeUInt64=writeUInt64;var n=[];var r=20;var i=-0x8000000000000000;var s=0x7ffffffffffffc00;var o=0xfffffffffffff800;var a=4294967296;var c=0x10000000000000000;function lowestBit(e){return e&-e}function isLossyToAdd(e,t){if(t===0){return false}var n=lowestBit(t);var r=e+n;if(r===e){return true}if(r-n!==e){return true}return false}function alloc(e){var t=n[e];if(t){n[e]=undefined}else{t=new Buffer(e)}t.fill(0);return t}function free(e){var t=e.length;if(t=0;s--){r=r*256+e[s]}}else{for(var o=t-1;o>=0;o--){var a=e[o];r*=256;if(isLossyToAdd(r,a)){i=true}r+=a}}return{value:r,lossy:i}}function readUInt(e){var t=e.length;var n=0;var r=false;if(t<7){for(var i=t-1;i>=0;i--){n=n*256+e[i]}}else{for(var s=t-1;s>=0;s--){var o=e[s];n*=256;if(isLossyToAdd(n,o)){r=true}n+=o}}return{value:n,lossy:r}}function writeInt64(e,t){if(es){throw new Error("Value out of range.")}if(e<0){e+=c}writeUInt64(e,t)}function writeUInt64(e,t){if(e<0||e>o){throw new Error("Value out of range.")}var n=e%a;var r=Math.floor(e/a);t.writeUInt32LE(n,0);t.writeUInt32LE(r,4)}},39784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decodeInt64=decodeInt64;t.decodeUInt64=decodeUInt64;t.decodeInt32=decodeInt32;t.decodeUInt32=decodeUInt32;t.encodeU32=encodeU32;t.encodeI32=encodeI32;t.encodeI64=encodeI64;t.MAX_NUMBER_OF_BYTE_U64=t.MAX_NUMBER_OF_BYTE_U32=void 0;var r=_interopRequireDefault(n(83082));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var i=5;t.MAX_NUMBER_OF_BYTE_U32=i;var s=10;t.MAX_NUMBER_OF_BYTE_U64=s;function decodeInt64(e,t){return r.default.decodeInt64(e,t)}function decodeUInt64(e,t){return r.default.decodeUInt64(e,t)}function decodeInt32(e,t){return r.default.decodeInt32(e,t)}function decodeUInt32(e,t){return r.default.decodeUInt32(e,t)}function encodeU32(e){return r.default.encodeUInt32(e)}function encodeI32(e){return r.default.encodeInt32(e)}function encodeI64(e){return r.default.encodeInt64(e)}},83082:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(11174));var i=_interopRequireWildcard(n(90683));var s=_interopRequireWildcard(n(1779));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var o=-2147483648;var a=2147483647;var c=4294967295;function signedBitCount(e){return i.highOrder(i.getSign(e)^1,e)+2}function unsignedBitCount(e){var t=i.highOrder(1,e)+1;return t?t:1}function encodeBufferCommon(e,t){var n;var r;if(t){n=i.getSign(e);r=signedBitCount(e)}else{n=0;r=unsignedBitCount(e)}var o=Math.ceil(r/7);var a=s.alloc(o);for(var c=0;c=128){n++}n++;if(t+n>e.length){}return n}function decodeBufferCommon(e,t,n){t=t===undefined?0:t;var r=encodedLength(e,t);var o=r*7;var a=Math.ceil(o/8);var c=s.alloc(a);var u=0;while(r>0){i.inject(c,u,7,e[t]);u+=7;t++;r--}var l;var f;if(n){var p=c[a-1];var d=u%8;if(d!==0){var h=32-d;p=c[a-1]=p<>h&255}l=p>>7;f=l*255}else{l=0;f=0}while(a>1&&c[a-1]===f&&(!n||c[a-2]>>7===l)){a--}c=s.resize(c,a);return{value:c,nextIndex:t}}function encodeIntBuffer(e){return encodeBufferCommon(e,true)}function decodeIntBuffer(e,t){return decodeBufferCommon(e,t,true)}function encodeInt32(e){var t=s.alloc(4);t.writeInt32LE(e,0);var n=encodeIntBuffer(t);s.free(t);return n}function decodeInt32(e,t){var n=decodeIntBuffer(e,t);var r=s.readInt(n.value);var i=r.value;s.free(n.value);if(ia){throw new Error("integer too large")}return{value:i,nextIndex:n.nextIndex}}function encodeInt64(e){var t=s.alloc(8);s.writeInt64(e,t);var n=encodeIntBuffer(t);s.free(t);return n}function decodeInt64(e,t){var n=decodeIntBuffer(e,t);var i=r.default.fromBytesLE(n.value,false);s.free(n.value);return{value:i,nextIndex:n.nextIndex,lossy:false}}function encodeUIntBuffer(e){return encodeBufferCommon(e,false)}function decodeUIntBuffer(e,t){return decodeBufferCommon(e,t,false)}function encodeUInt32(e){var t=s.alloc(4);t.writeUInt32LE(e,0);var n=encodeUIntBuffer(t);s.free(t);return n}function decodeUInt32(e,t){var n=decodeUIntBuffer(e,t);var r=s.readUInt(n.value);var i=r.value;s.free(n.value);if(i>c){throw new Error("integer too large")}return{value:i,nextIndex:n.nextIndex}}function encodeUInt64(e){var t=s.alloc(8);s.writeUInt64(e,t);var n=encodeUIntBuffer(t);s.free(t);return n}function decodeUInt64(e,t){var n=decodeUIntBuffer(e,t);var i=r.default.fromBytesLE(n.value,true);s.free(n.value);return{value:i,nextIndex:n.nextIndex,lossy:false}}var u={decodeInt32:decodeInt32,decodeInt64:decodeInt64,decodeIntBuffer:decodeIntBuffer,decodeUInt32:decodeUInt32,decodeUInt64:decodeUInt64,decodeUIntBuffer:decodeUIntBuffer,encodeInt32:encodeInt32,encodeInt64:encodeInt64,encodeIntBuffer:encodeIntBuffer,encodeUInt32:encodeUInt32,encodeUInt64:encodeUInt64,encodeUIntBuffer:encodeUIntBuffer};t.default=u},85589:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decode=decode;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=65536){throw new Error("invalid UTF-8 encoding")}else{return t}}function decode(e){return _decode(e).map(function(e){return String.fromCharCode(e)}).join("")}function _decode(e){if(e.length===0){return[]}{var t=_toArray(e),n=t[0],r=t.slice(1);if(n<128){return[code(0,n)].concat(_toConsumableArray(_decode(r)))}if(n<192){throw new Error("invalid UTF-8 encoding")}}{var i=_toArray(e),s=i[0],o=i[1],a=i.slice(2);if(s<224){return[code(128,((s&31)<<6)+con(o))].concat(_toConsumableArray(_decode(a)))}}{var c=_toArray(e),u=c[0],l=c[1],f=c[2],p=c.slice(3);if(u<240){return[code(2048,((u&15)<<12)+(con(l)<<6)+con(f))].concat(_toConsumableArray(_decode(p)))}}{var d=_toArray(e),h=d[0],m=d[1],g=d[2],y=d[3],v=d.slice(4);if(h<248){return[code(65536,(((h&7)<<18)+con(m)<<12)+(con(g)<<6)+con(y))].concat(_toConsumableArray(_decode(v)))}}throw new Error("invalid UTF-8 encoding")}},56264:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encode=encode;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t>>6,con(n)].concat(_toConsumableArray(_encode(r)))}if(n<65536){return[224|n>>>12,con(n>>>6),con(n)].concat(_toConsumableArray(_encode(r)))}if(n<1114112){return[240|n>>>18,con(n>>>12),con(n>>>6),con(n)].concat(_toConsumableArray(_encode(r)))}throw new Error("utf8")}},38040:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"decode",{enumerable:true,get:function get(){return r.decode}});Object.defineProperty(t,"encode",{enumerable:true,get:function get(){return i.encode}});var r=n(85589);var i=n(56264)},17467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.applyOperations=applyOperations;var r=n(44166);var i=n(77445);var s=n(98093);var o=n(77246);var a=n(3104);var c=n(3930);function _sliceIterator(e,t){var n=[];var r=true;var i=false;var s=undefined;try{for(var o=e[Symbol.iterator](),a;!(r=(a=o.next()).done);r=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){i=true;s=e}finally{try{if(!r&&o["return"]!=null)o["return"]()}finally{if(i)throw s}}return n}function _slicedToArray(e,t){if(Array.isArray(e)){return e}else if(Symbol.iterator in Object(e)){return _sliceIterator(e,t)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}function shiftLocNodeByDelta(e,t){(0,s.assertHasLoc)(e);e.loc.start.column+=t;e.loc.end.column+=t}function applyUpdate(e,t,n){var o=_slicedToArray(n,2),u=o[0],l=o[1];var f=0;(0,s.assertHasLoc)(u);var p=(0,c.getSectionForNode)(l);var d=(0,r.encodeNode)(l);t=(0,a.overrideBytesInBuffer)(t,u.loc.start.column,u.loc.end.column,d);if(p==="code"){(0,s.traverse)(e,{Func:function Func(e){var n=e.node;var o=n.body.find(function(e){return e===l})!==undefined;if(o===true){(0,s.assertHasLoc)(n);var c=(0,r.encodeNode)(u).length;var f=d.length-c;if(f!==0){var p=n.metadata.bodySize+f;var h=(0,i.encodeU32)(p);var m=n.loc.start.column;var g=m+1;t=(0,a.overrideBytesInBuffer)(t,m,g,h)}}}})}var h=d.length-(u.loc.end.column-u.loc.start.column);l.loc={start:{line:-1,column:-1},end:{line:-1,column:-1}};l.loc.start.column=u.loc.start.column;l.loc.end.column=u.loc.start.column+d.length;return{uint8Buffer:t,deltaBytes:h,deltaElements:f}}function applyDelete(e,t,n){var r=-1;(0,s.assertHasLoc)(n);var i=(0,c.getSectionForNode)(n);if(i==="start"){var u=(0,s.getSectionMetadata)(e,"start");t=(0,o.removeSections)(e,t,"start");var l=-(u.size.value+1);return{uint8Buffer:t,deltaBytes:l,deltaElements:r}}var f=[];t=(0,a.overrideBytesInBuffer)(t,n.loc.start.column,n.loc.end.column,f);var p=-(n.loc.end.column-n.loc.start.column);return{uint8Buffer:t,deltaBytes:p,deltaElements:r}}function applyAdd(e,t,n){var i=+1;var u=(0,c.getSectionForNode)(n);var l=(0,s.getSectionMetadata)(e,u);if(typeof l==="undefined"){var f=(0,o.createEmptySection)(e,t,u);t=f.uint8Buffer;l=f.sectionMetadata}if((0,s.isFunc)(n)){var p=n.body;if(p.length===0||p[p.length-1].id!=="end"){throw new Error("expressions must be ended")}}if((0,s.isGlobal)(n)){var p=n.init;if(p.length===0||p[p.length-1].id!=="end"){throw new Error("expressions must be ended")}}var d=(0,r.encodeNode)(n);var h=(0,s.getEndOfSection)(l);var m=h;var g=d.length;t=(0,a.overrideBytesInBuffer)(t,h,m,d);n.loc={start:{line:-1,column:h},end:{line:-1,column:h+g}};if(n.type==="Func"){var y=d[0];n.metadata={bodySize:y}}if(n.type!=="IndexInFuncSection"){(0,s.orderedInsertNode)(e.body[0],n)}return{uint8Buffer:t,deltaBytes:g,deltaElements:i}}function applyOperations(e,t,n){n.forEach(function(r){var i;var s;switch(r.kind){case"update":i=applyUpdate(e,t,[r.oldNode,r.node]);s=(0,c.getSectionForNode)(r.node);break;case"delete":i=applyDelete(e,t,r.node);s=(0,c.getSectionForNode)(r.node);break;case"add":i=applyAdd(e,t,r.node);s=(0,c.getSectionForNode)(r.node);break;default:throw new Error("Unknown operation")}if(i.deltaElements!==0&&s!=="start"){var a=i.uint8Buffer.length;i.uint8Buffer=(0,o.resizeSectionVecSize)(e,i.uint8Buffer,s,i.deltaElements);i.deltaBytes+=i.uint8Buffer.length-a}if(i.deltaBytes!==0&&s!=="start"){var u=i.uint8Buffer.length;i.uint8Buffer=(0,o.resizeSectionByteSize)(e,i.uint8Buffer,s,i.deltaBytes);i.deltaBytes+=i.uint8Buffer.length-u}if(i.deltaBytes!==0){n.forEach(function(e){switch(e.kind){case"update":shiftLocNodeByDelta(e.oldNode,i.deltaBytes);break;case"delete":shiftLocNodeByDelta(e.node,i.deltaBytes);break}})}t=i.uint8Buffer});return t}},226:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.edit=edit;t.editWithAST=editWithAST;t.add=add;t.addWithAST=addWithAST;var r=n(73432);var i=n(98093);var s=n(70797);var o=n(53620);var a=_interopRequireWildcard(n(3930));var c=n(17467);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function hashNode(e){return JSON.stringify(e)}function preprocess(e){var t=(0,o.shrinkPaddedLEB128)(new Uint8Array(e));return t.buffer}function sortBySectionOrder(e){var t=new Map;var n=true;var r=false;var i=undefined;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done);n=true){var c=o.value;t.set(c,t.size)}}catch(e){r=true;i=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw i}}}e.sort(function(e,n){var r=(0,a.getSectionForNode)(e);var i=(0,a.getSectionForNode)(n);var s=a.default.sections[r];var o=a.default.sections[i];if(typeof s!=="number"||typeof o!=="number"){throw new Error("Section id not found")}if(s===o){return t.get(e)-t.get(n)}return s-o})}function edit(e,t){e=preprocess(e);var n=(0,r.decode)(e);return editWithAST(n,e,t)}function editWithAST(e,t,n){var r=[];var o=new Uint8Array(t);var a;function before(e,t){a=(0,s.cloneNode)(t.node)}function after(e,t){if(t.node._deleted===true){r.push({kind:"delete",node:t.node})}else if(hashNode(a)!==hashNode(t.node)){r.push({kind:"update",oldNode:a,node:t.node})}}(0,i.traverse)(e,n,before,after);o=(0,c.applyOperations)(e,o,r);return o.buffer}function add(e,t){e=preprocess(e);var n=(0,r.decode)(e);return addWithAST(n,e,t)}function addWithAST(e,t,n){sortBySectionOrder(n);var r=new Uint8Array(t);var i=n.map(function(e){return{kind:"add",node:e}});r=(0,c.applyOperations)(e,r,i);return r.buffer}},77445:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encodeVersion=encodeVersion;t.encodeHeader=encodeHeader;t.encodeU32=encodeU32;t.encodeI32=encodeI32;t.encodeI64=encodeI64;t.encodeVec=encodeVec;t.encodeValtype=encodeValtype;t.encodeMutability=encodeMutability;t.encodeUTF8Vec=encodeUTF8Vec;t.encodeLimits=encodeLimits;t.encodeModuleImport=encodeModuleImport;t.encodeSectionMetadata=encodeSectionMetadata;t.encodeCallInstruction=encodeCallInstruction;t.encodeCallIndirectInstruction=encodeCallIndirectInstruction;t.encodeModuleExport=encodeModuleExport;t.encodeTypeInstruction=encodeTypeInstruction;t.encodeInstr=encodeInstr;t.encodeStringLiteral=encodeStringLiteral;t.encodeGlobal=encodeGlobal;t.encodeFuncBody=encodeFuncBody;t.encodeIndexInFuncSection=encodeIndexInFuncSection;t.encodeElem=encodeElem;var r=_interopRequireWildcard(n(39784));var i=_interopRequireWildcard(n(48));var s=_interopRequireWildcard(n(38040));var o=_interopRequireDefault(n(3930));var a=n(44166);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encodeNode=encodeNode;t.encodeU32=void 0;var r=_interopRequireWildcard(n(77445));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function encodeNode(e){switch(e.type){case"ModuleImport":return r.encodeModuleImport(e);case"SectionMetadata":return r.encodeSectionMetadata(e);case"CallInstruction":return r.encodeCallInstruction(e);case"CallIndirectInstruction":return r.encodeCallIndirectInstruction(e);case"TypeInstruction":return r.encodeTypeInstruction(e);case"Instr":return r.encodeInstr(e);case"ModuleExport":return r.encodeModuleExport(e);case"Global":return r.encodeGlobal(e);case"Func":return r.encodeFuncBody(e);case"IndexInFuncSection":return r.encodeIndexInFuncSection(e);case"StringLiteral":return r.encodeStringLiteral(e);case"Elem":return r.encodeElem(e);default:throw new Error("Unsupported encoding for node of type: "+JSON.stringify(e.type))}}var i=r.encodeU32;t.encodeU32=i},53620:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.shrinkPaddedLEB128=shrinkPaddedLEB128;var r=n(73432);var i=n(25688);function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(e,t){if(t&&(_typeof(t)==="object"||typeof t==="function")){return t}if(!e){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _inherits(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}});if(t)Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t}var s=function(e){_inherits(OptimizerError,e);function OptimizerError(e,t){var n;_classCallCheck(this,OptimizerError);n=_possibleConstructorReturn(this,(OptimizerError.__proto__||Object.getPrototypeOf(OptimizerError)).call(this,"Error while optimizing: "+e+": "+t.message));n.stack=t.stack;return n}return OptimizerError}(Error);var o={ignoreCodeSection:true,ignoreDataSection:true};function shrinkPaddedLEB128(e){try{var t=(0,r.decode)(e.buffer,o);return(0,i.shrinkPaddedLEB128)(t,e)}catch(e){throw new s("shrinkPaddedLEB128",e)}}},25688:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.shrinkPaddedLEB128=shrinkPaddedLEB128;var r=n(98093);var i=n(77445);var s=n(3104);function shiftFollowingSections(e,t,n){var i=t.section;var s=false;(0,r.traverse)(e,{SectionMetadata:function SectionMetadata(t){if(t.node.section===i){s=true;return}if(s===true){(0,r.shiftSection)(e,t.node,n)}}})}function shrinkPaddedLEB128(e,t){(0,r.traverse)(e,{SectionMetadata:function SectionMetadata(n){var r=n.node;{var o=(0,i.encodeU32)(r.size.value);var a=o.length;var c=r.size.loc.start.column;var u=r.size.loc.end.column;var l=u-c;if(a!==l){var f=l-a;t=(0,s.overrideBytesInBuffer)(t,c,u,o);shiftFollowingSections(e,r,-f)}}}});return t}},13975:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decode=decode;var r=n(35866);var i=_interopRequireWildcard(n(48));var s=_interopRequireWildcard(n(38040));var o=_interopRequireWildcard(n(98093));var a=n(39784);var c=_interopRequireDefault(n(3930));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=n.length}function eatBytes(e){l=l+e}function readBytesAtOffset(e,t){var r=[];for(var i=0;i>7?-1:1;var r=0;for(var s=0;s>7?-1:1;var r=0;for(var s=0;sn.length){throw new Error("unexpected end")}var e=readBytes(4);if(byteArrayEq(c.default.magicModuleHeader,e)===false){throw new r.CompileError("magic header not detected")}dump(e,"wasm magic header");eatBytes(4)}function parseVersion(){if(isEOF()===true||l+4>n.length){throw new Error("unexpected end")}var e=readBytes(4);if(byteArrayEq(c.default.moduleVersion,e)===false){throw new r.CompileError("unknown binary version")}dump(e,"wasm version");eatBytes(4)}function parseVec(e){var t=readU32();var n=t.value;eatBytes(t.nextIndex);dump([n],"number");if(n===0){return[]}var i=[];for(var s=0;s=40&&i<=64){if(s.name==="grow_memory"||s.name==="current_memory"){var Y=readU32();var Q=Y.value;eatBytes(Y.nextIndex);if(Q!==0){throw new Error("zero flag expected")}dump([Q],"index")}else{var Z=readU32();var $=Z.value;eatBytes(Z.nextIndex);dump([$],"align");var ee=readU32();var te=ee.value;eatBytes(ee.nextIndex);dump([te],"offset")}}else if(i>=65&&i<=68){if(s.object==="i32"){var ne=read32();var re=ne.value;eatBytes(ne.nextIndex);dump([re],"i32 value");l.push(o.numberLiteralFromRaw(re))}if(s.object==="u32"){var ie=readU32();var se=ie.value;eatBytes(ie.nextIndex);dump([se],"u32 value");l.push(o.numberLiteralFromRaw(se))}if(s.object==="i64"){var oe=read64();var ae=oe.value;eatBytes(oe.nextIndex);dump([Number(ae.toString())],"i64 value");var ce=ae.high,ue=ae.low;var le={type:"LongNumberLiteral",value:{high:ce,low:ue}};l.push(le)}if(s.object==="u64"){var fe=readU64();var pe=fe.value;eatBytes(fe.nextIndex);dump([Number(pe.toString())],"u64 value");var de=pe.high,he=pe.low;var me={type:"LongNumberLiteral",value:{high:de,low:he}};l.push(me)}if(s.object==="f32"){var ge=readF32();var ye=ge.value;eatBytes(ge.nextIndex);dump([ye],"f32 value");l.push(o.floatLiteral(ye,ge.nan,ge.inf,String(ye)))}if(s.object==="f64"){var ve=readF64();var _e=ve.value;eatBytes(ve.nextIndex);dump([_e],"f64 value");l.push(o.floatLiteral(_e,ve.nan,ve.inf,String(_e)))}}else{for(var be=0;be=e||e===c.default.sections.custom){e=n+1}else{if(n!==c.default.sections.custom)throw new r.CompileError("Unexpected section: "+toHex(n))}var i=e;var s=l;var a=getPosition();var u=readU32();var f=u.value;eatBytes(u.nextIndex);var p=function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(f),e,a)}();switch(n){case c.default.sections.type:{dumpSep("section Type");dump([n],"section code");dump([f],"section size");var d=getPosition();var h=readU32();var m=h.value;eatBytes(h.nextIndex);var g=o.sectionMetadata("type",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(m),e,d)}());var y=parseTypeSection(m);return{nodes:y,metadata:g,nextSectionIndex:i}}case c.default.sections.table:{dumpSep("section Table");dump([n],"section code");dump([f],"section size");var v=getPosition();var _=readU32();var b=_.value;eatBytes(_.nextIndex);dump([b],"num tables");var E=o.sectionMetadata("table",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(b),e,v)}());var w=parseTableSection(b);return{nodes:w,metadata:E,nextSectionIndex:i}}case c.default.sections.import:{dumpSep("section Import");dump([n],"section code");dump([f],"section size");var S=getPosition();var k=readU32();var D=k.value;eatBytes(k.nextIndex);dump([D],"number of imports");var x=o.sectionMetadata("import",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(D),e,S)}());var C=parseImportSection(D);return{nodes:C,metadata:x,nextSectionIndex:i}}case c.default.sections.func:{dumpSep("section Function");dump([n],"section code");dump([f],"section size");var A=getPosition();var T=readU32();var M=T.value;eatBytes(T.nextIndex);var O=o.sectionMetadata("func",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(M),e,A)}());parseFuncSection(M);var F=[];return{nodes:F,metadata:O,nextSectionIndex:i}}case c.default.sections.export:{dumpSep("section Export");dump([n],"section code");dump([f],"section size");var I=getPosition();var R=readU32();var P=R.value;eatBytes(R.nextIndex);var N=o.sectionMetadata("export",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(P),e,I)}());parseExportSection(P);var L=[];return{nodes:L,metadata:N,nextSectionIndex:i}}case c.default.sections.code:{dumpSep("section Code");dump([n],"section code");dump([f],"section size");var B=getPosition();var j=readU32();var U=j.value;eatBytes(j.nextIndex);var z=o.sectionMetadata("code",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(U),e,B)}());if(t.ignoreCodeSection===true){var H=f-j.nextIndex;eatBytes(H)}else{parseCodeSection(U)}var V=[];return{nodes:V,metadata:z,nextSectionIndex:i}}case c.default.sections.start:{dumpSep("section Start");dump([n],"section code");dump([f],"section size");var G=o.sectionMetadata("start",s,p);var q=[parseStartSection()];return{nodes:q,metadata:G,nextSectionIndex:i}}case c.default.sections.element:{dumpSep("section Element");dump([n],"section code");dump([f],"section size");var W=getPosition();var K=readU32();var X=K.value;eatBytes(K.nextIndex);var J=o.sectionMetadata("element",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(X),e,W)}());var Y=parseElemSection(X);return{nodes:Y,metadata:J,nextSectionIndex:i}}case c.default.sections.global:{dumpSep("section Global");dump([n],"section code");dump([f],"section size");var Q=getPosition();var Z=readU32();var $=Z.value;eatBytes(Z.nextIndex);var ee=o.sectionMetadata("global",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw($),e,Q)}());var te=parseGlobalSection($);return{nodes:te,metadata:ee,nextSectionIndex:i}}case c.default.sections.memory:{dumpSep("section Memory");dump([n],"section code");dump([f],"section size");var ne=getPosition();var re=readU32();var ie=re.value;eatBytes(re.nextIndex);var se=o.sectionMetadata("memory",s,p,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(ie),e,ne)}());var oe=parseMemorySection(ie);return{nodes:oe,metadata:se,nextSectionIndex:i}}case c.default.sections.data:{dumpSep("section Data");dump([n],"section code");dump([f],"section size");var ae=o.sectionMetadata("data",s,p);var ce=getPosition();var ue=readU32();var le=ue.value;eatBytes(ue.nextIndex);ae.vectorOfSize=function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(le),e,ce)}();if(t.ignoreDataSection===true){var fe=f-ue.nextIndex;eatBytes(fe);dumpSep("ignore data ("+f+" bytes)");return{nodes:[],metadata:ae,nextSectionIndex:i}}else{var pe=parseDataSection(le);return{nodes:pe,metadata:ae,nextSectionIndex:i}}}case c.default.sections.custom:{dumpSep("section Custom");dump([n],"section code");dump([f],"section size");var de=[o.sectionMetadata("custom",s,p)];var he=readUTF8String();eatBytes(he.nextIndex);dump([],"section name (".concat(he.value,")"));var me=f-he.nextIndex;if(he.value==="name"){var ge=l;try{de.push.apply(de,_toConsumableArray(parseNameSection(me)))}catch(e){console.warn('Failed to decode custom "name" section @'.concat(l,"; ignoring (").concat(e.message,")."));eatBytes(l-(ge+me))}}else if(he.value==="producers"){var ye=l;try{de.push(parseProducersSection())}catch(e){console.warn('Failed to decode custom "producers" section @'.concat(l,"; ignoring (").concat(e.message,")."));eatBytes(l-(ye+me))}}else{eatBytes(me);dumpSep("ignore custom "+JSON.stringify(he.value)+" section ("+me+" bytes)")}return{nodes:[],metadata:de,nextSectionIndex:i}}}throw new r.CompileError("Unexpected section: "+toHex(n))}parseModuleHeader();parseVersion();var p=[];var d=0;var h={sections:[],functionNames:[],localNames:[],producers:[]};while(l{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decode=decode;var r=_interopRequireWildcard(n(13975));var i=_interopRequireWildcard(n(98093));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}var s={dump:false,ignoreCodeSection:false,ignoreDataSection:false,ignoreCustomNameSection:false};function restoreFunctionNames(e){var t=[];i.traverse(e,{FunctionNameMetadata:function FunctionNameMetadata(e){var n=e.node;t.push({name:n.value,index:n.index})}});if(t.length===0){return}i.traverse(e,{Func:function(e){function Func(t){return e.apply(this,arguments)}Func.toString=function(){return e.toString()};return Func}(function(e){var n=e.node;var r=n.name;var i=r.value;var s=Number(i.replace("func_",""));var o=t.find(function(e){return e.index===s});if(o){var a=r.value;r.value=o.name;r.numeric=a;delete r.raw}}),ModuleExport:function(e){function ModuleExport(t){return e.apply(this,arguments)}ModuleExport.toString=function(){return e.toString()};return ModuleExport}(function(e){var n=e.node;if(n.descr.exportType==="Func"){var r=n.descr.id;var s=r.value;var o=t.find(function(e){return e.index===s});if(o){n.descr.id=i.identifier(o.name)}}}),ModuleImport:function(e){function ModuleImport(t){return e.apply(this,arguments)}ModuleImport.toString=function(){return e.toString()};return ModuleImport}(function(e){var n=e.node;if(n.descr.type==="FuncImportDescr"){var r=n.descr.id;var s=Number(r.replace("func_",""));var o=t.find(function(e){return e.index===s});if(o){n.descr.id=i.identifier(o.name)}}}),CallInstruction:function(e){function CallInstruction(t){return e.apply(this,arguments)}CallInstruction.toString=function(){return e.toString()};return CallInstruction}(function(e){var n=e.node;var r=n.index.value;var s=t.find(function(e){return e.index===r});if(s){var o=n.index;n.index=i.identifier(s.name);n.numeric=o;delete n.raw}})})}function restoreLocalNames(e){var t=[];i.traverse(e,{LocalNameMetadata:function LocalNameMetadata(e){var n=e.node;t.push({name:n.value,localIndex:n.localIndex,functionIndex:n.functionIndex})}});if(t.length===0){return}i.traverse(e,{Func:function(e){function Func(t){return e.apply(this,arguments)}Func.toString=function(){return e.toString()};return Func}(function(e){var n=e.node;var r=n.signature;if(r.type!=="Signature"){return}var i=n.name;var s=i.value;var o=Number(s.replace("func_",""));r.params.forEach(function(e,n){var r=t.find(function(e){return e.localIndex===n&&e.functionIndex===o});if(r&&r.name!==""){e.id=r.name}})})})}function restoreModuleName(e){i.traverse(e,{ModuleNameMetadata:function(e){function ModuleNameMetadata(t){return e.apply(this,arguments)}ModuleNameMetadata.toString=function(){return e.toString()};return ModuleNameMetadata}(function(t){i.traverse(e,{Module:function(e){function Module(t){return e.apply(this,arguments)}Module.toString=function(){return e.toString()};return Module}(function(e){var n=e.node;var r=t.node.value;if(r===""){r=null}n.id=r})})})})}function decode(e,t){var n=Object.assign({},s,t);var i=r.decode(e,n);if(n.ignoreCustomNameSection===false){restoreFunctionNames(i);restoreLocalNames(i);restoreModuleName(i)}return i}},9864:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parse=parse;var r=n(33416);var i=_interopRequireWildcard(n(98093));var s=n(73933);var o=n(19648);var a=n(67853);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0){return i.table(o,n,e,s)}else{return i.table(o,n,e)}}function parseImport(){if(l.type!==a.tokens.string){throw new Error("Expected a string, "+l.type+" given.")}var e=l.value;eatToken();if(l.type!==a.tokens.string){throw new Error("Expected a string, "+l.type+" given.")}var n=l.value;eatToken();eatTokenOfType(a.tokens.openParen);var s;if(isKeyword(l,a.keywords.func)){eatToken();var o=[];var u=[];var f;var p=i.identifier(c("func"));if(l.type===a.tokens.identifier){p=identifierFromToken(l);eatToken()}while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.keywords.type)===true){eatToken();f=parseTypeReference()}else if(lookaheadAndCheck(a.keywords.param)===true){eatToken();o.push.apply(o,_toConsumableArray(parseFuncParam()))}else if(lookaheadAndCheck(a.keywords.result)===true){eatToken();u.push.apply(u,_toConsumableArray(parseFuncResult()))}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in import of type"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}if(typeof p==="undefined"){throw new Error("Imported function must have a name")}s=i.funcImportDescr(p,f!==undefined?f:i.signature(o,u))}else if(isKeyword(l,a.keywords.global)){eatToken();if(l.type===a.tokens.openParen){eatToken();eatTokenOfType(a.tokens.keyword);var d=l.value;eatToken();s=i.globalType(d,"var");eatTokenOfType(a.tokens.closeParen)}else{var h=l.value;eatTokenOfType(a.tokens.valtype);s=i.globalType(h,"const")}}else if(isKeyword(l,a.keywords.memory)===true){eatToken();s=parseMemory()}else if(isKeyword(l,a.keywords.table)===true){eatToken();s=parseTable()}else{throw new Error("Unsupported import type: "+tokenToString(l))}eatTokenOfType(a.tokens.closeParen);return i.moduleImport(e,n,s)}function parseBlock(){var e=i.identifier(c("block"));var n=null;var s=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.keywords.result)===true){eatToken();n=l.value;eatToken()}else if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in block body of type"+", given "+tokenToString(l))}()}maybeIgnoreComment();eatTokenOfType(a.tokens.closeParen)}return i.blockInstruction(e,s,n)}function parseIf(){var e=null;var n=i.identifier(c("if"));var s=[];var o=[];var u=[];if(l.type===a.tokens.identifier){n=identifierFromToken(l);eatToken()}else{n=i.withRaw(n,"")}while(l.type===a.tokens.openParen){eatToken();if(isKeyword(l,a.keywords.result)===true){eatToken();e=l.value;eatTokenOfType(a.tokens.valtype);eatTokenOfType(a.tokens.closeParen);continue}if(isKeyword(l,a.keywords.then)===true){eatToken();while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){o.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in consequent body of type"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen);continue}if(isKeyword(l,a.keywords.else)){eatToken();while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){u.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in alternate body of type"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen);continue}if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen);continue}throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in if body"+", given "+tokenToString(l))}()}return i.ifInstruction(n,s,e,o,u)}function parseLoop(){var e=i.identifier(c("loop"));var n;var s=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.keywords.result)===true){eatToken();n=l.value;eatToken()}else if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in loop body"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}return i.loopInstruction(e,n,s)}function parseCallIndirect(){var e;var t=[];var n=[];var r=[];while(l.type!==a.tokens.closeParen){if(lookaheadAndCheck(a.tokens.openParen,a.keywords.type)){eatToken();eatToken();e=parseTypeReference()}else if(lookaheadAndCheck(a.tokens.openParen,a.keywords.param)){eatToken();eatToken();if(l.type!==a.tokens.closeParen){t.push.apply(t,_toConsumableArray(parseFuncParam()))}}else if(lookaheadAndCheck(a.tokens.openParen,a.keywords.result)){eatToken();eatToken();if(l.type!==a.tokens.closeParen){n.push.apply(n,_toConsumableArray(parseFuncResult()))}}else{eatTokenOfType(a.tokens.openParen);r.push(parseFuncInstr())}eatTokenOfType(a.tokens.closeParen)}return i.callIndirectInstruction(e!==undefined?e:i.signature(t,n),r)}function parseExport(){if(l.type!==a.tokens.string){throw new Error("Expected string after export, got: "+l.type)}var e=l.value;eatToken();var t=parseModuleExportDescr();return i.moduleExport(e,t)}function parseModuleExportDescr(){var e=getStartLoc();var t="";var n;eatTokenOfType(a.tokens.openParen);while(l.type!==a.tokens.closeParen){if(isKeyword(l,a.keywords.func)){t="Func";eatToken();n=parseExportIndex(l)}else if(isKeyword(l,a.keywords.table)){t="Table";eatToken();n=parseExportIndex(l)}else if(isKeyword(l,a.keywords.global)){t="Global";eatToken();n=parseExportIndex(l)}else if(isKeyword(l,a.keywords.memory)){t="Memory";eatToken();n=parseExportIndex(l)}eatToken()}if(t===""){throw new Error("Unknown export type")}if(n===undefined){throw new Error("Exported function must have a name")}var r=i.moduleExportDescr(t,n);var s=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(r,s,e)}function parseModule(){var t=null;var r=false;var s=false;var o=[];if(l.type===a.tokens.identifier){t=l.value;eatToken()}if(hasPlugin("wast")&&l.type===a.tokens.name&&l.value==="binary"){eatToken();r=true}if(hasPlugin("wast")&&l.type===a.tokens.name&&l.value==="quote"){eatToken();s=true}if(r===true){var c=[];while(l.type===a.tokens.string){c.push(l.value);eatToken();maybeIgnoreComment()}eatTokenOfType(a.tokens.closeParen);return i.binaryModule(t,c)}if(s===true){var f=[];while(l.type===a.tokens.string){f.push(l.value);eatToken()}eatTokenOfType(a.tokens.closeParen);return i.quoteModule(t,f)}while(l.type!==a.tokens.closeParen){o.push(walk());if(u.registredExportedElements.length>0){u.registredExportedElements.forEach(function(e){o.push(i.moduleExport(e.name,i.moduleExportDescr(e.exportType,e.id)))});u.registredExportedElements=[]}l=e[n]}eatTokenOfType(a.tokens.closeParen);return i.module(t,o)}function parseFuncInstrArguments(e){var n=[];var s={};var o=0;while(l.type===a.tokens.name||isKeyword(l,a.keywords.offset)){var c=l.value;eatToken();eatTokenOfType(a.tokens.equal);var u=void 0;if(l.type===a.tokens.number){u=i.numberLiteralFromRaw(l.value)}else{throw new Error("Unexpected type for argument: "+l.type)}s[c]=u;eatToken()}var f=e.vector?Infinity:e.length;while(l.type!==a.tokens.closeParen&&(l.type===a.tokens.openParen||o0){return i.callInstruction(h,m)}else{return i.callInstruction(h)}}else if(isKeyword(l,a.keywords.if)){eatToken();return parseIf()}else if(isKeyword(l,a.keywords.module)&&hasPlugin("wast")){eatToken();var g=parseModule();return g}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected instruction in function body"+", given "+tokenToString(l))}()}}function parseFunc(){var e=i.identifier(c("func"));var n;var s=[];var o=[];var u=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}maybeIgnoreComment();while(l.type===a.tokens.openParen||l.type===a.tokens.name||l.type===a.tokens.valtype){if(l.type===a.tokens.name||l.type===a.tokens.valtype){s.push(parseFuncInstr());continue}eatToken();if(lookaheadAndCheck(a.keywords.param)===true){eatToken();o.push.apply(o,_toConsumableArray(parseFuncParam()))}else if(lookaheadAndCheck(a.keywords.result)===true){eatToken();u.push.apply(u,_toConsumableArray(parseFuncResult()))}else if(lookaheadAndCheck(a.keywords.export)===true){eatToken();parseFuncExport(e)}else if(lookaheadAndCheck(a.keywords.type)===true){eatToken();n=parseTypeReference()}else if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in func body"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}return i.func(e,n!==undefined?n:i.signature(o,u),s)}function parseFuncExport(e){if(l.type!==a.tokens.string){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Function export expected a string"+", given "+tokenToString(l))}()}var n=l.value;eatToken();var s=i.identifier(e.value);u.registredExportedElements.push({exportType:"Func",name:n,id:s})}function parseType(){var e;var t=[];var n=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.func)){eatToken();eatToken();if(l.type===a.tokens.closeParen){eatToken();return i.typeInstruction(e,i.signature([],[]))}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.param)){eatToken();eatToken();t=parseFuncParam();eatTokenOfType(a.tokens.closeParen)}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.result)){eatToken();eatToken();n=parseFuncResult();eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen)}return i.typeInstruction(e,i.signature(t,n))}function parseFuncResult(){var e=[];while(l.type!==a.tokens.closeParen){if(l.type!==a.tokens.valtype){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in func result"+", given "+tokenToString(l))}()}var n=l.value;eatToken();e.push(n)}return e}function parseTypeReference(){var e;if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else if(l.type===a.tokens.number){e=i.numberLiteralFromRaw(l.value);eatToken()}return e}function parseGlobal(){var e=i.identifier(c("global"));var n;var s=null;maybeIgnoreComment();if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.export)){eatToken();eatToken();var o=l.value;eatTokenOfType(a.tokens.string);u.registredExportedElements.push({exportType:"Global",name:o,id:e});eatTokenOfType(a.tokens.closeParen)}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.import)){eatToken();eatToken();var f=l.value;eatTokenOfType(a.tokens.string);var p=l.value;eatTokenOfType(a.tokens.string);s={module:f,name:p,descr:undefined};eatTokenOfType(a.tokens.closeParen)}if(l.type===a.tokens.valtype){n=i.globalType(l.value,"const");eatToken()}else if(l.type===a.tokens.openParen){eatToken();if(isKeyword(l,a.keywords.mut)===false){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unsupported global type, expected mut"+", given "+tokenToString(l))}()}eatToken();n=i.globalType(l.value,"var");eatToken();eatTokenOfType(a.tokens.closeParen)}if(n===undefined){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Could not determine global type"+", given "+tokenToString(l))}()}maybeIgnoreComment();var d=[];if(s!=null){s.descr=n;d.push(i.moduleImport(s.module,s.name,s.descr))}while(l.type===a.tokens.openParen){eatToken();d.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen)}return i.global(n,d,e)}function parseFuncParam(){var e=[];var t;var n;if(l.type===a.tokens.identifier){t=l.value;eatToken()}if(l.type===a.tokens.valtype){n=l.value;eatToken();e.push({id:t,valtype:n});if(t===undefined){while(l.type===a.tokens.valtype){n=l.value;eatToken();e.push({id:undefined,valtype:n})}}}else{}return e}function parseElem(){var e=i.indexLiteral(0);var n=[];var s=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}if(l.type===a.tokens.number){e=i.indexLiteral(l.value);eatToken()}while(l.type!==a.tokens.closeParen){if(lookaheadAndCheck(a.tokens.openParen,a.keywords.offset)){eatToken();eatToken();while(l.type!==a.tokens.closeParen){eatTokenOfType(a.tokens.openParen);n.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen)}else if(l.type===a.tokens.identifier){s.push(i.identifier(l.value));eatToken()}else if(l.type===a.tokens.number){s.push(i.indexLiteral(l.value));eatToken()}else if(l.type===a.tokens.openParen){eatToken();n.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen)}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unsupported token in elem"+", given "+tokenToString(l))}()}}return i.elem(e,n,s)}function parseStart(){if(l.type===a.tokens.identifier){var e=identifierFromToken(l);eatToken();return i.start(e)}if(l.type===a.tokens.number){var t=i.indexLiteral(l.value);eatToken();return i.start(t)}throw new Error("Unknown start, token: "+tokenToString(l))}if(l.type===a.tokens.openParen){eatToken();var f=getStartLoc();if(isKeyword(l,a.keywords.export)){eatToken();var p=parseExport();var d=getEndLoc();return i.withLoc(p,d,f)}if(isKeyword(l,a.keywords.loop)){eatToken();var h=parseLoop();var m=getEndLoc();return i.withLoc(h,m,f)}if(isKeyword(l,a.keywords.func)){eatToken();var g=parseFunc();var y=getEndLoc();maybeIgnoreComment();eatTokenOfType(a.tokens.closeParen);return i.withLoc(g,y,f)}if(isKeyword(l,a.keywords.module)){eatToken();var v=parseModule();var _=getEndLoc();return i.withLoc(v,_,f)}if(isKeyword(l,a.keywords.import)){eatToken();var b=parseImport();var E=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(b,E,f)}if(isKeyword(l,a.keywords.block)){eatToken();var w=parseBlock();var S=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(w,S,f)}if(isKeyword(l,a.keywords.memory)){eatToken();var k=parseMemory();var D=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(k,D,f)}if(isKeyword(l,a.keywords.data)){eatToken();var x=parseData();var C=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(x,C,f)}if(isKeyword(l,a.keywords.table)){eatToken();var A=parseTable();var T=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(A,T,f)}if(isKeyword(l,a.keywords.global)){eatToken();var M=parseGlobal();var O=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(M,O,f)}if(isKeyword(l,a.keywords.type)){eatToken();var F=parseType();var I=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(F,I,f)}if(isKeyword(l,a.keywords.start)){eatToken();var R=parseStart();var P=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(R,P,f)}if(isKeyword(l,a.keywords.elem)){eatToken();var N=parseElem();var L=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(N,L,f)}var B=parseFuncInstr();var j=getEndLoc();maybeIgnoreComment();if(_typeof(B)==="object"){if(typeof l!=="undefined"){eatTokenOfType(a.tokens.closeParen)}return i.withLoc(B,j,f)}}if(l.type===a.tokens.comment){var U=getStartLoc();var z=l.opts.type==="leading"?i.leadingComment:i.blockComment;var H=z(l.value);eatToken();var V=getEndLoc();return i.withLoc(H,V,U)}throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unknown token"+", given "+tokenToString(l))}()}var l=[];while(n{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r={parse:true};t.parse=parse;var i=_interopRequireWildcard(n(9864));var s=n(67853);var o=n(73933);Object.keys(o).forEach(function(e){if(e==="default"||e==="__esModule")return;if(Object.prototype.hasOwnProperty.call(r,e))return;Object.defineProperty(t,e,{enumerable:true,get:function get(){return o[e]}})});function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function parse(e){var t=(0,s.tokenize)(e);var n=i.parse(t,e);return n}},73933:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parse32F=parse32F;t.parse64F=parse64F;t.parse32I=parse32I;t.parseU32=parseU32;t.parse64I=parse64I;t.isInfLiteral=isInfLiteral;t.isNanLiteral=isNanLiteral;var r=_interopRequireDefault(n(11174));var i=_interopRequireDefault(n(18083));var s=n(35866);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse32F(e){if(isHexLiteral(e)){return(0,i.default)(e)}if(isInfLiteral(e)){return e[0]==="-"?-1:1}if(isNanLiteral(e)){return(e[0]==="-"?-1:1)*(e.includes(":")?parseInt(e.substring(e.indexOf(":")+1),16):4194304)}return parseFloat(e)}function parse64F(e){if(isHexLiteral(e)){return(0,i.default)(e)}if(isInfLiteral(e)){return e[0]==="-"?-1:1}if(isNanLiteral(e)){return(e[0]==="-"?-1:1)*(e.includes(":")?parseInt(e.substring(e.indexOf(":")+1),16):0x8000000000000)}if(isHexLiteral(e)){return(0,i.default)(e)}return parseFloat(e)}function parse32I(e){var t=0;if(isHexLiteral(e)){t=~~parseInt(e,16)}else if(isDecimalExponentLiteral(e)){throw new Error("This number literal format is yet to be implemented.")}else{t=parseInt(e,10)}return t}function parseU32(e){var t=parse32I(e);if(t<0){throw new s.CompileError("Illegal value for u32: "+e)}return t}function parse64I(e){var t;if(isHexLiteral(e)){t=r.default.fromString(e,false,16)}else if(isDecimalExponentLiteral(e)){throw new Error("This number literal format is yet to be implemented.")}else{t=r.default.fromString(e)}return{high:t.high,low:t.low}}var o=/^\+?-?nan/;var a=/^\+?-?inf/;function isInfLiteral(e){return a.test(e.toLowerCase())}function isNanLiteral(e){return o.test(e.toLowerCase())}function isDecimalExponentLiteral(e){return!isHexLiteral(e)&&e.toUpperCase().includes("E")}function isHexLiteral(e){return e.substring(0,2).toUpperCase()==="0X"||e.substring(0,3).toUpperCase()==="-0X"}},19648:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseString=parseString;var n=[0,7,8,9,10,11,12,13,26,27,127];function decodeControlCharacter(e){switch(e){case"t":return 9;case"n":return 10;case"r":return 13;case'"':return 34;case"′":return 39;case"\\":return 92}return-1}var r=92;var i=34;function parseString(e){var t=[];var s=0;while(s{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.tokenize=tokenize;t.tokens=t.keywords=void 0;var r=n(51971);var i=n(33416);function getCodeFrame(e,t,n){var r={start:{line:t,column:n}};return"\n"+(0,i.codeFrameFromSource)(e,r)+"\n"}var s=/\s/;var o=/\(|\)/;var a=/[a-z0-9_/]/i;var c=/[a-z0-9!#$%&*+./:<=>?@\\[\]^_`|~-]/i;var u=["i32","i64","f32","f64"];var l=/[0-9|.|_]/;var f=/nan|inf/;function isNewLine(e){return e.charCodeAt(0)===10||e.charCodeAt(0)===13}function Token(e,t,n,r){var i=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var s={type:e,value:t,loc:{start:n,end:r}};if(Object.keys(i).length>0){s["opts"]=i}return s}var p={openParen:"openParen",closeParen:"closeParen",number:"number",string:"string",name:"name",identifier:"identifier",valtype:"valtype",dot:"dot",comment:"comment",equal:"equal",keyword:"keyword"};var d={module:"module",func:"func",param:"param",result:"result",export:"export",loop:"loop",block:"block",if:"if",then:"then",else:"else",call:"call",call_indirect:"call_indirect",import:"import",memory:"memory",table:"table",global:"global",anyfunc:"anyfunc",mut:"mut",data:"data",type:"type",elem:"elem",start:"start",offset:"offset"};t.keywords=d;var h="_";var m=new r.FSM({START:[(0,r.makeTransition)(/-|\+/,"AFTER_SIGN"),(0,r.makeTransition)(/nan:0x/,"NAN_HEX",{n:6}),(0,r.makeTransition)(/nan|inf/,"STOP",{n:3}),(0,r.makeTransition)(/0x/,"HEX",{n:2}),(0,r.makeTransition)(/[0-9]/,"DEC"),(0,r.makeTransition)(/\./,"DEC_FRAC")],AFTER_SIGN:[(0,r.makeTransition)(/nan:0x/,"NAN_HEX",{n:6}),(0,r.makeTransition)(/nan|inf/,"STOP",{n:3}),(0,r.makeTransition)(/0x/,"HEX",{n:2}),(0,r.makeTransition)(/[0-9]/,"DEC"),(0,r.makeTransition)(/\./,"DEC_FRAC")],DEC_FRAC:[(0,r.makeTransition)(/[0-9]/,"DEC_FRAC",{allowedSeparator:h}),(0,r.makeTransition)(/e|E/,"DEC_SIGNED_EXP")],DEC:[(0,r.makeTransition)(/[0-9]/,"DEC",{allowedSeparator:h}),(0,r.makeTransition)(/\./,"DEC_FRAC"),(0,r.makeTransition)(/e|E/,"DEC_SIGNED_EXP")],DEC_SIGNED_EXP:[(0,r.makeTransition)(/\+|-/,"DEC_EXP"),(0,r.makeTransition)(/[0-9]/,"DEC_EXP")],DEC_EXP:[(0,r.makeTransition)(/[0-9]/,"DEC_EXP",{allowedSeparator:h})],HEX:[(0,r.makeTransition)(/[0-9|A-F|a-f]/,"HEX",{allowedSeparator:h}),(0,r.makeTransition)(/\./,"HEX_FRAC"),(0,r.makeTransition)(/p|P/,"HEX_SIGNED_EXP")],HEX_FRAC:[(0,r.makeTransition)(/[0-9|A-F|a-f]/,"HEX_FRAC",{allowedSeparator:h}),(0,r.makeTransition)(/p|P|/,"HEX_SIGNED_EXP")],HEX_SIGNED_EXP:[(0,r.makeTransition)(/[0-9|+|-]/,"HEX_EXP")],HEX_EXP:[(0,r.makeTransition)(/[0-9]/,"HEX_EXP",{allowedSeparator:h})],NAN_HEX:[(0,r.makeTransition)(/[0-9|A-F|a-f]/,"NAN_HEX",{allowedSeparator:h})],STOP:[]},"START","STOP");function tokenize(e){var t=0;var n=e[t];var r=1;var i=1;var h=[];function pushToken(e){return function(t){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var s=n.startColumn||r-String(t).length;delete n.startColumn;var o=n.endColumn||s+String(t).length-1;delete n.endColumn;var a={line:i,column:s};var c={line:i,column:o};h.push(Token(e,t,a,c,n))}}var g=pushToken(p.closeParen);var y=pushToken(p.openParen);var v=pushToken(p.number);var _=pushToken(p.valtype);var b=pushToken(p.name);var E=pushToken(p.identifier);var w=pushToken(p.keyword);var S=pushToken(p.dot);var k=pushToken(p.string);var D=pushToken(p.comment);var x=pushToken(p.equal);function lookahead(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return e.substring(t+r,t+r+n).toLowerCase()}function eatCharacter(){var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;r+=i;t+=i;n=e[t]}while(t{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.print=print;var r=n(98093);var i=_interopRequireDefault(n(11174));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _sliceIterator(e,t){var n=[];var r=true;var i=false;var s=undefined;try{for(var o=e[Symbol.iterator](),a;!(r=(a=o.next()).done);r=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){i=true;s=e}finally{try{if(!r&&o["return"]!=null)o["return"]()}finally{if(i)throw s}}return n}function _slicedToArray(e,t){if(Array.isArray(e)){return e}else if(Symbol.iterator in Object(e)){return _sliceIterator(e,t)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}var s=false;var o=" ";var a=function quote(e){return'"'.concat(e,'"')};function indent(e){return Array(e).fill(o+o).join("")}function print(e){if(e.type==="Program"){return printProgram(e,0)}else{throw new Error("Unsupported node in print of type: "+String(e.type))}}function printProgram(e,t){return e.body.reduce(function(e,n){if(n.type==="Module"){e+=printModule(n,t+1)}if(n.type==="Func"){e+=printFunc(n,t+1)}if(n.type==="BlockComment"){e+=printBlockComment(n)}if(n.type==="LeadingComment"){e+=printLeadingComment(n)}if(s===false){e+="\n"}return e},"")}function printTypeInstruction(e){var t="";t+="(";t+="type";t+=o;if(e.id!=null){t+=printIndex(e.id);t+=o}t+="(";t+="func";e.functype.params.forEach(function(e){t+=o;t+="(";t+="param";t+=o;t+=printFuncParam(e);t+=")"});e.functype.results.forEach(function(e){t+=o;t+="(";t+="result";t+=o;t+=e;t+=")"});t+=")";t+=")";return t}function printModule(e,t){var n="(";n+="module";if(typeof e.id==="string"){n+=o;n+=e.id}if(s===false){n+="\n"}else{n+=o}e.fields.forEach(function(e){if(s===false){n+=indent(t)}switch(e.type){case"Func":{n+=printFunc(e,t+1);break}case"TypeInstruction":{n+=printTypeInstruction(e);break}case"Table":{n+=printTable(e);break}case"Global":{n+=printGlobal(e,t+1);break}case"ModuleExport":{n+=printModuleExport(e);break}case"ModuleImport":{n+=printModuleImport(e);break}case"Memory":{n+=printMemory(e);break}case"BlockComment":{n+=printBlockComment(e);break}case"LeadingComment":{n+=printLeadingComment(e);break}case"Start":{n+=printStart(e);break}case"Elem":{n+=printElem(e,t);break}case"Data":{n+=printData(e,t);break}default:throw new Error("Unsupported node in printModule: "+String(e.type))}if(s===false){n+="\n"}});n+=")";return n}function printData(e,t){var n="";n+="(";n+="data";n+=o;n+=printIndex(e.memoryIndex);n+=o;n+=printInstruction(e.offset,t);n+=o;n+='"';e.init.values.forEach(function(e){if(e<=31||e==34||e==92||e>=127){n+="\\";n+=("00"+e.toString(16)).substr(-2)}else if(e>255){throw new Error("Unsupported byte in data segment: "+e)}else{n+=String.fromCharCode(e)}});n+='"';n+=")";return n}function printElem(e,t){var n="";n+="(";n+="elem";n+=o;n+=printIndex(e.table);var r=_slicedToArray(e.offset,1),i=r[0];n+=o;n+="(";n+="offset";n+=o;n+=printInstruction(i,t);n+=")";e.funcs.forEach(function(e){n+=o;n+=printIndex(e)});n+=")";return n}function printStart(e){var t="";t+="(";t+="start";t+=o;t+=printIndex(e.index);t+=")";return t}function printLeadingComment(e){if(s===true){return""}var t="";t+=";;";t+=e.value;t+="\n";return t}function printBlockComment(e){if(s===true){return""}var t="";t+="(;";t+=e.value;t+=";)";t+="\n";return t}function printSignature(e){var t="";e.params.forEach(function(e){t+=o;t+="(";t+="param";t+=o;t+=printFuncParam(e);t+=")"});e.results.forEach(function(e){t+=o;t+="(";t+="result";t+=o;t+=e;t+=")"});return t}function printModuleImportDescr(e){var t="";if(e.type==="FuncImportDescr"){t+="(";t+="func";if((0,r.isAnonymous)(e.id)===false){t+=o;t+=printIdentifier(e.id)}t+=printSignature(e.signature);t+=")"}if(e.type==="GlobalType"){t+="(";t+="global";t+=o;t+=printGlobalType(e);t+=")"}if(e.type==="Table"){t+=printTable(e)}return t}function printModuleImport(e){var t="";t+="(";t+="import";t+=o;t+=a(e.module);t+=o;t+=a(e.name);t+=o;t+=printModuleImportDescr(e.descr);t+=")";return t}function printGlobalType(e){var t="";if(e.mutability==="var"){t+="(";t+="mut";t+=o;t+=e.valtype;t+=")"}else{t+=e.valtype}return t}function printGlobal(e,t){var n="";n+="(";n+="global";n+=o;if(e.name!=null&&(0,r.isAnonymous)(e.name)===false){n+=printIdentifier(e.name);n+=o}n+=printGlobalType(e.globalType);n+=o;e.init.forEach(function(e){n+=printInstruction(e,t+1)});n+=")";return n}function printTable(e){var t="";t+="(";t+="table";t+=o;if(e.name!=null&&(0,r.isAnonymous)(e.name)===false){t+=printIdentifier(e.name);t+=o}t+=printLimit(e.limits);t+=o;t+=e.elementType;t+=")";return t}function printFuncParam(e){var t="";if(typeof e.id==="string"){t+="$"+e.id;t+=o}t+=e.valtype;return t}function printFunc(e,t){var n="";n+="(";n+="func";if(e.name!=null){if(e.name.type==="Identifier"&&(0,r.isAnonymous)(e.name)===false){n+=o;n+=printIdentifier(e.name)}}if(e.signature.type==="Signature"){n+=printSignature(e.signature)}else{var i=e.signature;n+=o;n+="(";n+="type";n+=o;n+=printIndex(i);n+=")"}if(e.body.length>0){if(e.body.length===1&&e.body[0].id==="end"){n+=")";return n}if(s===false){n+="\n"}e.body.forEach(function(e){if(e.id!=="end"){n+=indent(t);n+=printInstruction(e,t);if(s===false){n+="\n"}}});n+=indent(t-1)+")"}else{n+=")"}return n}function printInstruction(e,t){switch(e.type){case"Instr":return printGenericInstruction(e,t+1);case"BlockInstruction":return printBlockInstruction(e,t+1);case"IfInstruction":return printIfInstruction(e,t+1);case"CallInstruction":return printCallInstruction(e,t+1);case"CallIndirectInstruction":return printCallIndirectIntruction(e,t+1);case"LoopInstruction":return printLoopInstruction(e,t+1);default:throw new Error("Unsupported instruction: "+JSON.stringify(e.type))}}function printCallIndirectIntruction(e,t){var n="";n+="(";n+="call_indirect";if(e.signature.type==="Signature"){n+=printSignature(e.signature)}else if(e.signature.type==="Identifier"){n+=o;n+="(";n+="type";n+=o;n+=printIdentifier(e.signature);n+=")"}else{throw new Error("CallIndirectInstruction: unsupported signature "+JSON.stringify(e.signature.type))}n+=o;if(e.intrs!=null){e.intrs.forEach(function(r,i){n+=printInstruction(r,t+1);if(i!==e.intrs.length-1){n+=o}})}n+=")";return n}function printLoopInstruction(e,t){var n="";n+="(";n+="loop";if(e.label!=null&&(0,r.isAnonymous)(e.label)===false){n+=o;n+=printIdentifier(e.label)}if(typeof e.resulttype==="string"){n+=o;n+="(";n+="result";n+=o;n+=e.resulttype;n+=")"}if(e.instr.length>0){e.instr.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});if(s===false){n+="\n";n+=indent(t-1)}}n+=")";return n}function printCallInstruction(e,t){var n="";n+="(";n+="call";n+=o;n+=printIndex(e.index);if(_typeof(e.instrArgs)==="object"){e.instrArgs.forEach(function(e){n+=o;n+=printFuncInstructionArg(e,t+1)})}n+=")";return n}function printIfInstruction(e,t){var n="";n+="(";n+="if";if(e.testLabel!=null&&(0,r.isAnonymous)(e.testLabel)===false){n+=o;n+=printIdentifier(e.testLabel)}if(typeof e.result==="string"){n+=o;n+="(";n+="result";n+=o;n+=e.result;n+=")"}if(e.test.length>0){n+=o;e.test.forEach(function(e){n+=printInstruction(e,t+1)})}if(e.consequent.length>0){if(s===false){n+="\n"}n+=indent(t);n+="(";n+="then";t++;e.consequent.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});t--;if(s===false){n+="\n";n+=indent(t)}n+=")"}else{if(s===false){n+="\n";n+=indent(t)}n+="(";n+="then";n+=")"}if(e.alternate.length>0){if(s===false){n+="\n"}n+=indent(t);n+="(";n+="else";t++;e.alternate.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});t--;if(s===false){n+="\n";n+=indent(t)}n+=")"}else{if(s===false){n+="\n";n+=indent(t)}n+="(";n+="else";n+=")"}if(s===false){n+="\n";n+=indent(t-1)}n+=")";return n}function printBlockInstruction(e,t){var n="";n+="(";n+="block";if(e.label!=null&&(0,r.isAnonymous)(e.label)===false){n+=o;n+=printIdentifier(e.label)}if(typeof e.result==="string"){n+=o;n+="(";n+="result";n+=o;n+=e.result;n+=")"}if(e.instr.length>0){e.instr.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});if(s===false){n+="\n"}n+=indent(t-1);n+=")"}else{n+=")"}return n}function printGenericInstruction(e,t){var n="";n+="(";if(typeof e.object==="string"){n+=e.object;n+="."}n+=e.id;e.args.forEach(function(e){n+=o;n+=printFuncInstructionArg(e,t+1)});n+=")";return n}function printLongNumberLiteral(e){if(typeof e.raw==="string"){return e.raw}var t=e.value,n=t.low,r=t.high;var s=new i.default(n,r);return s.toString()}function printFloatLiteral(e){if(typeof e.raw==="string"){return e.raw}return String(e.value)}function printFuncInstructionArg(e,t){var n="";if(e.type==="NumberLiteral"){n+=printNumberLiteral(e)}if(e.type==="LongNumberLiteral"){n+=printLongNumberLiteral(e)}if(e.type==="Identifier"&&(0,r.isAnonymous)(e)===false){n+=printIdentifier(e)}if(e.type==="ValtypeLiteral"){n+=e.name}if(e.type==="FloatLiteral"){n+=printFloatLiteral(e)}if((0,r.isInstruction)(e)){n+=printInstruction(e,t+1)}return n}function printNumberLiteral(e){if(typeof e.raw==="string"){return e.raw}return String(e.value)}function printModuleExport(e){var t="";t+="(";t+="export";t+=o;t+=a(e.name);if(e.descr.exportType==="Func"){t+=o;t+="(";t+="func";t+=o;t+=printIndex(e.descr.id);t+=")"}else if(e.descr.exportType==="Global"){t+=o;t+="(";t+="global";t+=o;t+=printIndex(e.descr.id);t+=")"}else if(e.descr.exportType==="Memory"||e.descr.exportType==="Mem"){t+=o;t+="(";t+="memory";t+=o;t+=printIndex(e.descr.id);t+=")"}else if(e.descr.exportType==="Table"){t+=o;t+="(";t+="table";t+=o;t+=printIndex(e.descr.id);t+=")"}else{throw new Error("printModuleExport: unknown type: "+e.descr.exportType)}t+=")";return t}function printIdentifier(e){return"$"+e.value}function printIndex(e){if(e.type==="Identifier"){return printIdentifier(e)}else if(e.type==="NumberLiteral"){return printNumberLiteral(e)}else{throw new Error("Unsupported index: "+e.type)}}function printMemory(e){var t="";t+="(";t+="memory";if(e.id!=null){t+=o;t+=printIndex(e.id);t+=o}t+=printLimit(e.limits);t+=")";return t}function printLimit(e){var t="";t+=e.min+"";if(e.max!=null){t+=o;t+=String(e.max)}return t}},3158:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.read=read;t.write=write;function read(e,t,n,r,i){var s,o;var a=i*8-r-1;var c=(1<>1;var l=-7;var f=n?i-1:0;var p=n?-1:1;var d=e[t+f];f+=p;s=d&(1<<-l)-1;d>>=-l;l+=a;for(;l>0;s=s*256+e[t+f],f+=p,l-=8){}o=s&(1<<-l)-1;s>>=-l;l+=r;for(;l>0;o=o*256+e[t+f],f+=p,l-=8){}if(s===0){s=1-u}else if(s===c){return o?NaN:(d?-1:1)*Infinity}else{o=o+Math.pow(2,r);s=s-u}return(d?-1:1)*o*Math.pow(2,s-r)}function write(e,t,n,r,i,s){var o,a,c;var u=s*8-i-1;var l=(1<>1;var p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0;var d=r?0:s-1;var h=r?1:-1;var m=t<0||t===0&&1/t<0?1:0;t=Math.abs(t);if(isNaN(t)||t===Infinity){a=isNaN(t)?1:0;o=l}else{o=Math.floor(Math.log(t)/Math.LN2);if(t*(c=Math.pow(2,-o))<1){o--;c*=2}if(o+f>=1){t+=p/c}else{t+=p*Math.pow(2,1-f)}if(t*c>=2){o++;c/=2}if(o+f>=l){a=0;o=l}else if(o+f>=1){a=(t*c-1)*Math.pow(2,i);o=o+f}else{a=t*Math.pow(2,f-1)*Math.pow(2,i);o=0}}for(;i>=8;e[n+d]=a&255,d+=h,a/=256,i-=8){}o=o<0;e[n+d]=o&255,d+=h,o/=256,u-=8){}e[n+d-h]|=m*128}},11174:e=>{e.exports=Long;var t=null;try{t=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(e){}function Long(e,t,n){this.low=e|0;this.high=t|0;this.unsigned=!!n}Long.prototype.__isLong__;Object.defineProperty(Long.prototype,"__isLong__",{value:true});function isLong(e){return(e&&e["__isLong__"])===true}Long.isLong=isLong;var n={};var r={};function fromInt(e,t){var i,s,o;if(t){e>>>=0;if(o=0<=e&&e<256){s=r[e];if(s)return s}i=fromBits(e,(e|0)<0?-1:0,true);if(o)r[e]=i;return i}else{e|=0;if(o=-128<=e&&e<128){s=n[e];if(s)return s}i=fromBits(e,e<0?-1:0,false);if(o)n[e]=i;return i}}Long.fromInt=fromInt;function fromNumber(e,t){if(isNaN(e))return t?p:f;if(t){if(e<0)return p;if(e>=c)return y}else{if(e<=-u)return v;if(e+1>=u)return g}if(e<0)return fromNumber(-e,t).neg();return fromBits(e%a|0,e/a|0,t)}Long.fromNumber=fromNumber;function fromBits(e,t,n){return new Long(e,t,n)}Long.fromBits=fromBits;var i=Math.pow;function fromString(e,t,n){if(e.length===0)throw Error("empty string");if(e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return f;if(typeof t==="number"){n=t,t=false}else{t=!!t}n=n||10;if(n<2||360)throw Error("interior hyphen");else if(r===0){return fromString(e.substring(1),t,n).neg()}var s=fromNumber(i(n,8));var o=f;for(var a=0;a>>0:this.low};_.toNumber=function toNumber(){if(this.unsigned)return(this.high>>>0)*a+(this.low>>>0);return this.high*a+(this.low>>>0)};_.toString=function toString(e){e=e||10;if(e<2||36>>0,l=u.toString(e);o=c;if(o.isZero())return l+a;else{while(l.length<6)l="0"+l;a=""+l+a}}};_.getHighBits=function getHighBits(){return this.high};_.getHighBitsUnsigned=function getHighBitsUnsigned(){return this.high>>>0};_.getLowBits=function getLowBits(){return this.low};_.getLowBitsUnsigned=function getLowBitsUnsigned(){return this.low>>>0};_.getNumBitsAbs=function getNumBitsAbs(){if(this.isNegative())return this.eq(v)?64:this.neg().getNumBitsAbs();var e=this.high!=0?this.high:this.low;for(var t=31;t>0;t--)if((e&1<=0};_.isOdd=function isOdd(){return(this.low&1)===1};_.isEven=function isEven(){return(this.low&1)===0};_.equals=function equals(e){if(!isLong(e))e=fromValue(e);if(this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1)return false;return this.high===e.high&&this.low===e.low};_.eq=_.equals;_.notEquals=function notEquals(e){return!this.eq(e)};_.neq=_.notEquals;_.ne=_.notEquals;_.lessThan=function lessThan(e){return this.comp(e)<0};_.lt=_.lessThan;_.lessThanOrEqual=function lessThanOrEqual(e){return this.comp(e)<=0};_.lte=_.lessThanOrEqual;_.le=_.lessThanOrEqual;_.greaterThan=function greaterThan(e){return this.comp(e)>0};_.gt=_.greaterThan;_.greaterThanOrEqual=function greaterThanOrEqual(e){return this.comp(e)>=0};_.gte=_.greaterThanOrEqual;_.ge=_.greaterThanOrEqual;_.compare=function compare(e){if(!isLong(e))e=fromValue(e);if(this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();if(t&&!n)return-1;if(!t&&n)return 1;if(!this.unsigned)return this.sub(e).isNegative()?-1:1;return e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1};_.comp=_.compare;_.negate=function negate(){if(!this.unsigned&&this.eq(v))return v;return this.not().add(d)};_.neg=_.negate;_.add=function add(e){if(!isLong(e))e=fromValue(e);var t=this.high>>>16;var n=this.high&65535;var r=this.low>>>16;var i=this.low&65535;var s=e.high>>>16;var o=e.high&65535;var a=e.low>>>16;var c=e.low&65535;var u=0,l=0,f=0,p=0;p+=i+c;f+=p>>>16;p&=65535;f+=r+a;l+=f>>>16;f&=65535;l+=n+o;u+=l>>>16;l&=65535;u+=t+s;u&=65535;return fromBits(f<<16|p,u<<16|l,this.unsigned)};_.subtract=function subtract(e){if(!isLong(e))e=fromValue(e);return this.add(e.neg())};_.sub=_.subtract;_.multiply=function multiply(e){if(this.isZero())return f;if(!isLong(e))e=fromValue(e);if(t){var n=t["mul"](this.low,this.high,e.low,e.high);return fromBits(n,t["get_high"](),this.unsigned)}if(e.isZero())return f;if(this.eq(v))return e.isOdd()?v:f;if(e.eq(v))return this.isOdd()?v:f;if(this.isNegative()){if(e.isNegative())return this.neg().mul(e.neg());else return this.neg().mul(e).neg()}else if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(l)&&e.lt(l))return fromNumber(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16;var i=this.high&65535;var s=this.low>>>16;var o=this.low&65535;var a=e.high>>>16;var c=e.high&65535;var u=e.low>>>16;var p=e.low&65535;var d=0,h=0,m=0,g=0;g+=o*p;m+=g>>>16;g&=65535;m+=s*p;h+=m>>>16;m&=65535;m+=o*u;h+=m>>>16;m&=65535;h+=i*p;d+=h>>>16;h&=65535;h+=s*u;d+=h>>>16;h&=65535;h+=o*c;d+=h>>>16;h&=65535;d+=r*p+i*u+s*c+o*a;d&=65535;return fromBits(m<<16|g,d<<16|h,this.unsigned)};_.mul=_.multiply;_.divide=function divide(e){if(!isLong(e))e=fromValue(e);if(e.isZero())throw Error("division by zero");if(t){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1){return this}var n=(this.unsigned?t["div_u"]:t["div_s"])(this.low,this.high,e.low,e.high);return fromBits(n,t["get_high"](),this.unsigned)}if(this.isZero())return this.unsigned?p:f;var r,s,o;if(!this.unsigned){if(this.eq(v)){if(e.eq(d)||e.eq(m))return v;else if(e.eq(v))return d;else{var a=this.shr(1);r=a.div(e).shl(1);if(r.eq(f)){return e.isNegative()?d:m}else{s=this.sub(e.mul(r));o=r.add(s.div(e));return o}}}else if(e.eq(v))return this.unsigned?p:f;if(this.isNegative()){if(e.isNegative())return this.neg().div(e.neg());return this.neg().div(e).neg()}else if(e.isNegative())return this.div(e.neg()).neg();o=f}else{if(!e.unsigned)e=e.toUnsigned();if(e.gt(this))return p;if(e.gt(this.shru(1)))return h;o=p}s=this;while(s.gte(e)){r=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));var c=Math.ceil(Math.log(r)/Math.LN2),u=c<=48?1:i(2,c-48),l=fromNumber(r),g=l.mul(e);while(g.isNegative()||g.gt(s)){r-=u;l=fromNumber(r,this.unsigned);g=l.mul(e)}if(l.isZero())l=d;o=o.add(l);s=s.sub(g)}return o};_.div=_.divide;_.modulo=function modulo(e){if(!isLong(e))e=fromValue(e);if(t){var n=(this.unsigned?t["rem_u"]:t["rem_s"])(this.low,this.high,e.low,e.high);return fromBits(n,t["get_high"](),this.unsigned)}return this.sub(this.div(e).mul(e))};_.mod=_.modulo;_.rem=_.modulo;_.not=function not(){return fromBits(~this.low,~this.high,this.unsigned)};_.and=function and(e){if(!isLong(e))e=fromValue(e);return fromBits(this.low&e.low,this.high&e.high,this.unsigned)};_.or=function or(e){if(!isLong(e))e=fromValue(e);return fromBits(this.low|e.low,this.high|e.high,this.unsigned)};_.xor=function xor(e){if(!isLong(e))e=fromValue(e);return fromBits(this.low^e.low,this.high^e.high,this.unsigned)};_.shiftLeft=function shiftLeft(e){if(isLong(e))e=e.toInt();if((e&=63)===0)return this;else if(e<32)return fromBits(this.low<>>32-e,this.unsigned);else return fromBits(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned);else return fromBits(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};_.shr=_.shiftRight;_.shiftRightUnsigned=function shiftRightUnsigned(e){if(isLong(e))e=e.toInt();if((e&=63)===0)return this;if(e<32)return fromBits(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned);if(e===32)return fromBits(this.high,0,this.unsigned);return fromBits(this.high>>>e-32,0,this.unsigned)};_.shru=_.shiftRightUnsigned;_.shr_u=_.shiftRightUnsigned;_.rotateLeft=function rotateLeft(e){var t;if(isLong(e))e=e.toInt();if((e&=63)===0)return this;if(e===32)return fromBits(this.high,this.low,this.unsigned);if(e<32){t=32-e;return fromBits(this.low<>>t,this.high<>>t,this.unsigned)}e-=32;t=32-e;return fromBits(this.high<>>t,this.low<>>t,this.unsigned)};_.rotl=_.rotateLeft;_.rotateRight=function rotateRight(e){var t;if(isLong(e))e=e.toInt();if((e&=63)===0)return this;if(e===32)return fromBits(this.high,this.low,this.unsigned);if(e<32){t=32-e;return fromBits(this.high<>>e,this.low<>>e,this.unsigned)}e-=32;t=32-e;return fromBits(this.low<>>e,this.high<>>e,this.unsigned)};_.rotr=_.rotateRight;_.toSigned=function toSigned(){if(!this.unsigned)return this;return fromBits(this.low,this.high,false)};_.toUnsigned=function toUnsigned(){if(this.unsigned)return this;return fromBits(this.low,this.high,true)};_.toBytes=function toBytes(e){return e?this.toBytesLE():this.toBytesBE()};_.toBytesLE=function toBytesLE(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};_.toBytesBE=function toBytesBE(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};Long.fromBytes=function fromBytes(e,t,n){return n?Long.fromBytesLE(e,t):Long.fromBytesBE(e,t)};Long.fromBytesLE=function fromBytesLE(e,t){return new Long(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)};Long.fromBytesBE=function fromBytesBE(e,t){return new Long(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}},20976:function(e,t){(function(e,n){true?n(t):0})(this,function(e){"use strict";var t={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"};var n="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";var r={5:n,"5module":n+" export import",6:n+" const class extends export import super"};var i=/^in(stanceof)?$/;var s="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";var o="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";var a=new RegExp("["+s+"]");var c=new RegExp("["+s+o+"]");s=o=null;var u=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938];var l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function isInAstralSet(e,t){var n=65536;for(var r=0;re){return false}n+=t[r+1];if(n>=e){return true}}}function isIdentifierStart(e,t){if(e<65){return e===36}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&a.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,u)}function isIdentifierChar(e,t){if(e<48){return e===36}if(e<58){return true}if(e<65){return false}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&c.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,u)||isInAstralSet(e,l)}var f=function TokenType(e,t){if(t===void 0)t={};this.label=e;this.keyword=t.keyword;this.beforeExpr=!!t.beforeExpr;this.startsExpr=!!t.startsExpr;this.isLoop=!!t.isLoop;this.isAssign=!!t.isAssign;this.prefix=!!t.prefix;this.postfix=!!t.postfix;this.binop=t.binop||null;this.updateContext=null};function binop(e,t){return new f(e,{beforeExpr:true,binop:t})}var p={beforeExpr:true},d={startsExpr:true};var h={};function kw(e,t){if(t===void 0)t={};t.keyword=e;return h[e]=new f(e,t)}var m={num:new f("num",d),regexp:new f("regexp",d),string:new f("string",d),name:new f("name",d),eof:new f("eof"),bracketL:new f("[",{beforeExpr:true,startsExpr:true}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:true,startsExpr:true}),braceR:new f("}"),parenL:new f("(",{beforeExpr:true,startsExpr:true}),parenR:new f(")"),comma:new f(",",p),semi:new f(";",p),colon:new f(":",p),dot:new f("."),question:new f("?",p),questionDot:new f("?."),arrow:new f("=>",p),template:new f("template"),invalidTemplate:new f("invalidTemplate"),ellipsis:new f("...",p),backQuote:new f("`",d),dollarBraceL:new f("${",{beforeExpr:true,startsExpr:true}),eq:new f("=",{beforeExpr:true,isAssign:true}),assign:new f("_=",{beforeExpr:true,isAssign:true}),incDec:new f("++/--",{prefix:true,postfix:true,startsExpr:true}),prefix:new f("!/~",{beforeExpr:true,prefix:true,startsExpr:true}),logicalOR:binop("||",1),logicalAND:binop("&&",2),bitwiseOR:binop("|",3),bitwiseXOR:binop("^",4),bitwiseAND:binop("&",5),equality:binop("==/!=/===/!==",6),relational:binop("/<=/>=",7),bitShift:binop("<>/>>>",8),plusMin:new f("+/-",{beforeExpr:true,binop:9,prefix:true,startsExpr:true}),modulo:binop("%",10),star:binop("*",10),slash:binop("/",10),starstar:new f("**",{beforeExpr:true}),coalesce:binop("??",1),_break:kw("break"),_case:kw("case",p),_catch:kw("catch"),_continue:kw("continue"),_debugger:kw("debugger"),_default:kw("default",p),_do:kw("do",{isLoop:true,beforeExpr:true}),_else:kw("else",p),_finally:kw("finally"),_for:kw("for",{isLoop:true}),_function:kw("function",d),_if:kw("if"),_return:kw("return",p),_switch:kw("switch"),_throw:kw("throw",p),_try:kw("try"),_var:kw("var"),_const:kw("const"),_while:kw("while",{isLoop:true}),_with:kw("with"),_new:kw("new",{beforeExpr:true,startsExpr:true}),_this:kw("this",d),_super:kw("super",d),_class:kw("class",d),_extends:kw("extends",p),_export:kw("export"),_import:kw("import",d),_null:kw("null",d),_true:kw("true",d),_false:kw("false",d),_in:kw("in",{beforeExpr:true,binop:7}),_instanceof:kw("instanceof",{beforeExpr:true,binop:7}),_typeof:kw("typeof",{beforeExpr:true,prefix:true,startsExpr:true}),_void:kw("void",{beforeExpr:true,prefix:true,startsExpr:true}),_delete:kw("delete",{beforeExpr:true,prefix:true,startsExpr:true})};var g=/\r\n?|\n|\u2028|\u2029/;var y=new RegExp(g.source,"g");function isNewLine(e,t){return e===10||e===13||!t&&(e===8232||e===8233)}var v=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;var _=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;var b=Object.prototype;var E=b.hasOwnProperty;var w=b.toString;function has(e,t){return E.call(e,t)}var S=Array.isArray||function(e){return w.call(e)==="[object Array]"};function wordsRegexp(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var k=function Position(e,t){this.line=e;this.column=t};k.prototype.offset=function offset(e){return new k(this.line,this.column+e)};var D=function SourceLocation(e,t,n){this.start=t;this.end=n;if(e.sourceFile!==null){this.source=e.sourceFile}};function getLineInfo(e,t){for(var n=1,r=0;;){y.lastIndex=r;var i=y.exec(e);if(i&&i.index=2015){t.ecmaVersion-=2009}if(t.allowReserved==null){t.allowReserved=t.ecmaVersion<5}if(S(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}if(S(t.onComment)){t.onComment=pushComment(t,t.onComment)}return t}function pushComment(e,t){return function(n,r,i,s,o,a){var c={type:n?"Block":"Line",value:r,start:i,end:s};if(e.locations){c.loc=new D(this,o,a)}if(e.ranges){c.range=[i,s]}t.push(c)}}var C=1,A=2,T=C|A,M=4,O=8,F=16,I=32,R=64,P=128;function functionFlags(e,t){return A|(e?M:0)|(t?O:0)}var N=0,L=1,B=2,j=3,U=4,z=5;var H=function Parser(e,n,i){this.options=e=getOptions(e);this.sourceFile=e.sourceFile;this.keywords=wordsRegexp(r[e.ecmaVersion>=6?6:e.sourceType==="module"?"5module":5]);var s="";if(e.allowReserved!==true){for(var o=e.ecmaVersion;;o--){if(s=t[o]){break}}if(e.sourceType==="module"){s+=" await"}}this.reservedWords=wordsRegexp(s);var a=(s?s+" ":"")+t.strict;this.reservedWordsStrict=wordsRegexp(a);this.reservedWordsStrictBind=wordsRegexp(a+" "+t.strictBind);this.input=String(n);this.containsEsc=false;if(i){this.pos=i;this.lineStart=this.input.lastIndexOf("\n",i-1)+1;this.curLine=this.input.slice(0,this.lineStart).split(g).length}else{this.pos=this.lineStart=0;this.curLine=1}this.type=m.eof;this.value=null;this.start=this.end=this.pos;this.startLoc=this.endLoc=this.curPosition();this.lastTokEndLoc=this.lastTokStartLoc=null;this.lastTokStart=this.lastTokEnd=this.pos;this.context=this.initialContext();this.exprAllowed=true;this.inModule=e.sourceType==="module";this.strict=this.inModule||this.strictDirective(this.pos);this.potentialArrowAt=-1;this.yieldPos=this.awaitPos=this.awaitIdentPos=0;this.labels=[];this.undefinedExports={};if(this.pos===0&&e.allowHashBang&&this.input.slice(0,2)==="#!"){this.skipLineComment(2)}this.scopeStack=[];this.enterScope(C);this.regexpState=null};var V={inFunction:{configurable:true},inGenerator:{configurable:true},inAsync:{configurable:true},allowSuper:{configurable:true},allowDirectSuper:{configurable:true},treatFunctionsAsVar:{configurable:true}};H.prototype.parse=function parse(){var e=this.options.program||this.startNode();this.nextToken();return this.parseTopLevel(e)};V.inFunction.get=function(){return(this.currentVarScope().flags&A)>0};V.inGenerator.get=function(){return(this.currentVarScope().flags&O)>0};V.inAsync.get=function(){return(this.currentVarScope().flags&M)>0};V.allowSuper.get=function(){return(this.currentThisScope().flags&R)>0};V.allowDirectSuper.get=function(){return(this.currentThisScope().flags&P)>0};V.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())};H.prototype.inNonArrowFunction=function inNonArrowFunction(){return(this.currentThisScope().flags&A)>0};H.extend=function extend(){var e=[],t=arguments.length;while(t--)e[t]=arguments[t];var n=this;for(var r=0;r=,?^&]/.test(i)||i==="!"&&this.input.charAt(r+1)==="=")}e+=t[0].length;_.lastIndex=e;e+=_.exec(this.input)[0].length;if(this.input[e]===";"){e++}}};G.eat=function(e){if(this.type===e){this.next();return true}else{return false}};G.isContextual=function(e){return this.type===m.name&&this.value===e&&!this.containsEsc};G.eatContextual=function(e){if(!this.isContextual(e)){return false}this.next();return true};G.expectContextual=function(e){if(!this.eatContextual(e)){this.unexpected()}};G.canInsertSemicolon=function(){return this.type===m.eof||this.type===m.braceR||g.test(this.input.slice(this.lastTokEnd,this.start))};G.insertSemicolon=function(){if(this.canInsertSemicolon()){if(this.options.onInsertedSemicolon){this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc)}return true}};G.semicolon=function(){if(!this.eat(m.semi)&&!this.insertSemicolon()){this.unexpected()}};G.afterTrailingComma=function(e,t){if(this.type===e){if(this.options.onTrailingComma){this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc)}if(!t){this.next()}return true}};G.expect=function(e){this.eat(e)||this.unexpected()};G.unexpected=function(e){this.raise(e!=null?e:this.start,"Unexpected token")};function DestructuringErrors(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}G.checkPatternErrors=function(e,t){if(!e){return}if(e.trailingComma>-1){this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element")}var n=t?e.parenthesizedAssign:e.parenthesizedBind;if(n>-1){this.raiseRecoverable(n,"Parenthesized pattern")}};G.checkExpressionErrors=function(e,t){if(!e){return false}var n=e.shorthandAssign;var r=e.doubleProto;if(!t){return n>=0||r>=0}if(n>=0){this.raise(n,"Shorthand property assignments are valid only in destructuring patterns")}if(r>=0){this.raiseRecoverable(r,"Redefinition of __proto__ property")}};G.checkYieldAwaitInDefaultParams=function(){if(this.yieldPos&&(!this.awaitPos||this.yieldPos=6){this.unexpected()}return this.parseFunctionStatement(i,false,!e);case m._class:if(e){this.unexpected()}return this.parseClass(i,true);case m._if:return this.parseIfStatement(i);case m._return:return this.parseReturnStatement(i);case m._switch:return this.parseSwitchStatement(i);case m._throw:return this.parseThrowStatement(i);case m._try:return this.parseTryStatement(i);case m._const:case m._var:s=s||this.value;if(e&&s!=="var"){this.unexpected()}return this.parseVarStatement(i,s);case m._while:return this.parseWhileStatement(i);case m._with:return this.parseWithStatement(i);case m.braceL:return this.parseBlock(true,i);case m.semi:return this.parseEmptyStatement(i);case m._export:case m._import:if(this.options.ecmaVersion>10&&r===m._import){_.lastIndex=this.pos;var o=_.exec(this.input);var a=this.pos+o[0].length,c=this.input.charCodeAt(a);if(c===40||c===46){return this.parseExpressionStatement(i,this.parseExpression())}}if(!this.options.allowImportExportEverywhere){if(!t){this.raise(this.start,"'import' and 'export' may only appear at the top level")}if(!this.inModule){this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")}}return r===m._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction()){if(e){this.unexpected()}this.next();return this.parseFunctionStatement(i,true,!e)}var u=this.value,l=this.parseExpression();if(r===m.name&&l.type==="Identifier"&&this.eat(m.colon)){return this.parseLabeledStatement(i,u,l,e)}else{return this.parseExpressionStatement(i,l)}}};W.parseBreakContinueStatement=function(e,t){var n=t==="break";this.next();if(this.eat(m.semi)||this.insertSemicolon()){e.label=null}else if(this.type!==m.name){this.unexpected()}else{e.label=this.parseIdent();this.semicolon()}var r=0;for(;r=6){this.eat(m.semi)}else{this.semicolon()}return this.finishNode(e,"DoWhileStatement")};W.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;this.labels.push(K);this.enterScope(0);this.expect(m.parenL);if(this.type===m.semi){if(t>-1){this.unexpected(t)}return this.parseFor(e,null)}var n=this.isLet();if(this.type===m._var||this.type===m._const||n){var r=this.startNode(),i=n?"let":this.value;this.next();this.parseVar(r,true,i);this.finishNode(r,"VariableDeclaration");if((this.type===m._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&r.declarations.length===1){if(this.options.ecmaVersion>=9){if(this.type===m._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}return this.parseForIn(e,r)}if(t>-1){this.unexpected(t)}return this.parseFor(e,r)}var s=new DestructuringErrors;var o=this.parseExpression(true,s);if(this.type===m._in||this.options.ecmaVersion>=6&&this.isContextual("of")){if(this.options.ecmaVersion>=9){if(this.type===m._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}this.toAssignable(o,false,s);this.checkLVal(o);return this.parseForIn(e,o)}else{this.checkExpressionErrors(s,true)}if(t>-1){this.unexpected(t)}return this.parseFor(e,o)};W.parseFunctionStatement=function(e,t,n){this.next();return this.parseFunction(e,Y|(n?0:Q),false,t)};W.parseIfStatement=function(e){this.next();e.test=this.parseParenExpression();e.consequent=this.parseStatement("if");e.alternate=this.eat(m._else)?this.parseStatement("if"):null;return this.finishNode(e,"IfStatement")};W.parseReturnStatement=function(e){if(!this.inFunction&&!this.options.allowReturnOutsideFunction){this.raise(this.start,"'return' outside of function")}this.next();if(this.eat(m.semi)||this.insertSemicolon()){e.argument=null}else{e.argument=this.parseExpression();this.semicolon()}return this.finishNode(e,"ReturnStatement")};W.parseSwitchStatement=function(e){this.next();e.discriminant=this.parseParenExpression();e.cases=[];this.expect(m.braceL);this.labels.push(X);this.enterScope(0);var t;for(var n=false;this.type!==m.braceR;){if(this.type===m._case||this.type===m._default){var r=this.type===m._case;if(t){this.finishNode(t,"SwitchCase")}e.cases.push(t=this.startNode());t.consequent=[];this.next();if(r){t.test=this.parseExpression()}else{if(n){this.raiseRecoverable(this.lastTokStart,"Multiple default clauses")}n=true;t.test=null}this.expect(m.colon)}else{if(!t){this.unexpected()}t.consequent.push(this.parseStatement(null))}}this.exitScope();if(t){this.finishNode(t,"SwitchCase")}this.next();this.labels.pop();return this.finishNode(e,"SwitchStatement")};W.parseThrowStatement=function(e){this.next();if(g.test(this.input.slice(this.lastTokEnd,this.start))){this.raise(this.lastTokEnd,"Illegal newline after throw")}e.argument=this.parseExpression();this.semicolon();return this.finishNode(e,"ThrowStatement")};var J=[];W.parseTryStatement=function(e){this.next();e.block=this.parseBlock();e.handler=null;if(this.type===m._catch){var t=this.startNode();this.next();if(this.eat(m.parenL)){t.param=this.parseBindingAtom();var n=t.param.type==="Identifier";this.enterScope(n?I:0);this.checkLVal(t.param,n?U:B);this.expect(m.parenR)}else{if(this.options.ecmaVersion<10){this.unexpected()}t.param=null;this.enterScope(0)}t.body=this.parseBlock(false);this.exitScope();e.handler=this.finishNode(t,"CatchClause")}e.finalizer=this.eat(m._finally)?this.parseBlock():null;if(!e.handler&&!e.finalizer){this.raise(e.start,"Missing catch or finally clause")}return this.finishNode(e,"TryStatement")};W.parseVarStatement=function(e,t){this.next();this.parseVar(e,false,t);this.semicolon();return this.finishNode(e,"VariableDeclaration")};W.parseWhileStatement=function(e){this.next();e.test=this.parseParenExpression();this.labels.push(K);e.body=this.parseStatement("while");this.labels.pop();return this.finishNode(e,"WhileStatement")};W.parseWithStatement=function(e){if(this.strict){this.raise(this.start,"'with' in strict mode")}this.next();e.object=this.parseParenExpression();e.body=this.parseStatement("with");return this.finishNode(e,"WithStatement")};W.parseEmptyStatement=function(e){this.next();return this.finishNode(e,"EmptyStatement")};W.parseLabeledStatement=function(e,t,n,r){for(var i=0,s=this.labels;i=0;c--){var u=this.labels[c];if(u.statementStart===e.start){u.statementStart=this.start;u.kind=a}else{break}}this.labels.push({name:t,kind:a,statementStart:this.start});e.body=this.parseStatement(r?r.indexOf("label")===-1?r+"label":r:"label");this.labels.pop();e.label=n;return this.finishNode(e,"LabeledStatement")};W.parseExpressionStatement=function(e,t){e.expression=t;this.semicolon();return this.finishNode(e,"ExpressionStatement")};W.parseBlock=function(e,t,n){if(e===void 0)e=true;if(t===void 0)t=this.startNode();t.body=[];this.expect(m.braceL);if(e){this.enterScope(0)}while(this.type!==m.braceR){var r=this.parseStatement(null);t.body.push(r)}if(n){this.strict=false}this.next();if(e){this.exitScope()}return this.finishNode(t,"BlockStatement")};W.parseFor=function(e,t){e.init=t;this.expect(m.semi);e.test=this.type===m.semi?null:this.parseExpression();this.expect(m.semi);e.update=this.type===m.parenR?null:this.parseExpression();this.expect(m.parenR);e.body=this.parseStatement("for");this.exitScope();this.labels.pop();return this.finishNode(e,"ForStatement")};W.parseForIn=function(e,t){var n=this.type===m._in;this.next();if(t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!n||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")){this.raise(t.start,(n?"for-in":"for-of")+" loop variable declaration may not have an initializer")}else if(t.type==="AssignmentPattern"){this.raise(t.start,"Invalid left-hand side in for-loop")}e.left=t;e.right=n?this.parseExpression():this.parseMaybeAssign();this.expect(m.parenR);e.body=this.parseStatement("for");this.exitScope();this.labels.pop();return this.finishNode(e,n?"ForInStatement":"ForOfStatement")};W.parseVar=function(e,t,n){e.declarations=[];e.kind=n;for(;;){var r=this.startNode();this.parseVarId(r,n);if(this.eat(m.eq)){r.init=this.parseMaybeAssign(t)}else if(n==="const"&&!(this.type===m._in||this.options.ecmaVersion>=6&&this.isContextual("of"))){this.unexpected()}else if(r.id.type!=="Identifier"&&!(t&&(this.type===m._in||this.isContextual("of")))){this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value")}else{r.init=null}e.declarations.push(this.finishNode(r,"VariableDeclarator"));if(!this.eat(m.comma)){break}}return e};W.parseVarId=function(e,t){e.id=this.parseBindingAtom();this.checkLVal(e.id,t==="var"?L:B,false)};var Y=1,Q=2,Z=4;W.parseFunction=function(e,t,n,r){this.initFunction(e);if(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r){if(this.type===m.star&&t&Q){this.unexpected()}e.generator=this.eat(m.star)}if(this.options.ecmaVersion>=8){e.async=!!r}if(t&Y){e.id=t&Z&&this.type!==m.name?null:this.parseIdent();if(e.id&&!(t&Q)){this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?L:B:j)}}var i=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;this.enterScope(functionFlags(e.async,e.generator));if(!(t&Y)){e.id=this.type===m.name?this.parseIdent():null}this.parseFunctionParams(e);this.parseFunctionBody(e,n,false);this.yieldPos=i;this.awaitPos=s;this.awaitIdentPos=o;return this.finishNode(e,t&Y?"FunctionDeclaration":"FunctionExpression")};W.parseFunctionParams=function(e){this.expect(m.parenL);e.params=this.parseBindingList(m.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams()};W.parseClass=function(e,t){this.next();var n=this.strict;this.strict=true;this.parseClassId(e,t);this.parseClassSuper(e);var r=this.startNode();var i=false;r.body=[];this.expect(m.braceL);while(this.type!==m.braceR){var s=this.parseClassElement(e.superClass!==null);if(s){r.body.push(s);if(s.type==="MethodDefinition"&&s.kind==="constructor"){if(i){this.raise(s.start,"Duplicate constructor in the same class")}i=true}}}this.strict=n;this.next();e.body=this.finishNode(r,"ClassBody");return this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};W.parseClassElement=function(e){var t=this;if(this.eat(m.semi)){return null}var n=this.startNode();var r=function(e,r){if(r===void 0)r=false;var i=t.start,s=t.startLoc;if(!t.eatContextual(e)){return false}if(t.type!==m.parenL&&(!r||!t.canInsertSemicolon())){return true}if(n.key){t.unexpected()}n.computed=false;n.key=t.startNodeAt(i,s);n.key.name=e;t.finishNode(n.key,"Identifier");return false};n.kind="method";n.static=r("static");var i=this.eat(m.star);var s=false;if(!i){if(this.options.ecmaVersion>=8&&r("async",true)){s=true;i=this.options.ecmaVersion>=9&&this.eat(m.star)}else if(r("get")){n.kind="get"}else if(r("set")){n.kind="set"}}if(!n.key){this.parsePropertyName(n)}var o=n.key;var a=false;if(!n.computed&&!n.static&&(o.type==="Identifier"&&o.name==="constructor"||o.type==="Literal"&&o.value==="constructor")){if(n.kind!=="method"){this.raise(o.start,"Constructor can't have get/set modifier")}if(i){this.raise(o.start,"Constructor can't be a generator")}if(s){this.raise(o.start,"Constructor can't be an async method")}n.kind="constructor";a=e}else if(n.static&&o.type==="Identifier"&&o.name==="prototype"){this.raise(o.start,"Classes may not have a static property named prototype")}this.parseClassMethod(n,i,s,a);if(n.kind==="get"&&n.value.params.length!==0){this.raiseRecoverable(n.value.start,"getter should have no params")}if(n.kind==="set"&&n.value.params.length!==1){this.raiseRecoverable(n.value.start,"setter should have exactly one param")}if(n.kind==="set"&&n.value.params[0].type==="RestElement"){this.raiseRecoverable(n.value.params[0].start,"Setter cannot use rest params")}return n};W.parseClassMethod=function(e,t,n,r){e.value=this.parseMethod(t,n,r);return this.finishNode(e,"MethodDefinition")};W.parseClassId=function(e,t){if(this.type===m.name){e.id=this.parseIdent();if(t){this.checkLVal(e.id,B,false)}}else{if(t===true){this.unexpected()}e.id=null}};W.parseClassSuper=function(e){e.superClass=this.eat(m._extends)?this.parseExprSubscripts():null};W.parseExport=function(e,t){this.next();if(this.eat(m.star)){if(this.options.ecmaVersion>=11){if(this.eatContextual("as")){e.exported=this.parseIdent(true);this.checkExport(t,e.exported.name,this.lastTokStart)}else{e.exported=null}}this.expectContextual("from");if(this.type!==m.string){this.unexpected()}e.source=this.parseExprAtom();this.semicolon();return this.finishNode(e,"ExportAllDeclaration")}if(this.eat(m._default)){this.checkExport(t,"default",this.lastTokStart);var n;if(this.type===m._function||(n=this.isAsyncFunction())){var r=this.startNode();this.next();if(n){this.next()}e.declaration=this.parseFunction(r,Y|Z,false,n)}else if(this.type===m._class){var i=this.startNode();e.declaration=this.parseClass(i,"nullableID")}else{e.declaration=this.parseMaybeAssign();this.semicolon()}return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement()){e.declaration=this.parseStatement(null);if(e.declaration.type==="VariableDeclaration"){this.checkVariableExport(t,e.declaration.declarations)}else{this.checkExport(t,e.declaration.id.name,e.declaration.id.start)}e.specifiers=[];e.source=null}else{e.declaration=null;e.specifiers=this.parseExportSpecifiers(t);if(this.eatContextual("from")){if(this.type!==m.string){this.unexpected()}e.source=this.parseExprAtom()}else{for(var s=0,o=e.specifiers;s=6&&e){switch(e.type){case"Identifier":if(this.inAsync&&e.name==="await"){this.raise(e.start,"Cannot use 'await' as identifier inside an async function")}break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern";if(n){this.checkPatternErrors(n,true)}for(var r=0,i=e.properties;r=8&&!s&&o.name==="async"&&!this.canInsertSemicolon()&&this.eat(m._function)){return this.parseFunction(this.startNodeAt(r,i),0,false,true)}if(n&&!this.canInsertSemicolon()){if(this.eat(m.arrow)){return this.parseArrowExpression(this.startNodeAt(r,i),[o],false)}if(this.options.ecmaVersion>=8&&o.name==="async"&&this.type===m.name&&!s){o=this.parseIdent(false);if(this.canInsertSemicolon()||!this.eat(m.arrow)){this.unexpected()}return this.parseArrowExpression(this.startNodeAt(r,i),[o],true)}}return o;case m.regexp:var a=this.value;t=this.parseLiteral(a.value);t.regex={pattern:a.pattern,flags:a.flags};return t;case m.num:case m.string:return this.parseLiteral(this.value);case m._null:case m._true:case m._false:t=this.startNode();t.value=this.type===m._null?null:this.type===m._true;t.raw=this.type.keyword;this.next();return this.finishNode(t,"Literal");case m.parenL:var c=this.start,u=this.parseParenAndDistinguishExpression(n);if(e){if(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)){e.parenthesizedAssign=c}if(e.parenthesizedBind<0){e.parenthesizedBind=c}}return u;case m.bracketL:t=this.startNode();this.next();t.elements=this.parseExprList(m.bracketR,true,true,e);return this.finishNode(t,"ArrayExpression");case m.braceL:return this.parseObj(false,e);case m._function:t=this.startNode();this.next();return this.parseFunction(t,0);case m._class:return this.parseClass(this.startNode(),false);case m._new:return this.parseNew();case m.backQuote:return this.parseTemplate();case m._import:if(this.options.ecmaVersion>=11){return this.parseExprImport()}else{return this.unexpected()}default:this.unexpected()}};ee.parseExprImport=function(){var e=this.startNode();if(this.containsEsc){this.raiseRecoverable(this.start,"Escape sequence in keyword import")}var t=this.parseIdent(true);switch(this.type){case m.parenL:return this.parseDynamicImport(e);case m.dot:e.meta=t;return this.parseImportMeta(e);default:this.unexpected()}};ee.parseDynamicImport=function(e){this.next();e.source=this.parseMaybeAssign();if(!this.eat(m.parenR)){var t=this.start;if(this.eat(m.comma)&&this.eat(m.parenR)){this.raiseRecoverable(t,"Trailing comma is not allowed in import()")}else{this.unexpected(t)}}return this.finishNode(e,"ImportExpression")};ee.parseImportMeta=function(e){this.next();var t=this.containsEsc;e.property=this.parseIdent(true);if(e.property.name!=="meta"){this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'")}if(t){this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters")}if(this.options.sourceType!=="module"){this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module")}return this.finishNode(e,"MetaProperty")};ee.parseLiteral=function(e){var t=this.startNode();t.value=e;t.raw=this.input.slice(this.start,this.end);if(t.raw.charCodeAt(t.raw.length-1)===110){t.bigint=t.raw.slice(0,-1).replace(/_/g,"")}this.next();return this.finishNode(t,"Literal")};ee.parseParenExpression=function(){this.expect(m.parenL);var e=this.parseExpression();this.expect(m.parenR);return e};ee.parseParenAndDistinguishExpression=function(e){var t=this.start,n=this.startLoc,r,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s=this.start,o=this.startLoc;var a=[],c=true,u=false;var l=new DestructuringErrors,f=this.yieldPos,p=this.awaitPos,d;this.yieldPos=0;this.awaitPos=0;while(this.type!==m.parenR){c?c=false:this.expect(m.comma);if(i&&this.afterTrailingComma(m.parenR,true)){u=true;break}else if(this.type===m.ellipsis){d=this.start;a.push(this.parseParenItem(this.parseRestBinding()));if(this.type===m.comma){this.raise(this.start,"Comma is not permitted after the rest element")}break}else{a.push(this.parseMaybeAssign(false,l,this.parseParenItem))}}var h=this.start,g=this.startLoc;this.expect(m.parenR);if(e&&!this.canInsertSemicolon()&&this.eat(m.arrow)){this.checkPatternErrors(l,false);this.checkYieldAwaitInDefaultParams();this.yieldPos=f;this.awaitPos=p;return this.parseParenArrowList(t,n,a)}if(!a.length||u){this.unexpected(this.lastTokStart)}if(d){this.unexpected(d)}this.checkExpressionErrors(l,true);this.yieldPos=f||this.yieldPos;this.awaitPos=p||this.awaitPos;if(a.length>1){r=this.startNodeAt(s,o);r.expressions=a;this.finishNodeAt(r,"SequenceExpression",h,g)}else{r=a[0]}}else{r=this.parseParenExpression()}if(this.options.preserveParens){var y=this.startNodeAt(t,n);y.expression=r;return this.finishNode(y,"ParenthesizedExpression")}else{return r}};ee.parseParenItem=function(e){return e};ee.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var te=[];ee.parseNew=function(){if(this.containsEsc){this.raiseRecoverable(this.start,"Escape sequence in keyword new")}var e=this.startNode();var t=this.parseIdent(true);if(this.options.ecmaVersion>=6&&this.eat(m.dot)){e.meta=t;var n=this.containsEsc;e.property=this.parseIdent(true);if(e.property.name!=="target"){this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'")}if(n){this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters")}if(!this.inNonArrowFunction()){this.raiseRecoverable(e.start,"'new.target' can only be used in functions")}return this.finishNode(e,"MetaProperty")}var r=this.start,i=this.startLoc,s=this.type===m._import;e.callee=this.parseSubscripts(this.parseExprAtom(),r,i,true);if(s&&e.callee.type==="ImportExpression"){this.raise(r,"Cannot use new with import()")}if(this.eat(m.parenL)){e.arguments=this.parseExprList(m.parenR,this.options.ecmaVersion>=8,false)}else{e.arguments=te}return this.finishNode(e,"NewExpression")};ee.parseTemplateElement=function(e){var t=e.isTagged;var n=this.startNode();if(this.type===m.invalidTemplate){if(!t){this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal")}n.value={raw:this.value,cooked:null}}else{n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value}}this.next();n.tail=this.type===m.backQuote;return this.finishNode(n,"TemplateElement")};ee.parseTemplate=function(e){if(e===void 0)e={};var t=e.isTagged;if(t===void 0)t=false;var n=this.startNode();this.next();n.expressions=[];var r=this.parseTemplateElement({isTagged:t});n.quasis=[r];while(!r.tail){if(this.type===m.eof){this.raise(this.pos,"Unterminated template literal")}this.expect(m.dollarBraceL);n.expressions.push(this.parseExpression());this.expect(m.braceR);n.quasis.push(r=this.parseTemplateElement({isTagged:t}))}this.next();return this.finishNode(n,"TemplateLiteral")};ee.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===m.name||this.type===m.num||this.type===m.string||this.type===m.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===m.star)&&!g.test(this.input.slice(this.lastTokEnd,this.start))};ee.parseObj=function(e,t){var n=this.startNode(),r=true,i={};n.properties=[];this.next();while(!this.eat(m.braceR)){if(!r){this.expect(m.comma);if(this.options.ecmaVersion>=5&&this.afterTrailingComma(m.braceR)){break}}else{r=false}var s=this.parseProperty(e,t);if(!e){this.checkPropClash(s,i,t)}n.properties.push(s)}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")};ee.parseProperty=function(e,t){var n=this.startNode(),r,i,s,o;if(this.options.ecmaVersion>=9&&this.eat(m.ellipsis)){if(e){n.argument=this.parseIdent(false);if(this.type===m.comma){this.raise(this.start,"Comma is not permitted after the rest element")}return this.finishNode(n,"RestElement")}if(this.type===m.parenL&&t){if(t.parenthesizedAssign<0){t.parenthesizedAssign=this.start}if(t.parenthesizedBind<0){t.parenthesizedBind=this.start}}n.argument=this.parseMaybeAssign(false,t);if(this.type===m.comma&&t&&t.trailingComma<0){t.trailingComma=this.start}return this.finishNode(n,"SpreadElement")}if(this.options.ecmaVersion>=6){n.method=false;n.shorthand=false;if(e||t){s=this.start;o=this.startLoc}if(!e){r=this.eat(m.star)}}var a=this.containsEsc;this.parsePropertyName(n);if(!e&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)){i=true;r=this.options.ecmaVersion>=9&&this.eat(m.star);this.parsePropertyName(n,t)}else{i=false}this.parsePropertyValue(n,e,r,i,s,o,t,a);return this.finishNode(n,"Property")};ee.parsePropertyValue=function(e,t,n,r,i,s,o,a){if((n||r)&&this.type===m.colon){this.unexpected()}if(this.eat(m.colon)){e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(false,o);e.kind="init"}else if(this.options.ecmaVersion>=6&&this.type===m.parenL){if(t){this.unexpected()}e.kind="init";e.method=true;e.value=this.parseMethod(n,r)}else if(!t&&!a&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&(this.type!==m.comma&&this.type!==m.braceR&&this.type!==m.eq)){if(n||r){this.unexpected()}e.kind=e.key.name;this.parsePropertyName(e);e.value=this.parseMethod(false);var c=e.kind==="get"?0:1;if(e.value.params.length!==c){var u=e.value.start;if(e.kind==="get"){this.raiseRecoverable(u,"getter should have no params")}else{this.raiseRecoverable(u,"setter should have exactly one param")}}else{if(e.kind==="set"&&e.value.params[0].type==="RestElement"){this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}}}else if(this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"){if(n||r){this.unexpected()}this.checkUnreserved(e.key);if(e.key.name==="await"&&!this.awaitIdentPos){this.awaitIdentPos=i}e.kind="init";if(t){e.value=this.parseMaybeDefault(i,s,e.key)}else if(this.type===m.eq&&o){if(o.shorthandAssign<0){o.shorthandAssign=this.start}e.value=this.parseMaybeDefault(i,s,e.key)}else{e.value=e.key}e.shorthand=true}else{this.unexpected()}};ee.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(m.bracketL)){e.computed=true;e.key=this.parseMaybeAssign();this.expect(m.bracketR);return e.key}else{e.computed=false}}return e.key=this.type===m.num||this.type===m.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")};ee.initFunction=function(e){e.id=null;if(this.options.ecmaVersion>=6){e.generator=e.expression=false}if(this.options.ecmaVersion>=8){e.async=false}};ee.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;this.initFunction(r);if(this.options.ecmaVersion>=6){r.generator=e}if(this.options.ecmaVersion>=8){r.async=!!t}this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;this.enterScope(functionFlags(t,r.generator)|R|(n?P:0));this.expect(m.parenL);r.params=this.parseBindingList(m.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams();this.parseFunctionBody(r,false,true);this.yieldPos=i;this.awaitPos=s;this.awaitIdentPos=o;return this.finishNode(r,"FunctionExpression")};ee.parseArrowExpression=function(e,t,n){var r=this.yieldPos,i=this.awaitPos,s=this.awaitIdentPos;this.enterScope(functionFlags(n,false)|F);this.initFunction(e);if(this.options.ecmaVersion>=8){e.async=!!n}this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;e.params=this.toAssignableList(t,true);this.parseFunctionBody(e,true,false);this.yieldPos=r;this.awaitPos=i;this.awaitIdentPos=s;return this.finishNode(e,"ArrowFunctionExpression")};ee.parseFunctionBody=function(e,t,n){var r=t&&this.type!==m.braceL;var i=this.strict,s=false;if(r){e.body=this.parseMaybeAssign();e.expression=true;this.checkParams(e,false)}else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);if(!i||o){s=this.strictDirective(this.end);if(s&&o){this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list")}}var a=this.labels;this.labels=[];if(s){this.strict=true}this.checkParams(e,!i&&!s&&!t&&!n&&this.isSimpleParamList(e.params));if(this.strict&&e.id){this.checkLVal(e.id,z)}e.body=this.parseBlock(false,undefined,s&&!i);e.expression=false;this.adaptDirectivePrologue(e.body.body);this.labels=a}this.exitScope()};ee.isSimpleParamList=function(e){for(var t=0,n=e;t-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1;i.lexical.push(e);if(this.inModule&&i.flags&C){delete this.undefinedExports[e]}}else if(t===U){var s=this.currentScope();s.lexical.push(e)}else if(t===j){var o=this.currentScope();if(this.treatFunctionsAsVar){r=o.lexical.indexOf(e)>-1}else{r=o.lexical.indexOf(e)>-1||o.var.indexOf(e)>-1}o.functions.push(e)}else{for(var a=this.scopeStack.length-1;a>=0;--a){var c=this.scopeStack[a];if(c.lexical.indexOf(e)>-1&&!(c.flags&I&&c.lexical[0]===e)||!this.treatFunctionsAsVarInScope(c)&&c.functions.indexOf(e)>-1){r=true;break}c.var.push(e);if(this.inModule&&c.flags&C){delete this.undefinedExports[e]}if(c.flags&T){break}}}if(r){this.raiseRecoverable(n,"Identifier '"+e+"' has already been declared")}};re.checkLocalExport=function(e){if(this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1){this.undefinedExports[e.name]=e}};re.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};re.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&T){return t}}};re.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&T&&!(t.flags&F)){return t}}};var se=function Node(e,t,n){this.type="";this.start=t;this.end=0;if(e.options.locations){this.loc=new D(e,n)}if(e.options.directSourceFile){this.sourceFile=e.options.directSourceFile}if(e.options.ranges){this.range=[t,0]}};var oe=H.prototype;oe.startNode=function(){return new se(this,this.start,this.startLoc)};oe.startNodeAt=function(e,t){return new se(this,e,t)};function finishNodeAt(e,t,n,r){e.type=t;e.end=n;if(this.options.locations){e.loc.end=r}if(this.options.ranges){e.range[1]=n}return e}oe.finishNode=function(e,t){return finishNodeAt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};oe.finishNodeAt=function(e,t,n,r){return finishNodeAt.call(this,e,t,n,r)};var ae=function TokContext(e,t,n,r,i){this.token=e;this.isExpr=!!t;this.preserveSpace=!!n;this.override=r;this.generator=!!i};var ce={b_stat:new ae("{",false),b_expr:new ae("{",true),b_tmpl:new ae("${",false),p_stat:new ae("(",false),p_expr:new ae("(",true),q_tmpl:new ae("`",true,true,function(e){return e.tryReadTemplateToken()}),f_stat:new ae("function",false),f_expr:new ae("function",true),f_expr_gen:new ae("function",true,false,null,true),f_gen:new ae("function",false,false,null,true)};var ue=H.prototype;ue.initialContext=function(){return[ce.b_stat]};ue.braceIsBlock=function(e){var t=this.curContext();if(t===ce.f_expr||t===ce.f_stat){return true}if(e===m.colon&&(t===ce.b_stat||t===ce.b_expr)){return!t.isExpr}if(e===m._return||e===m.name&&this.exprAllowed){return g.test(this.input.slice(this.lastTokEnd,this.start))}if(e===m._else||e===m.semi||e===m.eof||e===m.parenR||e===m.arrow){return true}if(e===m.braceL){return t===ce.b_stat}if(e===m._var||e===m._const||e===m.name){return false}return!this.exprAllowed};ue.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token==="function"){return t.generator}}return false};ue.updateContext=function(e){var t,n=this.type;if(n.keyword&&e===m.dot){this.exprAllowed=false}else if(t=n.updateContext){t.call(this,e)}else{this.exprAllowed=n.beforeExpr}};m.parenR.updateContext=m.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=true;return}var e=this.context.pop();if(e===ce.b_stat&&this.curContext().token==="function"){e=this.context.pop()}this.exprAllowed=!e.isExpr};m.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?ce.b_stat:ce.b_expr);this.exprAllowed=true};m.dollarBraceL.updateContext=function(){this.context.push(ce.b_tmpl);this.exprAllowed=true};m.parenL.updateContext=function(e){var t=e===m._if||e===m._for||e===m._with||e===m._while;this.context.push(t?ce.p_stat:ce.p_expr);this.exprAllowed=true};m.incDec.updateContext=function(){};m._function.updateContext=m._class.updateContext=function(e){if(e.beforeExpr&&e!==m.semi&&e!==m._else&&!(e===m._return&&g.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===m.colon||e===m.braceL)&&this.curContext()===ce.b_stat)){this.context.push(ce.f_expr)}else{this.context.push(ce.f_stat)}this.exprAllowed=false};m.backQuote.updateContext=function(){if(this.curContext()===ce.q_tmpl){this.context.pop()}else{this.context.push(ce.q_tmpl)}this.exprAllowed=false};m.star.updateContext=function(e){if(e===m._function){var t=this.context.length-1;if(this.context[t]===ce.f_expr){this.context[t]=ce.f_expr_gen}else{this.context[t]=ce.f_gen}}this.exprAllowed=true};m.name.updateContext=function(e){var t=false;if(this.options.ecmaVersion>=6&&e!==m.dot){if(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext()){t=true}}this.exprAllowed=t};var le="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";var fe=le+" Extended_Pictographic";var pe=fe;var de={9:le,10:fe,11:pe};var he="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";var me="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";var ge=me+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";var ye=ge+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";var ve={9:me,10:ge,11:ye};var _e={};function buildUnicodeData(e){var t=_e[e]={binary:wordsRegexp(de[e]+" "+he),nonBinary:{General_Category:wordsRegexp(he),Script:wordsRegexp(ve[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script;t.nonBinary.gc=t.nonBinary.General_Category;t.nonBinary.sc=t.nonBinary.Script;t.nonBinary.scx=t.nonBinary.Script_Extensions}buildUnicodeData(9);buildUnicodeData(10);buildUnicodeData(11);var be=H.prototype;var Ee=function RegExpValidationState(e){this.parser=e;this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"");this.unicodeProperties=_e[e.options.ecmaVersion>=11?11:e.options.ecmaVersion];this.source="";this.flags="";this.start=0;this.switchU=false;this.switchN=false;this.pos=0;this.lastIntValue=0;this.lastStringValue="";this.lastAssertionIsQuantifiable=false;this.numCapturingParens=0;this.maxBackReference=0;this.groupNames=[];this.backReferenceNames=[]};Ee.prototype.reset=function reset(e,t,n){var r=n.indexOf("u")!==-1;this.start=e|0;this.source=t+"";this.flags=n;this.switchU=r&&this.parser.options.ecmaVersion>=6;this.switchN=r&&this.parser.options.ecmaVersion>=9};Ee.prototype.raise=function raise(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)};Ee.prototype.at=function at(e,t){if(t===void 0)t=false;var n=this.source;var r=n.length;if(e>=r){return-1}var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r){return i}var s=n.charCodeAt(e+1);return s>=56320&&s<=57343?(i<<10)+s-56613888:i};Ee.prototype.nextIndex=function nextIndex(e,t){if(t===void 0)t=false;var n=this.source;var r=n.length;if(e>=r){return r}var i=n.charCodeAt(e),s;if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(s=n.charCodeAt(e+1))<56320||s>57343){return e+1}return e+2};Ee.prototype.current=function current(e){if(e===void 0)e=false;return this.at(this.pos,e)};Ee.prototype.lookahead=function lookahead(e){if(e===void 0)e=false;return this.at(this.nextIndex(this.pos,e),e)};Ee.prototype.advance=function advance(e){if(e===void 0)e=false;this.pos=this.nextIndex(this.pos,e)};Ee.prototype.eat=function eat(e,t){if(t===void 0)t=false;if(this.current(t)===e){this.advance(t);return true}return false};function codePointToString(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}be.validateRegExpFlags=function(e){var t=e.validFlags;var n=e.flags;for(var r=0;r-1){this.raise(e.start,"Duplicate regular expression flag")}}};be.validateRegExpPattern=function(e){this.regexp_pattern(e);if(!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0){e.switchN=true;this.regexp_pattern(e)}};be.regexp_pattern=function(e){e.pos=0;e.lastIntValue=0;e.lastStringValue="";e.lastAssertionIsQuantifiable=false;e.numCapturingParens=0;e.maxBackReference=0;e.groupNames.length=0;e.backReferenceNames.length=0;this.regexp_disjunction(e);if(e.pos!==e.source.length){if(e.eat(41)){e.raise("Unmatched ')'")}if(e.eat(93)||e.eat(125)){e.raise("Lone quantifier brackets")}}if(e.maxBackReference>e.numCapturingParens){e.raise("Invalid escape")}for(var t=0,n=e.backReferenceNames;t=9){n=e.eat(60)}if(e.eat(61)||e.eat(33)){this.regexp_disjunction(e);if(!e.eat(41)){e.raise("Unterminated group")}e.lastAssertionIsQuantifiable=!n;return true}}e.pos=t;return false};be.regexp_eatQuantifier=function(e,t){if(t===void 0)t=false;if(this.regexp_eatQuantifierPrefix(e,t)){e.eat(63);return true}return false};be.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};be.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)){r=e.lastIntValue;if(e.eat(44)&&this.regexp_eatDecimalDigits(e)){i=e.lastIntValue}if(e.eat(125)){if(i!==-1&&i=9){this.regexp_groupSpecifier(e)}else if(e.current()===63){e.raise("Invalid group")}this.regexp_disjunction(e);if(e.eat(41)){e.numCapturingParens+=1;return true}e.raise("Unterminated group")}return false};be.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};be.regexp_eatInvalidBracedQuantifier=function(e){if(this.regexp_eatBracedQuantifier(e,true)){e.raise("Nothing to repeat")}return false};be.regexp_eatSyntaxCharacter=function(e){var t=e.current();if(isSyntaxCharacter(t)){e.lastIntValue=t;e.advance();return true}return false};function isSyntaxCharacter(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}be.regexp_eatPatternCharacters=function(e){var t=e.pos;var n=0;while((n=e.current())!==-1&&!isSyntaxCharacter(n)){e.advance()}return e.pos!==t};be.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();if(t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124){e.advance();return true}return false};be.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){if(e.groupNames.indexOf(e.lastStringValue)!==-1){e.raise("Duplicate capture group name")}e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}};be.regexp_eatGroupName=function(e){e.lastStringValue="";if(e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62)){return true}e.raise("Invalid capture group name")}return false};be.regexp_eatRegExpIdentifierName=function(e){e.lastStringValue="";if(this.regexp_eatRegExpIdentifierStart(e)){e.lastStringValue+=codePointToString(e.lastIntValue);while(this.regexp_eatRegExpIdentifierPart(e)){e.lastStringValue+=codePointToString(e.lastIntValue)}return true}return false};be.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos;var n=this.options.ecmaVersion>=11;var r=e.current(n);e.advance(n);if(r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)){r=e.lastIntValue}if(isRegExpIdentifierStart(r)){e.lastIntValue=r;return true}e.pos=t;return false};function isRegExpIdentifierStart(e){return isIdentifierStart(e,true)||e===36||e===95}be.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos;var n=this.options.ecmaVersion>=11;var r=e.current(n);e.advance(n);if(r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)){r=e.lastIntValue}if(isRegExpIdentifierPart(r)){e.lastIntValue=r;return true}e.pos=t;return false};function isRegExpIdentifierPart(e){return isIdentifierChar(e,true)||e===36||e===95||e===8204||e===8205}be.regexp_eatAtomEscape=function(e){if(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)){return true}if(e.switchU){if(e.current()===99){e.raise("Invalid unicode escape")}e.raise("Invalid escape")}return false};be.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU){if(n>e.maxBackReference){e.maxBackReference=n}return true}if(n<=e.numCapturingParens){return true}e.pos=t}return false};be.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e)){e.backReferenceNames.push(e.lastStringValue);return true}e.raise("Invalid named reference")}return false};be.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,false)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};be.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e)){return true}e.pos=t}return false};be.regexp_eatZero=function(e){if(e.current()===48&&!isDecimalDigit(e.lookahead())){e.lastIntValue=0;e.advance();return true}return false};be.regexp_eatControlEscape=function(e){var t=e.current();if(t===116){e.lastIntValue=9;e.advance();return true}if(t===110){e.lastIntValue=10;e.advance();return true}if(t===118){e.lastIntValue=11;e.advance();return true}if(t===102){e.lastIntValue=12;e.advance();return true}if(t===114){e.lastIntValue=13;e.advance();return true}return false};be.regexp_eatControlLetter=function(e){var t=e.current();if(isControlLetter(t)){e.lastIntValue=t%32;e.advance();return true}return false};function isControlLetter(e){return e>=65&&e<=90||e>=97&&e<=122}be.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){if(t===void 0)t=false;var n=e.pos;var r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343){e.lastIntValue=(i-55296)*1024+(o-56320)+65536;return true}}e.pos=s;e.lastIntValue=i}return true}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&isValidUnicode(e.lastIntValue)){return true}if(r){e.raise("Invalid unicode escape")}e.pos=n}return false};function isValidUnicode(e){return e>=0&&e<=1114111}be.regexp_eatIdentityEscape=function(e){if(e.switchU){if(this.regexp_eatSyntaxCharacter(e)){return true}if(e.eat(47)){e.lastIntValue=47;return true}return false}var t=e.current();if(t!==99&&(!e.switchN||t!==107)){e.lastIntValue=t;e.advance();return true}return false};be.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48);e.advance()}while((t=e.current())>=48&&t<=57);return true}return false};be.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(isCharacterClassEscape(t)){e.lastIntValue=-1;e.advance();return true}if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){e.lastIntValue=-1;e.advance();if(e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125)){return true}e.raise("Invalid property name")}return false};function isCharacterClassEscape(e){return e===100||e===68||e===115||e===83||e===119||e===87}be.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;this.regexp_validateUnicodePropertyNameAndValue(e,n,r);return true}}e.pos=t;if(this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;this.regexp_validateUnicodePropertyNameOrValue(e,i);return true}return false};be.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){if(!has(e.unicodeProperties.nonBinary,t)){e.raise("Invalid property name")}if(!e.unicodeProperties.nonBinary[t].test(n)){e.raise("Invalid property value")}};be.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(!e.unicodeProperties.binary.test(t)){e.raise("Invalid property name")}};be.regexp_eatUnicodePropertyName=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyNameCharacter(t=e.current())){e.lastStringValue+=codePointToString(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyNameCharacter(e){return isControlLetter(e)||e===95}be.regexp_eatUnicodePropertyValue=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyValueCharacter(t=e.current())){e.lastStringValue+=codePointToString(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyValueCharacter(e){return isUnicodePropertyNameCharacter(e)||isDecimalDigit(e)}be.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};be.regexp_eatCharacterClass=function(e){if(e.eat(91)){e.eat(94);this.regexp_classRanges(e);if(e.eat(93)){return true}e.raise("Unterminated character class")}return false};be.regexp_classRanges=function(e){while(this.regexp_eatClassAtom(e)){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;if(e.switchU&&(t===-1||n===-1)){e.raise("Invalid character class")}if(t!==-1&&n!==-1&&t>n){e.raise("Range out of order in character class")}}}};be.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e)){return true}if(e.switchU){var n=e.current();if(n===99||isOctalDigit(n)){e.raise("Invalid class escape")}e.raise("Invalid escape")}e.pos=t}var r=e.current();if(r!==93){e.lastIntValue=r;e.advance();return true}return false};be.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98)){e.lastIntValue=8;return true}if(e.switchU&&e.eat(45)){e.lastIntValue=45;return true}if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e)){return true}e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};be.regexp_eatClassControlLetter=function(e){var t=e.current();if(isDecimalDigit(t)||t===95){e.lastIntValue=t%32;e.advance();return true}return false};be.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2)){return true}if(e.switchU){e.raise("Invalid escape")}e.pos=t}return false};be.regexp_eatDecimalDigits=function(e){var t=e.pos;var n=0;e.lastIntValue=0;while(isDecimalDigit(n=e.current())){e.lastIntValue=10*e.lastIntValue+(n-48);e.advance()}return e.pos!==t};function isDecimalDigit(e){return e>=48&&e<=57}be.regexp_eatHexDigits=function(e){var t=e.pos;var n=0;e.lastIntValue=0;while(isHexDigit(n=e.current())){e.lastIntValue=16*e.lastIntValue+hexToInt(n);e.advance()}return e.pos!==t};function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexToInt(e){if(e>=65&&e<=70){return 10+(e-65)}if(e>=97&&e<=102){return 10+(e-97)}return e-48}be.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;if(t<=3&&this.regexp_eatOctalDigit(e)){e.lastIntValue=t*64+n*8+e.lastIntValue}else{e.lastIntValue=t*8+n}}else{e.lastIntValue=t}return true}return false};be.regexp_eatOctalDigit=function(e){var t=e.current();if(isOctalDigit(t)){e.lastIntValue=t-48;e.advance();return true}e.lastIntValue=0;return false};function isOctalDigit(e){return e>=48&&e<=55}be.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r=this.input.length){return this.finishToken(m.eof)}if(e.override){return e.override(this)}else{this.readToken(this.fullCharCodeAtPos())}};Se.readToken=function(e){if(isIdentifierStart(e,this.options.ecmaVersion>=6)||e===92){return this.readWord()}return this.getTokenFromCode(e)};Se.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344){return e}var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888};Se.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition();var t=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(n===-1){this.raise(this.pos-2,"Unterminated comment")}this.pos=n+2;if(this.options.locations){y.lastIndex=t;var r;while((r=y.exec(this.input))&&r.index8&&e<14||e>=5760&&v.test(String.fromCharCode(e))){++this.pos}else{break e}}}};Se.finishToken=function(e,t){this.end=this.pos;if(this.options.locations){this.endLoc=this.curPosition()}var n=this.type;this.type=e;this.value=t;this.updateContext(n)};Se.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57){return this.readNumber(true)}var t=this.input.charCodeAt(this.pos+2);if(this.options.ecmaVersion>=6&&e===46&&t===46){this.pos+=3;return this.finishToken(m.ellipsis)}else{++this.pos;return this.finishToken(m.dot)}};Se.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);if(this.exprAllowed){++this.pos;return this.readRegexp()}if(e===61){return this.finishOp(m.assign,2)}return this.finishOp(m.slash,1)};Se.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1);var n=1;var r=e===42?m.star:m.modulo;if(this.options.ecmaVersion>=7&&e===42&&t===42){++n;r=m.starstar;t=this.input.charCodeAt(this.pos+2)}if(t===61){return this.finishOp(m.assign,n+1)}return this.finishOp(r,n)};Se.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var n=this.input.charCodeAt(this.pos+2);if(n===61){return this.finishOp(m.assign,3)}}return this.finishOp(e===124?m.logicalOR:m.logicalAND,2)}if(t===61){return this.finishOp(m.assign,2)}return this.finishOp(e===124?m.bitwiseOR:m.bitwiseAND,1)};Se.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);if(e===61){return this.finishOp(m.assign,2)}return this.finishOp(m.bitwiseXOR,1)};Se.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||g.test(this.input.slice(this.lastTokEnd,this.pos)))){this.skipLineComment(3);this.skipSpace();return this.nextToken()}return this.finishOp(m.incDec,2)}if(t===61){return this.finishOp(m.assign,2)}return this.finishOp(m.plusMin,1)};Se.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1);var n=1;if(t===e){n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2;if(this.input.charCodeAt(this.pos+n)===61){return this.finishOp(m.assign,n+1)}return this.finishOp(m.bitShift,n)}if(t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45){this.skipLineComment(4);this.skipSpace();return this.nextToken()}if(t===61){n=2}return this.finishOp(m.relational,n)};Se.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===61){return this.finishOp(m.equality,this.input.charCodeAt(this.pos+2)===61?3:2)}if(e===61&&t===62&&this.options.ecmaVersion>=6){this.pos+=2;return this.finishToken(m.arrow)}return this.finishOp(e===61?m.eq:m.prefix,1)};Se.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57){return this.finishOp(m.questionDot,2)}}if(t===63){if(e>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61){return this.finishOp(m.assign,3)}}return this.finishOp(m.coalesce,2)}}return this.finishOp(m.question,1)};Se.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:++this.pos;return this.finishToken(m.parenL);case 41:++this.pos;return this.finishToken(m.parenR);case 59:++this.pos;return this.finishToken(m.semi);case 44:++this.pos;return this.finishToken(m.comma);case 91:++this.pos;return this.finishToken(m.bracketL);case 93:++this.pos;return this.finishToken(m.bracketR);case 123:++this.pos;return this.finishToken(m.braceL);case 125:++this.pos;return this.finishToken(m.braceR);case 58:++this.pos;return this.finishToken(m.colon);case 96:if(this.options.ecmaVersion<6){break}++this.pos;return this.finishToken(m.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88){return this.readRadixNumber(16)}if(this.options.ecmaVersion>=6){if(t===111||t===79){return this.readRadixNumber(8)}if(t===98||t===66){return this.readRadixNumber(2)}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(false);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(m.prefix,1)}this.raise(this.pos,"Unexpected character '"+codePointToString$1(e)+"'")};Se.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);this.pos+=t;return this.finishToken(e,n)};Se.readRegexp=function(){var e,t,n=this.pos;for(;;){if(this.pos>=this.input.length){this.raise(n,"Unterminated regular expression")}var r=this.input.charAt(this.pos);if(g.test(r)){this.raise(n,"Unterminated regular expression")}if(!e){if(r==="["){t=true}else if(r==="]"&&t){t=false}else if(r==="/"&&!t){break}e=r==="\\"}else{e=false}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var s=this.pos;var o=this.readWord1();if(this.containsEsc){this.unexpected(s)}var a=this.regexpState||(this.regexpState=new Ee(this));a.reset(n,i,o);this.validateRegExpFlags(a);this.validateRegExpPattern(a);var c=null;try{c=new RegExp(i,o)}catch(e){}return this.finishToken(m.regexp,{pattern:i,flags:o,value:c})};Se.readInt=function(e,t,n){var r=this.options.ecmaVersion>=12&&t===undefined;var i=n&&this.input.charCodeAt(this.pos)===48;var s=this.pos,o=0,a=0;for(var c=0,u=t==null?Infinity:t;c=97){f=l-97+10}else if(l>=65){f=l-65+10}else if(l>=48&&l<=57){f=l-48}else{f=Infinity}if(f>=e){break}a=l;o=o*e+f}if(r&&a===95){this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits")}if(this.pos===s||t!=null&&this.pos-s!==t){return null}return o};function stringToNumber(e,t){if(t){return parseInt(e,8)}return parseFloat(e.replace(/_/g,""))}function stringToBigInt(e){if(typeof BigInt!=="function"){return null}return BigInt(e.replace(/_/g,""))}Se.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);if(n==null){this.raise(this.start+2,"Expected number in radix "+e)}if(this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110){n=stringToBigInt(this.input.slice(t,this.pos));++this.pos}else if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(m.num,n)};Se.readNumber=function(e){var t=this.pos;if(!e&&this.readInt(10,undefined,true)===null){this.raise(t,"Invalid number")}var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;if(n&&this.strict){this.raise(t,"Invalid number")}var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=stringToBigInt(this.input.slice(t,this.pos));++this.pos;if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(m.num,i)}if(n&&/[89]/.test(this.input.slice(t,this.pos))){n=false}if(r===46&&!n){++this.pos;this.readInt(10);r=this.input.charCodeAt(this.pos)}if((r===69||r===101)&&!n){r=this.input.charCodeAt(++this.pos);if(r===43||r===45){++this.pos}if(this.readInt(10)===null){this.raise(t,"Invalid number")}}if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}var s=stringToNumber(this.input.slice(t,this.pos),n);return this.finishToken(m.num,s)};Se.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){if(this.options.ecmaVersion<6){this.unexpected()}var n=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;if(t>1114111){this.invalidStringToken(n,"Code point out of bounds")}}else{t=this.readHexChar(4)}return t};function codePointToString$1(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}Se.readString=function(e){var t="",n=++this.pos;for(;;){if(this.pos>=this.input.length){this.raise(this.start,"Unterminated string constant")}var r=this.input.charCodeAt(this.pos);if(r===e){break}if(r===92){t+=this.input.slice(n,this.pos);t+=this.readEscapedChar(false);n=this.pos}else{if(isNewLine(r,this.options.ecmaVersion>=10)){this.raise(this.start,"Unterminated string constant")}++this.pos}}t+=this.input.slice(n,this.pos++);return this.finishToken(m.string,t)};var ke={};Se.tryReadTemplateToken=function(){this.inTemplateElement=true;try{this.readTmplToken()}catch(e){if(e===ke){this.readInvalidTemplateToken()}else{throw e}}this.inTemplateElement=false};Se.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9){throw ke}else{this.raise(e,t)}};Se.readTmplToken=function(){var e="",t=this.pos;for(;;){if(this.pos>=this.input.length){this.raise(this.start,"Unterminated template")}var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123){if(this.pos===this.start&&(this.type===m.template||this.type===m.invalidTemplate)){if(n===36){this.pos+=2;return this.finishToken(m.dollarBraceL)}else{++this.pos;return this.finishToken(m.backQuote)}}e+=this.input.slice(t,this.pos);return this.finishToken(m.template,e)}if(n===92){e+=this.input.slice(t,this.pos);e+=this.readEscapedChar(true);t=this.pos}else if(isNewLine(n)){e+=this.input.slice(t,this.pos);++this.pos;switch(n){case 13:if(this.input.charCodeAt(this.pos)===10){++this.pos}case 10:e+="\n";break;default:e+=String.fromCharCode(n);break}if(this.options.locations){++this.curLine;this.lineStart=this.pos}t=this.pos}else{++this.pos}}};Se.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0];var i=parseInt(r,8);if(i>255){r=r.slice(0,-1);i=parseInt(r,8)}this.pos+=r.length-1;t=this.input.charCodeAt(this.pos);if((r!=="0"||t===56||t===57)&&(this.strict||e)){this.invalidStringToken(this.pos-1-r.length,e?"Octal literal in template string":"Octal literal in strict mode")}return String.fromCharCode(i)}if(isNewLine(t)){return""}return String.fromCharCode(t)}};Se.readHexChar=function(e){var t=this.pos;var n=this.readInt(16,e);if(n===null){this.invalidStringToken(t,"Bad character escape sequence")}return n};Se.readWord1=function(){this.containsEsc=false;var e="",t=true,n=this.pos;var r=this.options.ecmaVersion>=6;while(this.pos{"use strict";const r=n(31417);const i=n(71130);const s=e=>e.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,"");class AggregateError extends Error{constructor(e){if(!Array.isArray(e)){throw new TypeError(`Expected input to be an Array, got ${typeof e}`)}e=[...e].map(e=>{if(e instanceof Error){return e}if(e!==null&&typeof e==="object"){return Object.assign(new Error(e.message),e)}return new Error(e)});let t=e.map(e=>{return typeof e.stack==="string"?s(i(e.stack)):String(e)}).join("\n");t="\n"+r(t,4);super(t);this.name="AggregateError";Object.defineProperty(this,"_errors",{value:e})}*[Symbol.iterator](){for(const e of this._errors){yield e}}}e.exports=AggregateError},35525:(e,t,n)=>{"use strict";var r=n(62310);e.exports=defineKeywords;function defineKeywords(e,t){if(Array.isArray(t)){for(var n=0;n{"use strict";var r=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i;var i=/t|\s/i;var s={date:compareDate,time:compareTime,"date-time":compareDateTime};var o={type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};e.exports=function(e){var t="format"+e;return function defFunc(r){defFunc.definition={type:"string",inline:n(2543),statements:true,errors:"full",dependencies:["format"],metaSchema:{anyOf:[{type:"string"},o]}};r.addKeyword(t,defFunc.definition);r.addKeyword("formatExclusive"+e,{dependencies:["format"+e],metaSchema:{anyOf:[{type:"boolean"},o]}});extendFormats(r);return r}};function extendFormats(e){var t=e._formats;for(var n in s){var r=t[n];if(typeof r!="object"||r instanceof RegExp||!r.validate)r=t[n]={validate:r};if(!r.compare)r.compare=s[n]}}function compareDate(e,t){if(!(e&&t))return;if(e>t)return 1;if(et)return 1;if(e{"use strict";e.exports={metaSchemaRef:metaSchemaRef};var t="http://json-schema.org/draft-07/schema";function metaSchemaRef(e){var n=e._opts.defaultMeta;if(typeof n=="string")return{$ref:n};if(e.getSchema(t))return{$ref:t};console.warn("meta schema not defined");return{}}},96216:e=>{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",macro:function(e,t){if(!e)return true;var n=Object.keys(t.properties);if(n.length==0)return true;return{required:n}},metaSchema:{type:"boolean"},dependencies:["properties"]};e.addKeyword("allRequired",defFunc.definition);return e}},1611:e=>{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",macro:function(e){if(e.length==0)return true;if(e.length==1)return{required:e};var t=e.map(function(e){return{required:[e]}});return{anyOf:t}},metaSchema:{type:"array",items:{type:"string"}}};e.addKeyword("anyRequired",defFunc.definition);return e}},49494:(e,t,n)=>{"use strict";var r=n(54630);e.exports=function defFunc(e){defFunc.definition={type:"object",macro:function(e){var t=[];for(var n in e)t.push(getSchema(n,e[n]));return{allOf:t}},metaSchema:{type:"object",propertyNames:{type:"string",format:"json-pointer"},additionalProperties:r.metaSchemaRef(e)}};e.addKeyword("deepProperties",defFunc.definition);return e};function getSchema(e,t){var n=e.split("/");var r={};var i=r;for(var s=1;s{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",inline:function(e,t,n){var r="";for(var i=0;i{"use strict";e.exports=function generate__formatLimit(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l;var f="data"+(s||"");var p="valid"+i;r+="var "+p+" = undefined;";if(e.opts.format===false){r+=" "+p+" = true; ";return r}var d=e.schema.format,h=e.opts.$data&&d.$data,m="";if(h){var g=e.util.getData(d.$data,s,e.dataPathArr),y="format"+i,v="compare"+i;r+=" var "+y+" = formats["+g+"] , "+v+" = "+y+" && "+y+".compare;"}else{var y=e.formats[d];if(!(y&&y.compare)){r+=" "+p+" = true; ";return r}var v="formats"+e.util.getProperty(d)+".compare"}var _=t=="formatMaximum",b="formatExclusive"+(_?"Maximum":"Minimum"),E=e.schema[b],w=e.opts.$data&&E&&E.$data,S=_?"<":">",k="result"+i;var D=e.opts.$data&&o&&o.$data,x;if(D){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";x="schema"+i}else{x=o}if(w){var C=e.util.getData(E.$data,s,e.dataPathArr),A="exclusive"+i,T="op"+i,M="' + "+T+" + '";r+=" var schemaExcl"+i+" = "+C+"; ";C="schemaExcl"+i;r+=" if (typeof "+C+" != 'boolean' && "+C+" !== undefined) { "+p+" = false; ";var l=b;var O=O||[];O.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_formatExclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: '"+b+" should be boolean' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var F=r;r=O.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+F+"]); "}else{r+=" validate.errors = ["+F+"]; return false; "}}else{r+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(u){m+="}";r+=" else { "}if(D){r+=" if ("+x+" === undefined) "+p+" = true; else if (typeof "+x+" != 'string') "+p+" = false; else { ";m+="}"}if(h){r+=" if (!"+v+") "+p+" = true; else { ";m+="}"}r+=" var "+k+" = "+v+"("+f+", ";if(D){r+=""+x}else{r+=""+e.util.toQuotedString(o)}r+=" ); if ("+k+" === undefined) "+p+" = false; var "+A+" = "+C+" === true; if ("+p+" === undefined) { "+p+" = "+A+" ? "+k+" "+S+" 0 : "+k+" "+S+"= 0; } if (!"+p+") var op"+i+" = "+A+" ? '"+S+"' : '"+S+"=';"}else{var A=E===true,M=S;if(!A)M+="=";var T="'"+M+"'";if(D){r+=" if ("+x+" === undefined) "+p+" = true; else if (typeof "+x+" != 'string') "+p+" = false; else { ";m+="}"}if(h){r+=" if (!"+v+") "+p+" = true; else { ";m+="}"}r+=" var "+k+" = "+v+"("+f+", ";if(D){r+=""+x}else{r+=""+e.util.toQuotedString(o)}r+=" ); if ("+k+" === undefined) "+p+" = false; if ("+p+" === undefined) "+p+" = "+k+" "+S;if(!A){r+="="}r+=" 0;"}r+=""+m+"if (!"+p+") { ";var l=t;var O=O||[];O.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_formatLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { comparison: "+T+", limit: ";if(D){r+=""+x}else{r+=""+e.util.toQuotedString(o)}r+=" , exclusive: "+A+" } ";if(e.opts.messages!==false){r+=" , message: 'should be "+M+' "';if(D){r+="' + "+x+" + '"}else{r+=""+e.util.escapeQuotes(o)}r+="\"' "}if(e.opts.verbose){r+=" , schema: ";if(D){r+="validate.schema"+a}else{r+=""+e.util.toQuotedString(o)}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var F=r;r=O.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+F+"]); "}else{r+=" validate.errors = ["+F+"]; return false; "}}else{r+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="}";return r}},98632:e=>{"use strict";e.exports=function generate_patternRequired(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="key"+i,d="idx"+i,h="patternMatched"+i,m="dataProperties"+i,g="",y=e.opts.ownProperties;r+="var "+f+" = true;";if(y){r+=" var "+m+" = undefined;"}var v=o;if(v){var _,b=-1,E=v.length-1;while(b{"use strict";e.exports=function generate_switch(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="errs__"+i;var d=e.util.copy(e);var h="";d.level++;var m="valid"+d.level;var g="ifPassed"+e.level,y=d.baseId,v;r+="var "+g+";";var _=o;if(_){var b,E=-1,w=_.length-1;while(E0:e.util.schemaHasRules(b.if,e.RULES.all))){r+=" var "+p+" = errors; ";var S=e.compositeRule;e.compositeRule=d.compositeRule=true;d.createErrors=false;d.schema=b.if;d.schemaPath=a+"["+E+"].if";d.errSchemaPath=c+"/"+E+"/if";r+=" "+e.validate(d)+" ";d.baseId=y;d.createErrors=true;e.compositeRule=d.compositeRule=S;r+=" "+g+" = "+m+"; if ("+g+") { ";if(typeof b.then=="boolean"){if(b.then===false){var k=k||[];k.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"switch"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { caseIndex: "+E+" } ";if(e.opts.messages!==false){r+=" , message: 'should pass \"switch\" keyword validation' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var D=r;r=k.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+D+"]); "}else{r+=" validate.errors = ["+D+"]; return false; "}}else{r+=" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}r+=" var "+m+" = "+b.then+"; "}else{d.schema=b.then;d.schemaPath=a+"["+E+"].then";d.errSchemaPath=c+"/"+E+"/then";r+=" "+e.validate(d)+" ";d.baseId=y}r+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } } "}else{r+=" "+g+" = true; ";if(typeof b.then=="boolean"){if(b.then===false){var k=k||[];k.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"switch"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { caseIndex: "+E+" } ";if(e.opts.messages!==false){r+=" , message: 'should pass \"switch\" keyword validation' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var D=r;r=k.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+D+"]); "}else{r+=" validate.errors = ["+D+"]; return false; "}}else{r+=" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}r+=" var "+m+" = "+b.then+"; "}else{d.schema=b.then;d.schemaPath=a+"["+E+"].then";d.errSchemaPath=c+"/"+E+"/then";r+=" "+e.validate(d)+" ";d.baseId=y}}v=b.continue}}r+=""+h+"var "+f+" = "+m+";";return r}},41835:e=>{"use strict";var t={};var n={timestamp:function(){return Date.now()},datetime:function(){return(new Date).toISOString()},date:function(){return(new Date).toISOString().slice(0,10)},time:function(){return(new Date).toISOString().slice(11)},random:function(){return Math.random()},randomint:function(e){var t=e&&e.max||2;return function(){return Math.floor(Math.random()*t)}},seq:function(e){var n=e&&e.name||"";t[n]=t[n]||0;return function(){return t[n]++}}};e.exports=function defFunc(e){defFunc.definition={compile:function(e,t,n){var r={};for(var i in e){var s=e[i];var o=getDefault(typeof s=="string"?s:s.func);r[i]=o.length?o(s.args):o}return n.opts.useDefaults&&!n.compositeRule?assignDefaults:noop;function assignDefaults(t){for(var i in e){if(t[i]===undefined||n.opts.useDefaults=="empty"&&(t[i]===null||t[i]===""))t[i]=r[i]()}return true}function noop(){return true}},DEFAULTS:n,metaSchema:{type:"object",additionalProperties:{type:["string","object"],additionalProperties:false,required:["func","args"],properties:{func:{type:"string"},args:{type:"object"}}}}};e.addKeyword("dynamicDefaults",defFunc.definition);return e;function getDefault(e){var t=n[e];if(t)return t;throw new Error('invalid "dynamicDefaults" keyword property value: '+e)}}},69513:(e,t,n)=>{"use strict";e.exports=n(87113)("Maximum")},50581:(e,t,n)=>{"use strict";e.exports=n(87113)("Minimum")},62310:(e,t,n)=>{"use strict";e.exports={instanceof:n(94236),range:n(5332),regexp:n(85829),typeof:n(77189),dynamicDefaults:n(41835),allRequired:n(96216),anyRequired:n(1611),oneRequired:n(82233),prohibited:n(47431),uniqueItemProperties:n(69536),deepProperties:n(49494),deepRequired:n(23023),formatMinimum:n(50581),formatMaximum:n(69513),patternRequired:n(89042),switch:n(65305),select:n(9821),transform:n(62111)}},94236:e=>{"use strict";var t={Object:Object,Array:Array,Function:Function,Number:Number,String:String,Date:Date,RegExp:RegExp};e.exports=function defFunc(e){if(typeof Buffer!="undefined")t.Buffer=Buffer;if(typeof Promise!="undefined")t.Promise=Promise;defFunc.definition={compile:function(e){if(typeof e=="string"){var t=getConstructor(e);return function(e){return e instanceof t}}var n=e.map(getConstructor);return function(e){for(var t=0;t{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",macro:function(e){if(e.length==0)return true;if(e.length==1)return{required:e};var t=e.map(function(e){return{required:[e]}});return{oneOf:t}},metaSchema:{type:"array",items:{type:"string"}}};e.addKeyword("oneRequired",defFunc.definition);return e}},89042:(e,t,n)=>{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",inline:n(98632),statements:true,errors:"full",metaSchema:{type:"array",items:{type:"string",format:"regex"},uniqueItems:true}};e.addKeyword("patternRequired",defFunc.definition);return e}},47431:e=>{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",macro:function(e){if(e.length==0)return true;if(e.length==1)return{not:{required:e}};var t=e.map(function(e){return{required:[e]}});return{not:{anyOf:t}}},metaSchema:{type:"array",items:{type:"string"}}};e.addKeyword("prohibited",defFunc.definition);return e}},5332:e=>{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"number",macro:function(e,t){var n=e[0],r=e[1],i=t.exclusiveRange;validateRangeSchema(n,r,i);return i===true?{exclusiveMinimum:n,exclusiveMaximum:r}:{minimum:n,maximum:r}},metaSchema:{type:"array",minItems:2,maxItems:2,items:{type:"number"}}};e.addKeyword("range",defFunc.definition);e.addKeyword("exclusiveRange");return e;function validateRangeSchema(e,t,n){if(n!==undefined&&typeof n!="boolean")throw new Error("Invalid schema for exclusiveRange keyword, should be boolean");if(e>t||n&&e==t)throw new Error("There are no numbers in range")}}},85829:e=>{"use strict";e.exports=function defFunc(e){defFunc.definition={type:"string",inline:function(e,t,n){return getRegExp()+".test(data"+(e.dataLevel||"")+")";function getRegExp(){try{if(typeof n=="object")return new RegExp(n.pattern,n.flags);var e=n.match(/^\/(.*)\/([gimuy]*)$/);if(e)return new RegExp(e[1],e[2]);throw new Error("cannot parse string into RegExp")}catch(e){console.error("regular expression",n,"is invalid");throw e}}},metaSchema:{type:["string","object"],properties:{pattern:{type:"string"},flags:{type:"string"}},required:["pattern"],additionalProperties:false}};e.addKeyword("regexp",defFunc.definition);return e}},9821:(e,t,n)=>{"use strict";var r=n(54630);e.exports=function defFunc(e){if(!e._opts.$data){console.warn("keyword select requires $data option");return e}var t=r.metaSchemaRef(e);var n=[];defFunc.definition={validate:function v(e,t,n){if(n.selectCases===undefined)throw new Error('keyword "selectCases" is absent');var r=getCompiledSchemas(n,false);var i=r.cases[e];if(i===undefined)i=r.default;if(typeof i=="boolean")return i;var s=i(t);if(!s)v.errors=i.errors;return s},$data:true,metaSchema:{type:["string","number","boolean","null"]}};e.addKeyword("select",defFunc.definition);e.addKeyword("selectCases",{compile:function(e,t){var n=getCompiledSchemas(t);for(var r in e)n.cases[r]=compileOrBoolean(e[r]);return function(){return true}},valid:true,metaSchema:{type:"object",additionalProperties:t}});e.addKeyword("selectDefault",{compile:function(e,t){var n=getCompiledSchemas(t);n.default=compileOrBoolean(e);return function(){return true}},valid:true,metaSchema:t});return e;function getCompiledSchemas(e,t){var r;n.some(function(t){if(t.parentSchema===e){r=t;return true}});if(!r&&t!==false){r={parentSchema:e,cases:{},default:true};n.push(r)}return r}function compileOrBoolean(t){return typeof t=="boolean"?t:e.compile(t)}}},65305:(e,t,n)=>{"use strict";var r=n(54630);e.exports=function defFunc(e){if(e.RULES.keywords.switch&&e.RULES.keywords.if)return;var t=r.metaSchemaRef(e);defFunc.definition={inline:n(34657),statements:true,errors:"full",metaSchema:{type:"array",items:{required:["then"],properties:{if:t,then:{anyOf:[{type:"boolean"},t]},continue:{type:"boolean"}},additionalProperties:false,dependencies:{continue:["if"]}}}};e.addKeyword("switch",defFunc.definition);return e}},62111:e=>{"use strict";e.exports=function defFunc(e){var t={trimLeft:function(e){return e.replace(/^[\s]+/,"")},trimRight:function(e){return e.replace(/[\s]+$/,"")},trim:function(e){return e.trim()},toLowerCase:function(e){return e.toLowerCase()},toUpperCase:function(e){return e.toUpperCase()},toEnumCase:function(e,t){return t.hash[makeHashTableKey(e)]||e}};defFunc.definition={type:"string",errors:false,modifying:true,valid:true,compile:function(e,n){var r;if(e.indexOf("toEnumCase")!==-1){r={hash:{}};if(!n.enum)throw new Error('Missing enum. To use `transform:["toEnumCase"]`, `enum:[...]` is required.');for(var i=n.enum.length;i--;i){var s=n.enum[i];if(typeof s!=="string")continue;var o=makeHashTableKey(s);if(r.hash[o])throw new Error('Invalid enum uniqueness. To use `transform:["toEnumCase"]`, all values must be unique when case insensitive.');r.hash[o]=s}}return function(n,i,s,o){if(!s)return;for(var a=0,c=e.length;a{"use strict";var t=["undefined","string","number","object","function","boolean","symbol"];e.exports=function defFunc(e){defFunc.definition={inline:function(e,t,n){var r="data"+(e.dataLevel||"");if(typeof n=="string")return"typeof "+r+' == "'+n+'"';n="validate.schema"+e.schemaPath+"."+t;return n+".indexOf(typeof "+r+") >= 0"},metaSchema:{anyOf:[{type:"string",enum:t},{type:"array",items:{type:"string",enum:t}}]}};e.addKeyword("typeof",defFunc.definition);return e}},69536:e=>{"use strict";var t=["number","integer","string","boolean","null"];e.exports=function defFunc(e){defFunc.definition={type:"array",compile:function(e,t,n){var r=n.util.equal;var i=getScalarKeys(e,t);return function(t){if(t.length>1){for(var n=0;n=0})}},33866:(e,t,n)=>{"use strict";var r=n(69579),i=n(82253),s=n(32183),o=n(38868),a=n(75986),c=n(10698),u=n(75041),l=n(30398),f=n(778);e.exports=Ajv;Ajv.prototype.validate=validate;Ajv.prototype.compile=compile;Ajv.prototype.addSchema=addSchema;Ajv.prototype.addMetaSchema=addMetaSchema;Ajv.prototype.validateSchema=validateSchema;Ajv.prototype.getSchema=getSchema;Ajv.prototype.removeSchema=removeSchema;Ajv.prototype.addFormat=addFormat;Ajv.prototype.errorsText=errorsText;Ajv.prototype._addSchema=_addSchema;Ajv.prototype._compile=_compile;Ajv.prototype.compileAsync=n(18840);var p=n(3811);Ajv.prototype.addKeyword=p.add;Ajv.prototype.getKeyword=p.get;Ajv.prototype.removeKeyword=p.remove;Ajv.prototype.validateKeyword=p.validate;var d=n(29411);Ajv.ValidationError=d.Validation;Ajv.MissingRefError=d.MissingRef;Ajv.$dataMetaSchema=l;var h="http://json-schema.org/draft-07/schema";var m=["removeAdditional","useDefaults","coerceTypes","strictDefaults"];var g=["/properties"];function Ajv(e){if(!(this instanceof Ajv))return new Ajv(e);e=this._opts=f.copy(e)||{};setLogger(this);this._schemas={};this._refs={};this._fragments={};this._formats=c(e.format);this._cache=e.cache||new s;this._loadingSchemas={};this._compilations=[];this.RULES=u();this._getId=chooseGetId(e);e.loopRequired=e.loopRequired||Infinity;if(e.errorDataPath=="property")e._errorDataPathProperty=true;if(e.serialize===undefined)e.serialize=a;this._metaOpts=getMetaSchemaOptions(this);if(e.formats)addInitialFormats(this);if(e.keywords)addInitialKeywords(this);addDefaultMetaSchema(this);if(typeof e.meta=="object")this.addMetaSchema(e.meta);if(e.nullable)this.addKeyword("nullable",{metaSchema:{type:"boolean"}});addInitialSchemas(this)}function validate(e,t){var n;if(typeof e=="string"){n=this.getSchema(e);if(!n)throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);n=r.validate||this._compile(r)}var i=n(t);if(n.$async!==true)this.errors=n.errors;return i}function compile(e,t){var n=this._addSchema(e,undefined,t);return n.validate||this._compile(n)}function addSchema(e,t,n,r){if(Array.isArray(e)){for(var s=0;s{"use strict";var t=e.exports=function Cache(){this._cache={}};t.prototype.put=function Cache_put(e,t){this._cache[e]=t};t.prototype.get=function Cache_get(e){return this._cache[e]};t.prototype.del=function Cache_del(e){delete this._cache[e]};t.prototype.clear=function Cache_clear(){this._cache={}}},18840:(e,t,n)=>{"use strict";var r=n(29411).MissingRef;e.exports=compileAsync;function compileAsync(e,t,n){var i=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");if(typeof t=="function"){n=t;t=undefined}var s=loadMetaSchemaOf(e).then(function(){var n=i._addSchema(e,undefined,t);return n.validate||_compileAsync(n)});if(n){s.then(function(e){n(null,e)},n)}return s;function loadMetaSchemaOf(e){var t=e.$schema;return t&&!i.getSchema(t)?compileAsync.call(i,{$ref:t},true):Promise.resolve()}function _compileAsync(e){try{return i._compile(e)}catch(e){if(e instanceof r)return loadMissingSchema(e);throw e}function loadMissingSchema(n){var r=n.missingSchema;if(added(r))throw new Error("Schema "+r+" is loaded but "+n.missingRef+" cannot be resolved");var s=i._loadingSchemas[r];if(!s){s=i._loadingSchemas[r]=i._opts.loadSchema(r);s.then(removePromise,removePromise)}return s.then(function(e){if(!added(r)){return loadMetaSchemaOf(e).then(function(){if(!added(r))i.addSchema(e,r,undefined,t)})}}).then(function(){return _compileAsync(e)});function removePromise(){delete i._loadingSchemas[r]}function added(e){return i._refs[e]||i._schemas[e]}}}}},29411:(e,t,n)=>{"use strict";var r=n(82253);e.exports={Validation:errorSubclass(ValidationError),MissingRef:errorSubclass(MissingRefError)};function ValidationError(e){this.message="validation failed";this.errors=e;this.ajv=this.validation=true}MissingRefError.message=function(e,t){return"can't resolve reference "+t+" from id "+e};function MissingRefError(e,t,n){this.message=n||MissingRefError.message(e,t);this.missingRef=r.url(e,t);this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function errorSubclass(e){e.prototype=Object.create(Error.prototype);e.prototype.constructor=e;return e}},10698:(e,t,n)=>{"use strict";var r=n(778);var i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;var s=[0,31,28,31,30,31,30,31,31,30,31,30,31];var o=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;var a=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i;var c=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;var u=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;var l=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;var f=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i;var p=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;var d=/^(?:\/(?:[^~/]|~0|~1)*)*$/;var h=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;var m=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;e.exports=formats;function formats(e){e=e=="full"?"full":"fast";return r.copy(formats[e])}formats.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":l,url:f,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:p,"json-pointer":d,"json-pointer-uri-fragment":h,"relative-json-pointer":m};formats.full={date:date,time:time,"date-time":date_time,uri:uri,"uri-reference":u,"uri-template":l,url:f,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:p,"json-pointer":d,"json-pointer-uri-fragment":h,"relative-json-pointer":m};function isLeapYear(e){return e%4===0&&(e%100!==0||e%400===0)}function date(e){var t=e.match(i);if(!t)return false;var n=+t[1];var r=+t[2];var o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&isLeapYear(n)?29:s[r])}function time(e,t){var n=e.match(o);if(!n)return false;var r=n[1];var i=n[2];var s=n[3];var a=n[5];return(r<=23&&i<=59&&s<=59||r==23&&i==59&&s==60)&&(!t||a)}var g=/t|\s/i;function date_time(e){var t=e.split(g);return t.length==2&&date(t[0])&&time(t[1],true)}var y=/\/|:/;function uri(e){return y.test(e)&&c.test(e)}var v=/[^\\]\\Z/;function regex(e){if(v.test(e))return false;try{new RegExp(e);return true}catch(e){return false}}},69579:(e,t,n)=>{"use strict";var r=n(82253),i=n(778),s=n(29411),o=n(75986);var a=n(85061);var c=i.ucs2length;var u=n(55245);var l=s.Validation;e.exports=compile;function compile(e,t,n,f){var p=this,d=this._opts,h=[undefined],m={},g=[],y={},v=[],_={},b=[];t=t||{schema:e,refVal:h,refs:m};var E=checkCompiling.call(this,e,t,f);var w=this._compilations[E.index];if(E.compiling)return w.callValidate=callValidate;var S=this._formats;var k=this.RULES;try{var D=localCompile(e,t,n,f);w.validate=D;var x=w.callValidate;if(x){x.schema=D.schema;x.errors=null;x.refs=D.refs;x.refVal=D.refVal;x.root=D.root;x.$async=D.$async;if(d.sourceCode)x.source=D.source}return D}finally{endCompiling.call(this,e,t,f)}function callValidate(){var e=w.validate;var t=e.apply(this,arguments);callValidate.errors=e.errors;return t}function localCompile(e,n,o,f){var y=!n||n&&n.schema==e;if(n.schema!=t.schema)return compile.call(p,e,n,o,f);var _=e.$async===true;var E=a({isTop:true,schema:e,isRoot:y,baseId:f,root:n,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:s.MissingRef,RULES:k,validate:a,util:i,resolve:r,resolveRef:resolveRef,usePattern:usePattern,useDefault:useDefault,useCustomRule:useCustomRule,opts:d,formats:S,logger:p.logger,self:p});E=vars(h,refValCode)+vars(g,patternCode)+vars(v,defaultCode)+vars(b,customRuleCode)+E;if(d.processCode)E=d.processCode(E,e);var w;try{var D=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",E);w=D(p,k,S,t,h,v,b,u,c,l);h[0]=w}catch(e){p.logger.error("Error compiling schema, function code:",E);throw e}w.schema=e;w.errors=null;w.refs=m;w.refVal=h;w.root=y?w:n;if(_)w.$async=true;if(d.sourceCode===true){w.source={code:E,patterns:g,defaults:v}}return w}function resolveRef(e,i,s){i=r.url(e,i);var o=m[i];var a,c;if(o!==undefined){a=h[o];c="refVal["+o+"]";return resolvedRef(a,c)}if(!s&&t.refs){var u=t.refs[i];if(u!==undefined){a=t.refVal[u];c=addLocalRef(i,a);return resolvedRef(a,c)}}c=addLocalRef(i);var l=r.call(p,localCompile,t,i);if(l===undefined){var f=n&&n[i];if(f){l=r.inlineRef(f,d.inlineRefs)?f:compile.call(p,f,t,n,e)}}if(l===undefined){removeLocalRef(i)}else{replaceLocalRef(i,l);return resolvedRef(l,c)}}function addLocalRef(e,t){var n=h.length;h[n]=t;m[e]=n;return"refVal"+n}function removeLocalRef(e){delete m[e]}function replaceLocalRef(e,t){var n=m[e];h[n]=t}function resolvedRef(e,t){return typeof e=="object"||typeof e=="boolean"?{code:t,schema:e,inline:true}:{code:t,$async:e&&!!e.$async}}function usePattern(e){var t=y[e];if(t===undefined){t=y[e]=g.length;g[t]=e}return"pattern"+t}function useDefault(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return i.toQuotedString(e);case"object":if(e===null)return"null";var t=o(e);var n=_[t];if(n===undefined){n=_[t]=v.length;v[n]=e}return"default"+n}}function useCustomRule(e,t,n,r){if(p._opts.validateSchema!==false){var i=e.definition.dependencies;if(i&&!i.every(function(e){return Object.prototype.hasOwnProperty.call(n,e)}))throw new Error("parent schema must have all required keywords: "+i.join(","));var s=e.definition.validateSchema;if(s){var o=s(t);if(!o){var a="keyword schema is invalid: "+p.errorsText(s.errors);if(p._opts.validateSchema=="log")p.logger.error(a);else throw new Error(a)}}}var c=e.definition.compile,u=e.definition.inline,l=e.definition.macro;var f;if(c){f=c.call(p,t,n,r)}else if(l){f=l.call(p,t,n,r);if(d.validateSchema!==false)p.validateSchema(f,true)}else if(u){f=u.call(p,r,e.keyword,t,n)}else{f=e.definition.validate;if(!f)return}if(f===undefined)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=b.length;b[h]=f;return{code:"customRule"+h,validate:f}}}function checkCompiling(e,t,n){var r=compIndex.call(this,e,t,n);if(r>=0)return{index:r,compiling:true};r=this._compilations.length;this._compilations[r]={schema:e,root:t,baseId:n};return{index:r,compiling:false}}function endCompiling(e,t,n){var r=compIndex.call(this,e,t,n);if(r>=0)this._compilations.splice(r,1)}function compIndex(e,t,n){for(var r=0;r{"use strict";var r=n(30823),i=n(55245),s=n(778),o=n(38868),a=n(46833);e.exports=resolve;resolve.normalizeId=normalizeId;resolve.fullPath=getFullPath;resolve.url=resolveUrl;resolve.ids=resolveIds;resolve.inlineRef=inlineRef;resolve.schema=resolveSchema;function resolve(e,t,n){var r=this._refs[n];if(typeof r=="string"){if(this._refs[r])r=this._refs[r];else return resolve.call(this,e,t,r)}r=r||this._schemas[n];if(r instanceof o){return inlineRef(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r)}var i=resolveSchema.call(this,t,n);var s,a,c;if(i){s=i.schema;t=i.root;c=i.baseId}if(s instanceof o){a=s.validate||e.call(this,s.schema,t,undefined,c)}else if(s!==undefined){a=inlineRef(s,this._opts.inlineRefs)?s:e.call(this,s,t,undefined,c)}return a}function resolveSchema(e,t){var n=r.parse(t),i=_getFullPath(n),s=getFullPath(this._getId(e.schema));if(Object.keys(e.schema).length===0||i!==s){var a=normalizeId(i);var c=this._refs[a];if(typeof c=="string"){return resolveRecursive.call(this,e,c,n)}else if(c instanceof o){if(!c.validate)this._compile(c);e=c}else{c=this._schemas[a];if(c instanceof o){if(!c.validate)this._compile(c);if(a==normalizeId(t))return{schema:c,root:e,baseId:s};e=c}else{return}}if(!e.schema)return;s=getFullPath(this._getId(e.schema))}return getJsonPointer.call(this,n,s,e.schema,e)}function resolveRecursive(e,t,n){var r=resolveSchema.call(this,e,t);if(r){var i=r.schema;var s=r.baseId;e=r.root;var o=this._getId(i);if(o)s=resolveUrl(s,o);return getJsonPointer.call(this,n,s,i,e)}}var c=s.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,t,n,r){e.fragment=e.fragment||"";if(e.fragment.slice(0,1)!="/")return;var i=e.fragment.split("/");for(var o=1;o{"use strict";var r=n(71001),i=n(778).toHash;e.exports=function rules(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}];var t=["type","$comment"];var n=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"];var s=["number","integer","string","array","object","boolean","null"];e.all=i(t);e.types=i(s);e.forEach(function(n){n.rules=n.rules.map(function(n){var i;if(typeof n=="object"){var s=Object.keys(n)[0];i=n[s];n=s;i.forEach(function(n){t.push(n);e.all[n]=true})}t.push(n);var o=e.all[n]={keyword:n,code:r[n],implements:i};return o});e.all.$comment={keyword:"$comment",code:r.$comment};if(n.type)e.types[n.type]=n});e.keywords=i(t.concat(n));e.custom={};return e}},38868:(e,t,n)=>{"use strict";var r=n(778);e.exports=SchemaObject;function SchemaObject(e){r.copy(e,this)}},15512:e=>{"use strict";e.exports=function ucs2length(e){var t=0,n=e.length,r=0,i;while(r=55296&&i<=56319&&r{"use strict";e.exports={copy:copy,checkDataType:checkDataType,checkDataTypes:checkDataTypes,coerceToTypes:coerceToTypes,toHash:toHash,getProperty:getProperty,escapeQuotes:escapeQuotes,equal:n(55245),ucs2length:n(15512),varOccurences:varOccurences,varReplace:varReplace,schemaHasRules:schemaHasRules,schemaHasRulesExcept:schemaHasRulesExcept,schemaUnknownRules:schemaUnknownRules,toQuotedString:toQuotedString,getPathExpr:getPathExpr,getPath:getPath,getData:getData,unescapeFragment:unescapeFragment,unescapeJsonPointer:unescapeJsonPointer,escapeFragment:escapeFragment,escapeJsonPointer:escapeJsonPointer};function copy(e,t){t=t||{};for(var n in e)t[n]=e[n];return t}function checkDataType(e,t,n,r){var i=r?" !== ":" === ",s=r?" || ":" && ",o=r?"!":"",a=r?"":"!";switch(e){case"null":return t+i+"null";case"array":return o+"Array.isArray("+t+")";case"object":return"("+o+t+s+"typeof "+t+i+'"object"'+s+a+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+i+'"number"'+s+a+"("+t+" % 1)"+s+t+i+t+(n?s+o+"isFinite("+t+")":"")+")";case"number":return"(typeof "+t+i+'"'+e+'"'+(n?s+o+"isFinite("+t+")":"")+")";default:return"typeof "+t+i+'"'+e+'"'}}function checkDataTypes(e,t,n){switch(e.length){case 1:return checkDataType(e[0],t,n,true);default:var r="";var i=toHash(e);if(i.array&&i.object){r=i.null?"(":"(!"+t+" || ";r+="typeof "+t+' !== "object")';delete i.null;delete i.array;delete i.object}if(i.number)delete i.integer;for(var s in i)r+=(r?" && ":"")+checkDataType(s,t,n,true);return r}}var r=toHash(["string","number","integer","boolean","null"]);function coerceToTypes(e,t){if(Array.isArray(t)){var n=[];for(var i=0;i=t)throw new Error("Cannot access property/index "+r+" levels up, current level is "+t);return n[t-r]}if(r>t)throw new Error("Cannot access data "+r+" levels up, current level is "+t);s="data"+(t-r||"");if(!i)return s}var u=s;var l=i.split("/");for(var f=0;f{"use strict";var t=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,n){for(var r=0;r{"use strict";var r=n(40038);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:r.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:r.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},70507:e=>{"use strict";e.exports=function generate__limit(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l;var f="data"+(s||"");var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}var h=t=="maximum",m=h?"exclusiveMaximum":"exclusiveMinimum",g=e.schema[m],y=e.opts.$data&&g&&g.$data,v=h?"<":">",_=h?">":"<",l=undefined;if(!(p||typeof o=="number"||o===undefined)){throw new Error(t+" must be number")}if(!(y||g===undefined||typeof g=="number"||typeof g=="boolean")){throw new Error(m+" must be number or boolean")}if(y){var b=e.util.getData(g.$data,s,e.dataPathArr),E="exclusive"+i,w="exclType"+i,S="exclIsNumber"+i,k="op"+i,D="' + "+k+" + '";r+=" var schemaExcl"+i+" = "+b+"; ";b="schemaExcl"+i;r+=" var "+E+"; var "+w+" = typeof "+b+"; if ("+w+" != 'boolean' && "+w+" != 'undefined' && "+w+" != 'number') { ";var l=m;var x=x||[];x.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: '"+m+" should be boolean' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var C=r;r=x.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+C+"]); "}else{r+=" validate.errors = ["+C+"]; return false; "}}else{r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else if ( ";if(p){r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "}r+=" "+w+" == 'number' ? ( ("+E+" = "+d+" === undefined || "+b+" "+v+"= "+d+") ? "+f+" "+_+"= "+b+" : "+f+" "+_+" "+d+" ) : ( ("+E+" = "+b+" === true) ? "+f+" "+_+"= "+d+" : "+f+" "+_+" "+d+" ) || "+f+" !== "+f+") { var op"+i+" = "+E+" ? '"+v+"' : '"+v+"='; ";if(o===undefined){l=m;c=e.errSchemaPath+"/"+m;d=b;p=y}}else{var S=typeof g=="number",D=v;if(S&&p){var k="'"+D+"'";r+=" if ( ";if(p){r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "}r+=" ( "+d+" === undefined || "+g+" "+v+"= "+d+" ? "+f+" "+_+"= "+g+" : "+f+" "+_+" "+d+" ) || "+f+" !== "+f+") { "}else{if(S&&o===undefined){E=true;l=m;c=e.errSchemaPath+"/"+m;d=g;_+="="}else{if(S)d=Math[h?"min":"max"](g,o);if(g===(S?d:true)){E=true;l=m;c=e.errSchemaPath+"/"+m;_+="="}else{E=false;D+="="}}var k="'"+D+"'";r+=" if ( ";if(p){r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "}r+=" "+f+" "+_+" "+d+" || "+f+" !== "+f+") { "}}l=l||t;var x=x||[];x.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { comparison: "+k+", limit: "+d+", exclusive: "+E+" } ";if(e.opts.messages!==false){r+=" , message: 'should be "+D+" ";if(p){r+="' + "+d}else{r+=""+d+"'"}}if(e.opts.verbose){r+=" , schema: ";if(p){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var C=r;r=x.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+C+"]); "}else{r+=" validate.errors = ["+C+"]; return false; "}}else{r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(u){r+=" else { "}return r}},6958:e=>{"use strict";e.exports=function generate__limitItems(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l;var f="data"+(s||"");var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}if(!(p||typeof o=="number")){throw new Error(t+" must be number")}var h=t=="maxItems"?">":"<";r+="if ( ";if(p){r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "}r+=" "+f+".length "+h+" "+d+") { ";var l=t;var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+d+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have ";if(t=="maxItems"){r+="more"}else{r+="fewer"}r+=" than ";if(p){r+="' + "+d+" + '"}else{r+=""+o}r+=" items' "}if(e.opts.verbose){r+=" , schema: ";if(p){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(u){r+=" else { "}return r}},41363:e=>{"use strict";e.exports=function generate__limitLength(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l;var f="data"+(s||"");var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}if(!(p||typeof o=="number")){throw new Error(t+" must be number")}var h=t=="maxLength"?">":"<";r+="if ( ";if(p){r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "}if(e.opts.unicode===false){r+=" "+f+".length "}else{r+=" ucs2length("+f+") "}r+=" "+h+" "+d+") { ";var l=t;var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+d+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT be ";if(t=="maxLength"){r+="longer"}else{r+="shorter"}r+=" than ";if(p){r+="' + "+d+" + '"}else{r+=""+o}r+=" characters' "}if(e.opts.verbose){r+=" , schema: ";if(p){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(u){r+=" else { "}return r}},25569:e=>{"use strict";e.exports=function generate__limitProperties(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l;var f="data"+(s||"");var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}if(!(p||typeof o=="number")){throw new Error(t+" must be number")}var h=t=="maxProperties"?">":"<";r+="if ( ";if(p){r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "}r+=" Object.keys("+f+").length "+h+" "+d+") { ";var l=t;var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+d+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have ";if(t=="maxProperties"){r+="more"}else{r+="fewer"}r+=" than ";if(p){r+="' + "+d+" + '"}else{r+=""+o}r+=" properties' "}if(e.opts.verbose){r+=" , schema: ";if(p){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(u){r+=" else { "}return r}},30081:e=>{"use strict";e.exports=function generate_allOf(e,t,n){var r=" ";var i=e.schema[t];var s=e.schemaPath+e.util.getProperty(t);var o=e.errSchemaPath+"/"+t;var a=!e.opts.allErrors;var c=e.util.copy(e);var u="";c.level++;var l="valid"+c.level;var f=c.baseId,p=true;var d=i;if(d){var h,m=-1,g=d.length-1;while(m0:e.util.schemaHasRules(h,e.RULES.all)){p=false;c.schema=h;c.schemaPath=s+"["+m+"]";c.errSchemaPath=o+"/"+m;r+=" "+e.validate(c)+" ";c.baseId=f;if(a){r+=" if ("+l+") { ";u+="}"}}}}if(a){if(p){r+=" if (true) { "}else{r+=" "+u.slice(0,-1)+" "}}return r}},70019:e=>{"use strict";e.exports=function generate_anyOf(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="errs__"+i;var d=e.util.copy(e);var h="";d.level++;var m="valid"+d.level;var g=o.every(function(t){return e.opts.strictKeywords?typeof t=="object"&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)});if(g){var y=d.baseId;r+=" var "+p+" = errors; var "+f+" = false; ";var v=e.compositeRule;e.compositeRule=d.compositeRule=true;var _=o;if(_){var b,E=-1,w=_.length-1;while(E{"use strict";e.exports=function generate_comment(e,t,n){var r=" ";var i=e.schema[t];var s=e.errSchemaPath+"/"+t;var o=!e.opts.allErrors;var a=e.util.toQuotedString(i);if(e.opts.$comment===true){r+=" console.log("+a+");"}else if(typeof e.opts.$comment=="function"){r+=" self._opts.$comment("+a+", "+e.util.toQuotedString(s)+", validate.root.schema);"}return r}},23404:e=>{"use strict";e.exports=function generate_const(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}if(!p){r+=" var schema"+i+" = validate.schema"+a+";"}r+="var "+f+" = equal("+l+", schema"+i+"); if (!"+f+") { ";var h=h||[];h.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"const"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { allowedValue: schema"+i+" } ";if(e.opts.messages!==false){r+=" , message: 'should be equal to constant' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var m=r;r=h.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+m+"]); "}else{r+=" validate.errors = ["+m+"]; return false; "}}else{r+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" }";if(u){r+=" else { "}return r}},33224:e=>{"use strict";e.exports=function generate_contains(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="errs__"+i;var d=e.util.copy(e);var h="";d.level++;var m="valid"+d.level;var g="i"+i,y=d.dataLevel=e.dataLevel+1,v="data"+y,_=e.baseId,b=e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all);r+="var "+p+" = errors;var "+f+";";if(b){var E=e.compositeRule;e.compositeRule=d.compositeRule=true;d.schema=o;d.schemaPath=a;d.errSchemaPath=c;r+=" var "+m+" = false; for (var "+g+" = 0; "+g+" < "+l+".length; "+g+"++) { ";d.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,true);var w=l+"["+g+"]";d.dataPathArr[y]=g;var S=e.validate(d);d.baseId=_;if(e.util.varOccurences(S,v)<2){r+=" "+e.util.varReplace(S,v,w)+" "}else{r+=" var "+v+" = "+w+"; "+S+" "}r+=" if ("+m+") break; } ";e.compositeRule=d.compositeRule=E;r+=" "+h+" if (!"+m+") {"}else{r+=" if ("+l+".length == 0) {"}var k=k||[];k.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"contains"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'should contain a valid item' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var D=r;r=k.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+D+"]); "}else{r+=" validate.errors = ["+D+"]; return false; "}}else{r+=" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else { ";if(b){r+=" errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } "}if(e.opts.allErrors){r+=" } "}return r}},99819:e=>{"use strict";e.exports=function generate_custom(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l;var f="data"+(s||"");var p="valid"+i;var d="errs__"+i;var h=e.opts.$data&&o&&o.$data,m;if(h){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";m="schema"+i}else{m=o}var g=this,y="definition"+i,v=g.definition,_="";var b,E,w,S,k;if(h&&v.$data){k="keywordValidate"+i;var D=v.validateSchema;r+=" var "+y+" = RULES.custom['"+t+"'].definition; var "+k+" = "+y+".validate;"}else{S=e.useCustomRule(g,o,e.schema,e);if(!S)return;m="validate.schema"+a;k=S.code;b=v.compile;E=v.inline;w=v.macro}var x=k+".errors",C="i"+i,A="ruleErr"+i,T=v.async;if(T&&!e.async)throw new Error("async keyword in sync schema");if(!(E||w)){r+=""+x+" = null;"}r+="var "+d+" = errors;var "+p+";";if(h&&v.$data){_+="}";r+=" if ("+m+" === undefined) { "+p+" = true; } else { ";if(D){_+="}";r+=" "+p+" = "+y+".validateSchema("+m+"); if ("+p+") { "}}if(E){if(v.statements){r+=" "+S.validate+" "}else{r+=" "+p+" = "+S.validate+"; "}}else if(w){var M=e.util.copy(e);var _="";M.level++;var O="valid"+M.level;M.schema=S.validate;M.schemaPath="";var F=e.compositeRule;e.compositeRule=M.compositeRule=true;var I=e.validate(M).replace(/validate\.schema/g,k);e.compositeRule=M.compositeRule=F;r+=" "+I}else{var R=R||[];R.push(r);r="";r+=" "+k+".call( ";if(e.opts.passContext){r+="this"}else{r+="self"}if(b||v.schema===false){r+=" , "+f+" "}else{r+=" , "+m+" , "+f+" , validate.schema"+e.schemaPath+" "}r+=" , (dataPath || '')";if(e.errorPath!='""'){r+=" + "+e.errorPath}var P=s?"data"+(s-1||""):"parentData",N=s?e.dataPathArr[s]:"parentDataProperty";r+=" , "+P+" , "+N+" , rootData ) ";var L=r;r=R.pop();if(v.errors===false){r+=" "+p+" = ";if(T){r+="await "}r+=""+L+"; "}else{if(T){x="customErrors"+i;r+=" var "+x+" = null; try { "+p+" = await "+L+"; } catch (e) { "+p+" = false; if (e instanceof ValidationError) "+x+" = e.errors; else throw e; } "}else{r+=" "+x+" = null; "+p+" = "+L+"; "}}}if(v.modifying){r+=" if ("+P+") "+f+" = "+P+"["+N+"];"}r+=""+_;if(v.valid){if(u){r+=" if (true) { "}}else{r+=" if ( ";if(v.valid===undefined){r+=" !";if(w){r+=""+O}else{r+=""+p}}else{r+=" "+!v.valid+" "}r+=") { ";l=g.keyword;var R=R||[];R.push(r);r="";var R=R||[];R.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+g.keyword+"' } ";if(e.opts.messages!==false){r+=" , message: 'should pass \""+g.keyword+"\" keyword validation' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var B=r;r=R.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+B+"]); "}else{r+=" validate.errors = ["+B+"]; return false; "}}else{r+=" var err = "+B+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}var j=r;r=R.pop();if(E){if(v.errors){if(v.errors!="full"){r+=" for (var "+C+"="+d+"; "+C+"{"use strict";e.exports=function generate_dependencies(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var p=e.util.copy(e);var d="";p.level++;var h="valid"+p.level;var m={},g={},y=e.opts.ownProperties;for(E in o){if(E=="__proto__")continue;var v=o[E];var _=Array.isArray(v)?g:m;_[E]=v}r+="var "+f+" = errors;";var b=e.errorPath;r+="var missing"+i+";";for(var E in g){_=g[E];if(_.length){r+=" if ( "+l+e.util.getProperty(E)+" !== undefined ";if(y){r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(E)+"') "}if(u){r+=" && ( ";var w=_;if(w){var S,k=-1,D=w.length-1;while(k0:e.util.schemaHasRules(v,e.RULES.all)){r+=" "+h+" = true; if ( "+l+e.util.getProperty(E)+" !== undefined ";if(y){r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(E)+"') "}r+=") { ";p.schema=v;p.schemaPath=a+e.util.getProperty(E);p.errSchemaPath=c+"/"+e.util.escapeFragment(E);r+=" "+e.validate(p)+" ";p.baseId=P;r+=" } ";if(u){r+=" if ("+h+") { ";d+="}"}}}if(u){r+=" "+d+" if ("+f+" == errors) {"}return r}},20489:e=>{"use strict";e.exports=function generate_enum(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}var h="i"+i,m="schema"+i;if(!p){r+=" var "+m+" = validate.schema"+a+";"}r+="var "+f+";";if(p){r+=" if (schema"+i+" === undefined) "+f+" = true; else if (!Array.isArray(schema"+i+")) "+f+" = false; else {"}r+=""+f+" = false;for (var "+h+"=0; "+h+"<"+m+".length; "+h+"++) if (equal("+l+", "+m+"["+h+"])) { "+f+" = true; break; }";if(p){r+=" } "}r+=" if (!"+f+") { ";var g=g||[];g.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"enum"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { allowedValues: schema"+i+" } ";if(e.opts.messages!==false){r+=" , message: 'should be equal to one of the allowed values' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var y=r;r=g.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+y+"]); "}else{r+=" validate.errors = ["+y+"]; return false; "}}else{r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" }";if(u){r+=" else { "}return r}},69090:e=>{"use strict";e.exports=function generate_format(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");if(e.opts.format===false){if(u){r+=" if (true) { "}return r}var f=e.opts.$data&&o&&o.$data,p;if(f){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var d=e.opts.unknownFormats,h=Array.isArray(d);if(f){var m="format"+i,g="isObject"+i,y="formatType"+i;r+=" var "+m+" = formats["+p+"]; var "+g+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+y+" = "+g+" && "+m+".type || 'string'; if ("+g+") { ";if(e.async){r+=" var async"+i+" = "+m+".async; "}r+=" "+m+" = "+m+".validate; } if ( ";if(f){r+=" ("+p+" !== undefined && typeof "+p+" != 'string') || "}r+=" (";if(d!="ignore"){r+=" ("+p+" && !"+m+" ";if(h){r+=" && self._opts.unknownFormats.indexOf("+p+") == -1 "}r+=") || "}r+=" ("+m+" && "+y+" == '"+n+"' && !(typeof "+m+" == 'function' ? ";if(e.async){r+=" (async"+i+" ? await "+m+"("+l+") : "+m+"("+l+")) "}else{r+=" "+m+"("+l+") "}r+=" : "+m+".test("+l+"))))) {"}else{var m=e.formats[o];if(!m){if(d=="ignore"){e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"');if(u){r+=" if (true) { "}return r}else if(h&&d.indexOf(o)>=0){if(u){r+=" if (true) { "}return r}else{throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}}var g=typeof m=="object"&&!(m instanceof RegExp)&&m.validate;var y=g&&m.type||"string";if(g){var v=m.async===true;m=m.validate}if(y!=n){if(u){r+=" if (true) { "}return r}if(v){if(!e.async)throw new Error("async format in sync schema");var _="formats"+e.util.getProperty(o)+".validate";r+=" if (!(await "+_+"("+l+"))) { "}else{r+=" if (! ";var _="formats"+e.util.getProperty(o);if(g)_+=".validate";if(typeof m=="function"){r+=" "+_+"("+l+") "}else{r+=" "+_+".test("+l+") "}r+=") { "}}var b=b||[];b.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"format"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { format: ";if(f){r+=""+p}else{r+=""+e.util.toQuotedString(o)}r+=" } ";if(e.opts.messages!==false){r+=" , message: 'should match format \"";if(f){r+="' + "+p+" + '"}else{r+=""+e.util.escapeQuotes(o)}r+="\"' "}if(e.opts.verbose){r+=" , schema: ";if(f){r+="validate.schema"+a}else{r+=""+e.util.toQuotedString(o)}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var E=r;r=b.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+E+"]); "}else{r+=" validate.errors = ["+E+"]; return false; "}}else{r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(u){r+=" else { "}return r}},1636:e=>{"use strict";e.exports=function generate_if(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="errs__"+i;var d=e.util.copy(e);d.level++;var h="valid"+d.level;var m=e.schema["then"],g=e.schema["else"],y=m!==undefined&&(e.opts.strictKeywords?typeof m=="object"&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=g!==undefined&&(e.opts.strictKeywords?typeof g=="object"&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all)),_=d.baseId;if(y||v){var b;d.createErrors=false;d.schema=o;d.schemaPath=a;d.errSchemaPath=c;r+=" var "+p+" = errors; var "+f+" = true; ";var E=e.compositeRule;e.compositeRule=d.compositeRule=true;r+=" "+e.validate(d)+" ";d.baseId=_;d.createErrors=true;r+=" errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ";e.compositeRule=d.compositeRule=E;if(y){r+=" if ("+h+") { ";d.schema=e.schema["then"];d.schemaPath=e.schemaPath+".then";d.errSchemaPath=e.errSchemaPath+"/then";r+=" "+e.validate(d)+" ";d.baseId=_;r+=" "+f+" = "+h+"; ";if(y&&v){b="ifClause"+i;r+=" var "+b+" = 'then'; "}else{b="'then'"}r+=" } ";if(v){r+=" else { "}}else{r+=" if (!"+h+") { "}if(v){d.schema=e.schema["else"];d.schemaPath=e.schemaPath+".else";d.errSchemaPath=e.errSchemaPath+"/else";r+=" "+e.validate(d)+" ";d.baseId=_;r+=" "+f+" = "+h+"; ";if(y&&v){b="ifClause"+i;r+=" var "+b+" = 'else'; "}else{b="'else'"}r+=" } "}r+=" if (!"+f+") { var err = ";if(e.createErrors!==false){r+=" { keyword: '"+"if"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { failingKeyword: "+b+" } ";if(e.opts.messages!==false){r+=" , message: 'should match \"' + "+b+" + '\" schema' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(vErrors); "}else{r+=" validate.errors = vErrors; return false; "}}r+=" } ";if(u){r+=" else { "}}else{if(u){r+=" if (true) { "}}return r}},71001:(e,t,n)=>{"use strict";e.exports={$ref:n(41944),allOf:n(30081),anyOf:n(70019),$comment:n(79878),const:n(23404),contains:n(33224),dependencies:n(19493),enum:n(20489),format:n(69090),if:n(1636),items:n(6060),maximum:n(70507),minimum:n(70507),maxItems:n(6958),minItems:n(6958),maxLength:n(41363),minLength:n(41363),maxProperties:n(25569),minProperties:n(25569),multipleOf:n(54841),not:n(74881),oneOf:n(77675),pattern:n(98676),properties:n(99306),propertyNames:n(28014),required:n(16372),uniqueItems:n(37270),validate:n(85061)}},6060:e=>{"use strict";e.exports=function generate_items(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="errs__"+i;var d=e.util.copy(e);var h="";d.level++;var m="valid"+d.level;var g="i"+i,y=d.dataLevel=e.dataLevel+1,v="data"+y,_=e.baseId;r+="var "+p+" = errors;var "+f+";";if(Array.isArray(o)){var b=e.schema.additionalItems;if(b===false){r+=" "+f+" = "+l+".length <= "+o.length+"; ";var E=c;c=e.errSchemaPath+"/additionalItems";r+=" if (!"+f+") { ";var w=w||[];w.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"additionalItems"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+o.length+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have more than "+o.length+" items' "}if(e.opts.verbose){r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var S=r;r=w.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+S+"]); "}else{r+=" validate.errors = ["+S+"]; return false; "}}else{r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";c=E;if(u){h+="}";r+=" else { "}}var k=o;if(k){var D,x=-1,C=k.length-1;while(x0:e.util.schemaHasRules(D,e.RULES.all)){r+=" "+m+" = true; if ("+l+".length > "+x+") { ";var A=l+"["+x+"]";d.schema=D;d.schemaPath=a+"["+x+"]";d.errSchemaPath=c+"/"+x;d.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,true);d.dataPathArr[y]=x;var T=e.validate(d);d.baseId=_;if(e.util.varOccurences(T,v)<2){r+=" "+e.util.varReplace(T,v,A)+" "}else{r+=" var "+v+" = "+A+"; "+T+" "}r+=" } ";if(u){r+=" if ("+m+") { ";h+="}"}}}}if(typeof b=="object"&&(e.opts.strictKeywords?typeof b=="object"&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){d.schema=b;d.schemaPath=e.schemaPath+".additionalItems";d.errSchemaPath=e.errSchemaPath+"/additionalItems";r+=" "+m+" = true; if ("+l+".length > "+o.length+") { for (var "+g+" = "+o.length+"; "+g+" < "+l+".length; "+g+"++) { ";d.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,true);var A=l+"["+g+"]";d.dataPathArr[y]=g;var T=e.validate(d);d.baseId=_;if(e.util.varOccurences(T,v)<2){r+=" "+e.util.varReplace(T,v,A)+" "}else{r+=" var "+v+" = "+A+"; "+T+" "}if(u){r+=" if (!"+m+") break; "}r+=" } } ";if(u){r+=" if ("+m+") { ";h+="}"}}}else if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all)){d.schema=o;d.schemaPath=a;d.errSchemaPath=c;r+=" for (var "+g+" = "+0+"; "+g+" < "+l+".length; "+g+"++) { ";d.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,true);var A=l+"["+g+"]";d.dataPathArr[y]=g;var T=e.validate(d);d.baseId=_;if(e.util.varOccurences(T,v)<2){r+=" "+e.util.varReplace(T,v,A)+" "}else{r+=" var "+v+" = "+A+"; "+T+" "}if(u){r+=" if (!"+m+") break; "}r+=" }"}if(u){r+=" "+h+" if ("+p+" == errors) {"}return r}},54841:e=>{"use strict";e.exports=function generate_multipleOf(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f=e.opts.$data&&o&&o.$data,p;if(f){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}if(!(f||typeof o=="number")){throw new Error(t+" must be number")}r+="var division"+i+";if (";if(f){r+=" "+p+" !== undefined && ( typeof "+p+" != 'number' || "}r+=" (division"+i+" = "+l+" / "+p+", ";if(e.opts.multipleOfPrecision){r+=" Math.abs(Math.round(division"+i+") - division"+i+") > 1e-"+e.opts.multipleOfPrecision+" "}else{r+=" division"+i+" !== parseInt(division"+i+") "}r+=" ) ";if(f){r+=" ) "}r+=" ) { ";var d=d||[];d.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"multipleOf"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { multipleOf: "+p+" } ";if(e.opts.messages!==false){r+=" , message: 'should be multiple of ";if(f){r+="' + "+p}else{r+=""+p+"'"}}if(e.opts.verbose){r+=" , schema: ";if(f){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var h=r;r=d.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+h+"]); "}else{r+=" validate.errors = ["+h+"]; return false; "}}else{r+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(u){r+=" else { "}return r}},74881:e=>{"use strict";e.exports=function generate_not(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var p=e.util.copy(e);p.level++;var d="valid"+p.level;if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all)){p.schema=o;p.schemaPath=a;p.errSchemaPath=c;r+=" var "+f+" = errors; ";var h=e.compositeRule;e.compositeRule=p.compositeRule=true;p.createErrors=false;var m;if(p.opts.allErrors){m=p.opts.allErrors;p.opts.allErrors=false}r+=" "+e.validate(p)+" ";p.createErrors=true;if(m)p.opts.allErrors=m;e.compositeRule=p.compositeRule=h;r+=" if ("+d+") { ";var g=g||[];g.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'should NOT be valid' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var y=r;r=g.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+y+"]); "}else{r+=" validate.errors = ["+y+"]; return false; "}}else{r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ";if(e.opts.allErrors){r+=" } "}}else{r+=" var err = ";if(e.createErrors!==false){r+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'should NOT be valid' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(u){r+=" if (false) { "}}return r}},77675:e=>{"use strict";e.exports=function generate_oneOf(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p="errs__"+i;var d=e.util.copy(e);var h="";d.level++;var m="valid"+d.level;var g=d.baseId,y="prevValid"+i,v="passingSchemas"+i;r+="var "+p+" = errors , "+y+" = false , "+f+" = false , "+v+" = null; ";var _=e.compositeRule;e.compositeRule=d.compositeRule=true;var b=o;if(b){var E,w=-1,S=b.length-1;while(w0:e.util.schemaHasRules(E,e.RULES.all)){d.schema=E;d.schemaPath=a+"["+w+"]";d.errSchemaPath=c+"/"+w;r+=" "+e.validate(d)+" ";d.baseId=g}else{r+=" var "+m+" = true; "}if(w){r+=" if ("+m+" && "+y+") { "+f+" = false; "+v+" = ["+v+", "+w+"]; } else { ";h+="}"}r+=" if ("+m+") { "+f+" = "+y+" = true; "+v+" = "+w+"; }"}}e.compositeRule=d.compositeRule=_;r+=""+h+"if (!"+f+") { var err = ";if(e.createErrors!==false){r+=" { keyword: '"+"oneOf"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { passingSchemas: "+v+" } ";if(e.opts.messages!==false){r+=" , message: 'should match exactly one schema in oneOf' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(vErrors); "}else{r+=" validate.errors = vErrors; return false; "}}r+="} else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; }";if(e.opts.allErrors){r+=" } "}return r}},98676:e=>{"use strict";e.exports=function generate_pattern(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f=e.opts.$data&&o&&o.$data,p;if(f){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var d=f?"(new RegExp("+p+"))":e.usePattern(o);r+="if ( ";if(f){r+=" ("+p+" !== undefined && typeof "+p+" != 'string') || "}r+=" !"+d+".test("+l+") ) { ";var h=h||[];h.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"pattern"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { pattern: ";if(f){r+=""+p}else{r+=""+e.util.toQuotedString(o)}r+=" } ";if(e.opts.messages!==false){r+=" , message: 'should match pattern \"";if(f){r+="' + "+p+" + '"}else{r+=""+e.util.escapeQuotes(o)}r+="\"' "}if(e.opts.verbose){r+=" , schema: ";if(f){r+="validate.schema"+a}else{r+=""+e.util.toQuotedString(o)}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var m=r;r=h.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+m+"]); "}else{r+=" validate.errors = ["+m+"]; return false; "}}else{r+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(u){r+=" else { "}return r}},99306:e=>{"use strict";e.exports=function generate_properties(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var p=e.util.copy(e);var d="";p.level++;var h="valid"+p.level;var m="key"+i,g="idx"+i,y=p.dataLevel=e.dataLevel+1,v="data"+y,_="dataProperties"+i;var b=Object.keys(o||{}).filter(notProto),E=e.schema.patternProperties||{},w=Object.keys(E).filter(notProto),S=e.schema.additionalProperties,k=b.length||w.length,D=S===false,x=typeof S=="object"&&Object.keys(S).length,C=e.opts.removeAdditional,A=D||x||C,T=e.opts.ownProperties,M=e.baseId;var O=e.schema.required;if(O&&!(e.opts.$data&&O.$data)&&O.length8){r+=" || validate.schema"+a+".hasOwnProperty("+m+") "}else{var I=b;if(I){var R,P=-1,N=I.length-1;while(P0:e.util.schemaHasRules($,e.RULES.all)){var ee=e.util.getProperty(R),K=l+ee,te=J&&$.default!==undefined;p.schema=$;p.schemaPath=a+ee;p.errSchemaPath=c+"/"+e.util.escapeFragment(R);p.errorPath=e.util.getPath(e.errorPath,R,e.opts.jsonPointers);p.dataPathArr[y]=e.util.toQuotedString(R);var X=e.validate(p);p.baseId=M;if(e.util.varOccurences(X,v)<2){X=e.util.varReplace(X,v,K);var ne=K}else{var ne=v;r+=" var "+v+" = "+K+"; "}if(te){r+=" "+X+" "}else{if(F&&F[R]){r+=" if ( "+ne+" === undefined ";if(T){r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(R)+"') "}r+=") { "+h+" = false; ";var z=e.errorPath,V=c,re=e.util.escapeQuotes(R);if(e.opts._errorDataPathProperty){e.errorPath=e.util.getPath(z,R,e.opts.jsonPointers)}c=e.errSchemaPath+"/required";var G=G||[];G.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { missingProperty: '"+re+"' } ";if(e.opts.messages!==false){r+=" , message: '";if(e.opts._errorDataPathProperty){r+="is a required property"}else{r+="should have required property \\'"+re+"\\'"}r+="' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var q=r;r=G.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+q+"]); "}else{r+=" validate.errors = ["+q+"]; return false; "}}else{r+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}c=V;e.errorPath=z;r+=" } else { "}else{if(u){r+=" if ( "+ne+" === undefined ";if(T){r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(R)+"') "}r+=") { "+h+" = true; } else { "}else{r+=" if ("+ne+" !== undefined ";if(T){r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(R)+"') "}r+=" ) { "}}r+=" "+X+" } "}}if(u){r+=" if ("+h+") { ";d+="}"}}}}if(w.length){var ie=w;if(ie){var B,se=-1,oe=ie.length-1;while(se0:e.util.schemaHasRules($,e.RULES.all)){p.schema=$;p.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(B);p.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(B);if(T){r+=" "+_+" = "+_+" || Object.keys("+l+"); for (var "+g+"=0; "+g+"<"+_+".length; "+g+"++) { var "+m+" = "+_+"["+g+"]; "}else{r+=" for (var "+m+" in "+l+") { "}r+=" if ("+e.usePattern(B)+".test("+m+")) { ";p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var K=l+"["+m+"]";p.dataPathArr[y]=m;var X=e.validate(p);p.baseId=M;if(e.util.varOccurences(X,v)<2){r+=" "+e.util.varReplace(X,v,K)+" "}else{r+=" var "+v+" = "+K+"; "+X+" "}if(u){r+=" if (!"+h+") break; "}r+=" } ";if(u){r+=" else "+h+" = true; "}r+=" } ";if(u){r+=" if ("+h+") { ";d+="}"}}}}}if(u){r+=" "+d+" if ("+f+" == errors) {"}return r}},28014:e=>{"use strict";e.exports=function generate_propertyNames(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var p=e.util.copy(e);var d="";p.level++;var h="valid"+p.level;r+="var "+f+" = errors;";if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0:e.util.schemaHasRules(o,e.RULES.all)){p.schema=o;p.schemaPath=a;p.errSchemaPath=c;var m="key"+i,g="idx"+i,y="i"+i,v="' + "+m+" + '",_=p.dataLevel=e.dataLevel+1,b="data"+_,E="dataProperties"+i,w=e.opts.ownProperties,S=e.baseId;if(w){r+=" var "+E+" = undefined; "}if(w){r+=" "+E+" = "+E+" || Object.keys("+l+"); for (var "+g+"=0; "+g+"<"+E+".length; "+g+"++) { var "+m+" = "+E+"["+g+"]; "}else{r+=" for (var "+m+" in "+l+") { "}r+=" var startErrs"+i+" = errors; ";var k=m;var D=e.compositeRule;e.compositeRule=p.compositeRule=true;var x=e.validate(p);p.baseId=S;if(e.util.varOccurences(x,b)<2){r+=" "+e.util.varReplace(x,b,k)+" "}else{r+=" var "+b+" = "+k+"; "+x+" "}e.compositeRule=p.compositeRule=D;r+=" if (!"+h+") { for (var "+y+"=startErrs"+i+"; "+y+"{"use strict";e.exports=function generate_ref(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var u="data"+(s||"");var l="valid"+i;var f,p;if(o=="#"||o=="#/"){if(e.isRoot){f=e.async;p="validate"}else{f=e.root.schema.$async===true;p="root.refVal[0]"}}else{var d=e.resolveRef(e.baseId,o,e.isRoot);if(d===undefined){var h=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(h);var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"$ref"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(a)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ";if(e.opts.messages!==false){r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "}if(e.opts.verbose){r+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}if(c){r+=" if (false) { "}}else if(e.opts.missingRefs=="ignore"){e.logger.warn(h);if(c){r+=" if (true) { "}}else{throw new e.MissingRefError(e.baseId,o,h)}}else if(d.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=d.schema;y.schemaPath="";y.errSchemaPath=o;var _=e.validate(y).replace(/validate\.schema/g,d.code);r+=" "+_+" ";if(c){r+=" if ("+v+") { "}}else{f=d.$async===true||e.async&&d.$async!==false;p=d.code}}if(p){var m=m||[];m.push(r);r="";if(e.opts.passContext){r+=" "+p+".call(this, "}else{r+=" "+p+"( "}r+=" "+u+", (dataPath || '')";if(e.errorPath!='""'){r+=" + "+e.errorPath}var b=s?"data"+(s-1||""):"parentData",E=s?e.dataPathArr[s]:"parentDataProperty";r+=" , "+b+" , "+E+", rootData) ";var w=r;r=m.pop();if(f){if(!e.async)throw new Error("async schema referenced by sync schema");if(c){r+=" var "+l+"; "}r+=" try { await "+w+"; ";if(c){r+=" "+l+" = true; "}r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ";if(c){r+=" "+l+" = false; "}r+=" } ";if(c){r+=" if ("+l+") { "}}else{r+=" if (!"+w+") { if (vErrors === null) vErrors = "+p+".errors; else vErrors = vErrors.concat("+p+".errors); errors = vErrors.length; } ";if(c){r+=" else { "}}}return r}},16372:e=>{"use strict";e.exports=function generate_required(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}var h="schema"+i;if(!p){if(o.length0:e.util.schemaHasRules(b,e.RULES.all)))){m[m.length]=y}}}}else{var m=o}}if(p||m.length){var E=e.errorPath,w=p||m.length>=e.opts.loopRequired,S=e.opts.ownProperties;if(u){r+=" var missing"+i+"; ";if(w){if(!p){r+=" var "+h+" = validate.schema"+a+"; "}var k="i"+i,D="schema"+i+"["+k+"]",x="' + "+D+" + '";if(e.opts._errorDataPathProperty){e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)}r+=" var "+f+" = true; ";if(p){r+=" if (schema"+i+" === undefined) "+f+" = true; else if (!Array.isArray(schema"+i+")) "+f+" = false; else {"}r+=" for (var "+k+" = 0; "+k+" < "+h+".length; "+k+"++) { "+f+" = "+l+"["+h+"["+k+"]] !== undefined ";if(S){r+=" && Object.prototype.hasOwnProperty.call("+l+", "+h+"["+k+"]) "}r+="; if (!"+f+") break; } ";if(p){r+=" } "}r+=" if (!"+f+") { ";var C=C||[];C.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { missingProperty: '"+x+"' } ";if(e.opts.messages!==false){r+=" , message: '";if(e.opts._errorDataPathProperty){r+="is a required property"}else{r+="should have required property \\'"+x+"\\'"}r+="' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var A=r;r=C.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+A+"]); "}else{r+=" validate.errors = ["+A+"]; return false; "}}else{r+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else { "}else{r+=" if ( ";var T=m;if(T){var M,k=-1,O=T.length-1;while(k{"use strict";e.exports=function generate_uniqueItems(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var c=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var p=e.opts.$data&&o&&o.$data,d;if(p){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}if((o||p)&&e.opts.uniqueItems!==false){if(p){r+=" var "+f+"; if ("+d+" === false || "+d+" === undefined) "+f+" = true; else if (typeof "+d+" != 'boolean') "+f+" = false; else { "}r+=" var i = "+l+".length , "+f+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,m=Array.isArray(h);if(!h||h=="object"||h=="array"||m&&(h.indexOf("object")>=0||h.indexOf("array")>=0)){r+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+l+"[i], "+l+"[j])) { "+f+" = false; break outer; } } } "}else{r+=" var itemIndices = {}, item; for (;i--;) { var item = "+l+"[i]; ";var g="checkDataType"+(m?"s":"");r+=" if ("+e.util[g](h,"item",e.opts.strictNumbers,true)+") continue; ";if(m){r+=" if (typeof item == 'string') item = '\"' + item; "}r+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}r+=" } ";if(p){r+=" } "}r+=" if (!"+f+") { ";var y=y||[];y.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"uniqueItems"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { i: i, j: j } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "}if(e.opts.verbose){r+=" , schema: ";if(p){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var v=r;r=y.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+v+"]); "}else{r+=" validate.errors = ["+v+"]; return false; "}}else{r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(u){r+=" else { "}}else{if(u){r+=" if (true) { "}}return r}},85061:e=>{"use strict";e.exports=function generate_validate(e,t,n){var r="";var i=e.schema.$async===true,s=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var c="unknown keyword: "+a;if(e.opts.strictKeywords==="log")e.logger.warn(c);else throw new Error(c)}}if(e.isTop){r+=" var validate = ";if(i){e.async=true;r+="async "}r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ";if(o&&(e.opts.sourceCode||e.opts.processCode)){r+=" "+("/*# sourceURL="+o+" */")+" "}}if(typeof e.schema=="boolean"||!(s||e.schema.$ref)){var t="false schema";var u=e.level;var l=e.dataLevel;var f=e.schema[t];var p=e.schemaPath+e.util.getProperty(t);var d=e.errSchemaPath+"/"+t;var h=!e.opts.allErrors;var m;var g="data"+(l||"");var y="valid"+u;if(e.schema===false){if(e.isTop){h=true}else{r+=" var "+y+" = false; "}var v=v||[];v.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(m||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'boolean schema is false' "}if(e.opts.verbose){r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+g+" "}r+=" } "}else{r+=" {} "}var _=r;r=v.pop();if(!e.compositeRule&&h){if(e.async){r+=" throw new ValidationError(["+_+"]); "}else{r+=" validate.errors = ["+_+"]; return false; "}}else{r+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}else{if(e.isTop){if(i){r+=" return data; "}else{r+=" validate.errors = null; return true; "}}else{r+=" var "+y+" = true; "}}if(e.isTop){r+=" }; return validate; "}return r}if(e.isTop){var b=e.isTop,u=e.level=0,l=e.dataLevel=0,g="data";e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema));e.baseId=e.baseId||e.rootId;delete e.isTop;e.dataPathArr=[undefined];if(e.schema.default!==undefined&&e.opts.useDefaults&&e.opts.strictDefaults){var E="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(E);else throw new Error(E)}r+=" var vErrors = null; ";r+=" var errors = 0; ";r+=" if (rootData === undefined) rootData = data; "}else{var u=e.level,l=e.dataLevel,g="data"+(l||"");if(o)e.baseId=e.resolve.url(e.baseId,o);if(i&&!e.async)throw new Error("async schema in sync schema");r+=" var errs_"+u+" = errors;"}var y="valid"+u,h=!e.opts.allErrors,w="",S="";var m;var k=e.schema.type,D=Array.isArray(k);if(k&&e.opts.nullable&&e.schema.nullable===true){if(D){if(k.indexOf("null")==-1)k=k.concat("null")}else if(k!="null"){k=[k,"null"];D=true}}if(D&&k.length==1){k=k[0];D=false}if(e.schema.$ref&&s){if(e.opts.extendRefs=="fail"){throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)')}else if(e.opts.extendRefs!==true){s=false;e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"')}}if(e.schema.$comment&&e.opts.$comment){r+=" "+e.RULES.all.$comment.code(e,"$comment")}if(k){if(e.opts.coerceTypes){var x=e.util.coerceToTypes(e.opts.coerceTypes,k)}var C=e.RULES.types[k];if(x||D||C===true||C&&!$shouldUseGroup(C)){var p=e.schemaPath+".type",d=e.errSchemaPath+"/type";var p=e.schemaPath+".type",d=e.errSchemaPath+"/type",A=D?"checkDataTypes":"checkDataType";r+=" if ("+e.util[A](k,g,e.opts.strictNumbers,true)+") { ";if(x){var T="dataType"+u,M="coerced"+u;r+=" var "+T+" = typeof "+g+"; var "+M+" = undefined; ";if(e.opts.coerceTypes=="array"){r+=" if ("+T+" == 'object' && Array.isArray("+g+") && "+g+".length == 1) { "+g+" = "+g+"[0]; "+T+" = typeof "+g+"; if ("+e.util.checkDataType(e.schema.type,g,e.opts.strictNumbers)+") "+M+" = "+g+"; } "}r+=" if ("+M+" !== undefined) ; ";var O=x;if(O){var F,I=-1,R=O.length-1;while(I{"use strict";var r=/^[a-z_$][a-z0-9_$-]*$/i;var i=n(99819);var s=n(86205);e.exports={add:addKeyword,get:getKeyword,remove:removeKeyword,validate:validateKeyword};function addKeyword(e,t){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!r.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,true);var s=t.type;if(Array.isArray(s)){for(var o=0;o{"use strict";e.exports=balanced;function balanced(e,t,n){if(e instanceof RegExp)e=maybeMatch(e,n);if(t instanceof RegExp)t=maybeMatch(t,n);var r=range(e,t,n);return r&&{start:r[0],end:r[1],pre:n.slice(0,r[0]),body:n.slice(r[0]+e.length,r[1]),post:n.slice(r[1]+t.length)}}function maybeMatch(e,t){var n=t.match(e);return n?n[0]:null}balanced.range=range;function range(e,t,n){var r,i,s,o,a;var c=n.indexOf(e);var u=n.indexOf(t,c+1);var l=c;if(c>=0&&u>0){r=[];s=n.length;while(l>=0&&!a){if(l==c){r.push(l);c=n.indexOf(e,l+1)}else if(r.length==1){a=[r.pop(),u]}else{i=r.pop();if(i=0?c:u}if(r.length){a=[s,o]}}return a}},24631:e=>{"use strict";e.exports=function(e){var t=e._SomePromiseArray;function any(e){var n=new t(e);var r=n.promise();n.setHowMany(1);n.setUnwrap();n.init();return r}e.any=function(e){return any(e)};e.prototype.any=function(){return any(this)}}},53938:(e,t,n)=>{"use strict";var r;try{throw new Error}catch(e){r=e}var i=n(30585);var s=n(1460);function Async(){this._customScheduler=false;this._isTickUsed=false;this._lateQueue=new s(16);this._normalQueue=new s(16);this._haveDrainedQueues=false;var e=this;this.drainQueues=function(){e._drainQueues()};this._schedule=i}Async.prototype.setScheduler=function(e){var t=this._schedule;this._schedule=e;this._customScheduler=true;return t};Async.prototype.hasCustomScheduler=function(){return this._customScheduler};Async.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues};Async.prototype.fatalError=function(e,t){if(t){process.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n");process.exit(2)}else{this.throwLater(e)}};Async.prototype.throwLater=function(e,t){if(arguments.length===1){t=e;e=function(){throw t}}if(typeof setTimeout!=="undefined"){setTimeout(function(){e(t)},0)}else try{this._schedule(function(){e(t)})}catch(e){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}};function AsyncInvokeLater(e,t,n){this._lateQueue.push(e,t,n);this._queueTick()}function AsyncInvoke(e,t,n){this._normalQueue.push(e,t,n);this._queueTick()}function AsyncSettlePromises(e){this._normalQueue._pushOne(e);this._queueTick()}Async.prototype.invokeLater=AsyncInvokeLater;Async.prototype.invoke=AsyncInvoke;Async.prototype.settlePromises=AsyncSettlePromises;function _drainQueue(e){while(e.length()>0){_drainQueueStep(e)}}function _drainQueueStep(e){var t=e.shift();if(typeof t!=="function"){t._settlePromises()}else{var n=e.shift();var r=e.shift();t.call(n,r)}}Async.prototype._drainQueues=function(){_drainQueue(this._normalQueue);this._reset();this._haveDrainedQueues=true;_drainQueue(this._lateQueue)};Async.prototype._queueTick=function(){if(!this._isTickUsed){this._isTickUsed=true;this._schedule(this.drainQueues)}};Async.prototype._reset=function(){this._isTickUsed=false};e.exports=Async;e.exports.firstLineError=r},96088:e=>{"use strict";e.exports=function(e,t,n,r){var i=false;var s=function(e,t){this._reject(t)};var o=function(e,t){t.promiseRejectionQueued=true;t.bindingPromise._then(s,s,null,this,e)};var a=function(e,t){if((this._bitField&50397184)===0){this._resolveCallback(t.target)}};var c=function(e,t){if(!t.promiseRejectionQueued)this._reject(e)};e.prototype.bind=function(s){if(!i){i=true;e.prototype._propagateFrom=r.propagateFromFunction();e.prototype._boundValue=r.boundValueFunction()}var u=n(s);var l=new e(t);l._propagateFrom(this,1);var f=this._target();l._setBoundTo(u);if(u instanceof e){var p={promiseRejectionQueued:false,promise:l,target:f,bindingPromise:u};f._then(t,o,undefined,l,p);u._then(a,c,undefined,l,p);l._setOnCancel(u)}else{l._resolveCallback(f)}return l};e.prototype._setBoundTo=function(e){if(e!==undefined){this._bitField=this._bitField|2097152;this._boundTo=e}else{this._bitField=this._bitField&~2097152}};e.prototype._isBound=function(){return(this._bitField&2097152)===2097152};e.bind=function(t,n){return e.resolve(n).bind(t)}}},16853:(e,t,n)=>{"use strict";var r;if(typeof Promise!=="undefined")r=Promise;function noConflict(){try{if(Promise===i)Promise=r}catch(e){}return i}var i=n(26854)();i.noConflict=noConflict;e.exports=i},1623:(e,t,n)=>{"use strict";var r=Object.create;if(r){var i=r(null);var s=r(null);i[" size"]=s[" size"]=0}e.exports=function(e){var t=n(29505);var r=t.canEvaluate;var o=t.isIdentifier;var a;var c;if(true){var u=function(e){return new Function("ensureMethod"," \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g,e))(ensureMethod)};var l=function(e){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",e))};var f=function(e,t,n){var r=n[e];if(typeof r!=="function"){if(!o(e)){return null}r=t(e);n[e]=r;n[" size"]++;if(n[" size"]>512){var i=Object.keys(n);for(var s=0;s<256;++s)delete n[i[s]];n[" size"]=i.length-256}}return r};a=function(e){return f(e,u,i)};c=function(e){return f(e,l,s)}}function ensureMethod(n,r){var i;if(n!=null)i=n[r];if(typeof i!=="function"){var s="Object "+t.classString(n)+" has no method '"+t.toString(r)+"'";throw new e.TypeError(s)}return i}function caller(e){var t=this.pop();var n=ensureMethod(e,t);return n.apply(e,this)}e.prototype.call=function(e){var t=arguments.length;var n=new Array(Math.max(t-1,0));for(var i=1;i{"use strict";e.exports=function(e,t,r,i){var s=n(29505);var o=s.tryCatch;var a=s.errorObj;var c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");var e=this;var t=e;while(e._isCancellable()){if(!e._cancelBy(t)){if(t._isFollowing()){t._followee().cancel()}else{t._cancelBranched()}break}var n=e._cancellationParent;if(n==null||!n._isCancellable()){if(e._isFollowing()){e._followee().cancel()}else{e._cancelBranched()}break}else{if(e._isFollowing())e._followee().cancel();e._setWillBeCancelled();t=e;e=n}}};e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--};e.prototype._enoughBranchesHaveCancelled=function(){return this._branchesRemainingToCancel===undefined||this._branchesRemainingToCancel<=0};e.prototype._cancelBy=function(e){if(e===this){this._branchesRemainingToCancel=0;this._invokeOnCancel();return true}else{this._branchHasCancelled();if(this._enoughBranchesHaveCancelled()){this._invokeOnCancel();return true}}return false};e.prototype._cancelBranched=function(){if(this._enoughBranchesHaveCancelled()){this._cancel()}};e.prototype._cancel=function(){if(!this._isCancellable())return;this._setCancelled();c.invoke(this._cancelPromises,this,undefined)};e.prototype._cancelPromises=function(){if(this._length()>0)this._settlePromises()};e.prototype._unsetOnCancel=function(){this._onCancelField=undefined};e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()};e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()};e.prototype._doInvokeOnCancel=function(e,t){if(s.isArray(e)){for(var n=0;n{"use strict";e.exports=function(e){var t=n(29505);var r=n(34673).keys;var i=t.tryCatch;var s=t.errorObj;function catchFilter(n,o,a){return function(c){var u=a._boundValue();e:for(var l=0;l{"use strict";e.exports=function(e){var t=false;var n=[];e.prototype._promiseCreated=function(){};e.prototype._pushContext=function(){};e.prototype._popContext=function(){return null};e._peekContext=e.prototype._peekContext=function(){};function Context(){this._trace=new Context.CapturedTrace(peekContext())}Context.prototype._pushContext=function(){if(this._trace!==undefined){this._trace._promiseCreated=null;n.push(this._trace)}};Context.prototype._popContext=function(){if(this._trace!==undefined){var e=n.pop();var t=e._promiseCreated;e._promiseCreated=null;return t}return null};function createContext(){if(t)return new Context}function peekContext(){var e=n.length-1;if(e>=0){return n[e]}return undefined}Context.CapturedTrace=null;Context.create=createContext;Context.deactivateLongStackTraces=function(){};Context.activateLongStackTraces=function(){var n=e.prototype._pushContext;var r=e.prototype._popContext;var i=e._peekContext;var s=e.prototype._peekContext;var o=e.prototype._promiseCreated;Context.deactivateLongStackTraces=function(){e.prototype._pushContext=n;e.prototype._popContext=r;e._peekContext=i;e.prototype._peekContext=s;e.prototype._promiseCreated=o;t=false};t=true;e.prototype._pushContext=Context.prototype._pushContext;e.prototype._popContext=Context.prototype._popContext;e._peekContext=e.prototype._peekContext=peekContext;e.prototype._promiseCreated=function(){var e=this._peekContext();if(e&&e._promiseCreated==null)e._promiseCreated=this}};return Context}},97280:(e,t,n)=>{"use strict";e.exports=function(e,t,r,i){var s=e._async;var o=n(2222).Warning;var a=n(29505);var c=n(34673);var u=a.canAttachTrace;var l;var f;var p=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/;var d=/\((?:timers\.js):\d+:\d+\)/;var h=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/;var m=null;var g=null;var y=false;var v;var _=!!(a.env("BLUEBIRD_DEBUG")!=0&&(false||a.env("BLUEBIRD_DEBUG")||a.env("NODE_ENV")==="development"));var b=!!(a.env("BLUEBIRD_WARNINGS")!=0&&(_||a.env("BLUEBIRD_WARNINGS")));var E=!!(a.env("BLUEBIRD_LONG_STACK_TRACES")!=0&&(_||a.env("BLUEBIRD_LONG_STACK_TRACES")));var w=a.env("BLUEBIRD_W_FORGOTTEN_RETURN")!=0&&(b||!!a.env("BLUEBIRD_W_FORGOTTEN_RETURN"));var S;(function(){var t=[];function unhandledRejectionCheck(){for(var e=0;e0};e.prototype._setRejectionIsUnhandled=function(){this._bitField=this._bitField|1048576};e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&~1048576;if(this._isUnhandledRejectionNotified()){this._unsetUnhandledRejectionIsNotified();this._notifyUnhandledRejectionIsHandled()}};e.prototype._isRejectionUnhandled=function(){return(this._bitField&1048576)>0};e.prototype._warn=function(e,t,n){return warn(e,t,n||this)};e.onPossiblyUnhandledRejection=function(t){var n=e._getContext();f=a.contextBind(n,t)};e.onUnhandledRejectionHandled=function(t){var n=e._getContext();l=a.contextBind(n,t)};var k=function(){};e.longStackTraces=function(){if(s.haveItemsQueued()&&!R.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}if(!R.longStackTraces&&longStackTracesIsSupported()){var n=e.prototype._captureStackTrace;var r=e.prototype._attachExtraTrace;var i=e.prototype._dereferenceTrace;R.longStackTraces=true;k=function(){if(s.haveItemsQueued()&&!R.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}e.prototype._captureStackTrace=n;e.prototype._attachExtraTrace=r;e.prototype._dereferenceTrace=i;t.deactivateLongStackTraces();R.longStackTraces=false};e.prototype._captureStackTrace=longStackTracesCaptureStackTrace;e.prototype._attachExtraTrace=longStackTracesAttachExtraTrace;e.prototype._dereferenceTrace=longStackTracesDereferenceTrace;t.activateLongStackTraces()}};e.hasLongStackTraces=function(){return R.longStackTraces&&longStackTracesIsSupported()};var D={unhandledrejection:{before:function(){var e=a.global.onunhandledrejection;a.global.onunhandledrejection=null;return e},after:function(e){a.global.onunhandledrejection=e}},rejectionhandled:{before:function(){var e=a.global.onrejectionhandled;a.global.onrejectionhandled=null;return e},after:function(e){a.global.onrejectionhandled=e}}};var x=function(){var e=function(e,t){if(e){var n;try{n=e.before();return!a.global.dispatchEvent(t)}finally{e.after(n)}}else{return!a.global.dispatchEvent(t)}};try{if(typeof CustomEvent==="function"){var t=new CustomEvent("CustomEvent");a.global.dispatchEvent(t);return function(t,n){t=t.toLowerCase();var r={detail:n,cancelable:true};var i=new CustomEvent(t,r);c.defineProperty(i,"promise",{value:n.promise});c.defineProperty(i,"reason",{value:n.reason});return e(D[t],i)}}else if(typeof Event==="function"){var t=new Event("CustomEvent");a.global.dispatchEvent(t);return function(t,n){t=t.toLowerCase();var r=new Event(t,{cancelable:true});r.detail=n;c.defineProperty(r,"promise",{value:n.promise});c.defineProperty(r,"reason",{value:n.reason});return e(D[t],r)}}else{var t=document.createEvent("CustomEvent");t.initCustomEvent("testingtheevent",false,true,{});a.global.dispatchEvent(t);return function(t,n){t=t.toLowerCase();var r=document.createEvent("CustomEvent");r.initCustomEvent(t,false,true,n);return e(D[t],r)}}}catch(e){}return function(){return false}}();var C=function(){if(a.isNode){return function(){return process.emit.apply(process,arguments)}}else{if(!a.global){return function(){return false}}return function(e){var t="on"+e.toLowerCase();var n=a.global[t];if(!n)return false;n.apply(a.global,[].slice.call(arguments,1));return true}}}();function generatePromiseLifecycleEventObject(e,t){return{promise:t}}var A={promiseCreated:generatePromiseLifecycleEventObject,promiseFulfilled:generatePromiseLifecycleEventObject,promiseRejected:generatePromiseLifecycleEventObject,promiseResolved:generatePromiseLifecycleEventObject,promiseCancelled:generatePromiseLifecycleEventObject,promiseChained:function(e,t,n){return{promise:t,child:n}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,n){return{reason:t,promise:n}},rejectionHandled:generatePromiseLifecycleEventObject};var T=function(e){var t=false;try{t=C.apply(null,arguments)}catch(e){s.throwLater(e);t=true}var n=false;try{n=x(e,A[e].apply(null,arguments))}catch(e){s.throwLater(e);n=true}return n||t};e.config=function(t){t=Object(t);if("longStackTraces"in t){if(t.longStackTraces){e.longStackTraces()}else if(!t.longStackTraces&&e.hasLongStackTraces()){k()}}if("warnings"in t){var n=t.warnings;R.warnings=!!n;w=R.warnings;if(a.isObject(n)){if("wForgottenReturn"in n){w=!!n.wForgottenReturn}}}if("cancellation"in t&&t.cancellation&&!R.cancellation){if(s.haveItemsQueued()){throw new Error("cannot enable cancellation after promises are in use")}e.prototype._clearCancellationData=cancellationClearCancellationData;e.prototype._propagateFrom=cancellationPropagateFrom;e.prototype._onCancel=cancellationOnCancel;e.prototype._setOnCancel=cancellationSetOnCancel;e.prototype._attachCancellationCallback=cancellationAttachCancellationCallback;e.prototype._execute=cancellationExecute;M=cancellationPropagateFrom;R.cancellation=true}if("monitoring"in t){if(t.monitoring&&!R.monitoring){R.monitoring=true;e.prototype._fireEvent=T}else if(!t.monitoring&&R.monitoring){R.monitoring=false;e.prototype._fireEvent=defaultFireEvent}}if("asyncHooks"in t&&a.nodeSupportsAsyncResource){var o=R.asyncHooks;var c=!!t.asyncHooks;if(o!==c){R.asyncHooks=c;if(c){r()}else{i()}}}return e};function defaultFireEvent(){return false}e.prototype._fireEvent=defaultFireEvent;e.prototype._execute=function(e,t,n){try{e(t,n)}catch(e){return e}};e.prototype._onCancel=function(){};e.prototype._setOnCancel=function(e){};e.prototype._attachCancellationCallback=function(e){};e.prototype._captureStackTrace=function(){};e.prototype._attachExtraTrace=function(){};e.prototype._dereferenceTrace=function(){};e.prototype._clearCancellationData=function(){};e.prototype._propagateFrom=function(e,t){};function cancellationExecute(e,t,n){var r=this;try{e(t,n,function(e){if(typeof e!=="function"){throw new TypeError("onCancel must be a function, got: "+a.toString(e))}r._attachCancellationCallback(e)})}catch(e){return e}}function cancellationAttachCancellationCallback(e){if(!this._isCancellable())return this;var t=this._onCancel();if(t!==undefined){if(a.isArray(t)){t.push(e)}else{this._setOnCancel([t,e])}}else{this._setOnCancel(e)}}function cancellationOnCancel(){return this._onCancelField}function cancellationSetOnCancel(e){this._onCancelField=e}function cancellationClearCancellationData(){this._cancellationParent=undefined;this._onCancelField=undefined}function cancellationPropagateFrom(e,t){if((t&1)!==0){this._cancellationParent=e;var n=e._branchesRemainingToCancel;if(n===undefined){n=0}e._branchesRemainingToCancel=n+1}if((t&2)!==0&&e._isBound()){this._setBoundTo(e._boundTo)}}function bindingPropagateFrom(e,t){if((t&2)!==0&&e._isBound()){this._setBoundTo(e._boundTo)}}var M=bindingPropagateFrom;function boundValueFunction(){var t=this._boundTo;if(t!==undefined){if(t instanceof e){if(t.isFulfilled()){return t.value()}else{return undefined}}}return t}function longStackTracesCaptureStackTrace(){this._trace=new CapturedTrace(this._peekContext())}function longStackTracesAttachExtraTrace(e,t){if(u(e)){var n=this._trace;if(n!==undefined){if(t)n=n._parent}if(n!==undefined){n.attachExtraTrace(e)}else if(!e.__stackCleaned__){var r=parseStackAndMessage(e);a.notEnumerableProp(e,"stack",r.message+"\n"+r.stack.join("\n"));a.notEnumerableProp(e,"__stackCleaned__",true)}}}function longStackTracesDereferenceTrace(){this._trace=undefined}function checkForgottenReturns(e,t,n,r,i){if(e===undefined&&t!==null&&w){if(i!==undefined&&i._returnedNonUndefined())return;if((r._bitField&65535)===0)return;if(n)n=n+" ";var s="";var o="";if(t._trace){var a=t._trace.stack.split("\n");var c=cleanStack(a);for(var u=c.length-1;u>=0;--u){var l=c[u];if(!d.test(l)){var f=l.match(h);if(f){s="at "+f[1]+":"+f[2]+":"+f[3]+" "}break}}if(c.length>0){var p=c[0];for(var u=0;u0){o="\n"+a[u-1]}break}}}}var m="a promise was created in a "+n+"handler "+s+"but was not returned from it, "+"see http://goo.gl/rRqMUw"+o;r._warn(m,true,t)}}function deprecated(e,t){var n=e+" is deprecated and will be removed in a future version.";if(t)n+=" Use "+t+" instead.";return warn(n)}function warn(t,n,r){if(!R.warnings)return;var i=new o(t);var s;if(n){r._attachExtraTrace(i)}else if(R.longStackTraces&&(s=e._peekContext())){s.attachExtraTrace(i)}else{var a=parseStackAndMessage(i);i.stack=a.message+"\n"+a.stack.join("\n")}if(!T("warning",i)){formatAndLogError(i,"",true)}}function reconstructStack(e,t){for(var n=0;n=0;--a){if(r[a]===s){o=a;break}}for(var a=o;a>=0;--a){var c=r[a];if(t[i]===c){t.pop();i--}else{break}}t=r}}function cleanStack(e){var t=[];for(var n=0;n0&&e.name!="SyntaxError"){t=t.slice(n)}return t}function parseStackAndMessage(e){var t=e.stack;var n=e.toString();t=typeof t==="string"&&t.length>0?stackFramesAsArray(e):[" (No stack trace)"];return{message:n,stack:e.name=="SyntaxError"?t:cleanStack(t)}}function formatAndLogError(e,t,n){if(typeof console!=="undefined"){var r;if(a.isObject(e)){var i=e.stack;r=t+g(i,e)}else{r=t+String(e)}if(typeof v==="function"){v(r,n)}else if(typeof console.log==="function"||typeof console.log==="object"){console.log(r)}}}function fireRejectionEvent(e,t,n,r){var i=false;try{if(typeof t==="function"){i=true;if(e==="rejectionHandled"){t(r)}else{t(n,r)}}}catch(e){s.throwLater(e)}if(e==="unhandledRejection"){if(!T(e,n,r)&&!i){formatAndLogError(n,"Unhandled rejection ")}}else{T(e,r)}}function formatNonError(e){var t;if(typeof e==="function"){t="[function "+(e.name||"anonymous")+"]"}else{t=e&&typeof e.toString==="function"?e.toString():a.toString(e);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(t)){try{var r=JSON.stringify(e);t=r}catch(e){}}if(t.length===0){t="(empty array)"}}return"(<"+snip(t)+">, no stack trace)"}function snip(e){var t=41;if(e.length=s){return}O=function(e){if(p.test(e))return true;var t=parseLineInfo(e);if(t){if(t.fileName===o&&(i<=t.line&&t.line<=s)){return true}}return false}}function CapturedTrace(e){this._parent=e;this._promisesCreated=0;var t=this._length=1+(e===undefined?0:e._length);I(this,CapturedTrace);if(t>32)this.uncycle()}a.inherits(CapturedTrace,Error);t.CapturedTrace=CapturedTrace;CapturedTrace.prototype.uncycle=function(){var e=this._length;if(e<2)return;var t=[];var n={};for(var r=0,i=this;i!==undefined;++r){t.push(i);i=i._parent}e=this._length=r;for(var r=e-1;r>=0;--r){var s=t[r].stack;if(n[s]===undefined){n[s]=r}}for(var r=0;r0){t[a-1]._parent=undefined;t[a-1]._length=1}t[r]._parent=undefined;t[r]._length=1;var c=r>0?t[r-1]:this;if(a=0;--l){t[l]._length=u;u++}return}}};CapturedTrace.prototype.attachExtraTrace=function(e){if(e.__stackCleaned__)return;this.uncycle();var t=parseStackAndMessage(e);var n=t.message;var r=[t.stack];var i=this;while(i!==undefined){r.push(cleanStack(i.stack.split("\n")));i=i._parent}removeCommonRoots(r);removeDuplicateOrEmptyJumps(r);a.notEnumerableProp(e,"stack",reconstructStack(n,r));a.notEnumerableProp(e,"__stackCleaned__",true)};var I=function stackDetection(){var e=/^\s*at\s*/;var t=function(e,t){if(typeof e==="string")return e;if(t.name!==undefined&&t.message!==undefined){return t.toString()}return formatNonError(t)};if(typeof Error.stackTraceLimit==="number"&&typeof Error.captureStackTrace==="function"){Error.stackTraceLimit+=6;m=e;g=t;var n=Error.captureStackTrace;O=function(e){return p.test(e)};return function(e,t){Error.stackTraceLimit+=6;n(e,t);Error.stackTraceLimit-=6}}var r=new Error;if(typeof r.stack==="string"&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0){m=/@/;g=t;y=true;return function captureStackTrace(e){e.stack=(new Error).stack}}var i;try{throw new Error}catch(e){i="stack"in e}if(!("stack"in r)&&i&&typeof Error.stackTraceLimit==="number"){m=e;g=t;return function captureStackTrace(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6}}g=function(e,t){if(typeof e==="string")return e;if((typeof t==="object"||typeof t==="function")&&t.name!==undefined&&t.message!==undefined){return t.toString()}return formatNonError(t)};return null}([]);if(typeof console!=="undefined"&&typeof console.warn!=="undefined"){v=function(e){console.warn(e)};if(a.isNode&&process.stderr.isTTY){v=function(e,t){var n=t?"":"";console.warn(n+e+"\n")}}else if(!a.isNode&&typeof(new Error).stack==="string"){v=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")}}}var R={warnings:b,longStackTraces:false,cancellation:false,monitoring:false,asyncHooks:false};if(E)e.longStackTraces();return{asyncHooks:function(){return R.asyncHooks},longStackTraces:function(){return R.longStackTraces},warnings:function(){return R.warnings},cancellation:function(){return R.cancellation},monitoring:function(){return R.monitoring},propagateFromFunction:function(){return M},boundValueFunction:function(){return boundValueFunction},checkForgottenReturns:checkForgottenReturns,setBounds:setBounds,warn:warn,deprecated:deprecated,CapturedTrace:CapturedTrace,fireDomEvent:x,fireGlobalEvent:C}}},87926:e=>{"use strict";e.exports=function(e){function returner(){return this.value}function thrower(){throw this.reason}e.prototype["return"]=e.prototype.thenReturn=function(t){if(t instanceof e)t.suppressUnhandledRejections();return this._then(returner,undefined,undefined,{value:t},undefined)};e.prototype["throw"]=e.prototype.thenThrow=function(e){return this._then(thrower,undefined,undefined,{reason:e},undefined)};e.prototype.catchThrow=function(e){if(arguments.length<=1){return this._then(undefined,thrower,undefined,{reason:e},undefined)}else{var t=arguments[1];var n=function(){throw t};return this.caught(e,n)}};e.prototype.catchReturn=function(t){if(arguments.length<=1){if(t instanceof e)t.suppressUnhandledRejections();return this._then(undefined,returner,undefined,{value:t},undefined)}else{var n=arguments[1];if(n instanceof e)n.suppressUnhandledRejections();var r=function(){return n};return this.caught(t,r)}}}},5882:e=>{"use strict";e.exports=function(e,t){var n=e.reduce;var r=e.all;function promiseAllThis(){return r(this)}function PromiseMapSeries(e,r){return n(e,r,t,t)}e.prototype.each=function(e){return n(this,e,t,0)._then(promiseAllThis,undefined,undefined,this,undefined)};e.prototype.mapSeries=function(e){return n(this,e,t,t)};e.each=function(e,r){return n(e,r,t,0)._then(promiseAllThis,undefined,undefined,e,undefined)};e.mapSeries=PromiseMapSeries}},2222:(e,t,n)=>{"use strict";var r=n(34673);var i=r.freeze;var s=n(29505);var o=s.inherits;var a=s.notEnumerableProp;function subError(e,t){function SubError(n){if(!(this instanceof SubError))return new SubError(n);a(this,"message",typeof n==="string"?n:t);a(this,"name",e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{Error.call(this)}}o(SubError,Error);return SubError}var c,u;var l=subError("Warning","warning");var f=subError("CancellationError","cancellation error");var p=subError("TimeoutError","timeout error");var d=subError("AggregateError","aggregate error");try{c=TypeError;u=RangeError}catch(e){c=subError("TypeError","type error");u=subError("RangeError","range error")}var h=("join pop push shift unshift slice filter forEach some "+"every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" ");for(var m=0;m{var t=function(){"use strict";return this===undefined}();if(t){e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:t,propertyIsWritable:function(e,t){var n=Object.getOwnPropertyDescriptor(e,t);return!!(!n||n.writable||n.set)}}}else{var n={}.hasOwnProperty;var r={}.toString;var i={}.constructor.prototype;var s=function(e){var t=[];for(var r in e){if(n.call(e,r)){t.push(r)}}return t};var o=function(e,t){return{value:e[t]}};var a=function(e,t,n){e[t]=n.value;return e};var c=function(e){return e};var u=function(e){try{return Object(e).constructor.prototype}catch(e){return i}};var l=function(e){try{return r.call(e)==="[object Array]"}catch(e){return false}};e.exports={isArray:l,keys:s,names:s,defineProperty:a,getDescriptor:o,freeze:c,getPrototypeOf:u,isES5:t,propertyIsWritable:function(){return true}}}},93366:e=>{"use strict";e.exports=function(e,t){var n=e.map;e.prototype.filter=function(e,r){return n(this,e,r,t)};e.filter=function(e,r,i){return n(e,r,i,t)}}},52434:(e,t,n)=>{"use strict";e.exports=function(e,t,r){var i=n(29505);var s=e.CancellationError;var o=i.errorObj;var a=n(5622)(r);function PassThroughHandlerContext(e,t,n){this.promise=e;this.type=t;this.handler=n;this.called=false;this.cancelPromise=null}PassThroughHandlerContext.prototype.isFinallyHandler=function(){return this.type===0};function FinallyHandlerCancelReaction(e){this.finallyHandler=e}FinallyHandlerCancelReaction.prototype._resultCancelled=function(){checkCancel(this.finallyHandler)};function checkCancel(e,t){if(e.cancelPromise!=null){if(arguments.length>1){e.cancelPromise._reject(t)}else{e.cancelPromise._cancel()}e.cancelPromise=null;return true}return false}function succeed(){return finallyHandler.call(this,this.promise._target()._settledValue())}function fail(e){if(checkCancel(this,e))return;o.e=e;return o}function finallyHandler(n){var i=this.promise;var a=this.handler;if(!this.called){this.called=true;var c=this.isFinallyHandler()?a.call(i._boundValue()):a.call(i._boundValue(),n);if(c===r){return c}else if(c!==undefined){i._setReturnedNonUndefined();var u=t(c,i);if(u instanceof e){if(this.cancelPromise!=null){if(u._isCancelled()){var l=new s("late cancellation observer");i._attachExtraTrace(l);o.e=l;return o}else if(u.isPending()){u._attachCancellationCallback(new FinallyHandlerCancelReaction(this))}}return u._then(succeed,fail,undefined,this,undefined)}}}if(i.isRejected()){checkCancel(this);o.e=n;return o}else{checkCancel(this);return n}}e.prototype._passThrough=function(e,t,n,r){if(typeof e!=="function")return this.then();return this._then(n,r,undefined,new PassThroughHandlerContext(this,t,e),undefined)};e.prototype.lastly=e.prototype["finally"]=function(e){return this._passThrough(e,0,finallyHandler,finallyHandler)};e.prototype.tap=function(e){return this._passThrough(e,1,finallyHandler)};e.prototype.tapCatch=function(t){var n=arguments.length;if(n===1){return this._passThrough(t,1,undefined,finallyHandler)}else{var r=new Array(n-1),s=0,o;for(o=0;o{"use strict";e.exports=function(e,t,r,i,s,o){var a=n(2222);var c=a.TypeError;var u=n(29505);var l=u.errorObj;var f=u.tryCatch;var p=[];function promiseFromYieldHandler(t,n,r){for(var s=0;s{"use strict";e.exports=function(e,t,r,i,s){var o=n(29505);var a=o.canEvaluate;var c=o.tryCatch;var u=o.errorObj;var l;if(true){if(a){var f=function(e){return new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,e))};var p=function(e){return new Function("promise","holder"," \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g,e))};var d=function(t){var n=new Array(t);for(var r=0;r0&&typeof arguments[n]==="function"){s=arguments[n];if(true){if(n<=8&&a){var c=new e(i);c._captureStackTrace();var u=h[n-1];var f=new u(s);var p=m;for(var d=0;d{"use strict";e.exports=function(e,t,r,i,s,o){var a=n(29505);var c=a.tryCatch;var u=a.errorObj;var l=e._async;function MappingPromiseArray(t,n,r,i){this.constructor$(t);this._promise._captureStackTrace();var o=e._getContext();this._callback=a.contextBind(o,n);this._preservedValues=i===s?new Array(this.length()):null;this._limit=r;this._inFlight=0;this._queue=[];l.invoke(this._asyncInit,this,undefined);if(a.isArray(t)){for(var c=0;c=1){this._inFlight--;this._drainQueue();if(this._isResolved())return true}}else{if(l>=1&&this._inFlight>=l){r[n]=t;this._queue.push(n);return false}if(a!==null)a[n]=t;var f=this._promise;var p=this._callback;var d=f._boundValue();f._pushContext();var h=c(p).call(d,t,n,s);var m=f._popContext();o.checkForgottenReturns(h,m,a!==null?"Promise.filter":"Promise.map",f);if(h===u){this._reject(h.e);return true}var g=i(h,this._promise);if(g instanceof e){g=g._target();var y=g._bitField;if((y&50397184)===0){if(l>=1)this._inFlight++;r[n]=g;g._proxy(this,(n+1)*-1);return false}else if((y&33554432)!==0){h=g._value()}else if((y&16777216)!==0){this._reject(g._reason());return true}else{this._cancel();return true}}r[n]=h}var v=++this._totalResolved;if(v>=s){if(a!==null){this._filter(r,a)}else{this._resolve(r)}return true}return false};MappingPromiseArray.prototype._drainQueue=function(){var e=this._queue;var t=this._limit;var n=this._values;while(e.length>0&&this._inFlight=1?o:0;return new MappingPromiseArray(t,n,o,s).promise()}e.prototype.map=function(e,t){return map(this,e,t,null)};e.map=function(e,t,n,r){return map(e,t,n,r)}}},42768:(e,t,n)=>{"use strict";e.exports=function(e,t,r,i,s){var o=n(29505);var a=o.tryCatch;e.method=function(n){if(typeof n!=="function"){throw new e.TypeError("expecting a function but got "+o.classString(n))}return function(){var r=new e(t);r._captureStackTrace();r._pushContext();var i=a(n).apply(this,arguments);var o=r._popContext();s.checkForgottenReturns(i,o,"Promise.method",r);r._resolveFromSyncValue(i);return r}};e.attempt=e["try"]=function(n){if(typeof n!=="function"){return i("expecting a function but got "+o.classString(n))}var r=new e(t);r._captureStackTrace();r._pushContext();var c;if(arguments.length>1){s.deprecated("calling Promise.try with more than 1 argument");var u=arguments[1];var l=arguments[2];c=o.isArray(u)?a(n).apply(l,u):a(n).call(l,u)}else{c=a(n)()}var f=r._popContext();s.checkForgottenReturns(c,f,"Promise.try",r);r._resolveFromSyncValue(c);return r};e.prototype._resolveFromSyncValue=function(e){if(e===o.errorObj){this._rejectCallback(e.e,false)}else{this._resolveCallback(e,true)}}}},45297:(e,t,n)=>{"use strict";var r=n(29505);var i=r.maybeWrapAsError;var s=n(2222);var o=s.OperationalError;var a=n(34673);function isUntypedError(e){return e instanceof Error&&a.getPrototypeOf(e)===Error.prototype}var c=/^(?:name|message|stack|cause)$/;function wrapAsOperationalError(e){var t;if(isUntypedError(e)){t=new o(e);t.name=e.name;t.message=e.message;t.stack=e.stack;var n=a.keys(e);for(var i=0;i{"use strict";e.exports=function(e){var t=n(29505);var r=e._async;var i=t.tryCatch;var s=t.errorObj;function spreadAdapter(e,n){var o=this;if(!t.isArray(e))return successAdapter.call(o,e,n);var a=i(n).apply(o._boundValue(),[null].concat(e));if(a===s){r.throwLater(a.e)}}function successAdapter(e,t){var n=this;var o=n._boundValue();var a=e===undefined?i(t).call(o,null):i(t).call(o,null,e);if(a===s){r.throwLater(a.e)}}function errorAdapter(e,t){var n=this;if(!e){var o=new Error(e+"");o.cause=e;e=o}var a=i(t).call(n._boundValue(),e);if(a===s){r.throwLater(a.e)}}e.prototype.asCallback=e.prototype.nodeify=function(e,t){if(typeof e=="function"){var n=successAdapter;if(t!==undefined&&Object(t).spread){n=spreadAdapter}this._then(n,errorAdapter,undefined,this,e)}return this}}},26854:(e,t,n)=>{"use strict";e.exports=function(){var t=function(){return new _("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")};var r=function(){return new Promise.PromiseInspection(this._target())};var i=function(e){return Promise.reject(new _(e))};function Proxyable(){}var s={};var o=n(29505);o.setReflectHandler(r);var a=function(){var e=process.domain;if(e===undefined){return null}return e};var c=function(){return null};var u=function(){return{domain:a(),async:null}};var l=o.isNode&&o.nodeSupportsAsyncResource?n(77303).AsyncResource:null;var f=function(){return{domain:a(),async:new l("Bluebird::Promise")}};var p=o.isNode?u:c;o.notEnumerableProp(Promise,"_getContext",p);var d=function(){p=f;o.notEnumerableProp(Promise,"_getContext",f)};var h=function(){p=u;o.notEnumerableProp(Promise,"_getContext",u)};var m=n(34673);var g=n(53938);var y=new g;m.defineProperty(Promise,"_async",{value:y});var v=n(2222);var _=Promise.TypeError=v.TypeError;Promise.RangeError=v.RangeError;var b=Promise.CancellationError=v.CancellationError;Promise.TimeoutError=v.TimeoutError;Promise.OperationalError=v.OperationalError;Promise.RejectionError=v.OperationalError;Promise.AggregateError=v.AggregateError;var E=function(){};var w={};var S={};var k=n(2243)(Promise,E);var D=n(58048)(Promise,E,k,i,Proxyable);var x=n(81281)(Promise);var C=x.create;var A=n(97280)(Promise,x,d,h);var T=A.CapturedTrace;var M=n(52434)(Promise,k,S);var O=n(5622)(S);var F=n(45297);var I=o.errorObj;var R=o.tryCatch;function check(e,t){if(e==null||e.constructor!==Promise){throw new _("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}if(typeof t!=="function"){throw new _("expecting a function but got "+o.classString(t))}}function Promise(e){if(e!==E){check(this,e)}this._bitField=0;this._fulfillmentHandler0=undefined;this._rejectionHandler0=undefined;this._promise0=undefined;this._receiver0=undefined;this._resolveFromExecutor(e);this._promiseCreated();this._fireEvent("promiseCreated",this)}Promise.prototype.toString=function(){return"[object Promise]"};Promise.prototype.caught=Promise.prototype["catch"]=function(e){var t=arguments.length;if(t>1){var n=new Array(t-1),r=0,s;for(s=0;s0&&typeof e!=="function"&&typeof t!=="function"){var n=".then() only accepts functions but was passed: "+o.classString(e);if(arguments.length>1){n+=", "+o.classString(t)}this._warn(n)}return this._then(e,t,undefined,undefined,undefined)};Promise.prototype.done=function(e,t){var n=this._then(e,t,undefined,undefined,undefined);n._setIsFinal()};Promise.prototype.spread=function(e){if(typeof e!=="function"){return i("expecting a function but got "+o.classString(e))}return this.all()._then(e,undefined,undefined,w,undefined)};Promise.prototype.toJSON=function(){var e={isFulfilled:false,isRejected:false,fulfillmentValue:undefined,rejectionReason:undefined};if(this.isFulfilled()){e.fulfillmentValue=this.value();e.isFulfilled=true}else if(this.isRejected()){e.rejectionReason=this.reason();e.isRejected=true}return e};Promise.prototype.all=function(){if(arguments.length>0){this._warn(".all() was passed arguments but it does not take any")}return new D(this).promise()};Promise.prototype.error=function(e){return this.caught(o.originatesFromRejection,e)};Promise.getNewLibraryCopy=e.exports;Promise.is=function(e){return e instanceof Promise};Promise.fromNode=Promise.fromCallback=function(e){var t=new Promise(E);t._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:false;var r=R(e)(F(t,n));if(r===I){t._rejectCallback(r.e,true)}if(!t._isFateSealed())t._setAsyncGuaranteed();return t};Promise.all=function(e){return new D(e).promise()};Promise.cast=function(e){var t=k(e);if(!(t instanceof Promise)){t=new Promise(E);t._captureStackTrace();t._setFulfilled();t._rejectionHandler0=e}return t};Promise.resolve=Promise.fulfilled=Promise.cast;Promise.reject=Promise.rejected=function(e){var t=new Promise(E);t._captureStackTrace();t._rejectCallback(e,true);return t};Promise.setScheduler=function(e){if(typeof e!=="function"){throw new _("expecting a function but got "+o.classString(e))}return y.setScheduler(e)};Promise.prototype._then=function(e,t,n,r,i){var s=i!==undefined;var a=s?i:new Promise(E);var c=this._target();var u=c._bitField;if(!s){a._propagateFrom(this,3);a._captureStackTrace();if(r===undefined&&(this._bitField&2097152)!==0){if(!((u&50397184)===0)){r=this._boundValue()}else{r=c===this?undefined:this._boundTo}}this._fireEvent("promiseChained",this,a)}var l=p();if(!((u&50397184)===0)){var f,d,h=c._settlePromiseCtx;if((u&33554432)!==0){d=c._rejectionHandler0;f=e}else if((u&16777216)!==0){d=c._fulfillmentHandler0;f=t;c._unsetRejectionIsUnhandled()}else{h=c._settlePromiseLateCancellationObserver;d=new b("late cancellation observer");c._attachExtraTrace(d);f=t}y.invoke(h,c,{handler:o.contextBind(l,f),promise:a,receiver:r,value:d})}else{c._addCallbacks(e,t,a,r,l)}return a};Promise.prototype._length=function(){return this._bitField&65535};Promise.prototype._isFateSealed=function(){return(this._bitField&117506048)!==0};Promise.prototype._isFollowing=function(){return(this._bitField&67108864)===67108864};Promise.prototype._setLength=function(e){this._bitField=this._bitField&-65536|e&65535};Promise.prototype._setFulfilled=function(){this._bitField=this._bitField|33554432;this._fireEvent("promiseFulfilled",this)};Promise.prototype._setRejected=function(){this._bitField=this._bitField|16777216;this._fireEvent("promiseRejected",this)};Promise.prototype._setFollowing=function(){this._bitField=this._bitField|67108864;this._fireEvent("promiseResolved",this)};Promise.prototype._setIsFinal=function(){this._bitField=this._bitField|4194304};Promise.prototype._isFinal=function(){return(this._bitField&4194304)>0};Promise.prototype._unsetCancelled=function(){this._bitField=this._bitField&~65536};Promise.prototype._setCancelled=function(){this._bitField=this._bitField|65536;this._fireEvent("promiseCancelled",this)};Promise.prototype._setWillBeCancelled=function(){this._bitField=this._bitField|8388608};Promise.prototype._setAsyncGuaranteed=function(){if(y.hasCustomScheduler())return;var e=this._bitField;this._bitField=e|(e&536870912)>>2^134217728};Promise.prototype._setNoAsyncGuarantee=function(){this._bitField=(this._bitField|536870912)&~134217728};Promise.prototype._receiverAt=function(e){var t=e===0?this._receiver0:this[e*4-4+3];if(t===s){return undefined}else if(t===undefined&&this._isBound()){return this._boundValue()}return t};Promise.prototype._promiseAt=function(e){return this[e*4-4+2]};Promise.prototype._fulfillmentHandlerAt=function(e){return this[e*4-4+0]};Promise.prototype._rejectionHandlerAt=function(e){return this[e*4-4+1]};Promise.prototype._boundValue=function(){};Promise.prototype._migrateCallback0=function(e){var t=e._bitField;var n=e._fulfillmentHandler0;var r=e._rejectionHandler0;var i=e._promise0;var o=e._receiverAt(0);if(o===undefined)o=s;this._addCallbacks(n,r,i,o,null)};Promise.prototype._migrateCallbackAt=function(e,t){var n=e._fulfillmentHandlerAt(t);var r=e._rejectionHandlerAt(t);var i=e._promiseAt(t);var o=e._receiverAt(t);if(o===undefined)o=s;this._addCallbacks(n,r,i,o,null)};Promise.prototype._addCallbacks=function(e,t,n,r,i){var s=this._length();if(s>=65535-4){s=0;this._setLength(0)}if(s===0){this._promise0=n;this._receiver0=r;if(typeof e==="function"){this._fulfillmentHandler0=o.contextBind(i,e)}if(typeof t==="function"){this._rejectionHandler0=o.contextBind(i,t)}}else{var a=s*4-4;this[a+2]=n;this[a+3]=r;if(typeof e==="function"){this[a+0]=o.contextBind(i,e)}if(typeof t==="function"){this[a+1]=o.contextBind(i,t)}}this._setLength(s+1);return s};Promise.prototype._proxy=function(e,t){this._addCallbacks(undefined,undefined,t,e,null)};Promise.prototype._resolveCallback=function(e,n){if((this._bitField&117506048)!==0)return;if(e===this)return this._rejectCallback(t(),false);var r=k(e,this);if(!(r instanceof Promise))return this._fulfill(e);if(n)this._propagateFrom(r,2);var i=r._target();if(i===this){this._reject(t());return}var s=i._bitField;if((s&50397184)===0){var o=this._length();if(o>0)i._migrateCallback0(this);for(var a=1;a>>16)return;if(e===this){var r=t();this._attachExtraTrace(r);return this._reject(r)}this._setFulfilled();this._rejectionHandler0=e;if((n&65535)>0){if((n&134217728)!==0){this._settlePromises()}else{y.settlePromises(this)}this._dereferenceTrace()}};Promise.prototype._reject=function(e){var t=this._bitField;if((t&117506048)>>>16)return;this._setRejected();this._fulfillmentHandler0=e;if(this._isFinal()){return y.fatalError(e,o.isNode)}if((t&65535)>0){y.settlePromises(this)}else{this._ensurePossibleRejectionHandled()}};Promise.prototype._fulfillPromises=function(e,t){for(var n=1;n0){if((e&16842752)!==0){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,e);this._rejectPromises(t,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,e);this._fulfillPromises(t,r)}this._setLength(0)}this._clearCancellationData()};Promise.prototype._settledValue=function(){var e=this._bitField;if((e&33554432)!==0){return this._rejectionHandler0}else if((e&16777216)!==0){return this._fulfillmentHandler0}};if(typeof Symbol!=="undefined"&&Symbol.toStringTag){m.defineProperty(Promise.prototype,Symbol.toStringTag,{get:function(){return"Object"}})}function deferResolve(e){this.promise._resolveCallback(e)}function deferReject(e){this.promise._rejectCallback(e,false)}Promise.defer=Promise.pending=function(){A.deprecated("Promise.defer","new Promise");var e=new Promise(E);return{promise:e,resolve:deferResolve,reject:deferReject}};o.notEnumerableProp(Promise,"_makeSelfResolutionError",t);n(42768)(Promise,E,k,i,A);n(96088)(Promise,E,k,A);n(9462)(Promise,D,i,A);n(87926)(Promise);n(83610)(Promise);n(45138)(Promise,D,k,E,y);Promise.Promise=Promise;Promise.version="3.7.2";n(1623)(Promise);n(93924)(Promise,i,E,k,Proxyable,A);n(2412)(Promise,D,i,k,E,A);n(57514)(Promise);n(55289)(Promise,E);n(55256)(Promise,D,k,i);n(35527)(Promise,E,k,i);n(31100)(Promise,D,i,k,E,A);n(4255)(Promise,D,A);n(99853)(Promise,D,i);n(49880)(Promise,E,A);n(44945)(Promise,i,k,C,E,A);n(24631)(Promise);n(5882)(Promise,E);n(93366)(Promise,E);o.toFastProperties(Promise);o.toFastProperties(Promise.prototype);function fillTypes(e){var t=new Promise(E);t._fulfillmentHandler0=e;t._rejectionHandler0=e;t._promise0=e;t._receiver0=e}fillTypes({a:1});fillTypes({b:2});fillTypes({c:3});fillTypes(1);fillTypes(function(){});fillTypes(undefined);fillTypes(false);fillTypes(new Promise(E));A.setBounds(g.firstLineError,o.lastLineError);return Promise}},58048:(e,t,n)=>{"use strict";e.exports=function(e,t,r,i,s){var o=n(29505);var a=o.isArray;function toResolutionValue(e){switch(e){case-2:return[];case-3:return{};case-6:return new Map}}function PromiseArray(n){var r=this._promise=new e(t);if(n instanceof e){r._propagateFrom(n,3);n.suppressUnhandledRejections()}r._setOnCancel(this);this._values=n;this._length=0;this._totalResolved=0;this._init(undefined,-2)}o.inherits(PromiseArray,s);PromiseArray.prototype.length=function(){return this._length};PromiseArray.prototype.promise=function(){return this._promise};PromiseArray.prototype._init=function init(t,n){var s=r(this._values,this._promise);if(s instanceof e){s=s._target();var a=s._bitField;this._values=s;if((a&50397184)===0){this._promise._setAsyncGuaranteed();return s._then(init,this._reject,undefined,this,n)}else if((a&33554432)!==0){s=s._value()}else if((a&16777216)!==0){return this._reject(s._reason())}else{return this._cancel()}}s=o.asArray(s);if(s===null){var c=i("expecting an array or an iterable object but got "+o.classString(s)).reason();this._promise._rejectCallback(c,false);return}if(s.length===0){if(n===-5){this._resolveEmptyArray()}else{this._resolve(toResolutionValue(n))}return}this._iterate(s)};PromiseArray.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n;this._values=this.shouldCopyValues()?new Array(n):this._values;var i=this._promise;var s=false;var o=null;for(var a=0;a=this._length){this._resolve(this._values);return true}return false};PromiseArray.prototype._promiseCancelled=function(){this._cancel();return true};PromiseArray.prototype._promiseRejected=function(e){this._totalResolved++;this._reject(e);return true};PromiseArray.prototype._resultCancelled=function(){if(this._isResolved())return;var t=this._values;this._cancel();if(t instanceof e){t.cancel()}else{for(var n=0;n{"use strict";e.exports=function(e,t){var r={};var i=n(29505);var s=n(45297);var o=i.withAppended;var a=i.maybeWrapAsError;var c=i.canEvaluate;var u=n(2222).TypeError;var l="Async";var f={__isPromisified__:true};var p=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"];var d=new RegExp("^(?:"+p.join("|")+")$");var h=function(e){return i.isIdentifier(e)&&e.charAt(0)!=="_"&&e!=="constructor"};function propsFilter(e){return!d.test(e)}function isPromisified(e){try{return e.__isPromisified__===true}catch(e){return false}}function hasPromisified(e,t,n){var r=i.getDataPropertyOrDefault(e,t+n,f);return r?isPromisified(r):false}function checkValid(e,t,n){for(var r=0;r=n;--r){t.push(r)}for(var r=e+1;r<=3;++r){t.push(r)}return t};var v=function(e){return i.filledRange(e,"_arg","")};var _=function(e){return i.filledRange(Math.max(e,3),"_arg","")};var b=function(e){if(typeof e.length==="number"){return Math.max(Math.min(e.length,1023+1),0)}return 0};g=function(n,c,u,l,f,p){var d=Math.max(0,b(l)-1);var h=y(d);var m=typeof n==="string"||c===r;function generateCallForArgumentCount(e){var t=v(e).join(", ");var n=e>0?", ":"";var r;if(m){r="ret = callback.call(this, {{args}}, nodeback); break;\n"}else{r=c===undefined?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n"}return r.replace("{{args}}",t).replace(", ",n)}function generateArgumentSwitchCase(){var e="";for(var t=0;t{"use strict";e.exports=function(e,t,r,i){var s=n(29505);var o=s.isObject;var a=n(34673);var c;if(typeof Map==="function")c=Map;var u=function(){var e=0;var t=0;function extractEntry(n,r){this[e]=n;this[e+t]=r;e++}return function mapToEntries(n){t=n.size;e=0;var r=new Array(n.size*2);n.forEach(extractEntry,r);return r}}();var l=function(e){var t=new c;var n=e.length/2|0;for(var r=0;r=this._length){var r;if(this._isMap){r=l(this._values)}else{r={};var i=this.length();for(var s=0,o=this.length();s>1};function props(t){var n;var s=r(t);if(!o(s)){return i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}else if(s instanceof e){n=s._then(e.props,undefined,undefined,undefined,undefined)}else{n=new PropertiesPromiseArray(s).promise()}if(s instanceof e){n._propagateFrom(s,2)}return n}e.prototype.props=function(){return props(this)};e.props=function(e){return props(e)}}},1460:e=>{"use strict";function arrayMove(e,t,n,r,i){for(var s=0;s{"use strict";e.exports=function(e,t,r,i){var s=n(29505);var o=function(e){return e.then(function(t){return race(t,e)})};function race(n,a){var c=r(n);if(c instanceof e){return o(c)}else{n=s.asArray(n);if(n===null)return i("expecting an array or an iterable object but got "+s.classString(n))}var u=new e(t);if(a!==undefined){u._propagateFrom(a,3)}var l=u._fulfill;var f=u._reject;for(var p=0,d=n.length;p{"use strict";e.exports=function(e,t,r,i,s,o){var a=n(29505);var c=a.tryCatch;function ReductionPromiseArray(t,n,r,i){this.constructor$(t);var o=e._getContext();this._fn=a.contextBind(o,n);if(r!==undefined){r=e.resolve(r);r._attachCancellationCallback(this)}this._initialValue=r;this._currentCancellable=null;if(i===s){this._eachValues=Array(this._length)}else if(i===0){this._eachValues=null}else{this._eachValues=undefined}this._promise._captureStackTrace();this._init$(undefined,-5)}a.inherits(ReductionPromiseArray,t);ReductionPromiseArray.prototype._gotAccum=function(e){if(this._eachValues!==undefined&&this._eachValues!==null&&e!==s){this._eachValues.push(e)}};ReductionPromiseArray.prototype._eachComplete=function(e){if(this._eachValues!==null){this._eachValues.push(e)}return this._eachValues};ReductionPromiseArray.prototype._init=function(){};ReductionPromiseArray.prototype._resolveEmptyArray=function(){this._resolve(this._eachValues!==undefined?this._eachValues:this._initialValue)};ReductionPromiseArray.prototype.shouldCopyValues=function(){return false};ReductionPromiseArray.prototype._resolve=function(e){this._promise._resolveCallback(e);this._values=null};ReductionPromiseArray.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();if(this._isResolved())return;this._resultCancelled$();if(this._currentCancellable instanceof e){this._currentCancellable.cancel()}if(this._initialValue instanceof e){this._initialValue.cancel()}};ReductionPromiseArray.prototype._iterate=function(t){this._values=t;var n;var r;var i=t.length;if(this._initialValue!==undefined){n=this._initialValue;r=0}else{n=e.resolve(t[0]);r=1}this._currentCancellable=n;for(var s=r;s{"use strict";var r=n(29505);var i;var s=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")};var o=r.getNativePromise();if(r.isNode&&typeof MutationObserver==="undefined"){var a=global.setImmediate;var c=process.nextTick;i=r.isRecentNode?function(e){a.call(global,e)}:function(e){c.call(process,e)}}else if(typeof o==="function"&&typeof o.resolve==="function"){var u=o.resolve();i=function(e){u.then(e)}}else if(typeof MutationObserver!=="undefined"&&!(typeof window!=="undefined"&&window.navigator&&(window.navigator.standalone||window.cordova))&&"classList"in document.documentElement){i=function(){var e=document.createElement("div");var t={attributes:true};var n=false;var r=document.createElement("div");var i=new MutationObserver(function(){e.classList.toggle("foo");n=false});i.observe(r,t);var s=function(){if(n)return;n=true;r.classList.toggle("foo")};return function schedule(n){var r=new MutationObserver(function(){r.disconnect();n()});r.observe(e,t);s()}}()}else if(typeof setImmediate!=="undefined"){i=function(e){setImmediate(e)}}else if(typeof setTimeout!=="undefined"){i=function(e){setTimeout(e,0)}}else{i=s}e.exports=i},4255:(e,t,n)=>{"use strict";e.exports=function(e,t,r){var i=e.PromiseInspection;var s=n(29505);function SettledPromiseArray(e){this.constructor$(e)}s.inherits(SettledPromiseArray,t);SettledPromiseArray.prototype._promiseResolved=function(e,t){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){this._resolve(this._values);return true}return false};SettledPromiseArray.prototype._promiseFulfilled=function(e,t){var n=new i;n._bitField=33554432;n._settledValueField=e;return this._promiseResolved(t,n)};SettledPromiseArray.prototype._promiseRejected=function(e,t){var n=new i;n._bitField=16777216;n._settledValueField=e;return this._promiseResolved(t,n)};e.settle=function(e){r.deprecated(".settle()",".reflect()");return new SettledPromiseArray(e).promise()};e.allSettled=function(e){return new SettledPromiseArray(e).promise()};e.prototype.settle=function(){return e.settle(this)}}},99853:(e,t,n)=>{"use strict";e.exports=function(e,t,r){var i=n(29505);var s=n(2222).RangeError;var o=n(2222).AggregateError;var a=i.isArray;var c={};function SomePromiseArray(e){this.constructor$(e);this._howMany=0;this._unwrap=false;this._initialized=false}i.inherits(SomePromiseArray,t);SomePromiseArray.prototype._init=function(){if(!this._initialized){return}if(this._howMany===0){this._resolve([]);return}this._init$(undefined,-5);var e=a(this._values);if(!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()){this._reject(this._getRangeError(this.length()))}};SomePromiseArray.prototype.init=function(){this._initialized=true;this._init()};SomePromiseArray.prototype.setUnwrap=function(){this._unwrap=true};SomePromiseArray.prototype.howMany=function(){return this._howMany};SomePromiseArray.prototype.setHowMany=function(e){this._howMany=e};SomePromiseArray.prototype._promiseFulfilled=function(e){this._addFulfilled(e);if(this._fulfilled()===this.howMany()){this._values.length=this.howMany();if(this.howMany()===1&&this._unwrap){this._resolve(this._values[0])}else{this._resolve(this._values)}return true}return false};SomePromiseArray.prototype._promiseRejected=function(e){this._addRejected(e);return this._checkOutcome()};SomePromiseArray.prototype._promiseCancelled=function(){if(this._values instanceof e||this._values==null){return this._cancel()}this._addRejected(c);return this._checkOutcome()};SomePromiseArray.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){var e=new o;for(var t=this.length();t0){this._reject(e)}else{this._cancel()}return true}return false};SomePromiseArray.prototype._fulfilled=function(){return this._totalResolved};SomePromiseArray.prototype._rejected=function(){return this._values.length-this.length()};SomePromiseArray.prototype._addRejected=function(e){this._values.push(e)};SomePromiseArray.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e};SomePromiseArray.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()};SomePromiseArray.prototype._getRangeError=function(e){var t="Input array must contain at least "+this._howMany+" items but contains only "+e+" items";return new s(t)};SomePromiseArray.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))};function some(e,t){if((t|0)!==t||t<0){return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n")}var n=new SomePromiseArray(e);var i=n.promise();n.setHowMany(t);n.init();return i}e.some=function(e,t){return some(e,t)};e.prototype.some=function(e){return some(this,e)};e._SomePromiseArray=SomePromiseArray}},83610:e=>{"use strict";e.exports=function(e){function PromiseInspection(e){if(e!==undefined){e=e._target();this._bitField=e._bitField;this._settledValueField=e._isFateSealed()?e._settledValue():undefined}else{this._bitField=0;this._settledValueField=undefined}}PromiseInspection.prototype._settledValue=function(){return this._settledValueField};var t=PromiseInspection.prototype.value=function(){if(!this.isFulfilled()){throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var n=PromiseInspection.prototype.error=PromiseInspection.prototype.reason=function(){if(!this.isRejected()){throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var r=PromiseInspection.prototype.isFulfilled=function(){return(this._bitField&33554432)!==0};var i=PromiseInspection.prototype.isRejected=function(){return(this._bitField&16777216)!==0};var s=PromiseInspection.prototype.isPending=function(){return(this._bitField&50397184)===0};var o=PromiseInspection.prototype.isResolved=function(){return(this._bitField&50331648)!==0};PromiseInspection.prototype.isCancelled=function(){return(this._bitField&8454144)!==0};e.prototype.__isCancelled=function(){return(this._bitField&65536)===65536};e.prototype._isCancelled=function(){return this._target().__isCancelled()};e.prototype.isCancelled=function(){return(this._target()._bitField&8454144)!==0};e.prototype.isPending=function(){return s.call(this._target())};e.prototype.isRejected=function(){return i.call(this._target())};e.prototype.isFulfilled=function(){return r.call(this._target())};e.prototype.isResolved=function(){return o.call(this._target())};e.prototype.value=function(){return t.call(this._target())};e.prototype.reason=function(){var e=this._target();e._unsetRejectionIsUnhandled();return n.call(e)};e.prototype._value=function(){return this._settledValue()};e.prototype._reason=function(){this._unsetRejectionIsUnhandled();return this._settledValue()};e.PromiseInspection=PromiseInspection}},2243:(e,t,n)=>{"use strict";e.exports=function(e,t){var r=n(29505);var i=r.errorObj;var s=r.isObject;function tryConvertToPromise(n,r){if(s(n)){if(n instanceof e)return n;var o=getThen(n);if(o===i){if(r)r._pushContext();var a=e.reject(o.e);if(r)r._popContext();return a}else if(typeof o==="function"){if(isAnyBluebirdPromise(n)){var a=new e(t);n._then(a._fulfill,a._reject,undefined,a,null);return a}return doThenable(n,o,r)}}return n}function doGetThen(e){return e.then}function getThen(e){try{return doGetThen(e)}catch(e){i.e=e;return i}}var o={}.hasOwnProperty;function isAnyBluebirdPromise(e){try{return o.call(e,"_promise0")}catch(e){return false}}function doThenable(n,s,o){var a=new e(t);var c=a;if(o)o._pushContext();a._captureStackTrace();if(o)o._popContext();var u=true;var l=r.tryCatch(s).call(n,resolve,reject);u=false;if(a&&l===i){a._rejectCallback(l.e,true,true);a=null}function resolve(e){if(!a)return;a._resolveCallback(e);a=null}function reject(e){if(!a)return;a._rejectCallback(e,u,true);a=null}return c}return tryConvertToPromise}},49880:(e,t,n)=>{"use strict";e.exports=function(e,t,r){var i=n(29505);var s=e.TimeoutError;function HandleWrapper(e){this.handle=e}HandleWrapper.prototype._resultCancelled=function(){clearTimeout(this.handle)};var o=function(e){return a(+this).thenReturn(e)};var a=e.delay=function(n,i){var s;var a;if(i!==undefined){s=e.resolve(i)._then(o,null,null,n,undefined);if(r.cancellation()&&i instanceof e){s._setOnCancel(i)}}else{s=new e(t);a=setTimeout(function(){s._fulfill()},+n);if(r.cancellation()){s._setOnCancel(new HandleWrapper(a))}s._captureStackTrace()}s._setAsyncGuaranteed();return s};e.prototype.delay=function(e){return a(e,this)};var c=function(e,t,n){var r;if(typeof t!=="string"){if(t instanceof Error){r=t}else{r=new s("operation timed out")}}else{r=new s(t)}i.markAsOriginatingFromRejection(r);e._attachExtraTrace(r);e._reject(r);if(n!=null){n.cancel()}};function successClear(e){clearTimeout(this.handle);return e}function failureClear(e){clearTimeout(this.handle);throw e}e.prototype.timeout=function(e,t){e=+e;var n,i;var s=new HandleWrapper(setTimeout(function timeoutTimeout(){if(n.isPending()){c(n,t,i)}},e));if(r.cancellation()){i=this.then();n=i._then(successClear,failureClear,undefined,s,undefined);n._setOnCancel(s)}else{n=this._then(successClear,failureClear,undefined,s,undefined)}return n}}},44945:(e,t,n)=>{"use strict";e.exports=function(e,t,r,i,s,o){var a=n(29505);var c=n(2222).TypeError;var u=n(29505).inherits;var l=a.errorObj;var f=a.tryCatch;var p={};function thrower(e){setTimeout(function(){throw e},0)}function castPreservingDisposable(e){var t=r(e);if(t!==e&&typeof e._isDisposable==="function"&&typeof e._getDisposer==="function"&&e._isDisposable()){t._setDisposable(e._getDisposer())}return t}function dispose(t,n){var i=0;var o=t.length;var a=new e(s);function iterator(){if(i>=o)return a._fulfill();var s=castPreservingDisposable(t[i++]);if(s instanceof e&&s._isDisposable()){try{s=r(s._getDisposer().tryDispose(n),t.promise)}catch(e){return thrower(e)}if(s instanceof e){return s._then(iterator,thrower,null,null,null)}}iterator()}iterator();return a}function Disposer(e,t,n){this._data=e;this._promise=t;this._context=n}Disposer.prototype.data=function(){return this._data};Disposer.prototype.promise=function(){return this._promise};Disposer.prototype.resource=function(){if(this.promise().isFulfilled()){return this.promise().value()}return p};Disposer.prototype.tryDispose=function(e){var t=this.resource();var n=this._context;if(n!==undefined)n._pushContext();var r=t!==p?this.doDispose(t,e):null;if(n!==undefined)n._popContext();this._promise._unsetDisposable();this._data=null;return r};Disposer.isDisposer=function(e){return e!=null&&typeof e.resource==="function"&&typeof e.tryDispose==="function"};function FunctionDisposer(e,t,n){this.constructor$(e,t,n)}u(FunctionDisposer,Disposer);FunctionDisposer.prototype.doDispose=function(e,t){var n=this.data();return n.call(e,e,t)};function maybeUnwrapDisposer(e){if(Disposer.isDisposer(e)){this.resources[this.index]._setDisposable(e);return e.promise()}return e}function ResourceList(e){this.length=e;this.promise=null;this[e-1]=null}ResourceList.prototype._resultCancelled=function(){var t=this.length;for(var n=0;n0};e.prototype._getDisposer=function(){return this._disposer};e.prototype._unsetDisposable=function(){this._bitField=this._bitField&~131072;this._disposer=undefined};e.prototype.disposer=function(e){if(typeof e==="function"){return new FunctionDisposer(e,this,i())}throw new c}}},29505:function(module,__unused_webpack_exports,__webpack_require__){"use strict";var es5=__webpack_require__(34673);var canEvaluate=typeof navigator=="undefined";var errorObj={e:{}};var tryCatchTarget;var globalObject=typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:this!==undefined?this:null;function tryCatcher(){try{var e=tryCatchTarget;tryCatchTarget=null;return e.apply(this,arguments)}catch(e){errorObj.e=e;return errorObj}}function tryCatch(e){tryCatchTarget=e;return tryCatcher}var inherits=function(e,t){var n={}.hasOwnProperty;function T(){this.constructor=e;this.constructor$=t;for(var r in t.prototype){if(n.call(t.prototype,r)&&r.charAt(r.length-1)!=="$"){this[r+"$"]=t.prototype[r]}}}T.prototype=t.prototype;e.prototype=new T;return e.prototype};function isPrimitive(e){return e==null||e===true||e===false||typeof e==="string"||typeof e==="number"}function isObject(e){return typeof e==="function"||typeof e==="object"&&e!==null}function maybeWrapAsError(e){if(!isPrimitive(e))return e;return new Error(safeToString(e))}function withAppended(e,t){var n=e.length;var r=new Array(n+1);var i;for(i=0;i1;var r=t.length>0&&!(t.length===1&&t[0]==="constructor");var i=thisAssignmentPattern.test(e+"")&&es5.names(e).length>0;if(n||r||i){return true}}return false}catch(e){return false}}function toFastProperties(obj){function FakeConstructor(){}FakeConstructor.prototype=obj;var receiver=new FakeConstructor;function ic(){return typeof receiver.foo}ic();ic();return obj;eval(obj)}var rident=/^[a-z$_][a-z$_0-9]*$/i;function isIdentifier(e){return rident.test(e)}function filledRange(e,t,n){var r=new Array(e);for(var i=0;i10||e[0]>0}();ret.nodeSupportsAsyncResource=ret.isNode&&function(){var e=false;try{var t=__webpack_require__(77303).AsyncResource;e=typeof t.prototype.runInAsyncScope==="function"}catch(t){e=false}return e}();if(ret.isNode)ret.toFastProperties(process);try{throw new Error}catch(e){ret.lastLineError=e}module.exports=ret},23215:(e,t,n)=>{var r=n(14551);var i=n(23835);e.exports=expandTop;var s="\0SLASH"+Math.random()+"\0";var o="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var c="\0COMMA"+Math.random()+"\0";var u="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(c).split("\\.").join(u)}function unescapeBraces(e){return e.split(s).join("\\").split(o).join("{").split(a).join("}").split(c).join(",").split(u).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var n=i("{","}",e);if(!n)return e.split(",");var r=n.pre;var s=n.body;var o=n.post;var a=r.split(",");a[a.length-1]+="{"+s+"}";var c=parseCommaParts(o);if(o.length){a[a.length-1]+=c.shift();a.push.apply(a,c)}t.push.apply(t,a);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var n=[];var s=i("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var o=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var u=o||c;var l=s.body.indexOf(",")>=0;if(!u&&!l){if(s.post.match(/,.*\}/)){e=s.pre+"{"+s.body+a+s.post;return expand(e)}return[e]}var f;if(u){f=s.body.split(/\.\./)}else{f=parseCommaParts(s.body);if(f.length===1){f=expand(f[0],false).map(embrace);if(f.length===1){var p=s.post.length?expand(s.post,false):[""];return p.map(function(e){return s.pre+f[0]+e})}}}var d=s.pre;var p=s.post.length?expand(s.post,false):[""];var h;if(u){var m=numeric(f[0]);var g=numeric(f[1]);var y=Math.max(f[0].length,f[1].length);var v=f.length==3?Math.abs(numeric(f[2])):1;var _=lte;var b=g0){var D=new Array(k+1).join("0");if(w<0)S="-"+D+S.slice(1);else S=D+S}}}h.push(S)}}else{h=r(f,function(e){return expand(e,false)})}for(var x=0;x{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5115);var i=n(92413);function evCommon(){var e=process.hrtime();var t=e[0]*1e6+Math.round(e[1]/1e3);return{ts:t,pid:process.pid,tid:process.pid}}var s=function(e){r.__extends(Tracer,e);function Tracer(t){if(t===void 0){t={}}var n=e.call(this)||this;n.noStream=false;n.events=[];if(typeof t!=="object"){throw new Error("Invalid options passed (must be an object)")}if(t.parent!=null&&typeof t.parent!=="object"){throw new Error("Invalid option (parent) passed (must be an object)")}if(t.fields!=null&&typeof t.fields!=="object"){throw new Error("Invalid option (fields) passed (must be an object)")}if(t.objectMode!=null&&(t.objectMode!==true&&t.objectMode!==false)){throw new Error("Invalid option (objectsMode) passed (must be a boolean)")}n.noStream=t.noStream||false;n.parent=t.parent;if(n.parent){n.fields=Object.assign({},t.parent&&t.parent.fields)}else{n.fields={}}if(t.fields){Object.assign(n.fields,t.fields)}if(!n.fields.cat){n.fields.cat="default"}else if(Array.isArray(n.fields.cat)){n.fields.cat=n.fields.cat.join(",")}if(!n.fields.args){n.fields.args={}}if(n.parent){n._push=n.parent._push.bind(n.parent)}else{n._objectMode=Boolean(t.objectMode);var r={objectMode:n._objectMode};if(n._objectMode){n._push=n.push}else{n._push=n._pushString;r.encoding="utf8"}i.Readable.call(n,r)}return n}Tracer.prototype.flush=function(){if(this.noStream===true){for(var e=0,t=this.events;e{"use strict";const r=n(12087);const i=/\s+at.*(?:\(|\s)(.*)\)?/;const s=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/;const o=typeof r.homedir==="undefined"?"":r.homedir();e.exports=((e,t)=>{t=Object.assign({pretty:false},t);return e.replace(/\\/g,"/").split("\n").filter(e=>{const t=e.match(i);if(t===null||!t[1]){return true}const n=t[1];if(n.includes(".app/Contents/Resources/electron.asar")||n.includes(".app/Contents/Resources/default_app.asar")){return false}return!s.test(n)}).filter(e=>e.trim()!=="").map(e=>{if(t.pretty){return e.replace(i,(e,t)=>e.replace(t,t.replace(o,"~")))}return e}).join("\n")})},23644:(e,t,n)=>{var r=n(99187);var i={};for(var s in r){if(r.hasOwnProperty(s)){i[r[s]]=s}}var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var a in o){if(o.hasOwnProperty(a)){if(!("channels"in o[a])){throw new Error("missing channels property: "+a)}if(!("labels"in o[a])){throw new Error("missing channel labels property: "+a)}if(o[a].labels.length!==o[a].channels){throw new Error("channel and label counts mismatch: "+a)}var c=o[a].channels;var u=o[a].labels;delete o[a].channels;delete o[a].labels;Object.defineProperty(o[a],"channels",{value:c});Object.defineProperty(o[a],"labels",{value:u})}}o.rgb.hsl=function(e){var t=e[0]/255;var n=e[1]/255;var r=e[2]/255;var i=Math.min(t,n,r);var s=Math.max(t,n,r);var o=s-i;var a;var c;var u;if(s===i){a=0}else if(t===s){a=(n-r)/o}else if(n===s){a=2+(r-t)/o}else if(r===s){a=4+(t-n)/o}a=Math.min(a*60,360);if(a<0){a+=360}u=(i+s)/2;if(s===i){c=0}else if(u<=.5){c=o/(s+i)}else{c=o/(2-s-i)}return[a,c*100,u*100]};o.rgb.hsv=function(e){var t;var n;var r;var i;var s;var o=e[0]/255;var a=e[1]/255;var c=e[2]/255;var u=Math.max(o,a,c);var l=u-Math.min(o,a,c);var f=function(e){return(u-e)/6/l+1/2};if(l===0){i=s=0}else{s=l/u;t=f(o);n=f(a);r=f(c);if(o===u){i=r-n}else if(a===u){i=1/3+t-r}else if(c===u){i=2/3+n-t}if(i<0){i+=1}else if(i>1){i-=1}}return[i*360,s*100,u*100]};o.rgb.hwb=function(e){var t=e[0];var n=e[1];var r=e[2];var i=o.rgb.hsl(e)[0];var s=1/255*Math.min(t,Math.min(n,r));r=1-1/255*Math.max(t,Math.max(n,r));return[i,s*100,r*100]};o.rgb.cmyk=function(e){var t=e[0]/255;var n=e[1]/255;var r=e[2]/255;var i;var s;var o;var a;a=Math.min(1-t,1-n,1-r);i=(1-t-a)/(1-a)||0;s=(1-n-a)/(1-a)||0;o=(1-r-a)/(1-a)||0;return[i*100,s*100,o*100,a*100]};function comparativeDistance(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}o.rgb.keyword=function(e){var t=i[e];if(t){return t}var n=Infinity;var s;for(var o in r){if(r.hasOwnProperty(o)){var a=r[o];var c=comparativeDistance(e,a);if(c.04045?Math.pow((t+.055)/1.055,2.4):t/12.92;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;var i=t*.4124+n*.3576+r*.1805;var s=t*.2126+n*.7152+r*.0722;var o=t*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};o.rgb.lab=function(e){var t=o.rgb.xyz(e);var n=t[0];var r=t[1];var i=t[2];var s;var a;var c;n/=95.047;r/=100;i/=108.883;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;i=i>.008856?Math.pow(i,1/3):7.787*i+16/116;s=116*r-16;a=500*(n-r);c=200*(r-i);return[s,a,c]};o.hsl.rgb=function(e){var t=e[0]/360;var n=e[1]/100;var r=e[2]/100;var i;var s;var o;var a;var c;if(n===0){c=r*255;return[c,c,c]}if(r<.5){s=r*(1+n)}else{s=r+n-r*n}i=2*r-s;a=[0,0,0];for(var u=0;u<3;u++){o=t+1/3*-(u-1);if(o<0){o++}if(o>1){o--}if(6*o<1){c=i+(s-i)*6*o}else if(2*o<1){c=s}else if(3*o<2){c=i+(s-i)*(2/3-o)*6}else{c=i}a[u]=c*255}return a};o.hsl.hsv=function(e){var t=e[0];var n=e[1]/100;var r=e[2]/100;var i=n;var s=Math.max(r,.01);var o;var a;r*=2;n*=r<=1?r:2-r;i*=s<=1?s:2-s;a=(r+n)/2;o=r===0?2*i/(s+i):2*n/(r+n);return[t,o*100,a*100]};o.hsv.rgb=function(e){var t=e[0]/60;var n=e[1]/100;var r=e[2]/100;var i=Math.floor(t)%6;var s=t-Math.floor(t);var o=255*r*(1-n);var a=255*r*(1-n*s);var c=255*r*(1-n*(1-s));r*=255;switch(i){case 0:return[r,c,o];case 1:return[a,r,o];case 2:return[o,r,c];case 3:return[o,a,r];case 4:return[c,o,r];case 5:return[r,o,a]}};o.hsv.hsl=function(e){var t=e[0];var n=e[1]/100;var r=e[2]/100;var i=Math.max(r,.01);var s;var o;var a;a=(2-n)*r;s=(2-n)*i;o=n*i;o/=s<=1?s:2-s;o=o||0;a/=2;return[t,o*100,a*100]};o.hwb.rgb=function(e){var t=e[0]/360;var n=e[1]/100;var r=e[2]/100;var i=n+r;var s;var o;var a;var c;if(i>1){n/=i;r/=i}s=Math.floor(6*t);o=1-r;a=6*t-s;if((s&1)!==0){a=1-a}c=n+a*(o-n);var u;var l;var f;switch(s){default:case 6:case 0:u=o;l=c;f=n;break;case 1:u=c;l=o;f=n;break;case 2:u=n;l=o;f=c;break;case 3:u=n;l=c;f=o;break;case 4:u=c;l=n;f=o;break;case 5:u=o;l=n;f=c;break}return[u*255,l*255,f*255]};o.cmyk.rgb=function(e){var t=e[0]/100;var n=e[1]/100;var r=e[2]/100;var i=e[3]/100;var s;var o;var a;s=1-Math.min(1,t*(1-i)+i);o=1-Math.min(1,n*(1-i)+i);a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};o.xyz.rgb=function(e){var t=e[0]/100;var n=e[1]/100;var r=e[2]/100;var i;var s;var o;i=t*3.2406+n*-1.5372+r*-.4986;s=t*-.9689+n*1.8758+r*.0415;o=t*.0557+n*-.204+r*1.057;i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92;s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:s*12.92;o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92;i=Math.min(Math.max(0,i),1);s=Math.min(Math.max(0,s),1);o=Math.min(Math.max(0,o),1);return[i*255,s*255,o*255]};o.xyz.lab=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;t/=95.047;n/=100;r/=108.883;t=t>.008856?Math.pow(t,1/3):7.787*t+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;i=116*n-16;s=500*(t-n);o=200*(n-r);return[i,s,o]};o.lab.xyz=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;s=(t+16)/116;i=n/500+s;o=s-r/200;var a=Math.pow(s,3);var c=Math.pow(i,3);var u=Math.pow(o,3);s=a>.008856?a:(s-16/116)/7.787;i=c>.008856?c:(i-16/116)/7.787;o=u>.008856?u:(o-16/116)/7.787;i*=95.047;s*=100;o*=108.883;return[i,s,o]};o.lab.lch=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;i=Math.atan2(r,n);s=i*360/2/Math.PI;if(s<0){s+=360}o=Math.sqrt(n*n+r*r);return[t,o,s]};o.lch.lab=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;o=r/360*2*Math.PI;i=n*Math.cos(o);s=n*Math.sin(o);return[t,i,s]};o.rgb.ansi16=function(e){var t=e[0];var n=e[1];var r=e[2];var i=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];i=Math.round(i/50);if(i===0){return 30}var s=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));if(i===2){s+=60}return s};o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])};o.rgb.ansi256=function(e){var t=e[0];var n=e[1];var r=e[2];if(t===n&&n===r){if(t<8){return 16}if(t>248){return 231}return Math.round((t-8)/247*24)+232}var i=16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5);return i};o.ansi16.rgb=function(e){var t=e%10;if(t===0||t===7){if(e>50){t+=3.5}t=t/10.5*255;return[t,t,t]}var n=(~~(e>50)+1)*.5;var r=(t&1)*n*255;var i=(t>>1&1)*n*255;var s=(t>>2&1)*n*255;return[r,i,s]};o.ansi256.rgb=function(e){if(e>=232){var t=(e-232)*10+8;return[t,t,t]}e-=16;var n;var r=Math.floor(e/36)/5*255;var i=Math.floor((n=e%36)/6)/5*255;var s=n%6/5*255;return[r,i,s]};o.rgb.hex=function(e){var t=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255);var n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n};o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t){return[0,0,0]}var n=t[0];if(t[0].length===3){n=n.split("").map(function(e){return e+e}).join("")}var r=parseInt(n,16);var i=r>>16&255;var s=r>>8&255;var o=r&255;return[i,s,o]};o.rgb.hcg=function(e){var t=e[0]/255;var n=e[1]/255;var r=e[2]/255;var i=Math.max(Math.max(t,n),r);var s=Math.min(Math.min(t,n),r);var o=i-s;var a;var c;if(o<1){a=s/(1-o)}else{a=0}if(o<=0){c=0}else if(i===t){c=(n-r)/o%6}else if(i===n){c=2+(r-t)/o}else{c=4+(t-n)/o+4}c/=6;c%=1;return[c*360,o*100,a*100]};o.hsl.hcg=function(e){var t=e[1]/100;var n=e[2]/100;var r=1;var i=0;if(n<.5){r=2*t*n}else{r=2*t*(1-n)}if(r<1){i=(n-.5*r)/(1-r)}return[e[0],r*100,i*100]};o.hsv.hcg=function(e){var t=e[1]/100;var n=e[2]/100;var r=t*n;var i=0;if(r<1){i=(n-r)/(1-r)}return[e[0],r*100,i*100]};o.hcg.rgb=function(e){var t=e[0]/360;var n=e[1]/100;var r=e[2]/100;if(n===0){return[r*255,r*255,r*255]}var i=[0,0,0];var s=t%1*6;var o=s%1;var a=1-o;var c=0;switch(Math.floor(s)){case 0:i[0]=1;i[1]=o;i[2]=0;break;case 1:i[0]=a;i[1]=1;i[2]=0;break;case 2:i[0]=0;i[1]=1;i[2]=o;break;case 3:i[0]=0;i[1]=a;i[2]=1;break;case 4:i[0]=o;i[1]=0;i[2]=1;break;default:i[0]=1;i[1]=0;i[2]=a}c=(1-n)*r;return[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]};o.hcg.hsv=function(e){var t=e[1]/100;var n=e[2]/100;var r=t+n*(1-t);var i=0;if(r>0){i=t/r}return[e[0],i*100,r*100]};o.hcg.hsl=function(e){var t=e[1]/100;var n=e[2]/100;var r=n*(1-t)+.5*t;var i=0;if(r>0&&r<.5){i=t/(2*r)}else if(r>=.5&&r<1){i=t/(2*(1-r))}return[e[0],i*100,r*100]};o.hcg.hwb=function(e){var t=e[1]/100;var n=e[2]/100;var r=t+n*(1-t);return[e[0],(r-t)*100,(1-r)*100]};o.hwb.hcg=function(e){var t=e[1]/100;var n=e[2]/100;var r=1-n;var i=r-t;var s=0;if(i<1){s=(r-i)/(1-i)}return[e[0],i*100,s*100]};o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]};o.gray.hwb=function(e){return[0,100,e[0]]};o.gray.cmyk=function(e){return[0,0,0,e[0]]};o.gray.lab=function(e){return[e[0],0,0]};o.gray.hex=function(e){var t=Math.round(e[0]/100*255)&255;var n=(t<<16)+(t<<8)+t;var r=n.toString(16).toUpperCase();return"000000".substring(r.length)+r};o.rgb.gray=function(e){var t=(e[0]+e[1]+e[2])/3;return[t/255*100]}},88215:(e,t,n)=>{var r=n(23644);var i=n(92076);var s={};var o=Object.keys(r);function wrapRaw(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}return e(t)};if("conversion"in e){t.conversion=e.conversion}return t}function wrapRounded(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}var n=e(t);if(typeof n==="object"){for(var r=n.length,i=0;i{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},92076:(e,t,n)=>{var r=n(23644);function buildGraph(){var e={};var t=Object.keys(r);for(var n=t.length,i=0;i{var r=n(85622);e.exports=function(e,t){if(t){var n=t.map(function(t){return r.resolve(e,t)})}else{var n=e}var i=n.slice(1).reduce(function(e,t){if(!t.match(/^([A-Za-z]:)?\/|\\/)){throw new Error("relative path without a basedir")}var n=t.split(/\/+|\\+/);for(var r=0;e[r]===n[r]&&r1?i.join("/"):"/"}},14551:e=>{e.exports=function(e,n){var r=[];for(var i=0;i{function isArray(e){if(Array.isArray){return Array.isArray(e)}return objectToString(e)==="[object Array]"}t.isArray=isArray;function isBoolean(e){return typeof e==="boolean"}t.isBoolean=isBoolean;function isNull(e){return e===null}t.isNull=isNull;function isNullOrUndefined(e){return e==null}t.isNullOrUndefined=isNullOrUndefined;function isNumber(e){return typeof e==="number"}t.isNumber=isNumber;function isString(e){return typeof e==="string"}t.isString=isString;function isSymbol(e){return typeof e==="symbol"}t.isSymbol=isSymbol;function isUndefined(e){return e===void 0}t.isUndefined=isUndefined;function isRegExp(e){return objectToString(e)==="[object RegExp]"}t.isRegExp=isRegExp;function isObject(e){return typeof e==="object"&&e!==null}t.isObject=isObject;function isDate(e){return objectToString(e)==="[object Date]"}t.isDate=isDate;function isError(e){return objectToString(e)==="[object Error]"||e instanceof Error}t.isError=isError;function isFunction(e){return typeof e==="function"}t.isFunction=isFunction;function isPrimitive(e){return e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"||typeof e==="symbol"||typeof e==="undefined"}t.isPrimitive=isPrimitive;t.isBuffer=Buffer.isBuffer;function objectToString(e){return Object.prototype.toString.call(e)}},96487:function(e){(function(t,n){true?e.exports=n():0})(this,function(){"use strict";var e=function isMergeableObject(e){return isNonNullObject(e)&&!isSpecial(e)};function isNonNullObject(e){return!!e&&typeof e==="object"}function isSpecial(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||isReactElement(e)}var t=typeof Symbol==="function"&&Symbol.for;var n=t?Symbol.for("react.element"):60103;function isReactElement(e){return e.$$typeof===n}function emptyTarget(e){return Array.isArray(e)?[]:{}}function cloneUnlessOtherwiseSpecified(e,t){return t.clone!==false&&t.isMergeableObject(e)?deepmerge(emptyTarget(e),e,t):e}function defaultArrayMerge(e,t,n){return e.concat(t).map(function(e){return cloneUnlessOtherwiseSpecified(e,n)})}function mergeObject(e,t,n){var r={};if(n.isMergeableObject(e)){Object.keys(e).forEach(function(t){r[t]=cloneUnlessOtherwiseSpecified(e[t],n)})}Object.keys(t).forEach(function(i){if(!n.isMergeableObject(t[i])||!e[i]){r[i]=cloneUnlessOtherwiseSpecified(t[i],n)}else{r[i]=deepmerge(e[i],t[i],n)}});return r}function deepmerge(t,n,r){r=r||{};r.arrayMerge=r.arrayMerge||defaultArrayMerge;r.isMergeableObject=r.isMergeableObject||e;var i=Array.isArray(n);var s=Array.isArray(t);var o=i===s;if(!o){return cloneUnlessOtherwiseSpecified(n,r)}else if(i){return r.arrayMerge(t,n,r)}else{return mergeObject(t,n,r)}}deepmerge.all=function deepmergeAll(e,t){if(!Array.isArray(e)){throw new Error("first argument should be an array")}return e.reduce(function(e,n){return deepmerge(e,n,t)},{})};var r=deepmerge;return r})},49616:(e,t,n)=>{"use strict";const r=n(31669);e.exports=r.deprecate(function createInnerCallback(e,t,n,r){const i=t.log;if(!i){if(t.stack!==e.stack){const n=function callbackWrapper(){return e.apply(this,arguments)};n.stack=t.stack;n.missing=t.missing;return n}return e}function loggingCallbackWrapper(){return e.apply(this,arguments)}if(n){if(!r){i(n)}loggingCallbackWrapper.log=function writeLog(e){if(r){i(n);r=false}i(" "+e)}}else{loggingCallbackWrapper.log=function writeLog(e){i(e)}}loggingCallbackWrapper.stack=t.stack;loggingCallbackWrapper.missing=t.missing;return loggingCallbackWrapper},"Pass resolveContext instead and use createInnerContext")},52227:e=>{"use strict";e.exports=function createInnerContext(e,t,n){let r=false;const i={log:(()=>{if(!e.log)return undefined;if(!t)return e.log;const n=n=>{if(!r){e.log(t);r=true}e.log(" "+n)};return n})(),stack:e.stack,missing:e.missing};return i}},22471:e=>{"use strict";e.exports=function getInnerRequest(e,t){if(typeof t.__innerRequest==="string"&&t.__innerRequest_request===t.request&&t.__innerRequest_relativePath===t.relativePath)return t.__innerRequest;let n;if(t.request){n=t.request;if(/^\.\.?\//.test(n)&&t.relativePath){n=e.join(t.relativePath,n)}}else{n=t.relativePath}t.__innerRequest_request=t.request;t.__innerRequest_relativePath=t.relativePath;return t.__innerRequest=n}},54448:(e,t,n)=>{var r=n(55757);function init(e,t,n){if(!!t&&typeof t!="string"){t=t.message||t.name}r(this,{type:e,name:e,cause:typeof t!="string"?t:n,message:t},"ewr")}function CustomError(e,t){Error.call(this);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);init.call(this,"CustomError",e,t)}CustomError.prototype=new Error;function createError(e,t,n){var r=function(n,i){init.call(this,t,n,i);if(t=="FilesystemError"){this.code=this.cause.code;this.path=this.cause.path;this.errno=this.cause.errno;this.message=(e.errno[this.cause.errno]?e.errno[this.cause.errno].description:this.cause.message)+(this.cause.path?" ["+this.cause.path+"]":"")}Error.call(this);if(Error.captureStackTrace)Error.captureStackTrace(this,r)};r.prototype=!!n?new n:new CustomError;return r}e.exports=function(e){var t=function(t,n){return createError(e,t,n)};return{CustomError:CustomError,FilesystemError:t("FilesystemError"),createError:t}}},80713:(e,t,n)=>{var r=e.exports.all=[{errno:-2,code:"ENOENT",description:"no such file or directory"},{errno:-1,code:"UNKNOWN",description:"unknown error"},{errno:0,code:"OK",description:"success"},{errno:1,code:"EOF",description:"end of file"},{errno:2,code:"EADDRINFO",description:"getaddrinfo error"},{errno:3,code:"EACCES",description:"permission denied"},{errno:4,code:"EAGAIN",description:"resource temporarily unavailable"},{errno:5,code:"EADDRINUSE",description:"address already in use"},{errno:6,code:"EADDRNOTAVAIL",description:"address not available"},{errno:7,code:"EAFNOSUPPORT",description:"address family not supported"},{errno:8,code:"EALREADY",description:"connection already in progress"},{errno:9,code:"EBADF",description:"bad file descriptor"},{errno:10,code:"EBUSY",description:"resource busy or locked"},{errno:11,code:"ECONNABORTED",description:"software caused connection abort"},{errno:12,code:"ECONNREFUSED",description:"connection refused"},{errno:13,code:"ECONNRESET",description:"connection reset by peer"},{errno:14,code:"EDESTADDRREQ",description:"destination address required"},{errno:15,code:"EFAULT",description:"bad address in system call argument"},{errno:16,code:"EHOSTUNREACH",description:"host is unreachable"},{errno:17,code:"EINTR",description:"interrupted system call"},{errno:18,code:"EINVAL",description:"invalid argument"},{errno:19,code:"EISCONN",description:"socket is already connected"},{errno:20,code:"EMFILE",description:"too many open files"},{errno:21,code:"EMSGSIZE",description:"message too long"},{errno:22,code:"ENETDOWN",description:"network is down"},{errno:23,code:"ENETUNREACH",description:"network is unreachable"},{errno:24,code:"ENFILE",description:"file table overflow"},{errno:25,code:"ENOBUFS",description:"no buffer space available"},{errno:26,code:"ENOMEM",description:"not enough memory"},{errno:27,code:"ENOTDIR",description:"not a directory"},{errno:28,code:"EISDIR",description:"illegal operation on a directory"},{errno:29,code:"ENONET",description:"machine is not on the network"},{errno:31,code:"ENOTCONN",description:"socket is not connected"},{errno:32,code:"ENOTSOCK",description:"socket operation on non-socket"},{errno:33,code:"ENOTSUP",description:"operation not supported on socket"},{errno:34,code:"ENOENT",description:"no such file or directory"},{errno:35,code:"ENOSYS",description:"function not implemented"},{errno:36,code:"EPIPE",description:"broken pipe"},{errno:37,code:"EPROTO",description:"protocol error"},{errno:38,code:"EPROTONOSUPPORT",description:"protocol not supported"},{errno:39,code:"EPROTOTYPE",description:"protocol wrong type for socket"},{errno:40,code:"ETIMEDOUT",description:"connection timed out"},{errno:41,code:"ECHARSET",description:"invalid Unicode character"},{errno:42,code:"EAIFAMNOSUPPORT",description:"address family for hostname not supported"},{errno:44,code:"EAISERVICE",description:"servname not supported for ai_socktype"},{errno:45,code:"EAISOCKTYPE",description:"ai_socktype not supported"},{errno:46,code:"ESHUTDOWN",description:"cannot send after transport endpoint shutdown"},{errno:47,code:"EEXIST",description:"file already exists"},{errno:48,code:"ESRCH",description:"no such process"},{errno:49,code:"ENAMETOOLONG",description:"name too long"},{errno:50,code:"EPERM",description:"operation not permitted"},{errno:51,code:"ELOOP",description:"too many symbolic links encountered"},{errno:52,code:"EXDEV",description:"cross-device link not permitted"},{errno:53,code:"ENOTEMPTY",description:"directory not empty"},{errno:54,code:"ENOSPC",description:"no space left on device"},{errno:55,code:"EIO",description:"i/o error"},{errno:56,code:"EROFS",description:"read-only file system"},{errno:57,code:"ENODEV",description:"no such device"},{errno:58,code:"ESPIPE",description:"invalid seek"},{errno:59,code:"ECANCELED",description:"operation canceled"}];e.exports.errno={};e.exports.code={};r.forEach(function(t){e.exports.errno[t.errno]=t;e.exports.code[t.code]=t});e.exports.custom=n(54448)(e.exports);e.exports.create=e.exports.custom.createError},58732:e=>{"use strict";var t=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return e.replace(t,"\\$&")}},16950:(e,t,n)=>{"use strict";const r=n(78120);class Definition{constructor(e,t,n,r,i,s){this.type=e;this.name=t;this.node=n;this.parent=r;this.index=i;this.kind=s}}class ParameterDefinition extends Definition{constructor(e,t,n,i){super(r.Parameter,e,t,null,n,null);this.rest=i}}e.exports={ParameterDefinition:ParameterDefinition,Definition:Definition}},19579:(e,t,n)=>{"use strict";const r=n(42357);const i=n(60018);const s=n(36337);const o=n(24552);const a=n(78120);const c=n(98699).Scope;const u=n(42245).i8;function defaultOptions(){return{optimistic:false,directive:false,nodejsScope:false,impliedStrict:false,sourceType:"script",ecmaVersion:5,childVisitorKeys:null,fallback:"iteration"}}function updateDeeply(e,t){function isHashObject(e){return typeof e==="object"&&e instanceof Object&&!(e instanceof Array)&&!(e instanceof RegExp)}for(const n in t){if(Object.prototype.hasOwnProperty.call(t,n)){const r=t[n];if(isHashObject(r)){if(isHashObject(e[n])){updateDeeply(e[n],r)}else{e[n]=updateDeeply({},r)}}else{e[n]=r}}}return e}function analyze(e,t){const n=updateDeeply(defaultOptions(),t);const o=new i(n);const a=new s(n,o);a.visit(e);r(o.__currentScope===null,"currentScope should be null.");return o}e.exports={version:u,Reference:o,Variable:a,Scope:c,ScopeManager:i,analyze:analyze}},29630:(e,t,n)=>{"use strict";const r=n(92105).Syntax;const i=n(49112);function getLast(e){return e[e.length-1]||null}class PatternVisitor extends i.Visitor{static isPattern(e){const t=e.type;return t===r.Identifier||t===r.ObjectPattern||t===r.ArrayPattern||t===r.SpreadElement||t===r.RestElement||t===r.AssignmentPattern}constructor(e,t,n){super(null,e);this.rootPattern=t;this.callback=n;this.assignments=[];this.rightHandNodes=[];this.restElements=[]}Identifier(e){const t=getLast(this.restElements);this.callback(e,{topLevel:e===this.rootPattern,rest:t!==null&&t!==undefined&&t.argument===e,assignments:this.assignments})}Property(e){if(e.computed){this.rightHandNodes.push(e.key)}this.visit(e.value)}ArrayPattern(e){for(let t=0,n=e.elements.length;t{this.rightHandNodes.push(e)});this.visit(e.callee)}}e.exports=PatternVisitor},24552:e=>{"use strict";const t=1;const n=2;const r=t|n;class Reference{constructor(e,t,n,r,i,s,o){this.identifier=e;this.from=t;this.tainted=false;this.resolved=null;this.flag=n;if(this.isWrite()){this.writeExpr=r;this.partial=s;this.init=o}this.__maybeImplicitGlobal=i}isStatic(){return!this.tainted&&this.resolved&&this.resolved.scope.isStatic()}isWrite(){return!!(this.flag&Reference.WRITE)}isRead(){return!!(this.flag&Reference.READ)}isReadOnly(){return this.flag===Reference.READ}isWriteOnly(){return this.flag===Reference.WRITE}isReadWrite(){return this.flag===Reference.RW}}Reference.READ=t;Reference.WRITE=n;Reference.RW=r;e.exports=Reference},36337:(e,t,n)=>{"use strict";const r=n(92105).Syntax;const i=n(49112);const s=n(24552);const o=n(78120);const a=n(29630);const c=n(16950);const u=n(42357);const l=c.ParameterDefinition;const f=c.Definition;function traverseIdentifierInPattern(e,t,n,r){const i=new a(e,t,r);i.visit(t);if(n!==null&&n!==undefined){i.rightHandNodes.forEach(n.visit,n)}}class Importer extends i.Visitor{constructor(e,t){super(null,t.options);this.declaration=e;this.referencer=t}visitImport(e,t){this.referencer.visitPattern(e,e=>{this.referencer.currentScope().__define(e,new f(o.ImportBinding,e,t,this.declaration,null,null))})}ImportNamespaceSpecifier(e){const t=e.local||e.id;if(t){this.visitImport(t,e)}}ImportDefaultSpecifier(e){const t=e.local||e.id;this.visitImport(t,e)}ImportSpecifier(e){const t=e.local||e.id;if(e.name){this.visitImport(e.name,e)}else{this.visitImport(t,e)}}}class Referencer extends i.Visitor{constructor(e,t){super(null,e);this.options=e;this.scopeManager=t;this.parent=null;this.isInnerMethodDefinition=false}currentScope(){return this.scopeManager.__currentScope}close(e){while(this.currentScope()&&e===this.currentScope().block){this.scopeManager.__currentScope=this.currentScope().__close(this.scopeManager)}}pushInnerMethodDefinition(e){const t=this.isInnerMethodDefinition;this.isInnerMethodDefinition=e;return t}popInnerMethodDefinition(e){this.isInnerMethodDefinition=e}referencingDefaultValue(e,t,n,r){const i=this.currentScope();t.forEach(t=>{i.__referencing(e,s.WRITE,t.right,n,e!==t.left,r)})}visitPattern(e,t,n){let r=t;let i=n;if(typeof t==="function"){i=t;r={processRightHandNodes:false}}traverseIdentifierInPattern(this.options,e,r.processRightHandNodes?this:null,i)}visitFunction(e){let t,n;if(e.type===r.FunctionDeclaration){this.currentScope().__define(e.id,new f(o.FunctionName,e.id,e,null,null,null))}if(e.type===r.FunctionExpression&&e.id){this.scopeManager.__nestFunctionExpressionNameScope(e)}this.scopeManager.__nestFunctionScope(e,this.isInnerMethodDefinition);const i=this;function visitPatternCallback(n,r){i.currentScope().__define(n,new l(n,e,t,r.rest));i.referencingDefaultValue(n,r.assignments,null,true)}for(t=0,n=e.params.length;t{this.currentScope().__define(t,new l(t,e,e.params.length,true))})}if(e.body){if(e.body.type===r.BlockStatement){this.visitChildren(e.body)}else{this.visit(e.body)}}this.close(e)}visitClass(e){if(e.type===r.ClassDeclaration){this.currentScope().__define(e.id,new f(o.ClassName,e.id,e,null,null,null))}this.visit(e.superClass);this.scopeManager.__nestClassScope(e);if(e.id){this.currentScope().__define(e.id,new f(o.ClassName,e.id,e))}this.visit(e.body);this.close(e)}visitProperty(e){let t;if(e.computed){this.visit(e.key)}const n=e.type===r.MethodDefinition;if(n){t=this.pushInnerMethodDefinition(true)}this.visit(e.value);if(n){this.popInnerMethodDefinition(t)}}visitForIn(e){if(e.left.type===r.VariableDeclaration&&e.left.kind!=="var"){this.scopeManager.__nestForScope(e)}if(e.left.type===r.VariableDeclaration){this.visit(e.left);this.visitPattern(e.left.declarations[0].id,t=>{this.currentScope().__referencing(t,s.WRITE,e.right,null,true,true)})}else{this.visitPattern(e.left,{processRightHandNodes:true},(t,n)=>{let r=null;if(!this.currentScope().isStrict){r={pattern:t,node:e}}this.referencingDefaultValue(t,n.assignments,r,false);this.currentScope().__referencing(t,s.WRITE,e.right,r,true,false)})}this.visit(e.right);this.visit(e.body);this.close(e)}visitVariableDeclaration(e,t,n,r){const i=n.declarations[r];const o=i.init;this.visitPattern(i.id,{processRightHandNodes:true},(a,c)=>{e.__define(a,new f(t,a,i,n,r,n.kind));this.referencingDefaultValue(a,c.assignments,null,true);if(o){this.currentScope().__referencing(a,s.WRITE,o,null,!c.topLevel,true)}})}AssignmentExpression(e){if(a.isPattern(e.left)){if(e.operator==="="){this.visitPattern(e.left,{processRightHandNodes:true},(t,n)=>{let r=null;if(!this.currentScope().isStrict){r={pattern:t,node:e}}this.referencingDefaultValue(t,n.assignments,r,false);this.currentScope().__referencing(t,s.WRITE,e.right,r,!n.topLevel,false)})}else{this.currentScope().__referencing(e.left,s.RW,e.right)}}else{this.visit(e.left)}this.visit(e.right)}CatchClause(e){this.scopeManager.__nestCatchScope(e);this.visitPattern(e.param,{processRightHandNodes:true},(t,n)=>{this.currentScope().__define(t,new f(o.CatchClause,e.param,e,null,null,null));this.referencingDefaultValue(t,n.assignments,null,true)});this.visit(e.body);this.close(e)}Program(e){this.scopeManager.__nestGlobalScope(e);if(this.scopeManager.__isNodejsScope()){this.currentScope().isStrict=false;this.scopeManager.__nestFunctionScope(e,false)}if(this.scopeManager.__isES6()&&this.scopeManager.isModule()){this.scopeManager.__nestModuleScope(e)}if(this.scopeManager.isStrictModeSupported()&&this.scopeManager.isImpliedStrict()){this.currentScope().isStrict=true}this.visitChildren(e);this.close(e)}Identifier(e){this.currentScope().__referencing(e)}UpdateExpression(e){if(a.isPattern(e.argument)){this.currentScope().__referencing(e.argument,s.RW,null)}else{this.visitChildren(e)}}MemberExpression(e){this.visit(e.object);if(e.computed){this.visit(e.property)}}Property(e){this.visitProperty(e)}MethodDefinition(e){this.visitProperty(e)}BreakStatement(){}ContinueStatement(){}LabeledStatement(e){this.visit(e.body)}ForStatement(e){if(e.init&&e.init.type===r.VariableDeclaration&&e.init.kind!=="var"){this.scopeManager.__nestForScope(e)}this.visitChildren(e);this.close(e)}ClassExpression(e){this.visitClass(e)}ClassDeclaration(e){this.visitClass(e)}CallExpression(e){if(!this.scopeManager.__ignoreEval()&&e.callee.type===r.Identifier&&e.callee.name==="eval"){this.currentScope().variableScope.__detectEval()}this.visitChildren(e)}BlockStatement(e){if(this.scopeManager.__isES6()){this.scopeManager.__nestBlockScope(e)}this.visitChildren(e);this.close(e)}ThisExpression(){this.currentScope().variableScope.__detectThis()}WithStatement(e){this.visit(e.object);this.scopeManager.__nestWithScope(e);this.visit(e.body);this.close(e)}VariableDeclaration(e){const t=e.kind==="var"?this.currentScope().variableScope:this.currentScope();for(let n=0,r=e.declarations.length;n{"use strict";const r=n(98699);const i=n(42357);const s=r.GlobalScope;const o=r.CatchScope;const a=r.WithScope;const c=r.ModuleScope;const u=r.ClassScope;const l=r.SwitchScope;const f=r.FunctionScope;const p=r.ForScope;const d=r.FunctionExpressionNameScope;const h=r.BlockScope;class ScopeManager{constructor(e){this.scopes=[];this.globalScope=null;this.__nodeToScope=new WeakMap;this.__currentScope=null;this.__options=e;this.__declaredVariables=new WeakMap}__useDirective(){return this.__options.directive}__isOptimistic(){return this.__options.optimistic}__ignoreEval(){return this.__options.ignoreEval}__isNodejsScope(){return this.__options.nodejsScope}isModule(){return this.__options.sourceType==="module"}isImpliedStrict(){return this.__options.impliedStrict}isStrictModeSupported(){return this.__options.ecmaVersion>=5}__get(e){return this.__nodeToScope.get(e)}getDeclaredVariables(e){return this.__declaredVariables.get(e)||[]}acquire(e,t){function predicate(e){if(e.type==="function"&&e.functionExpressionScope){return false}return true}const n=this.__get(e);if(!n||n.length===0){return null}if(n.length===1){return n[0]}if(t){for(let e=n.length-1;e>=0;--e){const t=n[e];if(predicate(t)){return t}}}else{for(let e=0,t=n.length;e=6}}e.exports=ScopeManager},98699:(e,t,n)=>{"use strict";const r=n(92105).Syntax;const i=n(24552);const s=n(78120);const o=n(16950).Definition;const a=n(42357);function isStrictScope(e,t,n,i){let s;if(e.upper&&e.upper.isStrict){return true}if(n){return true}if(e.type==="class"||e.type==="module"){return true}if(e.type==="block"||e.type==="switch"){return false}if(e.type==="function"){if(t.type===r.ArrowFunctionExpression&&t.body.type!==r.BlockStatement){return false}if(t.type===r.Program){s=t}else{s=t.body}if(!s){return false}}else if(e.type==="global"){s=t}else{return false}if(i){for(let e=0,t=s.body.length;e0&&r.every(shouldBeStatically)}__staticCloseRef(e){if(!this.__resolve(e)){this.__delegateToUpperScope(e)}}__dynamicCloseRef(e){let t=this;do{t.through.push(e);t=t.upper}while(t)}__globalCloseRef(e){if(this.__shouldStaticallyCloseForGlobal(e)){this.__staticCloseRef(e)}else{this.__dynamicCloseRef(e)}}__close(e){let t;if(this.__shouldStaticallyClose(e)){t=this.__staticCloseRef}else if(this.type!=="global"){t=this.__dynamicCloseRef}else{t=this.__globalCloseRef}for(let e=0,n=this.__left.length;ee.name.range[0]>=n))}}class ForScope extends Scope{constructor(e,t,n){super(e,"for",t,n,false)}}class ClassScope extends Scope{constructor(e,t,n){super(e,"class",t,n,false)}}e.exports={Scope:Scope,GlobalScope:GlobalScope,ModuleScope:ModuleScope,FunctionExpressionNameScope:FunctionExpressionNameScope,CatchScope:CatchScope,WithScope:WithScope,BlockScope:BlockScope,SwitchScope:SwitchScope,FunctionScope:FunctionScope,ForScope:ForScope,ClassScope:ClassScope}},78120:e=>{"use strict";class Variable{constructor(e,t){this.name=e;this.identifiers=[];this.references=[];this.defs=[];this.tainted=false;this.stack=true;this.scope=t}}Variable.CatchClause="CatchClause";Variable.Parameter="Parameter";Variable.FunctionName="FunctionName";Variable.ClassName="ClassName";Variable.Variable="Variable";Variable.ImportBinding="ImportBinding";Variable.ImplicitGlobalVariable="ImplicitGlobalVariable";e.exports=Variable},49112:(e,t,n)=>{(function(){"use strict";var e=n(92105);function isNode(e){if(e==null){return false}return typeof e==="object"&&typeof e.type==="string"}function isProperty(t,n){return(t===e.Syntax.ObjectExpression||t===e.Syntax.ObjectPattern)&&n==="properties"}function Visitor(t,n){n=n||{};this.__visitor=t||this;this.__childVisitorKeys=n.childVisitorKeys?Object.assign({},e.VisitorKeys,n.childVisitorKeys):e.VisitorKeys;if(n.fallback==="iteration"){this.__fallback=Object.keys}else if(typeof n.fallback==="function"){this.__fallback=n.fallback}}Visitor.prototype.visitChildren=function(t){var n,r,i,s,o,a,c;if(t==null){return}n=t.type||e.Syntax.Property;r=this.__childVisitorKeys[n];if(!r){if(this.__fallback){r=this.__fallback(t)}else{throw new Error("Unknown node type "+n+".")}}for(i=0,s=r.length;i{(function clone(e){"use strict";var t,r,i,s,o,a,c,u,l;function ignoreJSHintError(){}r=Array.isArray;if(!r){r=function isArray(e){return Object.prototype.toString.call(e)==="[object Array]"}}function deepCopy(e){var t={},n,r;for(n in e){if(e.hasOwnProperty(n)){r=e[n];if(typeof r==="object"&&r!==null){t[n]=deepCopy(r)}else{t[n]=r}}}return t}function shallowCopy(e){var t={},n;for(n in e){if(e.hasOwnProperty(n)){t[n]=e[n]}}return t}ignoreJSHintError(shallowCopy);function upperBound(e,t){var n,r,i,s;r=e.length;i=0;while(r){n=r>>>1;s=i+n;if(t(e[s])){r=n}else{i=s+1;r-=n+1}}return i}function lowerBound(e,t){var n,r,i,s;r=e.length;i=0;while(r){n=r>>>1;s=i+n;if(t(e[s])){i=s+1;r-=n+1}else{r=n}}return i}ignoreJSHintError(lowerBound);o=Object.create||function(){function F(){}return function(e){F.prototype=e;return new F}}();a=Object.keys||function(e){var t=[],n;for(n in e){t.push(n)}return t};function extend(e,t){var n=a(t),r,i,s;for(i=0,s=n.length;i=0){f=h[p];m=o[f];if(!m){continue}if(r(m)){d=m.length;while((d-=1)>=0){if(!m[d]){continue}if(isProperty(a,h[p])){s=new Element(m[d],[f,d],"Property",null)}else if(isNode(m[d])){s=new Element(m[d],[f,d],null,null)}else{continue}n.push(s)}}else if(isNode(m)){n.push(new Element(m,f,null,null))}}}}};Controller.prototype.replace=function replace(e,t){var n,i,s,o,a,f,p,d,h,m,g,y,v;function removeElem(e){var t,r,i,s;if(e.ref.remove()){r=e.ref.key;s=e.ref.parent;t=n.length;while(t--){i=n[t];if(i.ref&&i.ref.parent===s){if(i.ref.key=0){v=h[p];m=s[v];if(!m){continue}if(r(m)){d=m.length;while((d-=1)>=0){if(!m[d]){continue}if(isProperty(o,h[p])){f=new Element(m[d],[v,d],"Property",new Reference(m,d))}else if(isNode(m[d])){f=new Element(m[d],[v,d],null,new Reference(m,d))}else{continue}n.push(f)}}else if(isNode(m)){n.push(new Element(m,v,null,new Reference(s,v)))}}}return y.root};function traverse(e,t){var n=new Controller;return n.traverse(e,t)}function replace(e,t){var n=new Controller;return n.replace(e,t)}function extendCommentRange(e,t){var n;n=upperBound(t,function search(t){return t.range[0]>e.range[0]});e.extendedRange=[e.range[0],e.range[1]];if(n!==t.length){e.extendedRange[1]=t[n].range[0]}n-=1;if(n>=0){e.extendedRange[0]=t[n].range[1]}return e}function attachComments(e,t,n){var r=[],s,o,a,c;if(!e.range){throw new Error("attachComments needs range information")}if(!n.length){if(t.length){for(a=0,o=t.length;ae.range[0]){break}if(t.extendedRange[1]===e.range[0]){if(!e.leadingComments){e.leadingComments=[]}e.leadingComments.push(t);r.splice(c,1)}else{c+=1}}if(c===r.length){return i.Break}if(r[c].extendedRange[0]>e.range[1]){return i.Skip}}});c=0;traverse(e,{leave:function(e){var t;while(ce.range[1]){return i.Skip}}});return e}e.version=n(82788).i8;e.Syntax=t;e.traverse=traverse;e.replace=replace;e.attachComments=attachComments;e.VisitorKeys=s;e.VisitorOption=i;e.Controller=Controller;e.cloneEnvironment=function(){return clone({})};return e})(t)},55245:e=>{"use strict";e.exports=function equal(e,t){if(e===t)return true;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return false;var n,r,i;if(Array.isArray(e)){n=e.length;if(n!=t.length)return false;for(r=n;r--!==0;)if(!equal(e[r],t[r]))return false;return true}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();i=Object.keys(e);n=i.length;if(n!==Object.keys(t).length)return false;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return false;for(r=n;r--!==0;){var s=i[r];if(!equal(e[s],t[s]))return false}return true}return e!==e&&t!==t}},75986:e=>{"use strict";e.exports=function(e,t){if(!t)t={};if(typeof t==="function")t={cmp:t};var n=typeof t.cycles==="boolean"?t.cycles:false;var r=t.cmp&&function(e){return function(t){return function(n,r){var i={key:n,value:t[n]};var s={key:r,value:t[r]};return e(i,s)}}}(t.cmp);var i=[];return function stringify(e){if(e&&e.toJSON&&typeof e.toJSON==="function"){e=e.toJSON()}if(e===undefined)return;if(typeof e=="number")return isFinite(e)?""+e:"null";if(typeof e!=="object")return JSON.stringify(e);var t,s;if(Array.isArray(e)){s="[";for(t=0;t{"use strict";const r=n(85622);const i=n(35747);const s=n(4097);const o=n(93224);const a=n(41365);const{env:c,cwd:u}=process;const l=e=>{try{i.accessSync(e,i.constants.W_OK);return true}catch(e){return false}};function useDirectory(e,t){if(t.create){a.sync(e)}if(t.thunk){return(...t)=>r.join(e,...t)}return e}function getNodeModuleDirectory(e){const t=r.join(e,"node_modules");if(!l(t)&&(i.existsSync(t)||!l(r.join(e)))){return}return t}e.exports=((e={})=>{if(c.CACHE_DIR&&!["true","false","1","0"].includes(c.CACHE_DIR)){return useDirectory(r.join(c.CACHE_DIR,"find-cache-dir"),e)}let{cwd:t=u()}=e;if(e.files){t=s(t,e.files)}t=o.sync(t);if(!t){return}const n=getNodeModuleDirectory(t);if(!n){return undefined}return useDirectory(r.join(t,"node_modules",".cache",e.name),e)})},70558:(e,t,n)=>{"use strict";const r=n(85622);const i=n(6537);const s=n(69446);const o=Symbol("findUp.stop");e.exports=(async(e,t={})=>{let n=r.resolve(t.cwd||"");const{root:s}=r.parse(n);const a=[].concat(e);const c=async t=>{if(typeof e!=="function"){return i(a,t)}const n=await e(t.cwd);if(typeof n==="string"){return i([n],t)}return n};while(true){const e=await c({...t,cwd:n});if(e===o){return}if(e){return r.resolve(n,e)}if(n===s){return}n=r.dirname(n)}});e.exports.sync=((e,t={})=>{let n=r.resolve(t.cwd||"");const{root:s}=r.parse(n);const a=[].concat(e);const c=t=>{if(typeof e!=="function"){return i.sync(a,t)}const n=e(t.cwd);if(typeof n==="string"){return i.sync([n],t)}return n};while(true){const e=c({...t,cwd:n});if(e===o){return}if(e){return r.resolve(n,e)}if(n===s){return}n=r.dirname(n)}});e.exports.exists=s;e.exports.sync.exists=s.sync;e.exports.stop=o},69446:(e,t,n)=>{"use strict";const r=n(35747);const{promisify:i}=n(31669);const s=i(r.access);e.exports=(async e=>{try{await s(e);return true}catch(e){return false}});e.exports.sync=(e=>{try{r.accessSync(e);return true}catch(e){return false}})},95625:(e,t,n)=>{"use strict";const r=n(24302);const i=n(28614).EventEmitter;const s=n(35747);let o=s.writev;if(!o){const e=process.binding("fs");const t=e.FSReqWrap||e.FSReqCallback;o=((n,r,i,s)=>{const o=(e,t)=>s(e,t,r);const a=new t;a.oncomplete=o;e.writeBuffers(n,r,i,a)})}const a=Symbol("_autoClose");const c=Symbol("_close");const u=Symbol("_ended");const l=Symbol("_fd");const f=Symbol("_finished");const p=Symbol("_flags");const d=Symbol("_flush");const h=Symbol("_handleChunk");const m=Symbol("_makeBuf");const g=Symbol("_mode");const y=Symbol("_needDrain");const v=Symbol("_onerror");const _=Symbol("_onopen");const b=Symbol("_onread");const E=Symbol("_onwrite");const w=Symbol("_open");const S=Symbol("_path");const k=Symbol("_pos");const D=Symbol("_queue");const x=Symbol("_read");const C=Symbol("_readSize");const A=Symbol("_reading");const T=Symbol("_remain");const M=Symbol("_size");const O=Symbol("_write");const F=Symbol("_writing");const I=Symbol("_defaultFlag");const R=Symbol("_errored");class ReadStream extends r{constructor(e,t){t=t||{};super(t);this.readable=true;this.writable=false;if(typeof e!=="string")throw new TypeError("path must be a string");this[R]=false;this[l]=typeof t.fd==="number"?t.fd:null;this[S]=e;this[C]=t.readSize||16*1024*1024;this[A]=false;this[M]=typeof t.size==="number"?t.size:Infinity;this[T]=this[M];this[a]=typeof t.autoClose==="boolean"?t.autoClose:true;if(typeof this[l]==="number")this[x]();else this[w]()}get fd(){return this[l]}get path(){return this[S]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[w](){s.open(this[S],"r",(e,t)=>this[_](e,t))}[_](e,t){if(e)this[v](e);else{this[l]=t;this.emit("open",t);this[x]()}}[m](){return Buffer.allocUnsafe(Math.min(this[C],this[T]))}[x](){if(!this[A]){this[A]=true;const e=this[m]();if(e.length===0)return process.nextTick(()=>this[b](null,0,e));s.read(this[l],e,0,e.length,null,(e,t,n)=>this[b](e,t,n))}}[b](e,t,n){this[A]=false;if(e)this[v](e);else if(this[h](t,n))this[x]()}[c](){if(this[a]&&typeof this[l]==="number"){const e=this[l];this[l]=null;s.close(e,e=>e?this.emit("error",e):this.emit("close"))}}[v](e){this[A]=true;this[c]();this.emit("error",e)}[h](e,t){let n=false;this[T]-=e;if(e>0)n=super.write(ethis[_](e,t))}[_](e,t){if(this[I]&&this[p]==="r+"&&e&&e.code==="ENOENT"){this[p]="w";this[w]()}else if(e)this[v](e);else{this[l]=t;this.emit("open",t);this[d]()}}end(e,t){if(e)this.write(e,t);this[u]=true;if(!this[F]&&!this[D].length&&typeof this[l]==="number")this[E](null,0);return this}write(e,t){if(typeof e==="string")e=Buffer.from(e,t);if(this[u]){this.emit("error",new Error("write() after end()"));return false}if(this[l]===null||this[F]||this[D].length){this[D].push(e);this[y]=true;return false}this[F]=true;this[O](e);return true}[O](e){s.write(this[l],e,0,e.length,this[k],(e,t)=>this[E](e,t))}[E](e,t){if(e)this[v](e);else{if(this[k]!==null)this[k]+=t;if(this[D].length)this[d]();else{this[F]=false;if(this[u]&&!this[f]){this[f]=true;this[c]();this.emit("finish")}else if(this[y]){this[y]=false;this.emit("drain")}}}}[d](){if(this[D].length===0){if(this[u])this[E](null,0)}else if(this[D].length===1)this[O](this[D].pop());else{const e=this[D];this[D]=[];o(this[l],e,this[k],(e,t)=>this[E](e,t))}}[c](){if(this[a]&&typeof this[l]==="number"){const e=this[l];this[l]=null;s.close(e,e=>e?this.emit("error",e):this.emit("close"))}}}class WriteStreamSync extends WriteStream{[w](){let e;if(this[I]&&this[p]==="r+"){try{e=s.openSync(this[S],this[p],this[g])}catch(e){if(e.code==="ENOENT"){this[p]="w";return this[w]()}else throw e}}else e=s.openSync(this[S],this[p],this[g]);this[_](null,e)}[c](){if(this[a]&&typeof this[l]==="number"){const e=this[l];this[l]=null;s.closeSync(e);this.emit("close")}}[O](e){let t=true;try{this[E](null,s.writeSync(this[l],e,0,e.length,this[k]));t=false}finally{if(t)try{this[c]()}catch(e){}}}}t.ReadStream=ReadStream;t.ReadStreamSync=ReadStreamSync;t.WriteStream=WriteStream;t.WriteStreamSync=WriteStreamSync},29909:(e,t,n)=>{e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var r=n(35747);var i=r.realpath;var s=r.realpathSync;var o=process.version;var a=/^v[0-5]\./.test(o);var c=n(58411);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,t,n){if(a){return i(e,t,n)}if(typeof t==="function"){n=t;t=null}i(e,t,function(r,i){if(newError(r)){c.realpath(e,t,n)}else{n(r,i)}})}function realpathSync(e,t){if(a){return s(e,t)}try{return s(e,t)}catch(n){if(newError(n)){return c.realpathSync(e,t)}else{throw n}}}function monkeypatch(){r.realpath=realpath;r.realpathSync=realpathSync}function unmonkeypatch(){r.realpath=i;r.realpathSync=s}},58411:(e,t,n)=>{var r=n(85622);var i=process.platform==="win32";var s=n(35747);var o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var e;if(o){var t=new Error;e=debugCallback}else e=missingCallback;return e;function debugCallback(e){if(e){t.message=e.message;e=t;missingCallback(e)}}function missingCallback(e){if(e){if(process.throwDeprecation)throw e;else if(!process.noDeprecation){var t="fs: missing callback "+(e.stack||e.message);if(process.traceDeprecation)console.trace(t);else console.error(t)}}}}function maybeCallback(e){return typeof e==="function"?e:rethrow()}var a=r.normalize;if(i){var c=/(.*?)(?:[\/\\]+|$)/g}else{var c=/(.*?)(?:[\/]+|$)/g}if(i){var u=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var u=/^[\/]*/}t.realpathSync=function realpathSync(e,t){e=r.resolve(e);if(t&&Object.prototype.hasOwnProperty.call(t,e)){return t[e]}var n=e,o={},a={};var l;var f;var p;var d;start();function start(){var t=u.exec(e);l=t[0].length;f=t[0];p=t[0];d="";if(i&&!a[p]){s.lstatSync(p);a[p]=true}}while(l=e.length){if(t)t[o]=e;return n(null,e)}c.lastIndex=f;var r=c.exec(e);h=p;p+=r[0];d=h+r[1];f=c.lastIndex;if(l[d]||t&&t[d]===d){return process.nextTick(LOOP)}if(t&&Object.prototype.hasOwnProperty.call(t,d)){return gotResolvedLink(t[d])}return s.lstat(d,gotStat)}function gotStat(e,r){if(e)return n(e);if(!r.isSymbolicLink()){l[d]=true;if(t)t[d]=d;return process.nextTick(LOOP)}if(!i){var o=r.dev.toString(32)+":"+r.ino.toString(32);if(a.hasOwnProperty(o)){return gotTarget(null,a[o],d)}}s.stat(d,function(e){if(e)return n(e);s.readlink(d,function(e,t){if(!i)a[o]=t;gotTarget(e,t)})})}function gotTarget(e,i,s){if(e)return n(e);var o=r.resolve(h,i);if(t)t[s]=o;gotResolvedLink(o)}function gotResolvedLink(t){e=r.resolve(t,e.slice(f));start()}}},70554:e=>{e.exports=function(e,t){if(typeof e!=="string"){throw new TypeError("Expected a string")}var n=String(e);var r="";var i=t?!!t.extended:false;var s=t?!!t.globstar:false;var o=false;var a=t&&typeof t.flags==="string"?t.flags:"";var c;for(var u=0,l=n.length;u1&&(f==="/"||f===undefined)&&(d==="/"||d===undefined);if(h){r+="((?:[^/]*(?:/|$))*)";u++}else{r+="([^/]*)"}}break;default:r+=c}}if(!a||!~a.indexOf("g")){r="^"+r+"$"}return new RegExp(r,a)}},70601:(e,t,n)=>{t.alphasort=alphasort;t.alphasorti=alphasorti;t.setopts=setopts;t.ownProp=ownProp;t.makeAbs=makeAbs;t.finish=finish;t.mark=mark;t.isIgnored=isIgnored;t.childrenIgnored=childrenIgnored;function ownProp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var r=n(85622);var i=n(642);var s=n(52963);var o=i.Minimatch;function alphasorti(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}function alphasort(e,t){return e.localeCompare(t)}function setupIgnores(e,t){e.ignore=t.ignore||[];if(!Array.isArray(e.ignore))e.ignore=[e.ignore];if(e.ignore.length){e.ignore=e.ignore.map(ignoreMap)}}function ignoreMap(e){var t=null;if(e.slice(-3)==="/**"){var n=e.replace(/(\/\*\*)+$/,"");t=new o(n,{dot:true})}return{matcher:new o(e,{dot:true}),gmatcher:t}}function setopts(e,t,n){if(!n)n={};if(n.matchBase&&-1===t.indexOf("/")){if(n.noglobstar){throw new Error("base matching requires globstar")}t="**/"+t}e.silent=!!n.silent;e.pattern=t;e.strict=n.strict!==false;e.realpath=!!n.realpath;e.realpathCache=n.realpathCache||Object.create(null);e.follow=!!n.follow;e.dot=!!n.dot;e.mark=!!n.mark;e.nodir=!!n.nodir;if(e.nodir)e.mark=true;e.sync=!!n.sync;e.nounique=!!n.nounique;e.nonull=!!n.nonull;e.nosort=!!n.nosort;e.nocase=!!n.nocase;e.stat=!!n.stat;e.noprocess=!!n.noprocess;e.absolute=!!n.absolute;e.maxLength=n.maxLength||Infinity;e.cache=n.cache||Object.create(null);e.statCache=n.statCache||Object.create(null);e.symlinks=n.symlinks||Object.create(null);setupIgnores(e,n);e.changedCwd=false;var i=process.cwd();if(!ownProp(n,"cwd"))e.cwd=i;else{e.cwd=r.resolve(n.cwd);e.changedCwd=e.cwd!==i}e.root=n.root||r.resolve(e.cwd,"/");e.root=r.resolve(e.root);if(process.platform==="win32")e.root=e.root.replace(/\\/g,"/");e.cwdAbs=s(e.cwd)?e.cwd:makeAbs(e,e.cwd);if(process.platform==="win32")e.cwdAbs=e.cwdAbs.replace(/\\/g,"/");e.nomount=!!n.nomount;n.nonegate=true;n.nocomment=true;e.minimatch=new o(t,n);e.options=e.minimatch.options}function finish(e){var t=e.nounique;var n=t?[]:Object.create(null);for(var r=0,i=e.matches.length;r{e.exports=glob;var r=n(35747);var i=n(29909);var s=n(642);var o=s.Minimatch;var a=n(28309);var c=n(28614).EventEmitter;var u=n(85622);var l=n(42357);var f=n(52963);var p=n(38381);var d=n(70601);var h=d.alphasort;var m=d.alphasorti;var g=d.setopts;var y=d.ownProp;var v=n(78753);var _=n(31669);var b=d.childrenIgnored;var E=d.isIgnored;var w=n(56481);function glob(e,t,n){if(typeof t==="function")n=t,t={};if(!t)t={};if(t.sync){if(n)throw new TypeError("callback provided to sync glob");return p(e,t)}return new Glob(e,t,n)}glob.sync=p;var S=glob.GlobSync=p.GlobSync;glob.glob=glob;function extend(e,t){if(t===null||typeof t!=="object"){return e}var n=Object.keys(t);var r=n.length;while(r--){e[n[r]]=t[n[r]]}return e}glob.hasMagic=function(e,t){var n=extend({},t);n.noprocess=true;var r=new Glob(e,n);var i=r.minimatch.set;if(!e)return false;if(i.length>1)return true;for(var s=0;sthis.maxLength)return t();if(!this.stat&&y(this.cache,n)){var s=this.cache[n];if(Array.isArray(s))s="DIR";if(!i||s==="DIR")return t(null,s);if(i&&s==="FILE")return t()}var o;var a=this.statCache[n];if(a!==undefined){if(a===false)return t(null,a);else{var c=a.isDirectory()?"DIR":"FILE";if(i&&c==="FILE")return t();else return t(null,c,a)}}var u=this;var l=v("stat\0"+n,lstatcb_);if(l)r.lstat(n,l);function lstatcb_(i,s){if(s&&s.isSymbolicLink()){return r.stat(n,function(r,i){if(r)u._stat2(e,n,null,s,t);else u._stat2(e,n,r,i,t)})}else{u._stat2(e,n,i,s,t)}}};Glob.prototype._stat2=function(e,t,n,r,i){if(n&&(n.code==="ENOENT"||n.code==="ENOTDIR")){this.statCache[t]=false;return i()}var s=e.slice(-1)==="/";this.statCache[t]=r;if(t.slice(-1)==="/"&&r&&!r.isDirectory())return i(null,false,r);var o=true;if(r)o=r.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||o;if(s&&o==="FILE")return i();return i(null,o,r)}},38381:(e,t,n)=>{e.exports=globSync;globSync.GlobSync=GlobSync;var r=n(35747);var i=n(29909);var s=n(642);var o=s.Minimatch;var a=n(18750).Glob;var c=n(31669);var u=n(85622);var l=n(42357);var f=n(52963);var p=n(70601);var d=p.alphasort;var h=p.alphasorti;var m=p.setopts;var g=p.ownProp;var y=p.childrenIgnored;var v=p.isIgnored;function globSync(e,t){if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,t).found}function GlobSync(e,t){if(!e)throw new Error("must provide pattern");if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,t);m(this,e,t);if(this.noprocess)return this;var n=this.minimatch.set.length;this.matches=new Array(n);for(var r=0;rthis.maxLength)return false;if(!this.stat&&g(this.cache,t)){var i=this.cache[t];if(Array.isArray(i))i="DIR";if(!n||i==="DIR")return i;if(n&&i==="FILE")return false}var s;var o=this.statCache[t];if(!o){var a;try{a=r.lstatSync(t)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[t]=false;return false}}if(a&&a.isSymbolicLink()){try{o=r.statSync(t)}catch(e){o=a}}else{o=a}}this.statCache[t]=o;var i=true;if(o)i=o.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||i;if(n&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(e){return p.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return p.makeAbs(this,e)}},40858:e=>{"use strict";e.exports=clone;function clone(e){if(e===null||typeof e!=="object")return e;if(e instanceof Object)var t={__proto__:e.__proto__};else var t=Object.create(null);Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))});return t}},15808:(e,t,n)=>{var r=n(35747);var i=n(82444);var s=n(94073);var o=n(40858);var a=n(31669);var c;var u;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){c=Symbol.for("graceful-fs.queue");u=Symbol.for("graceful-fs.previous")}else{c="___graceful-fs.queue";u="___graceful-fs.previous"}function noop(){}function publishQueue(e,t){Object.defineProperty(e,c,{get:function(){return t}})}var l=noop;if(a.debuglog)l=a.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))l=function(){var e=a.format.apply(a,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: ");console.error(e)};if(!r[c]){var f=global[c]||[];publishQueue(r,f);r.close=function(e){function close(t,n){return e.call(r,t,function(e){if(!e){retry()}if(typeof n==="function")n.apply(this,arguments)})}Object.defineProperty(close,u,{value:e});return close}(r.close);r.closeSync=function(e){function closeSync(t){e.apply(r,arguments);retry()}Object.defineProperty(closeSync,u,{value:e});return closeSync}(r.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",function(){l(r[c]);n(42357).equal(r[c].length,0)})}}if(!global[c]){publishQueue(global,r[c])}e.exports=patch(o(r));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched){e.exports=patch(r);r.__patched=true}function patch(e){i(e);e.gracefulify=patch;e.createReadStream=createReadStream;e.createWriteStream=createWriteStream;var t=e.readFile;e.readFile=readFile;function readFile(e,n,r){if(typeof n==="function")r=n,n=null;return go$readFile(e,n,r);function go$readFile(e,n,r){return t(e,n,function(t){if(t&&(t.code==="EMFILE"||t.code==="ENFILE"))enqueue([go$readFile,[e,n,r]]);else{if(typeof r==="function")r.apply(this,arguments);retry()}})}}var n=e.writeFile;e.writeFile=writeFile;function writeFile(e,t,r,i){if(typeof r==="function")i=r,r=null;return go$writeFile(e,t,r,i);function go$writeFile(e,t,r,i){return n(e,t,r,function(n){if(n&&(n.code==="EMFILE"||n.code==="ENFILE"))enqueue([go$writeFile,[e,t,r,i]]);else{if(typeof i==="function")i.apply(this,arguments);retry()}})}}var r=e.appendFile;if(r)e.appendFile=appendFile;function appendFile(e,t,n,i){if(typeof n==="function")i=n,n=null;return go$appendFile(e,t,n,i);function go$appendFile(e,t,n,i){return r(e,t,n,function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))enqueue([go$appendFile,[e,t,n,i]]);else{if(typeof i==="function")i.apply(this,arguments);retry()}})}}var o=e.readdir;e.readdir=readdir;function readdir(e,t,n){var r=[e];if(typeof t!=="function"){r.push(t)}else{n=t}r.push(go$readdir$cb);return go$readdir(r);function go$readdir$cb(e,t){if(t&&t.sort)t.sort();if(e&&(e.code==="EMFILE"||e.code==="ENFILE"))enqueue([go$readdir,[r]]);else{if(typeof n==="function")n.apply(this,arguments);retry()}}}function go$readdir(t){return o.apply(e,t)}if(process.version.substr(0,4)==="v0.8"){var a=s(e);ReadStream=a.ReadStream;WriteStream=a.WriteStream}var c=e.ReadStream;if(c){ReadStream.prototype=Object.create(c.prototype);ReadStream.prototype.open=ReadStream$open}var u=e.WriteStream;if(u){WriteStream.prototype=Object.create(u.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(e,"ReadStream",{get:function(){return ReadStream},set:function(e){ReadStream=e},enumerable:true,configurable:true});Object.defineProperty(e,"WriteStream",{get:function(){return WriteStream},set:function(e){WriteStream=e},enumerable:true,configurable:true});var l=ReadStream;Object.defineProperty(e,"FileReadStream",{get:function(){return l},set:function(e){l=e},enumerable:true,configurable:true});var f=WriteStream;Object.defineProperty(e,"FileWriteStream",{get:function(){return f},set:function(e){f=e},enumerable:true,configurable:true});function ReadStream(e,t){if(this instanceof ReadStream)return c.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var e=this;open(e.path,e.flags,e.mode,function(t,n){if(t){if(e.autoClose)e.destroy();e.emit("error",t)}else{e.fd=n;e.emit("open",n);e.read()}})}function WriteStream(e,t){if(this instanceof WriteStream)return u.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var e=this;open(e.path,e.flags,e.mode,function(t,n){if(t){e.destroy();e.emit("error",t)}else{e.fd=n;e.emit("open",n)}})}function createReadStream(t,n){return new e.ReadStream(t,n)}function createWriteStream(t,n){return new e.WriteStream(t,n)}var p=e.open;e.open=open;function open(e,t,n,r){if(typeof n==="function")r=n,n=null;return go$open(e,t,n,r);function go$open(e,t,n,r){return p(e,t,n,function(i,s){if(i&&(i.code==="EMFILE"||i.code==="ENFILE"))enqueue([go$open,[e,t,n,r]]);else{if(typeof r==="function")r.apply(this,arguments);retry()}})}}return e}function enqueue(e){l("ENQUEUE",e[0].name,e[1]);r[c].push(e)}function retry(){var e=r[c].shift();if(e){l("RETRY",e[0].name,e[1]);e[0].apply(null,e[1])}}},94073:(e,t,n)=>{var r=n(92413).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,n){if(!(this instanceof ReadStream))return new ReadStream(t,n);r.call(this);var i=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;n=n||{};var s=Object.keys(n);for(var o=0,a=s.length;othis.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){i._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){i.emit("error",e);i.readable=false;return}i.fd=t;i.emit("open",t);i._read()})}function WriteStream(t,n){if(!(this instanceof WriteStream))return new WriteStream(t,n);r.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;n=n||{};var i=Object.keys(n);for(var s=0,o=i.length;s= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},82444:(e,t,n)=>{var r=n(27619);var i=process.cwd;var s=null;var o=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!s)s=i.call(process);return s};try{process.cwd()}catch(e){}var a=process.chdir;process.chdir=function(e){s=null;a.call(process,e)};e.exports=patch;function patch(e){if(r.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)){patchLchmod(e)}if(!e.lutimes){patchLutimes(e)}e.chown=chownFix(e.chown);e.fchown=chownFix(e.fchown);e.lchown=chownFix(e.lchown);e.chmod=chmodFix(e.chmod);e.fchmod=chmodFix(e.fchmod);e.lchmod=chmodFix(e.lchmod);e.chownSync=chownFixSync(e.chownSync);e.fchownSync=chownFixSync(e.fchownSync);e.lchownSync=chownFixSync(e.lchownSync);e.chmodSync=chmodFixSync(e.chmodSync);e.fchmodSync=chmodFixSync(e.fchmodSync);e.lchmodSync=chmodFixSync(e.lchmodSync);e.stat=statFix(e.stat);e.fstat=statFix(e.fstat);e.lstat=statFix(e.lstat);e.statSync=statFixSync(e.statSync);e.fstatSync=statFixSync(e.fstatSync);e.lstatSync=statFixSync(e.lstatSync);if(!e.lchmod){e.lchmod=function(e,t,n){if(n)process.nextTick(n)};e.lchmodSync=function(){}}if(!e.lchown){e.lchown=function(e,t,n,r){if(r)process.nextTick(r)};e.lchownSync=function(){}}if(o==="win32"){e.rename=function(t){return function(n,r,i){var s=Date.now();var o=0;t(n,r,function CB(a){if(a&&(a.code==="EACCES"||a.code==="EPERM")&&Date.now()-s<6e4){setTimeout(function(){e.stat(r,function(e,s){if(e&&e.code==="ENOENT")t(n,r,CB);else i(a)})},o);if(o<100)o+=10;return}if(i)i(a)})}}(e.rename)}e.read=function(t){function read(n,r,i,s,o,a){var c;if(a&&typeof a==="function"){var u=0;c=function(l,f,p){if(l&&l.code==="EAGAIN"&&u<10){u++;return t.call(e,n,r,i,s,o,c)}a.apply(this,arguments)}}return t.call(e,n,r,i,s,o,c)}read.__proto__=t;return read}(e.read);e.readSync=function(t){return function(n,r,i,s,o){var a=0;while(true){try{return t.call(e,n,r,i,s,o)}catch(e){if(e.code==="EAGAIN"&&a<10){a++;continue}throw e}}}}(e.readSync);function patchLchmod(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,function(t,r){if(t){if(i)i(t);return}e.fchmod(r,n,function(t){e.close(r,function(e){if(i)i(t||e)})})})};e.lchmodSync=function(t,n){var i=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n);var s=true;var o;try{o=e.fchmodSync(i,n);s=false}finally{if(s){try{e.closeSync(i)}catch(e){}}else{e.closeSync(i)}}return o}}function patchLutimes(e){if(r.hasOwnProperty("O_SYMLINK")){e.lutimes=function(t,n,i,s){e.open(t,r.O_SYMLINK,function(t,r){if(t){if(s)s(t);return}e.futimes(r,n,i,function(t){e.close(r,function(e){if(s)s(t||e)})})})};e.lutimesSync=function(t,n,i){var s=e.openSync(t,r.O_SYMLINK);var o;var a=true;try{o=e.futimesSync(s,n,i);a=false}finally{if(a){try{e.closeSync(s)}catch(e){}}else{e.closeSync(s)}}return o}}else{e.lutimes=function(e,t,n,r){if(r)process.nextTick(r)};e.lutimesSync=function(){}}}function chmodFix(t){if(!t)return t;return function(n,r,i){return t.call(e,n,r,function(e){if(chownErOk(e))e=null;if(i)i.apply(this,arguments)})}}function chmodFixSync(t){if(!t)return t;return function(n,r){try{return t.call(e,n,r)}catch(e){if(!chownErOk(e))throw e}}}function chownFix(t){if(!t)return t;return function(n,r,i,s){return t.call(e,n,r,i,function(e){if(chownErOk(e))e=null;if(s)s.apply(this,arguments)})}}function chownFixSync(t){if(!t)return t;return function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!chownErOk(e))throw e}}}function statFix(t){if(!t)return t;return function(n,r,i){if(typeof r==="function"){i=r;r=null}function callback(e,t){if(t){if(t.uid<0)t.uid+=4294967296;if(t.gid<0)t.gid+=4294967296}if(i)i.apply(this,arguments)}return r?t.call(e,n,r,callback):t.call(e,n,callback)}}function statFixSync(t){if(!t)return t;return function(n,r){var i=r?t.call(e,n,r):t.call(e,n);if(i.uid<0)i.uid+=4294967296;if(i.gid<0)i.gid+=4294967296;return i}}function chownErOk(e){if(!e)return true;if(e.code==="ENOSYS")return true;var t=!process.getuid||process.getuid()!==0;if(t){if(e.code==="EINVAL"||e.code==="EPERM")return true}return false}}},86811:e=>{"use strict";e.exports=((e,t=process.argv)=>{const n=e.startsWith("-")?"":e.length===1?"-":"--";const r=t.indexOf(n+e);const i=t.indexOf("--");return r!==-1&&(i===-1||r{(function(){var t;function MurmurHash3(e,n){var r=this instanceof MurmurHash3?this:t;r.reset(n);if(typeof e==="string"&&e.length>0){r.hash(e)}if(r!==this){return r}}MurmurHash3.prototype.hash=function(e){var t,n,r,i,s;s=e.length;this.len+=s;n=this.k1;r=0;switch(this.rem){case 0:n^=s>r?e.charCodeAt(r++)&65535:0;case 1:n^=s>r?(e.charCodeAt(r++)&65535)<<8:0;case 2:n^=s>r?(e.charCodeAt(r++)&65535)<<16:0;case 3:n^=s>r?(e.charCodeAt(r)&255)<<24:0;n^=s>r?(e.charCodeAt(r++)&65280)>>8:0}this.rem=s+this.rem&3;s-=this.rem;if(s>0){t=this.h1;while(1){n=n*11601+(n&65535)*3432906752&4294967295;n=n<<15|n>>>17;n=n*13715+(n&65535)*461832192&4294967295;t^=n;t=t<<13|t>>>19;t=t*5+3864292196&4294967295;if(r>=s){break}n=e.charCodeAt(r++)&65535^(e.charCodeAt(r++)&65535)<<8^(e.charCodeAt(r++)&65535)<<16;i=e.charCodeAt(r++);n^=(i&255)<<24^(i&65280)>>8}n=0;switch(this.rem){case 3:n^=(e.charCodeAt(r+2)&65535)<<16;case 2:n^=(e.charCodeAt(r+1)&65535)<<8;case 1:n^=e.charCodeAt(r)&65535}this.h1=t}this.k1=n;return this};MurmurHash3.prototype.result=function(){var e,t;e=this.k1;t=this.h1;if(e>0){e=e*11601+(e&65535)*3432906752&4294967295;e=e<<15|e>>>17;e=e*13715+(e&65535)*461832192&4294967295;t^=e}t^=this.len;t^=t>>>16;t=t*51819+(t&65535)*2246770688&4294967295;t^=t>>>13;t=t*44597+(t&65535)*3266445312&4294967295;t^=t>>>16;return t>>>0};MurmurHash3.prototype.reset=function(e){this.h1=typeof e==="number"?e:0;this.rem=this.k1=this.len=0;return this};t=new MurmurHash3;if(true){e.exports=MurmurHash3}else{}})()},31417:e=>{"use strict";e.exports=((e,t=1,n)=>{n={indent:" ",includeEmptyLines:false,...n};if(typeof e!=="string"){throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``)}if(typeof t!=="number"){throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``)}if(typeof n.indent!=="string"){throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof n.indent}\``)}if(t===0){return e}const r=n.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(r,n.indent.repeat(t))})},47411:(e,t,n)=>{const r=new Map;const i=n(35747);const{dirname:s,resolve:o}=n(85622);const a=e=>new Promise((t,n)=>i.lstat(e,(e,r)=>e?n(e):t(r)));const c=e=>{e=o(e);if(r.has(e))return Promise.resolve(r.get(e));const t=t=>{const{uid:n,gid:i}=t;r.set(e,{uid:n,gid:i});return{uid:n,gid:i}};const n=s(e);const i=n===e?null:t=>{return c(n).then(t=>{r.set(e,t);return t})};return a(e).then(t,i)};const u=e=>{e=o(e);if(r.has(e))return r.get(e);const t=s(e);let n=true;try{const s=i.lstatSync(e);n=false;const{uid:o,gid:a}=s;r.set(e,{uid:o,gid:a});return{uid:o,gid:a}}finally{if(n&&t!==e){const n=u(t);r.set(e,n);return n}}};const l=new Map;e.exports=(e=>{e=o(e);if(l.has(e))return Promise.resolve(l.get(e));const t=c(e).then(t=>{l.delete(e);return t});l.set(e,t);return t});e.exports.sync=u;e.exports.clearCache=(()=>{r.clear();l.clear()})},78753:(e,t,n)=>{var r=n(83687);var i=Object.create(null);var s=n(56481);e.exports=r(inflight);function inflight(e,t){if(i[e]){i[e].push(t);return null}else{i[e]=[t];return makeres(e)}}function makeres(e){return s(function RES(){var t=i[e];var n=t.length;var r=slice(arguments);try{for(var s=0;sn){t.splice(0,n);process.nextTick(function(){RES.apply(null,r)})}else{delete i[e]}}})}function slice(e){var t=e.length;var n=[];for(var r=0;r{try{var r=n(31669);if(typeof r.inherits!=="function")throw"";e.exports=r.inherits}catch(t){e.exports=n(70474)}},70474:e=>{if(typeof Object.create==="function"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype;e.prototype=new n;e.prototype.constructor=e}}}},27523:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return t.call(e)=="[object Array]"}},15986:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=n(42195);function _defineProperty(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}class Farm{constructor(e,t,n){_defineProperty(this,"_computeWorkerKey",void 0);_defineProperty(this,"_cacheKeys",void 0);_defineProperty(this,"_callback",void 0);_defineProperty(this,"_last",void 0);_defineProperty(this,"_locks",void 0);_defineProperty(this,"_numOfWorkers",void 0);_defineProperty(this,"_offset",void 0);_defineProperty(this,"_queue",void 0);this._cacheKeys=Object.create(null);this._callback=t;this._last=[];this._locks=[];this._numOfWorkers=e;this._offset=0;this._queue=[];if(n){this._computeWorkerKey=n}}doWork(e,...t){const n=new Set;const i=e=>{n.add(e);return()=>{n.delete(e)}};const s=e=>{n.forEach(t=>t(e))};const o=new Promise((i,o)=>{const a=this._computeWorkerKey;const c=[r.CHILD_MESSAGE_CALL,false,e,t];let u=null;let l=null;if(a){l=a.call(this,e,...t);u=l==null?null:this._cacheKeys[l]}const f=e=>{if(l!=null){this._cacheKeys[l]=e}};const p=(e,t)=>{n.clear();if(e){o(e)}else{i(t)}};const d={onCustomMessage:s,onEnd:p,onStart:f,request:c};if(u){this._enqueue(d,u.getWorkerId())}else{this._push(d)}});o.UNSTABLE_onCustomMessage=i;return o}_getNextTask(e){let t=this._queue[e];while(t&&t.task.request[1]){t=t.next||null}this._queue[e]=t;return t&&t.task}_process(e){if(this._isLocked(e)){return this}const t=this._getNextTask(e);if(!t){return this}const n=(n,r)=>{t.onEnd(n,r);this._unlock(e);this._process(e)};t.request[1]=true;this._lock(e);this._callback(e,t.request,t.onStart,n,t.onCustomMessage);return this}_enqueue(e,t){const n={next:null,task:e};if(e.request[1]){return this}if(this._queue[t]){this._last[t].next=n}else{this._queue[t]=n}this._last[t]=n;this._process(t);return this}_push(e){for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(68189));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=()=>{try{n(65013);return true}catch{return false}};class WorkerPool extends r.default{send(e,t,n,r,i){this.getWorkerById(e).send(t,n,r,i)}createWorker(e){let t;if(this._options.enableWorkerThreads&&i()){t=n(12295).Z}else{t=n(17164).Z}return new t(e)}}var s=WorkerPool;t.default=s},68189:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;function path(){const e=_interopRequireWildcard(n(85622));path=function(){return e};return e}function _mergeStream(){const e=_interopRequireDefault(n(33089));_mergeStream=function(){return e};return e}function _types(){const e=n(42195);_types=function(){return e};return e}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var e=new WeakMap;_getRequireWildcardCache=function(){return e};return e}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var t=_getRequireWildcardCache();if(t&&t.has(e)){return t.get(e)}var n={};var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e){if(Object.prototype.hasOwnProperty.call(e,i)){var s=r?Object.getOwnPropertyDescriptor(e,i):null;if(s&&(s.get||s.set)){Object.defineProperty(n,i,s)}else{n[i]=e[i]}}}n.default=e;if(t){t.set(e,n)}return n}function _defineProperty(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}const r=500;const i=()=>{};class BaseWorkerPool{constructor(e,t){_defineProperty(this,"_stderr",void 0);_defineProperty(this,"_stdout",void 0);_defineProperty(this,"_options",void 0);_defineProperty(this,"_workers",void 0);this._options=t;this._workers=new Array(t.numWorkers);if(!path().isAbsolute(e)){e=require.resolve(e)}const n=(0,_mergeStream().default)();const r=(0,_mergeStream().default)();const{forkOptions:i,maxRetries:s,resourceLimits:o,setupArgs:a}=t;for(let c=0;c{e.send([_types().CHILD_MESSAGE_END,false],i,i,i);let t=false;const n=setTimeout(()=>{e.forceExit();t=true},r);await e.waitForExit();clearTimeout(n);return t});const t=await Promise.all(e);return t.reduce((e,t)=>({forceExited:e.forceExited||t}),{forceExited:false})}}t.default=BaseWorkerPool},69419:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"messageParent",{enumerable:true,get:function(){return s.default}});t.default=void 0;function _os(){const e=n(12087);_os=function(){return e};return e}var r=_interopRequireDefault(n(61315));var i=_interopRequireDefault(n(15986));var s=_interopRequireDefault(n(27008));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function getExposedMethods(e,t){let n=t.exposedMethods;if(!n){const t=require(e);n=Object.keys(t).filter(e=>typeof t[e]==="function");if(typeof t==="function"){n=[...n,"default"]}}return n}class JestWorker{constructor(e,t){var n,s,o,a,c,u;_defineProperty(this,"_ending",void 0);_defineProperty(this,"_farm",void 0);_defineProperty(this,"_options",void 0);_defineProperty(this,"_workerPool",void 0);this._options={...t};this._ending=false;const l={enableWorkerThreads:(n=this._options.enableWorkerThreads)!==null&&n!==void 0?n:false,forkOptions:(s=this._options.forkOptions)!==null&&s!==void 0?s:{},maxRetries:(o=this._options.maxRetries)!==null&&o!==void 0?o:3,numWorkers:(a=this._options.numWorkers)!==null&&a!==void 0?a:Math.max((0,_os().cpus)().length-1,1),resourceLimits:(c=this._options.resourceLimits)!==null&&c!==void 0?c:{},setupArgs:(u=this._options.setupArgs)!==null&&u!==void 0?u:[]};if(this._options.WorkerPool){this._workerPool=new this._options.WorkerPool(e,l)}else{this._workerPool=new r.default(e,l)}this._farm=new i.default(l.numWorkers,this._workerPool.send.bind(this._workerPool),this._options.computeWorkerKey);this._bindExposedWorkerMethods(e,this._options)}_bindExposedWorkerMethods(e,t){getExposedMethods(e,t).forEach(e=>{if(e.startsWith("_")){return}if(this.constructor.prototype.hasOwnProperty(e)){throw new TypeError("Cannot define a method called "+e)}this[e]=this._callFunctionWithArgs.bind(this,e)})}_callFunctionWithArgs(e,...t){if(this._ending){throw new Error("Farm is ended, no more calls can be done to it")}return this._farm.doWork(e,...t)}getStderr(){return this._workerPool.getStderr()}getStdout(){return this._workerPool.getStdout()}async end(){if(this._ending){throw new Error("Farm is ended, no more calls can be done to it")}this._ending=true;return this._workerPool.end()}}t.default=JestWorker},42195:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PARENT_MESSAGE_CUSTOM=t.PARENT_MESSAGE_SETUP_ERROR=t.PARENT_MESSAGE_CLIENT_ERROR=t.PARENT_MESSAGE_OK=t.CHILD_MESSAGE_END=t.CHILD_MESSAGE_CALL=t.CHILD_MESSAGE_INITIALIZE=void 0;const n=0;t.CHILD_MESSAGE_INITIALIZE=n;const r=1;t.CHILD_MESSAGE_CALL=r;const i=2;t.CHILD_MESSAGE_END=i;const s=0;t.PARENT_MESSAGE_OK=s;const o=1;t.PARENT_MESSAGE_CLIENT_ERROR=o;const a=2;t.PARENT_MESSAGE_SETUP_ERROR=a;const c=3;t.PARENT_MESSAGE_CUSTOM=c},17164:(e,t,n)=>{"use strict";var r;r={value:true};t.Z=void 0;function _child_process(){const e=n(63129);_child_process=function(){return e};return e}function _stream(){const e=n(92413);_stream=function(){return e};return e}function _mergeStream(){const e=_interopRequireDefault(n(33089));_mergeStream=function(){return e};return e}function _supportsColor(){const e=n(96204);_supportsColor=function(){return e};return e}function _types(){const e=n(42195);_types=function(){return e};return e}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}const i=128;const s=i+9;const o=i+15;const a=500;class ChildProcessWorker{constructor(e){_defineProperty(this,"_child",void 0);_defineProperty(this,"_options",void 0);_defineProperty(this,"_request",void 0);_defineProperty(this,"_retries",void 0);_defineProperty(this,"_onProcessEnd",void 0);_defineProperty(this,"_onCustomMessage",void 0);_defineProperty(this,"_fakeStream",void 0);_defineProperty(this,"_stdout",void 0);_defineProperty(this,"_stderr",void 0);_defineProperty(this,"_exitPromise",void 0);_defineProperty(this,"_resolveExitPromise",void 0);this._options=e;this._request=null;this._fakeStream=null;this._stdout=null;this._stderr=null;this._exitPromise=new Promise(e=>{this._resolveExitPromise=e});this.initialize()}initialize(){const e=_supportsColor().stdout?{FORCE_COLOR:"1"}:{};const t=(0,_child_process().fork)(n.ab+"processChild.js",[],{cwd:process.cwd(),env:{...process.env,JEST_WORKER_ID:String(this._options.workerId+1),...e},execArgv:process.execArgv.filter(e=>!/^--(debug|inspect)/.test(e)),silent:true,...this._options.forkOptions});if(t.stdout){if(!this._stdout){this._stdout=(0,_mergeStream().default)(this._getFakeStream())}this._stdout.add(t.stdout)}if(t.stderr){if(!this._stderr){this._stderr=(0,_mergeStream().default)(this._getFakeStream())}this._stderr.add(t.stderr)}t.on("message",this._onMessage.bind(this));t.on("exit",this._onExit.bind(this));t.send([_types().CHILD_MESSAGE_INITIALIZE,false,this._options.workerPath,this._options.setupArgs]);this._child=t;this._retries++;if(this._retries>this._options.maxRetries){const e=new Error("Call retries were exceeded");this._onMessage([_types().PARENT_MESSAGE_CLIENT_ERROR,e.name,e.message,e.stack,{type:"WorkerError"}])}}_shutdown(){if(this._fakeStream){this._fakeStream.end();this._fakeStream=null}this._resolveExitPromise()}_onMessage(e){let t;switch(e[0]){case _types().PARENT_MESSAGE_OK:this._onProcessEnd(null,e[1]);break;case _types().PARENT_MESSAGE_CLIENT_ERROR:t=e[4];if(t!=null&&typeof t==="object"){const n=t;const r=global[e[1]];const i=typeof r==="function"?r:Error;t=new i(e[2]);t.type=e[1];t.stack=e[3];for(const e in n){t[e]=n[e]}}this._onProcessEnd(t,null);break;case _types().PARENT_MESSAGE_SETUP_ERROR:t=new Error("Error when calling setup: "+e[2]);t.type=e[1];t.stack=e[3];this._onProcessEnd(t,null);break;case _types().PARENT_MESSAGE_CUSTOM:this._onCustomMessage(e[1]);break;default:throw new TypeError("Unexpected response from worker: "+e[0])}}_onExit(e){if(e!==0&&e!==o&&e!==s){this.initialize();if(this._request){this._child.send(this._request)}}else{this._shutdown()}}send(e,t,n,r){t(this);this._onProcessEnd=((...e)=>{this._request=null;return n(...e)});this._onCustomMessage=((...e)=>r(...e));this._request=e;this._retries=0;this._child.send(e)}waitForExit(){return this._exitPromise}forceExit(){this._child.kill("SIGTERM");const e=setTimeout(()=>this._child.kill("SIGKILL"),a);this._exitPromise.then(()=>clearTimeout(e))}getWorkerId(){return this._options.workerId}getStdout(){return this._stdout}getStderr(){return this._stderr}_getFakeStream(){if(!this._fakeStream){this._fakeStream=new(_stream().PassThrough)}return this._fakeStream}}t.Z=ChildProcessWorker},12295:(e,t,n)=>{"use strict";var r;r={value:true};t.Z=void 0;function path(){const e=_interopRequireWildcard(n(85622));path=function(){return e};return e}function _stream(){const e=n(92413);_stream=function(){return e};return e}function _worker_threads(){const e=n(65013);_worker_threads=function(){return e};return e}function _mergeStream(){const e=_interopRequireDefault(n(33089));_mergeStream=function(){return e};return e}function _types(){const e=n(42195);_types=function(){return e};return e}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var e=new WeakMap;_getRequireWildcardCache=function(){return e};return e}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var t=_getRequireWildcardCache();if(t&&t.has(e)){return t.get(e)}var n={};var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e){if(Object.prototype.hasOwnProperty.call(e,i)){var s=r?Object.getOwnPropertyDescriptor(e,i):null;if(s&&(s.get||s.set)){Object.defineProperty(n,i,s)}else{n[i]=e[i]}}}n.default=e;if(t){t.set(e,n)}return n}function _defineProperty(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}class ExperimentalWorker{constructor(e){_defineProperty(this,"_worker",void 0);_defineProperty(this,"_options",void 0);_defineProperty(this,"_request",void 0);_defineProperty(this,"_retries",void 0);_defineProperty(this,"_onProcessEnd",void 0);_defineProperty(this,"_onCustomMessage",void 0);_defineProperty(this,"_fakeStream",void 0);_defineProperty(this,"_stdout",void 0);_defineProperty(this,"_stderr",void 0);_defineProperty(this,"_exitPromise",void 0);_defineProperty(this,"_resolveExitPromise",void 0);_defineProperty(this,"_forceExited",void 0);this._options=e;this._request=null;this._fakeStream=null;this._stdout=null;this._stderr=null;this._exitPromise=new Promise(e=>{this._resolveExitPromise=e});this._forceExited=false;this.initialize()}initialize(){this._worker=new(_worker_threads().Worker)(path().resolve(__dirname,"./threadChild.js"),{eval:false,resourceLimits:this._options.resourceLimits,stderr:true,stdout:true,workerData:{cwd:process.cwd(),env:{...process.env,JEST_WORKER_ID:String(this._options.workerId+1)},execArgv:process.execArgv.filter(e=>!/^--(debug|inspect)/.test(e)),silent:true,...this._options.forkOptions}});if(this._worker.stdout){if(!this._stdout){this._stdout=(0,_mergeStream().default)(this._getFakeStream())}this._stdout.add(this._worker.stdout)}if(this._worker.stderr){if(!this._stderr){this._stderr=(0,_mergeStream().default)(this._getFakeStream())}this._stderr.add(this._worker.stderr)}this._worker.on("message",this._onMessage.bind(this));this._worker.on("exit",this._onExit.bind(this));this._worker.postMessage([_types().CHILD_MESSAGE_INITIALIZE,false,this._options.workerPath,this._options.setupArgs]);this._retries++;if(this._retries>this._options.maxRetries){const e=new Error("Call retries were exceeded");this._onMessage([_types().PARENT_MESSAGE_CLIENT_ERROR,e.name,e.message,e.stack,{type:"WorkerError"}])}}_shutdown(){if(this._fakeStream){this._fakeStream.end();this._fakeStream=null}this._resolveExitPromise()}_onMessage(e){let t;switch(e[0]){case _types().PARENT_MESSAGE_OK:this._onProcessEnd(null,e[1]);break;case _types().PARENT_MESSAGE_CLIENT_ERROR:t=e[4];if(t!=null&&typeof t==="object"){const n=t;const r=global[e[1]];const i=typeof r==="function"?r:Error;t=new i(e[2]);t.type=e[1];t.stack=e[3];for(const e in n){t[e]=n[e]}}this._onProcessEnd(t,null);break;case _types().PARENT_MESSAGE_SETUP_ERROR:t=new Error("Error when calling setup: "+e[2]);t.type=e[1];t.stack=e[3];this._onProcessEnd(t,null);break;case _types().PARENT_MESSAGE_CUSTOM:this._onCustomMessage(e[1]);break;default:throw new TypeError("Unexpected response from worker: "+e[0])}}_onExit(e){if(e!==0&&!this._forceExited){this.initialize();if(this._request){this._worker.postMessage(this._request)}}else{this._shutdown()}}waitForExit(){return this._exitPromise}forceExit(){this._forceExited=true;this._worker.terminate()}send(e,t,n,r){t(this);this._onProcessEnd=((...e)=>{this._request=null;return n(...e)});this._onCustomMessage=((...e)=>r(...e));this._request=e;this._retries=0;this._worker.postMessage(e)}getWorkerId(){return this._options.workerId}getStdout(){return this._stdout}getStderr(){return this._stderr}_getFakeStream(){if(!this._fakeStream){this._fakeStream=new(_stream().PassThrough)}return this._fakeStream}}t.Z=ExperimentalWorker},27008:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;function _types(){const e=n(42195);_types=function(){return e};return e}const r=()=>{try{const{isMainThread:e,parentPort:t}=n(65013);return!e&&t}catch{return false}};const i=(e,t=process)=>{try{if(r()){const{parentPort:t}=n(65013);t.postMessage([_types().PARENT_MESSAGE_CUSTOM,e])}else if(typeof t.send==="function"){t.send([_types().PARENT_MESSAGE_CUSTOM,e])}}catch{throw new Error('"messageParent" can only be used inside a worker')}};var s=i;t.default=s},78688:e=>{"use strict";e.exports=parseJson;function parseJson(e,t,n){n=n||20;try{return JSON.parse(e,t)}catch(t){if(typeof e!=="string"){const t=Array.isArray(e)&&e.length===0;const n="Cannot parse "+(t?"an empty array":String(e));throw new TypeError(n)}const r=t.message.match(/^Unexpected token.*position\s+(\d+)/i);const i=r?+r[1]:t.message.match(/^Unexpected end of JSON.*/i)?e.length-1:null;if(i!=null){const r=i<=n?0:i-n;const s=i+n>=e.length?e.length:i+n;t.message+=` while parsing near '${r===0?"":"..."}${e.slice(r,s)}${s===e.length?"":"..."}'`}else{t.message+=` while parsing '${e.slice(0,n*2)}'`}throw t}}},46833:e=>{"use strict";var t=e.exports=function(e,t,n){if(typeof t=="function"){n=t;t={}}n=t.cb||n;var r=typeof n=="function"?n:n.pre||function(){};var i=n.post||function(){};_traverse(t,r,i,e,"",e)};t.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true};t.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};t.propsKeywords={definitions:true,properties:true,patternProperties:true,dependencies:true};t.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function _traverse(e,n,r,i,s,o,a,c,u,l){if(i&&typeof i=="object"&&!Array.isArray(i)){n(i,s,o,a,c,u,l);for(var f in i){var p=i[f];if(Array.isArray(p)){if(f in t.arrayKeywords){for(var d=0;d{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(14465);var i=_interopRequireDefault(r);var s=n(59977);var o=_interopRequireDefault(s);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}t.default={parse:i.default,stringify:o.default};e.exports=t["default"]},14465:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=parse;var i=n(58034);var s=_interopRequireWildcard(i);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n]=e[n]}}t.default=e;return t}}var o=void 0;var a=void 0;var c=void 0;var u=void 0;var l=void 0;var f=void 0;var p=void 0;var d=void 0;var h=void 0;function parse(e,t){o=String(e);a="start";c=[];u=0;l=1;f=0;p=undefined;d=undefined;h=undefined;do{p=lex();E[a]()}while(p.type!=="eof");if(typeof t==="function"){return internalize({"":h},"",t)}return h}function internalize(e,t,n){var i=e[t];if(i!=null&&(typeof i==="undefined"?"undefined":r(i))==="object"){for(var s in i){var o=internalize(i,s,n);if(o===undefined){delete i[s]}else{i[s]=o}}}return n.call(e,t,i)}var m=void 0;var g=void 0;var y=void 0;var v=void 0;var _=void 0;function lex(){m="default";g="";y=false;v=1;for(;;){_=peek();var e=b[m]();if(e){return e}}}function peek(){if(o[u]){return String.fromCodePoint(o.codePointAt(u))}}function read(){var e=peek();if(e==="\n"){l++;f=0}else if(e){f+=e.length}else{f++}if(e){u+=e.length}return e}var b={default:function _default(){switch(_){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":read();return;case"/":read();m="comment";return;case undefined:read();return newToken("eof")}if(s.isSpaceSeparator(_)){read();return}return b[a]()},comment:function comment(){switch(_){case"*":read();m="multiLineComment";return;case"/":read();m="singleLineComment";return}throw invalidChar(read())},multiLineComment:function multiLineComment(){switch(_){case"*":read();m="multiLineCommentAsterisk";return;case undefined:throw invalidChar(read())}read()},multiLineCommentAsterisk:function multiLineCommentAsterisk(){switch(_){case"*":read();return;case"/":read();m="default";return;case undefined:throw invalidChar(read())}read();m="multiLineComment"},singleLineComment:function singleLineComment(){switch(_){case"\n":case"\r":case"\u2028":case"\u2029":read();m="default";return;case undefined:read();return newToken("eof")}read()},value:function value(){switch(_){case"{":case"[":return newToken("punctuator",read());case"n":read();literal("ull");return newToken("null",null);case"t":read();literal("rue");return newToken("boolean",true);case"f":read();literal("alse");return newToken("boolean",false);case"-":case"+":if(read()==="-"){v=-1}m="sign";return;case".":g=read();m="decimalPointLeading";return;case"0":g=read();m="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":g=read();m="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",Infinity);case"N":read();literal("aN");return newToken("numeric",NaN);case'"':case"'":y=read()==='"';g="";m="string";return}throw invalidChar(read())},identifierNameStartEscape:function identifierNameStartEscape(){if(_!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":break;default:if(!s.isIdStartChar(e)){throw invalidIdentifier()}break}g+=e;m="identifierName"},identifierName:function identifierName(){switch(_){case"$":case"_":case"‌":case"‍":g+=read();return;case"\\":read();m="identifierNameEscape";return}if(s.isIdContinueChar(_)){g+=read();return}return newToken("identifier",g)},identifierNameEscape:function identifierNameEscape(){if(_!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!s.isIdContinueChar(e)){throw invalidIdentifier()}break}g+=e;m="identifierName"},sign:function sign(){switch(_){case".":g=read();m="decimalPointLeading";return;case"0":g=read();m="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":g=read();m="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",v*Infinity);case"N":read();literal("aN");return newToken("numeric",NaN)}throw invalidChar(read())},zero:function zero(){switch(_){case".":g+=read();m="decimalPoint";return;case"e":case"E":g+=read();m="decimalExponent";return;case"x":case"X":g+=read();m="hexadecimal";return}return newToken("numeric",v*0)},decimalInteger:function decimalInteger(){switch(_){case".":g+=read();m="decimalPoint";return;case"e":case"E":g+=read();m="decimalExponent";return}if(s.isDigit(_)){g+=read();return}return newToken("numeric",v*Number(g))},decimalPointLeading:function decimalPointLeading(){if(s.isDigit(_)){g+=read();m="decimalFraction";return}throw invalidChar(read())},decimalPoint:function decimalPoint(){switch(_){case"e":case"E":g+=read();m="decimalExponent";return}if(s.isDigit(_)){g+=read();m="decimalFraction";return}return newToken("numeric",v*Number(g))},decimalFraction:function decimalFraction(){switch(_){case"e":case"E":g+=read();m="decimalExponent";return}if(s.isDigit(_)){g+=read();return}return newToken("numeric",v*Number(g))},decimalExponent:function decimalExponent(){switch(_){case"+":case"-":g+=read();m="decimalExponentSign";return}if(s.isDigit(_)){g+=read();m="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentSign:function decimalExponentSign(){if(s.isDigit(_)){g+=read();m="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentInteger:function decimalExponentInteger(){if(s.isDigit(_)){g+=read();return}return newToken("numeric",v*Number(g))},hexadecimal:function hexadecimal(){if(s.isHexDigit(_)){g+=read();m="hexadecimalInteger";return}throw invalidChar(read())},hexadecimalInteger:function hexadecimalInteger(){if(s.isHexDigit(_)){g+=read();return}return newToken("numeric",v*Number(g))},string:function string(){switch(_){case"\\":read();g+=escape();return;case'"':if(y){read();return newToken("string",g)}g+=read();return;case"'":if(!y){read();return newToken("string",g)}g+=read();return;case"\n":case"\r":throw invalidChar(read());case"\u2028":case"\u2029":separatorChar(_);break;case undefined:throw invalidChar(read())}g+=read()},start:function start(){switch(_){case"{":case"[":return newToken("punctuator",read())}m="value"},beforePropertyName:function beforePropertyName(){switch(_){case"$":case"_":g=read();m="identifierName";return;case"\\":read();m="identifierNameStartEscape";return;case"}":return newToken("punctuator",read());case'"':case"'":y=read()==='"';m="string";return}if(s.isIdStartChar(_)){g+=read();m="identifierName";return}throw invalidChar(read())},afterPropertyName:function afterPropertyName(){if(_===":"){return newToken("punctuator",read())}throw invalidChar(read())},beforePropertyValue:function beforePropertyValue(){m="value"},afterPropertyValue:function afterPropertyValue(){switch(_){case",":case"}":return newToken("punctuator",read())}throw invalidChar(read())},beforeArrayValue:function beforeArrayValue(){if(_==="]"){return newToken("punctuator",read())}m="value"},afterArrayValue:function afterArrayValue(){switch(_){case",":case"]":return newToken("punctuator",read())}throw invalidChar(read())},end:function end(){throw invalidChar(read())}};function newToken(e,t){return{type:e,value:t,line:l,column:f}}function literal(e){var t=true;var n=false;var r=undefined;try{for(var i=e[Symbol.iterator](),s;!(t=(s=i.next()).done);t=true){var o=s.value;var a=peek();if(a!==o){throw invalidChar(read())}read()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return){i.return()}}finally{if(n){throw r}}}}function escape(){var e=peek();switch(e){case"b":read();return"\b";case"f":read();return"\f";case"n":read();return"\n";case"r":read();return"\r";case"t":read();return"\t";case"v":read();return"\v";case"0":read();if(s.isDigit(peek())){throw invalidChar(read())}return"\0";case"x":read();return hexEscape();case"u":read();return unicodeEscape();case"\n":case"\u2028":case"\u2029":read();return"";case"\r":read();if(peek()==="\n"){read()}return"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw invalidChar(read());case undefined:throw invalidChar(read())}return read()}function hexEscape(){var e="";var t=peek();if(!s.isHexDigit(t)){throw invalidChar(read())}e+=read();t=peek();if(!s.isHexDigit(t)){throw invalidChar(read())}e+=read();return String.fromCodePoint(parseInt(e,16))}function unicodeEscape(){var e="";var t=4;while(t-- >0){var n=peek();if(!s.isHexDigit(n)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var E={start:function start(){if(p.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(p.type){case"identifier":case"string":d=p.value;a="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(p.type==="eof"){throw invalidEOF()}a="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(p.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(p.type==="eof"){throw invalidEOF()}if(p.type==="punctuator"&&p.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(p.type==="eof"){throw invalidEOF()}switch(p.value){case",":a="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(p.type==="eof"){throw invalidEOF()}switch(p.value){case",":a="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(p.type){case"punctuator":switch(p.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=p.value;break}if(h===undefined){h=e}else{var t=c[c.length-1];if(Array.isArray(t)){t.push(e)}else{t[d]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":r(e))==="object"){c.push(e);if(Array.isArray(e)){a="beforeArrayValue"}else{a="beforePropertyName"}}else{var n=c[c.length-1];if(n==null){a="end"}else if(Array.isArray(n)){a="afterArrayValue"}else{a="afterPropertyValue"}}}function pop(){c.pop();var e=c[c.length-1];if(e==null){a="end"}else if(Array.isArray(e)){a="afterArrayValue"}else{a="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+l+":"+f)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+l+":"+f)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+l+":"+f)}function invalidIdentifier(){f-=5;return syntaxError("JSON5: invalid identifier character at "+l+":"+f)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e]){return t[e]}if(e<" "){var n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function syntaxError(e){var t=new SyntaxError(e);t.lineNumber=l;t.columnNumber=f;return t}e.exports=t["default"]},59977:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=stringify;var i=n(58034);var s=_interopRequireWildcard(i);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n]=e[n]}}t.default=e;return t}}function stringify(e,t,n){var i=[];var o="";var a=void 0;var c=void 0;var u="";var l=void 0;if(t!=null&&(typeof t==="undefined"?"undefined":r(t))==="object"&&!Array.isArray(t)){n=t.space;l=t.quote;t=t.replacer}if(typeof t==="function"){c=t}else if(Array.isArray(t)){a=[];var f=true;var p=false;var d=undefined;try{for(var h=t[Symbol.iterator](),m;!(f=(m=h.next()).done);f=true){var g=m.value;var y=void 0;if(typeof g==="string"){y=g}else if(typeof g==="number"||g instanceof String||g instanceof Number){y=String(g)}if(y!==undefined&&a.indexOf(y)<0){a.push(y)}}}catch(e){p=true;d=e}finally{try{if(!f&&h.return){h.return()}}finally{if(p){throw d}}}}if(n instanceof Number){n=Number(n)}else if(n instanceof String){n=String(n)}if(typeof n==="number"){if(n>0){n=Math.min(10,Math.floor(n));u=" ".substr(0,n)}}else if(typeof n==="string"){u=n.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,t){var n=t[e];if(n!=null){if(typeof n.toJSON5==="function"){n=n.toJSON5(e)}else if(typeof n.toJSON==="function"){n=n.toJSON(e)}}if(c){n=c.call(t,e,n)}if(n instanceof Number){n=Number(n)}else if(n instanceof String){n=String(n)}else if(n instanceof Boolean){n=n.valueOf()}switch(n){case null:return"null";case true:return"true";case false:return"false"}if(typeof n==="string"){return quoteString(n,false)}if(typeof n==="number"){return String(n)}if((typeof n==="undefined"?"undefined":r(n))==="object"){return Array.isArray(n)?serializeArray(n):serializeObject(n)}return undefined}function quoteString(e){var t={"'":.1,'"':.2};var n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var r="";var i=true;var s=false;var o=undefined;try{for(var a=e[Symbol.iterator](),c;!(i=(c=a.next()).done);i=true){var u=c.value;switch(u){case"'":case'"':t[u]++;r+=u;continue}if(n[u]){r+=n[u];continue}if(u<" "){var f=u.charCodeAt(0).toString(16);r+="\\x"+("00"+f).substring(f.length);continue}r+=u}}catch(e){s=true;o=e}finally{try{if(!i&&a.return){a.return()}}finally{if(s){throw o}}}var p=l||Object.keys(t).reduce(function(e,n){return t[e]=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);var t=o;o=o+u;var n=a||Object.keys(e);var r=[];var s=true;var c=false;var l=undefined;try{for(var f=n[Symbol.iterator](),p;!(s=(p=f.next()).done);s=true){var d=p.value;var h=serializeProperty(d,e);if(h!==undefined){var m=serializeKey(d)+":";if(u!==""){m+=" "}m+=h;r.push(m)}}}catch(e){c=true;l=e}finally{try{if(!s&&f.return){f.return()}}finally{if(c){throw l}}}var g=void 0;if(r.length===0){g="{}"}else{var y=void 0;if(u===""){y=r.join(",");g="{"+y+"}"}else{var v=",\n"+o;y=r.join(v);g="{\n"+o+y+",\n"+t+"}"}}i.pop();o=t;return g}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var t=String.fromCodePoint(e.codePointAt(0));if(!s.isIdStartChar(t)){return quoteString(e,true)}for(var n=t.length;n=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);var t=o;o=o+u;var n=[];for(var r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=t.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;var r=t.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/;var i=t.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},58034:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isSpaceSeparator=isSpaceSeparator;t.isIdStartChar=isIdStartChar;t.isIdContinueChar=isIdContinueChar;t.isDigit=isDigit;t.isHexDigit=isHexDigit;var r=n(14059);var i=_interopRequireWildcard(r);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n]=e[n]}}t.default=e;return t}}function isSpaceSeparator(e){return i.Space_Separator.test(e)}function isIdStartChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||i.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||i.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},64055:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function ChunkIncludeExcludeTester(e){this.includeExcludeTest=e}ChunkIncludeExcludeTester.prototype.isIncluded=function(e){if(typeof this.includeExcludeTest==="function"){return this.includeExcludeTest(e)}if(this.includeExcludeTest.include&&!this.includeExcludeTest.exclude){return this.includeExcludeTest.include.indexOf(e)>-1}if(this.includeExcludeTest.exclude&&!this.includeExcludeTest.include){return!(this.includeExcludeTest.exclude.indexOf(e)>-1)}if(this.includeExcludeTest.include&&this.includeExcludeTest.exclude){return!(this.includeExcludeTest.exclude.indexOf(e)>-1)&&this.includeExcludeTest.include.indexOf(e)>-1}return true};return ChunkIncludeExcludeTester}();t.ChunkIncludeExcludeTester=n},50980:function(e,t){"use strict";var n=this&&this.__values||function(e){var t=typeof Symbol==="function"&&e[Symbol.iterator],n=0;if(t)return t.call(e);return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:true});var r=function(){function LicenseTextReader(e,t,n,r,i,s){this.logger=e;this.fileSystem=t;this.fileOverrides=n;this.textOverrides=r;this.templateDir=i;this.handleMissingLicenseText=s}LicenseTextReader.prototype.readLicense=function(e,t,n){if(this.textOverrides[t.name]){return this.textOverrides[t.name]}if(this.fileOverrides[t.name]){return this.readText(t.directory,this.fileOverrides[t.name])}if(n&&n.indexOf("SEE LICENSE IN ")===0){var r=n.split(" ")[3];return this.fileSystem.isFileInDirectory(r,t.directory)?this.readText(t.directory,r):null}var i=this.fileSystem.listPaths(t.directory);var s=this.guessLicenseFilename(i,t.directory);if(s!==null){return this.readText(t.directory,s)}if(this.templateDir){var o=n+".txt";var a=this.fileSystem.join(this.templateDir,o);if(this.fileSystem.isFileInDirectory(a,this.templateDir)){return this.fileSystem.readFileAsUtf8(a).replace(/\r\n/g,"\n")}}this.logger.warn(e,"could not find any license file for "+t.name+". Use the licenseTextOverrides option to add the license text if desired.");return this.handleMissingLicenseText(t.name,n)};LicenseTextReader.prototype.readText=function(e,t){return this.fileSystem.readFileAsUtf8(this.fileSystem.join(e,t)).replace(/\r\n/g,"\n")};LicenseTextReader.prototype.guessLicenseFilename=function(e,t){try{for(var r=n(e),i=r.next();!i.done;i=r.next()){var s=i.value;var o=this.fileSystem.join(t,s);if(/^licen[cs]e/i.test(s)&&!this.fileSystem.isDirectory(o)){return s}}}catch(e){a={error:e}}finally{try{if(i&&!i.done&&(c=r.return))c.call(r)}finally{if(a)throw a.error}}return null;var a,c};return LicenseTextReader}();t.LicenseTextReader=r},85768:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(64055);var i=n(27519);var s=n(35183);var o=n(41728);var a=n(55933);var c=n(50980);var u=n(85777);var l=n(98707);var f=n(81778);var p=n(13957);var d=n(2058);var h=n(29728);var m=n(99801);var g=n(39225);var y=function(){function LicenseWebpackPlugin(e){if(e===void 0){e={}}this.pluginOptions=e}LicenseWebpackPlugin.prototype.apply=function(e){var t=new o.WebpackFileSystem(e.inputFileSystem);var n=new m.PluginOptionsReader(e.context);var y=n.readOptions(this.pluginOptions);var v=new g.Logger(y.stats);var _=new s.PluginFileHandler(t,y.buildRoot,y.modulesDirectories,y.excludedPackageTest);var b=new a.PluginLicenseTypeIdentifier(v,y.licenseTypeOverrides,y.preferredLicenseTypes,y.handleLicenseAmbiguity,y.handleMissingLicenseType);var E=new c.LicenseTextReader(v,t,y.licenseFileOverrides,y.licenseTextOverrides,y.licenseTemplateDir,y.handleMissingLicenseText);var w=new h.PluginLicenseTestRunner(y.licenseInclusionTest);var S=new h.PluginLicenseTestRunner(y.unacceptableLicenseTest);var k=new d.PluginLicensePolicy(w,S,y.handleUnacceptableLicense,y.handleMissingLicenseText);var D=new i.PluginChunkReadHandler(v,_,b,E,k,t);var x=new p.PluginLicensesRenderer(y.renderLicenses,y.renderBanner);var C=new l.PluginModuleCache;var A=new f.WebpackAssetManager(y.outputFilename,x);var T=new r.ChunkIncludeExcludeTester(y.chunkIncludeExcludeTest);var M=new u.WebpackCompilerHandler(T,D,A,C,y.addBanner,y.perChunkOutput,y.additionalChunkModules,y.additionalModules,y.skipChildCompilers);M.handleCompiler(e)};return LicenseWebpackPlugin}();t.LicenseWebpackPlugin=y},39225:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function Logger(e){this.stats=e}Logger.prototype.warn=function(e,t){if(this.stats.warnings){e.warnings.push(""+Logger.LOG_PREFIX+t)}};Logger.prototype.error=function(e,t){if(this.stats.errors){e.errors.push(""+Logger.LOG_PREFIX+t)}};Logger.LOG_PREFIX="license-webpack-plugin: ";return Logger}();t.Logger=n},27519:function(e,t,n){"use strict";var r=this&&this.__assign||Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:true});var r=function(){function PluginFileHandler(e,t,n,r){this.fileSystem=e;this.buildRoot=t;this.modulesDirectories=n;this.excludedPackageTest=r}PluginFileHandler.prototype.getModule=function(e){if(e===null||e===undefined){return null}if(this.modulesDirectories!==null){var t=false;try{for(var r=n(this.modulesDirectories),i=r.next();!i.done;i=r.next()){var s=i.value;if(this.fileSystem.isFileInDirectory(e,s)){t=true}}}catch(e){a={error:e}}finally{try{if(i&&!i.done&&(c=r.return))c.call(r)}finally{if(a)throw a.error}}if(!t){return null}}var o=this.findModuleDir(e);if(o!==null&&this.excludedPackageTest(o.name)){return null}return o;var a,c};PluginFileHandler.prototype.findModuleDir=function(e){var t=this.fileSystem.pathSeparator;var n=e.substring(0,e.lastIndexOf(t));var r=null;while(!this.dirContainsValidPackageJson(n)){r=n;n=this.fileSystem.resolvePath(""+n+t+".."+t);if(r===n){return null}}if(this.buildRoot===n){return null}var i=this.parsePackageJson(n);return{name:i.name,directory:n}};PluginFileHandler.prototype.parsePackageJson=function(e){var t=this.fileSystem.readFileAsUtf8(this.fileSystem.join(e,PluginFileHandler.PACKAGE_JSON));var n=JSON.parse(t);return n};PluginFileHandler.prototype.dirContainsValidPackageJson=function(e){if(!this.fileSystem.pathExists(this.fileSystem.join(e,PluginFileHandler.PACKAGE_JSON))){return false}var t=this.parsePackageJson(e);return!!t.name};PluginFileHandler.PACKAGE_JSON="package.json";return PluginFileHandler}();t.PluginFileHandler=r},2058:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function PluginLicensePolicy(e,t,n,r){this.licenseTester=e;this.unacceptableLicenseTester=t;this.unacceptableLicenseHandler=n;this.missingLicenseTextHandler=r}PluginLicensePolicy.prototype.isLicenseWrittenFor=function(e){return this.licenseTester.test(e)};PluginLicensePolicy.prototype.isLicenseUnacceptableFor=function(e){return this.unacceptableLicenseTester.test(e)};PluginLicensePolicy.prototype.handleUnacceptableLicense=function(e,t){this.unacceptableLicenseHandler(e,t)};PluginLicensePolicy.prototype.handleMissingLicenseText=function(e,t){this.missingLicenseTextHandler(e,t)};return PluginLicensePolicy}();t.PluginLicensePolicy=n},29728:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function PluginLicenseTestRunner(e){this.licenseTest=e}PluginLicenseTestRunner.prototype.test=function(e){return this.licenseTest(e)};return PluginLicenseTestRunner}();t.PluginLicenseTestRunner=n},55933:function(e,t){"use strict";var n=this&&this.__values||function(e){var t=typeof Symbol==="function"&&e[Symbol.iterator],n=0;if(t)return t.call(e);return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:true});var r=function(){function PluginLicenseTypeIdentifier(e,t,n,r,i){this.logger=e;this.licenseTypeOverrides=t;this.preferredLicenseTypes=n;this.handleLicenseAmbiguity=r;this.handleMissingLicenseType=i}PluginLicenseTypeIdentifier.prototype.findLicenseIdentifier=function(e,t,n){if(this.licenseTypeOverrides&&this.licenseTypeOverrides[t]){return this.licenseTypeOverrides[t]}var r=n.license;if(r){return typeof r==="string"?r:r.type}if(Array.isArray(n.licenses)&&n.licenses.length>0){if(n.licenses.length===1){return n.licenses[0].type}var i=n.licenses.map(function(e){return e.type});var s=this.findPreferredLicense(i,this.preferredLicenseTypes);if(s!==null){return s}var o=this.handleLicenseAmbiguity(t,n.licenses);this.logger.warn(e,t+" specifies multiple licenses: "+i+". Automatically selected "+o+". Use the preferredLicenseTypes or the licenseTypeOverrides option to resolve this warning.");return o}this.logger.warn(e,"could not find any license type for "+t+" in its package.json");return this.handleMissingLicenseType(t)};PluginLicenseTypeIdentifier.prototype.findPreferredLicense=function(e,t){try{for(var r=n(t),i=r.next();!i.done;i=r.next()){var s=i.value;try{for(var o=n(e),a=o.next();!a.done;a=o.next()){var c=a.value;if(s===c){return s}}}catch(e){f={error:e}}finally{try{if(a&&!a.done&&(p=o.return))p.call(o)}finally{if(f)throw f.error}}}}catch(e){u={error:e}}finally{try{if(i&&!i.done&&(l=r.return))l.call(r)}finally{if(u)throw u.error}}return null;var u,l,f,p};return PluginLicenseTypeIdentifier}();t.PluginLicenseTypeIdentifier=r},13957:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function PluginLicensesRenderer(e,t){this.renderLicenses=e;this.renderBanner=t}return PluginLicensesRenderer}();t.PluginLicensesRenderer=n},98707:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function PluginModuleCache(){this.totalCache={};this.chunkCache={};this.chunkSeenCache={}}PluginModuleCache.prototype.registerModule=function(e,t){this.totalCache[t.name]=t;if(!this.chunkCache[e]){this.chunkCache[e]={}}this.chunkCache[e][t.name]=t};PluginModuleCache.prototype.getModule=function(e){return this.totalCache[e]||null};PluginModuleCache.prototype.markSeenForChunk=function(e,t){if(!this.chunkSeenCache[e]){this.chunkSeenCache[e]={}}this.chunkSeenCache[e][t]=true};PluginModuleCache.prototype.alreadySeenForChunk=function(e,t){return!!(this.chunkSeenCache[e]&&this.chunkSeenCache[e][t])};PluginModuleCache.prototype.getAllModulesForChunk=function(e){var t=[];var n=this.chunkCache[e];if(n){Object.keys(n).forEach(function(e){t.push(n[e])})}return t};PluginModuleCache.prototype.getAllModules=function(){var e=this;var t=[];Object.keys(this.totalCache).forEach(function(n){t.push(e.totalCache[n])});return t};return PluginModuleCache}();t.PluginModuleCache=n},99801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function PluginOptionsReader(e){this.context=e}PluginOptionsReader.prototype.readOptions=function(e){var t=e.licenseInclusionTest||function(){return true};var n=e.unacceptableLicenseTest||function(){return false};var r=e.perChunkOutput===undefined;var i=e.licenseTemplateDir;var s=e.licenseTextOverrides||{};var o=e.licenseTypeOverrides||{};var a=e.handleUnacceptableLicense||function(){};var c=e.handleMissingLicenseText||function(){return null};var u=e.renderLicenses||function(e){return e.sort(function(e,t){return e.name{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(2991);var i=function(){function WebpackAssetManager(e,t){this.outputFilename=e;this.licensesRenderer=t}WebpackAssetManager.prototype.writeChunkLicenses=function(e,t,n){var i=this.licensesRenderer.renderLicenses(e);if(i&&i.trim()){var s=t.getPath(this.outputFilename,{chunk:n});t.assets[s]=new r.RawSource(i)}};WebpackAssetManager.prototype.writeChunkBanners=function(e,t,n){var i=t.getPath(this.outputFilename,{chunk:n});var s=this.licensesRenderer.renderBanner(i,e);if(s&&s.trim()){n.files.filter(function(e){return/\.js$/.test(e)}).forEach(function(e){t.assets[e]=new r.ConcatSource(s,t.assets[e])})}};WebpackAssetManager.prototype.writeAllLicenses=function(e,t){var n=this.licensesRenderer.renderLicenses(e);if(n){var i=t.getPath(this.outputFilename,t);t.assets[i]=new r.RawSource(n)}};return WebpackAssetManager}();t.WebpackAssetManager=i},39900:function(e,t){"use strict";var n=this&&this.__values||function(e){var t=typeof Symbol==="function"&&e[Symbol.iterator],n=0;if(t)return t.call(e);return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:true});var r=function(){function WebpackChunkModuleIterator(){}WebpackChunkModuleIterator.prototype.iterateModules=function(e,t){if(typeof e.modulesIterable!=="undefined"){try{for(var r=n(e.modulesIterable),i=r.next();!i.done;i=r.next()){var s=i.value;t(s)}}catch(e){o={error:e}}finally{try{if(i&&!i.done&&(a=r.return))a.call(r)}finally{if(o)throw o.error}}}else if(typeof e.forEachModule==="function"){e.forEachModule(t)}else if(Array.isArray(e.modules)){e.modules.forEach(t)}if(e.entryModule){t(e.entryModule)}var o,a};return WebpackChunkModuleIterator}();t.WebpackChunkModuleIterator=r},85777:function(e,t){"use strict";var n=this&&this.__values||function(e){var t=typeof Symbol==="function"&&e[Symbol.iterator],n=0;if(t)return t.call(e);return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:true});var r=function(){function WebpackCompilerHandler(e,t,n,r,i,s,o,a,c){this.chunkIncludeTester=e;this.chunkHandler=t;this.assetManager=n;this.moduleCache=r;this.addBanner=i;this.perChunkOutput=s;this.additionalChunkModules=o;this.additionalModules=a;this.skipChildCompilers=c}WebpackCompilerHandler.prototype.handleCompiler=function(e){var t=this;if(typeof e.hooks!=="undefined"){var n=this.skipChildCompilers?"thisCompilation":"compilation";e.hooks[n].tap("LicenseWebpackPlugin",function(e){e.hooks.optimizeChunkAssets.tap("LicenseWebpackPlugin",function(n){t.iterateChunks(e,n)})})}else if(typeof e.plugin!=="undefined"){e.plugin("compilation",function(e){if(typeof e.plugin!=="undefined"){e.plugin("optimize-chunk-assets",function(n,r){t.iterateChunks(e,n);r()})}})}};WebpackCompilerHandler.prototype.iterateChunks=function(e,t){var r=this;var i=function(t){if(s.chunkIncludeTester.isIncluded(t.name)){s.chunkHandler.processChunk(e,t,s.moduleCache);if(s.additionalChunkModules[t.name]){s.additionalChunkModules[t.name].forEach(function(n){return r.chunkHandler.processModule(e,t,r.moduleCache,n)})}if(s.additionalModules.length>0){s.additionalModules.forEach(function(n){return r.chunkHandler.processModule(e,t,r.moduleCache,n)})}if(s.perChunkOutput){s.assetManager.writeChunkLicenses(s.moduleCache.getAllModulesForChunk(t.name),e,t)}if(s.addBanner){s.assetManager.writeChunkBanners(s.moduleCache.getAllModulesForChunk(t.name),e,t)}}};var s=this;try{for(var o=n(t),a=o.next();!a.done;a=o.next()){var c=a.value;i(c)}}catch(e){u={error:e}}finally{try{if(a&&!a.done&&(l=o.return))l.call(o)}finally{if(u)throw u.error}}if(!this.perChunkOutput){this.assetManager.writeAllLicenses(this.moduleCache.getAllModules(),e)}var u,l};return WebpackCompilerHandler}();t.WebpackCompilerHandler=r},41728:function(e,t,n){"use strict";var r=this&&this.__read||function(e,t){var n=typeof Symbol==="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{while((t===void 0||t-- >0)&&!(i=r.next()).done)s.push(i.value)}catch(e){o={error:e}}finally{try{if(i&&!i.done&&(n=r["return"]))n.call(r)}finally{if(o)throw o.error}}return s};var i=this&&this.__spread||function(){for(var e=[],t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=function(){function WebpackModuleFileIterator(){}WebpackModuleFileIterator.prototype.iterateFiles=function(e,t){t(e.resource||e.rootModule&&e.rootModule.resource);if(Array.isArray(e.fileDependencies)){var n=e.fileDependencies;n.forEach(t)}if(Array.isArray(e.dependencies)){e.dependencies.forEach(function(e){return t(e.originModule&&e.originModule.resource)})}};return WebpackModuleFileIterator}();t.WebpackModuleFileIterator=n},58907:(e,t,n)=>{"use strict";var r;r={value:true};var i=n(85768);t.s=i.LicenseWebpackPlugin},11638:e=>{"use strict";class LoadingLoaderError extends Error{constructor(e){super(e);this.name="LoaderRunnerError";Error.captureStackTrace(this,this.constructor)}}e.exports=LoadingLoaderError},60425:(e,t,n)=>{var r=n(35747);var i=r.readFile.bind(r);var s=n(45658);function utf8BufferToString(e){var t=e.toString("utf-8");if(t.charCodeAt(0)===65279){return t.substr(1)}else{return t}}var o=/^([^?#]*)(\?[^#]*)?(#.*)?$/;function parsePathQueryFragment(e){var t=o.exec(e);return{path:t[1],query:t[2]||"",fragment:t[3]||""}}function dirname(e){if(e==="/")return"/";var t=e.lastIndexOf("/");var n=e.lastIndexOf("\\");var r=e.indexOf("/");var i=e.indexOf("\\");var s=t>n?t:n;var o=t>n?r:i;if(s<0)return e;if(s===o)return e.substr(0,s+1);return e.substr(0,s)}function createLoaderObject(e){var t={path:null,query:null,fragment:null,options:null,ident:null,normal:null,pitch:null,raw:null,data:null,pitchExecuted:false,normalExecuted:false};Object.defineProperty(t,"request",{enumerable:true,get:function(){return t.path+t.query},set:function(e){if(typeof e==="string"){var n=parsePathQueryFragment(e);t.path=n.path;t.query=n.query;t.fragment=n.fragment;t.options=undefined;t.ident=undefined}else{if(!e.loader)throw new Error("request should be a string or object with loader and options ("+JSON.stringify(e)+")");t.path=e.loader;t.fragment=e.fragment||"";t.type=e.type;t.options=e.options;t.ident=e.ident;if(t.options===null)t.query="";else if(t.options===undefined)t.query="";else if(typeof t.options==="string")t.query="?"+t.options;else if(t.ident)t.query="??"+t.ident;else if(typeof t.options==="object"&&t.options.ident)t.query="??"+t.options.ident;else t.query="?"+JSON.stringify(t.options)}}});t.request=e;if(Object.preventExtensions){Object.preventExtensions(t)}return t}function runSyncOrAsync(e,t,n,r){var i=true;var s=false;var o=false;var a=false;t.async=function async(){if(s){if(a)return;throw new Error("async(): The callback was already called.")}i=false;return c};var c=t.callback=function(){if(s){if(a)return;throw new Error("callback(): The callback was already called.")}s=true;i=false;try{r.apply(null,arguments)}catch(e){o=true;throw e}};try{var u=function LOADER_EXECUTION(){return e.apply(t,n)}();if(i){s=true;if(u===undefined)return r();if(u&&typeof u==="object"&&typeof u.then==="function"){return u.then(function(e){r(null,e)},r)}return r(null,u)}}catch(e){if(o)throw e;if(s){if(typeof e==="object"&&e.stack)console.error(e.stack);else console.error(e);return}s=true;a=true;r(e)}}function convertArgs(e,t){if(!t&&Buffer.isBuffer(e[0]))e[0]=utf8BufferToString(e[0]);else if(t&&typeof e[0]==="string")e[0]=Buffer.from(e[0],"utf-8")}function iteratePitchingLoaders(e,t,n){if(t.loaderIndex>=t.loaders.length)return processResource(e,t,n);var r=t.loaders[t.loaderIndex];if(r.pitchExecuted){t.loaderIndex++;return iteratePitchingLoaders(e,t,n)}s(r,function(i){if(i){t.cacheable(false);return n(i)}var s=r.pitch;r.pitchExecuted=true;if(!s)return iteratePitchingLoaders(e,t,n);runSyncOrAsync(s,t,[t.remainingRequest,t.previousRequest,r.data={}],function(r){if(r)return n(r);var i=Array.prototype.slice.call(arguments,1);var s=i.some(function(e){return e!==undefined});if(s){t.loaderIndex--;iterateNormalLoaders(e,t,i,n)}else{iteratePitchingLoaders(e,t,n)}})})}function processResource(e,t,n){t.loaderIndex=t.loaders.length-1;var r=t.resourcePath;if(r){t.addDependency(r);e.readResource(r,function(r,i){if(r)return n(r);e.resourceBuffer=i;iterateNormalLoaders(e,t,[i],n)})}else{iterateNormalLoaders(e,t,[null],n)}}function iterateNormalLoaders(e,t,n,r){if(t.loaderIndex<0)return r(null,n);var i=t.loaders[t.loaderIndex];if(i.normalExecuted){t.loaderIndex--;return iterateNormalLoaders(e,t,n,r)}var s=i.normal;i.normalExecuted=true;if(!s){return iterateNormalLoaders(e,t,n,r)}convertArgs(n,i.raw);runSyncOrAsync(s,t,n,function(n){if(n)return r(n);var i=Array.prototype.slice.call(arguments,1);iterateNormalLoaders(e,t,i,r)})}t.getContext=function getContext(e){var t=parsePathQueryFragment(e).path;return dirname(t)};t.runLoaders=function runLoaders(e,t){var n=e.resource||"";var r=e.loaders||[];var s=e.context||{};var o=e.readResource||i;var a=n&&parsePathQueryFragment(n);var c=a?a.path:undefined;var u=a?a.query:undefined;var l=a?a.fragment:undefined;var f=c?dirname(c):null;var p=true;var d=[];var h=[];var m=[];r=r.map(createLoaderObject);s.context=f;s.loaderIndex=0;s.loaders=r;s.resourcePath=c;s.resourceQuery=u;s.resourceFragment=l;s.async=null;s.callback=null;s.cacheable=function cacheable(e){if(e===false){p=false}};s.dependency=s.addDependency=function addDependency(e){d.push(e)};s.addContextDependency=function addContextDependency(e){h.push(e)};s.addMissingDependency=function addMissingDependency(e){m.push(e)};s.getDependencies=function getDependencies(){return d.slice()};s.getContextDependencies=function getContextDependencies(){return h.slice()};s.getMissingDependencies=function getMissingDependencies(){return m.slice()};s.clearDependencies=function clearDependencies(){d.length=0;h.length=0;m.length=0;p=true};Object.defineProperty(s,"resource",{enumerable:true,get:function(){if(s.resourcePath===undefined)return undefined;return s.resourcePath+s.resourceQuery+s.resourceFragment},set:function(e){var t=e&&parsePathQueryFragment(e);s.resourcePath=t?t.path:undefined;s.resourceQuery=t?t.query:undefined;s.resourceFragment=t?t.fragment:undefined}});Object.defineProperty(s,"request",{enumerable:true,get:function(){return s.loaders.map(function(e){return e.request}).concat(s.resource||"").join("!")}});Object.defineProperty(s,"remainingRequest",{enumerable:true,get:function(){if(s.loaderIndex>=s.loaders.length-1&&!s.resource)return"";return s.loaders.slice(s.loaderIndex+1).map(function(e){return e.request}).concat(s.resource||"").join("!")}});Object.defineProperty(s,"currentRequest",{enumerable:true,get:function(){return s.loaders.slice(s.loaderIndex).map(function(e){return e.request}).concat(s.resource||"").join("!")}});Object.defineProperty(s,"previousRequest",{enumerable:true,get:function(){return s.loaders.slice(0,s.loaderIndex).map(function(e){return e.request}).join("!")}});Object.defineProperty(s,"query",{enumerable:true,get:function(){var e=s.loaders[s.loaderIndex];return e.options&&typeof e.options==="object"?e.options:e.query}});Object.defineProperty(s,"data",{enumerable:true,get:function(){return s.loaders[s.loaderIndex].data}});if(Object.preventExtensions){Object.preventExtensions(s)}var g={resourceBuffer:null,readResource:o};iteratePitchingLoaders(g,s,function(e,n){if(e){return t(e,{cacheable:p,fileDependencies:d,contextDependencies:h,missingDependencies:m})}t(null,{result:n,resourceBuffer:g.resourceBuffer,cacheable:p,fileDependencies:d,contextDependencies:h,missingDependencies:m})})}},45658:(module,__unused_webpack_exports,__webpack_require__)=>{var LoaderLoadingError=__webpack_require__(11638);var url;module.exports=function loadLoader(loader,callback){if(loader.type==="module"){try{if(url===undefined)url=__webpack_require__(78835);var loaderUrl=url.pathToFileURL(loader.path);var modulePromise=eval("import("+JSON.stringify(loaderUrl.toString())+")");modulePromise.then(function(e){handleResult(loader,e,callback)},callback);return}catch(e){callback(e)}}else{try{var module=require(loader.path)}catch(e){if(e instanceof Error&&e.code==="EMFILE"){var retry=loadLoader.bind(null,loader,callback);if(typeof setImmediate==="function"){return setImmediate(retry)}else{return process.nextTick(retry)}}return callback(e)}return handleResult(loader,module,callback)}};function handleResult(e,t,n){if(typeof t!=="function"&&typeof t!=="object"){return n(new LoaderLoadingError("Module '"+e.path+"' is not a loader (export function or es6 module)"))}e.normal=typeof t==="function"?t:t.default;e.pitch=t.pitch;e.raw=t.raw;if(typeof e.normal!=="function"&&typeof e.pitch!=="function"){return n(new LoaderLoadingError("Module '"+e.path+"' is not a loader (must have normal or pitch function)"))}n()}},6537:(e,t,n)=>{"use strict";const r=n(85622);const i=n(35747);const{promisify:s}=n(31669);const o=n(88213);const a=s(i.stat);const c=s(i.lstat);const u={directory:"isDirectory",file:"isFile"};function checkType({type:e}){if(e in u){return}throw new Error(`Invalid type specified: ${e}`)}const l=(e,t)=>e===undefined||t[u[e]]();e.exports=(async(e,t)=>{t={cwd:process.cwd(),type:"file",allowSymlinks:true,...t};checkType(t);const n=t.allowSymlinks?a:c;return o(e,async e=>{try{const i=await n(r.resolve(t.cwd,e));return l(t.type,i)}catch(e){return false}},t)});e.exports.sync=((e,t)=>{t={cwd:process.cwd(),allowSymlinks:true,type:"file",...t};checkType(t);const n=t.allowSymlinks?i.statSync:i.lstatSync;for(const i of e){try{const e=n(r.resolve(t.cwd,i));if(l(t.type,e)){return i}}catch(e){}}})},41365:(e,t,n)=>{"use strict";const r=n(35747);const i=n(85622);const{promisify:s}=n(31669);const o=n(34281);const a=o.satisfies(process.version,">=10.12.0");const c=e=>{if(process.platform==="win32"){const t=/[<>:"|?*]/.test(e.replace(i.parse(e).root,""));if(t){const t=new Error(`Path contains invalid characters: ${e}`);t.code="EINVAL";throw t}}};const u=e=>{const t={mode:511,fs:r};return{...t,...e}};const l=e=>{const t=new Error(`operation not permitted, mkdir '${e}'`);t.code="EPERM";t.errno=-4048;t.path=e;t.syscall="mkdir";return t};const f=async(e,t)=>{c(e);t=u(t);const n=s(t.fs.mkdir);const o=s(t.fs.stat);if(a&&t.fs.mkdir===r.mkdir){const r=i.resolve(e);await n(r,{mode:t.mode,recursive:true});return r}const f=async e=>{try{await n(e,t.mode);return e}catch(t){if(t.code==="EPERM"){throw t}if(t.code==="ENOENT"){if(i.dirname(e)===e){throw l(e)}if(t.message.includes("null bytes")){throw t}await f(i.dirname(e));return f(e)}try{const n=await o(e);if(!n.isDirectory()){throw new Error("The path is not a directory")}}catch(e){throw t}return e}};return f(i.resolve(e))};e.exports=f;e.exports.sync=((e,t)=>{c(e);t=u(t);if(a&&t.fs.mkdirSync===r.mkdirSync){const n=i.resolve(e);r.mkdirSync(n,{mode:t.mode,recursive:true});return n}const n=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(r){if(r.code==="EPERM"){throw r}if(r.code==="ENOENT"){if(i.dirname(e)===e){throw l(e)}if(r.message.includes("null bytes")){throw r}n(i.dirname(e));return n(e)}try{if(!t.fs.statSync(e).isDirectory()){throw new Error("The path is not a directory")}}catch(e){throw r}}return e};return n(i.resolve(e))})},34281:(e,t)=>{t=e.exports=SemVer;var n;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){n=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER");console.log.apply(console,e)}}else{n=function(){}}t.SEMVER_SPEC_VERSION="2.0.0";var r=256;var i=Number.MAX_SAFE_INTEGER||9007199254740991;var s=16;var o=t.re=[];var a=t.src=[];var c=0;var u=c++;a[u]="0|[1-9]\\d*";var l=c++;a[l]="[0-9]+";var f=c++;a[f]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var p=c++;a[p]="("+a[u]+")\\."+"("+a[u]+")\\."+"("+a[u]+")";var d=c++;a[d]="("+a[l]+")\\."+"("+a[l]+")\\."+"("+a[l]+")";var h=c++;a[h]="(?:"+a[u]+"|"+a[f]+")";var m=c++;a[m]="(?:"+a[l]+"|"+a[f]+")";var g=c++;a[g]="(?:-("+a[h]+"(?:\\."+a[h]+")*))";var y=c++;a[y]="(?:-?("+a[m]+"(?:\\."+a[m]+")*))";var v=c++;a[v]="[0-9A-Za-z-]+";var _=c++;a[_]="(?:\\+("+a[v]+"(?:\\."+a[v]+")*))";var b=c++;var E="v?"+a[p]+a[g]+"?"+a[_]+"?";a[b]="^"+E+"$";var w="[v=\\s]*"+a[d]+a[y]+"?"+a[_]+"?";var S=c++;a[S]="^"+w+"$";var k=c++;a[k]="((?:<|>)?=?)";var D=c++;a[D]=a[l]+"|x|X|\\*";var x=c++;a[x]=a[u]+"|x|X|\\*";var C=c++;a[C]="[v=\\s]*("+a[x]+")"+"(?:\\.("+a[x]+")"+"(?:\\.("+a[x]+")"+"(?:"+a[g]+")?"+a[_]+"?"+")?)?";var A=c++;a[A]="[v=\\s]*("+a[D]+")"+"(?:\\.("+a[D]+")"+"(?:\\.("+a[D]+")"+"(?:"+a[y]+")?"+a[_]+"?"+")?)?";var T=c++;a[T]="^"+a[k]+"\\s*"+a[C]+"$";var M=c++;a[M]="^"+a[k]+"\\s*"+a[A]+"$";var O=c++;a[O]="(?:^|[^\\d])"+"(\\d{1,"+s+"})"+"(?:\\.(\\d{1,"+s+"}))?"+"(?:\\.(\\d{1,"+s+"}))?"+"(?:$|[^\\d])";var F=c++;a[F]="(?:~>?)";var I=c++;a[I]="(\\s*)"+a[F]+"\\s+";o[I]=new RegExp(a[I],"g");var R="$1~";var P=c++;a[P]="^"+a[F]+a[C]+"$";var N=c++;a[N]="^"+a[F]+a[A]+"$";var L=c++;a[L]="(?:\\^)";var B=c++;a[B]="(\\s*)"+a[L]+"\\s+";o[B]=new RegExp(a[B],"g");var j="$1^";var U=c++;a[U]="^"+a[L]+a[C]+"$";var z=c++;a[z]="^"+a[L]+a[A]+"$";var H=c++;a[H]="^"+a[k]+"\\s*("+w+")$|^$";var V=c++;a[V]="^"+a[k]+"\\s*("+E+")$|^$";var G=c++;a[G]="(\\s*)"+a[k]+"\\s*("+w+"|"+a[C]+")";o[G]=new RegExp(a[G],"g");var q="$1$2$3";var W=c++;a[W]="^\\s*("+a[C]+")"+"\\s+-\\s+"+"("+a[C]+")"+"\\s*$";var K=c++;a[K]="^\\s*("+a[A]+")"+"\\s+-\\s+"+"("+a[A]+")"+"\\s*$";var X=c++;a[X]="(<|>)?=?\\s*\\*";for(var J=0;Jr){return null}var n=t.loose?o[S]:o[b];if(!n.test(e)){return null}try{return new SemVer(e,t)}catch(e){return null}}t.valid=valid;function valid(e,t){var n=parse(e,t);return n?n.version:null}t.clean=clean;function clean(e,t){var n=parse(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}t.SemVer=SemVer;function SemVer(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof SemVer){if(e.loose===t.loose){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(e.length>r){throw new TypeError("version is longer than "+r+" characters")}if(!(this instanceof SemVer)){return new SemVer(e,t)}n("SemVer",e,t);this.options=t;this.loose=!!t.loose;var s=e.trim().match(t.loose?o[S]:o[b]);if(!s){throw new TypeError("Invalid Version: "+e)}this.raw=e;this.major=+s[1];this.minor=+s[2];this.patch=+s[3];if(this.major>i||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>i||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>i||this.patch<0){throw new TypeError("Invalid patch version")}if(!s[4]){this.prerelease=[]}else{this.prerelease=s[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0){if(typeof this.prerelease[n]==="number"){this.prerelease[n]++;n=-2}}if(n===-1){this.prerelease.push(0)}}if(t){if(this.prerelease[0]===t){if(isNaN(this.prerelease[1])){this.prerelease=[t,0]}}else{this.prerelease=[t,0]}}break;default:throw new Error("invalid increment argument: "+e)}this.format();this.raw=this.version;return this};t.inc=inc;function inc(e,t,n,r){if(typeof n==="string"){r=n;n=undefined}try{return new SemVer(e,n).inc(t,r).version}catch(e){return null}}t.diff=diff;function diff(e,t){if(eq(e,t)){return null}else{var n=parse(e);var r=parse(t);var i="";if(n.prerelease.length||r.prerelease.length){i="pre";var s="prerelease"}for(var o in n){if(o==="major"||o==="minor"||o==="patch"){if(n[o]!==r[o]){return i+o}}}return s}}t.compareIdentifiers=compareIdentifiers;var Y=/^[0-9]+$/;function compareIdentifiers(e,t){var n=Y.test(e);var r=Y.test(t);if(n&&r){e=+e;t=+t}return e===t?0:n&&!r?-1:r&&!n?1:e0}t.lt=lt;function lt(e,t,n){return compare(e,t,n)<0}t.eq=eq;function eq(e,t,n){return compare(e,t,n)===0}t.neq=neq;function neq(e,t,n){return compare(e,t,n)!==0}t.gte=gte;function gte(e,t,n){return compare(e,t,n)>=0}t.lte=lte;function lte(e,t,n){return compare(e,t,n)<=0}t.cmp=cmp;function cmp(e,t,n,r){switch(t){case"===":if(typeof e==="object")e=e.version;if(typeof n==="object")n=n.version;return e===n;case"!==":if(typeof e==="object")e=e.version;if(typeof n==="object")n=n.version;return e!==n;case"":case"=":case"==":return eq(e,n,r);case"!=":return neq(e,n,r);case">":return gt(e,n,r);case">=":return gte(e,n,r);case"<":return lt(e,n,r);case"<=":return lte(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}t.Comparator=Comparator;function Comparator(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}if(!(this instanceof Comparator)){return new Comparator(e,t)}n("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===Q){this.value=""}else{this.value=this.operator+this.semver.version}n("comp",this)}var Q={};Comparator.prototype.parse=function(e){var t=this.options.loose?o[H]:o[V];var n=e.match(t);if(!n){throw new TypeError("Invalid comparator: "+e)}this.operator=n[1]!==undefined?n[1]:"";if(this.operator==="="){this.operator=""}if(!n[2]){this.semver=Q}else{this.semver=new SemVer(n[2],this.options.loose)}};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(e){n("Comparator.test",e,this.options.loose);if(this.semver===Q||e===Q){return true}if(typeof e==="string"){e=new SemVer(e,this.options)}return cmp(e,this.operator,this.semver,this.options)};Comparator.prototype.intersects=function(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}var n;if(this.operator===""){if(this.value===""){return true}n=new Range(e.value,t);return satisfies(this.value,n,t)}else if(e.operator===""){if(e.value===""){return true}n=new Range(this.value,t);return satisfies(e.semver,n,t)}var r=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">");var i=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<");var s=this.semver.version===e.semver.version;var o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<=");var a=cmp(this.semver,"<",e.semver,t)&&((this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"));var c=cmp(this.semver,">",e.semver,t)&&((this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">"));return r||i||s&&o||a||c};t.Range=Range;function Range(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof Comparator){return new Range(e.value,t)}if(!(this instanceof Range)){return new Range(e,t)}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}Range.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?o[K]:o[W];e=e.replace(r,hyphenReplace);n("hyphen replace",e);e=e.replace(o[G],q);n("comparator trim",e,o[G]);e=e.replace(o[I],R);e=e.replace(o[B],j);e=e.split(/\s+/).join(" ");var i=t?o[H]:o[V];var s=e.split(" ").map(function(e){return parseComparator(e,this.options)},this).join(" ").split(/\s+/);if(this.options.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new Comparator(e,this.options)},this);return s};Range.prototype.intersects=function(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(function(n){return isSatisfiable(n,t)&&e.set.some(function(e){return isSatisfiable(e,t)&&n.every(function(n){return e.every(function(e){return n.intersects(e,t)})})})})};function isSatisfiable(e,t){var n=true;var r=e.slice();var i=r.pop();while(n&&r.length){n=r.every(function(e){return i.intersects(e,t)});i=r.pop()}return n}t.toComparators=toComparators;function toComparators(e,t){return new Range(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function parseComparator(e,t){n("comp",e,t);e=replaceCarets(e,t);n("caret",e);e=replaceTildes(e,t);n("tildes",e);e=replaceXRanges(e,t);n("xrange",e);e=replaceStars(e,t);n("stars",e);return e}function isX(e){return!e||e.toLowerCase()==="x"||e==="*"}function replaceTildes(e,t){return e.trim().split(/\s+/).map(function(e){return replaceTilde(e,t)}).join(" ")}function replaceTilde(e,t){var r=t.loose?o[N]:o[P];return e.replace(r,function(t,r,i,s,o){n("tilde",e,t,r,i,s,o);var a;if(isX(r)){a=""}else if(isX(i)){a=">="+r+".0.0 <"+(+r+1)+".0.0"}else if(isX(s)){a=">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0"}else if(o){n("replaceTilde pr",o);a=">="+r+"."+i+"."+s+"-"+o+" <"+r+"."+(+i+1)+".0"}else{a=">="+r+"."+i+"."+s+" <"+r+"."+(+i+1)+".0"}n("tilde return",a);return a})}function replaceCarets(e,t){return e.trim().split(/\s+/).map(function(e){return replaceCaret(e,t)}).join(" ")}function replaceCaret(e,t){n("caret",e,t);var r=t.loose?o[z]:o[U];return e.replace(r,function(t,r,i,s,o){n("caret",e,t,r,i,s,o);var a;if(isX(r)){a=""}else if(isX(i)){a=">="+r+".0.0 <"+(+r+1)+".0.0"}else if(isX(s)){if(r==="0"){a=">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0"}else{a=">="+r+"."+i+".0 <"+(+r+1)+".0.0"}}else if(o){n("replaceCaret pr",o);if(r==="0"){if(i==="0"){a=">="+r+"."+i+"."+s+"-"+o+" <"+r+"."+i+"."+(+s+1)}else{a=">="+r+"."+i+"."+s+"-"+o+" <"+r+"."+(+i+1)+".0"}}else{a=">="+r+"."+i+"."+s+"-"+o+" <"+(+r+1)+".0.0"}}else{n("no pr");if(r==="0"){if(i==="0"){a=">="+r+"."+i+"."+s+" <"+r+"."+i+"."+(+s+1)}else{a=">="+r+"."+i+"."+s+" <"+r+"."+(+i+1)+".0"}}else{a=">="+r+"."+i+"."+s+" <"+(+r+1)+".0.0"}}n("caret return",a);return a})}function replaceXRanges(e,t){n("replaceXRanges",e,t);return e.split(/\s+/).map(function(e){return replaceXRange(e,t)}).join(" ")}function replaceXRange(e,t){e=e.trim();var r=t.loose?o[M]:o[T];return e.replace(r,function(t,r,i,s,o,a){n("xRange",e,t,r,i,s,o,a);var c=isX(i);var u=c||isX(s);var l=u||isX(o);var f=l;if(r==="="&&f){r=""}if(c){if(r===">"||r==="<"){t="<0.0.0"}else{t="*"}}else if(r&&f){if(u){s=0}o=0;if(r===">"){r=">=";if(u){i=+i+1;s=0;o=0}else{s=+s+1;o=0}}else if(r==="<="){r="<";if(u){i=+i+1}else{s=+s+1}}t=r+i+"."+s+"."+o}else if(u){t=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(l){t=">="+i+"."+s+".0 <"+i+"."+(+s+1)+".0"}n("xRange return",t);return t})}function replaceStars(e,t){n("replaceStars",e,t);return e.trim().replace(o[X],"")}function hyphenReplace(e,t,n,r,i,s,o,a,c,u,l,f,p){if(isX(n)){t=""}else if(isX(r)){t=">="+n+".0.0"}else if(isX(i)){t=">="+n+"."+r+".0"}else{t=">="+t}if(isX(c)){a=""}else if(isX(u)){a="<"+(+c+1)+".0.0"}else if(isX(l)){a="<"+c+"."+(+u+1)+".0"}else if(f){a="<="+c+"."+u+"."+l+"-"+f}else{a="<="+a}return(t+" "+a).trim()}Range.prototype.test=function(e){if(!e){return false}if(typeof e==="string"){e=new SemVer(e,this.options)}for(var t=0;t0){var s=e[i].semver;if(s.major===t.major&&s.minor===t.minor&&s.patch===t.patch){return true}}}return false}return true}t.satisfies=satisfies;function satisfies(e,t,n){try{t=new Range(t,n)}catch(e){return false}return t.test(e)}t.maxSatisfying=maxSatisfying;function maxSatisfying(e,t,n){var r=null;var i=null;try{var s=new Range(t,n)}catch(e){return null}e.forEach(function(e){if(s.test(e)){if(!r||i.compare(e)===-1){r=e;i=new SemVer(r,n)}}});return r}t.minSatisfying=minSatisfying;function minSatisfying(e,t,n){var r=null;var i=null;try{var s=new Range(t,n)}catch(e){return null}e.forEach(function(e){if(s.test(e)){if(!r||i.compare(e)===1){r=e;i=new SemVer(r,n)}}});return r}t.minVersion=minVersion;function minVersion(e,t){e=new Range(e,t);var n=new SemVer("0.0.0");if(e.test(n)){return n}n=new SemVer("0.0.0-0");if(e.test(n)){return n}n=null;for(var r=0;r":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!n||gt(n,t)){n=t}break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(n&&e.test(n)){return n}return null}t.validRange=validRange;function validRange(e,t){try{return new Range(e,t).range||"*"}catch(e){return null}}t.ltr=ltr;function ltr(e,t,n){return outside(e,t,"<",n)}t.gtr=gtr;function gtr(e,t,n){return outside(e,t,">",n)}t.outside=outside;function outside(e,t,n,r){e=new SemVer(e,r);t=new Range(t,r);var i,s,o,a,c;switch(n){case">":i=gt;s=lte;o=lt;a=">";c=">=";break;case"<":i=lt;s=gte;o=gt;a="<";c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(e,t,r)){return false}for(var u=0;u=0.0.0")}f=f||e;p=p||e;if(i(e.semver,f.semver,r)){f=e}else if(o(e.semver,p.semver,r)){p=e}});if(f.operator===a||f.operator===c){return false}if((!p.operator||p.operator===a)&&s(e,p.semver)){return false}else if(p.operator===c&&o(e,p.semver)){return false}}return true}t.prerelease=prerelease;function prerelease(e,t){var n=parse(e,t);return n&&n.prerelease.length?n.prerelease:null}t.intersects=intersects;function intersects(e,t,n){e=new Range(e,n);t=new Range(t,n);return e.intersects(t)}t.coerce=coerce;function coerce(e,t){if(e instanceof SemVer){return e}if(typeof e!=="string"){return null}var n=e.match(o[O]);if(n==null){return null}return parse(n[1]+"."+(n[2]||"0")+"."+(n[3]||"0"),t)}},56342:(e,t,n)=>{var r=n(48333);var i=n(80713);var s=n(32453);var o=s.Readable;var a=s.Writable;function MemoryFileSystemError(e,t){Error.call(this);if(Error.captureStackTrace)Error.captureStackTrace(this,arguments.callee);this.code=e.code;this.errno=e.errno;this.message=e.description;this.path=t}MemoryFileSystemError.prototype=new Error;function MemoryFileSystem(e){this.data=e||{}}e.exports=MemoryFileSystem;function isDir(e){if(typeof e!=="object")return false;return e[""]===true}function isFile(e){if(typeof e!=="object")return false;return!e[""]}function pathToArray(e){e=r(e);var t=/^\//.test(e);if(!t){if(!/^[A-Za-z]:/.test(e)){throw new MemoryFileSystemError(i.code.EINVAL,e)}e=e.replace(/[\\\/]+/g,"\\");e=e.split(/[\\\/]/);e[0]=e[0].toUpperCase()}else{e=e.replace(/\/+/g,"/");e=e.substr(1).split("/")}if(!e[e.length-1])e.pop();return e}function trueFn(){return true}function falseFn(){return false}MemoryFileSystem.prototype.meta=function(e){var t=pathToArray(e);var n=this.data;for(var r=0;r{var r=n(48333);var i=/^[A-Z]:([\\\/]|$)/i;var s=/^\//i;e.exports=function join(e,t){if(!t)return r(e);if(i.test(t))return r(t.replace(/\//g,"\\"));if(s.test(t))return r(t);if(e=="/")return r(e+t);if(i.test(e))return r(e.replace(/\//g,"\\")+"\\"+t.replace(/\//g,"\\"));if(s.test(e))return r(e+"/"+t);return r(e+"/"+t)}},48333:e=>{e.exports=function normalize(e){var t=e.split(/(\\+|\/+)/);if(t.length===1)return e;var n=[];var r=0;for(var i=0,s=false;i{"use strict";const{PassThrough:r}=n(92413);e.exports=function(){var e=[];var t=new r({objectMode:true});t.setMaxListeners(0);t.add=add;t.isEmpty=isEmpty;t.on("unpipe",remove);Array.prototype.slice.call(arguments).forEach(add);return t;function add(n){if(Array.isArray(n)){n.forEach(add);return this}e.push(n);n.once("end",remove.bind(null,n));n.once("error",t.emit.bind(t,"error"));n.pipe(t,{end:false});return this}function isEmpty(){return e.length==0}function remove(n){e=e.filter(function(e){return e!==n});if(!e.length&&t.readable){t.end()}}}},642:(e,t,n)=>{e.exports=minimatch;minimatch.Minimatch=Minimatch;var r={sep:"/"};try{r=n(85622)}catch(e){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var s=n(23215);var o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var a="[^/]";var c=a+"*?";var u="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var f=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,t){e[t]=true;return e},{})}var p=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(n,r,i){return minimatch(n,e,t)}}function ext(e,t){e=e||{};t=t||{};var n={};Object.keys(t).forEach(function(e){n[e]=t[e]});Object.keys(e).forEach(function(t){n[t]=e[t]});return n}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var t=minimatch;var n=function minimatch(n,r,i){return t.minimatch(n,r,ext(e,i))};n.Minimatch=function Minimatch(n,r){return new t.Minimatch(n,ext(e,r))};return n};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,t,n){if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!n)n={};if(!n.nocomment&&t.charAt(0)==="#"){return false}if(t.trim()==="")return e==="";return new Minimatch(t,n).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};e=e.trim();if(r.sep!=="/"){e=e.split(r.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var n=this.globSet=this.braceExpand();if(t.debug)this.debug=console.error;this.debug(this.pattern,n);n=this.globParts=n.map(function(e){return e.split(p)});this.debug(this.pattern,n);n=n.map(function(e,t,n){return e.map(this.parse,this)},this);this.debug(this.pattern,n);n=n.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,n);this.set=n}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var n=this.options;var r=0;if(n.nonegate)return;for(var i=0,s=e.length;i1024*64){throw new TypeError("pattern is too long")}var n=this.options;if(!n.noglobstar&&e==="**")return i;if(e==="")return"";var r="";var s=!!n.nocase;var u=false;var l=[];var p=[];var h;var m=false;var g=-1;var y=-1;var v=e.charAt(0)==="."?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var _=this;function clearStateChar(){if(h){switch(h){case"*":r+=c;s=true;break;case"?":r+=a;s=true;break;default:r+="\\"+h;break}_.debug("clearStateChar %j %j",h,r);h=false}}for(var b=0,E=e.length,w;b-1;T--){var M=p[T];var O=r.slice(0,M.reStart);var F=r.slice(M.reStart,M.reEnd-8);var I=r.slice(M.reEnd-8,M.reEnd);var R=r.slice(M.reEnd);I+=R;var P=O.split("(").length-1;var N=R;for(b=0;b=0;o--){s=e[o];if(s)break}for(o=0;o>> no match, partial?",e,f,t,p);if(f===a)return true}return false}var h;if(typeof u==="string"){if(r.nocase){h=l.toLowerCase()===u.toLowerCase()}else{h=l===u}this.debug("string match",u,l,h)}else{h=l.match(u);this.debug("pattern match",u,l,h)}if(!h)return false}if(s===a&&o===c){return true}else if(s===a){return n}else if(o===c){var m=s===a-1&&e[s]==="";return m}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},40535:e=>{e.exports=function(e,t){if(!t)t={};var n={bools:{},strings:{},unknownFn:null};if(typeof t["unknown"]==="function"){n.unknownFn=t["unknown"]}if(typeof t["boolean"]==="boolean"&&t["boolean"]){n.allBools=true}else{[].concat(t["boolean"]).filter(Boolean).forEach(function(e){n.bools[e]=true})}var r={};Object.keys(t.alias||{}).forEach(function(e){r[e]=[].concat(t.alias[e]);r[e].forEach(function(t){r[t]=[e].concat(r[e].filter(function(e){return t!==e}))})});[].concat(t.string).filter(Boolean).forEach(function(e){n.strings[e]=true;if(r[e]){n.strings[r[e]]=true}});var i=t["default"]||{};var s={_:[]};Object.keys(n.bools).forEach(function(e){setArg(e,i[e]===undefined?false:i[e])});var o=[];if(e.indexOf("--")!==-1){o=e.slice(e.indexOf("--")+1);e=e.slice(0,e.indexOf("--"))}function argDefined(e,t){return n.allBools&&/^--[^=]+$/.test(t)||n.strings[e]||n.bools[e]||r[e]}function setArg(e,t,i){if(i&&n.unknownFn&&!argDefined(e,i)){if(n.unknownFn(i)===false)return}var o=!n.strings[e]&&isNumber(t)?Number(t):t;setKey(s,e.split("."),o);(r[e]||[]).forEach(function(e){setKey(s,e.split("."),o)})}function setKey(e,t,r){var i=e;for(var s=0;s{const r=n(24302);const i=Symbol("_data");const s=Symbol("_length");class Collect extends r{constructor(e){super(e);this[i]=[];this[s]=0}write(e,t,n){if(typeof t==="function")n=t,t="utf8";if(!t)t="utf8";const r=Buffer.isBuffer(e)?e:Buffer.from(e,t);this[i].push(r);this[s]+=r.length;if(n)n();return true}end(e,t,n){if(typeof e==="function")n=e,e=null;if(typeof t==="function")n=t,t="utf8";if(e)this.write(e,t);const r=Buffer.concat(this[i],this[s]);super.write(r);return super.end(n)}}e.exports=Collect;class CollectPassThrough extends r{constructor(e){super(e);this[i]=[];this[s]=0}write(e,t,n){if(typeof t==="function")n=t,t="utf8";if(!t)t="utf8";const r=Buffer.isBuffer(e)?e:Buffer.from(e,t);this[i].push(r);this[s]+=r.length;return super.write(e,t,n)}end(e,t,n){if(typeof e==="function")n=e,e=null;if(typeof t==="function")n=t,t="utf8";if(e)this.write(e,t);const r=Buffer.concat(this[i],this[s]);this.emit("collect",r);return super.end(n)}}e.exports.PassThrough=CollectPassThrough},55027:(e,t,n)=>{const r=n(24302);const i=Symbol("_flush");const s=Symbol("_flushed");const o=Symbol("_flushing");class Flush extends r{constructor(e={}){if(typeof e==="function")e={flush:e};super(e);if(typeof e.flush!=="function"&&typeof this.flush!=="function")throw new TypeError("must provide flush function in options");this[i]=e.flush||this.flush}emit(e,...t){if(e!=="end"&&e!=="finish"||this[s])return super.emit(e,...t);if(this[o])return;this[o]=true;const n=e=>{this[s]=true;e?super.emit("error",e):super.emit("end")};const r=this[i](n);if(r&&r.then)r.then(()=>n(),e=>n(e))}}e.exports=Flush},56435:(e,t,n)=>{const r=n(24302);const i=n(28614);const s=e=>e&&e instanceof i&&(typeof e.pipe==="function"||typeof e.write==="function"&&typeof e.end==="function");const o=Symbol("_head");const a=Symbol("_tail");const c=Symbol("_linkStreams");const u=Symbol("_setHead");const l=Symbol("_setTail");const f=Symbol("_onError");const p=Symbol("_onData");const d=Symbol("_onEnd");const h=Symbol("_onDrain");const m=Symbol("_streams");class Pipeline extends r{constructor(e,...t){if(s(e)){t.unshift(e);e={}}super(e);this[m]=[];if(t.length)this.push(...t)}[c](e){return e.reduce((e,t)=>{e.on("error",e=>t.emit("error",e));e.pipe(t);return t})}push(...e){this[m].push(...e);if(this[a])e.unshift(this[a]);const t=this[c](e);this[l](t);if(!this[o])this[u](e[0])}unshift(...e){this[m].unshift(...e);if(this[o])e.push(this[o]);const t=this[c](e);this[u](e[0]);if(!this[a])this[l](t)}destroy(e){this[m].forEach(e=>typeof e.destroy==="function"&&e.destroy());return super.destroy(e)}[l](e){this[a]=e;e.on("error",t=>this[f](e,t));e.on("data",t=>this[p](e,t));e.on("end",()=>this[d](e));e.on("finish",()=>this[d](e))}[f](e,t){if(e===this[a])this.emit("error",t)}[p](e,t){if(e===this[a])super.write(t)}[d](e){if(e===this[a])super.end()}pause(){super.pause();return this[a]&&this[a].pause&&this[a].pause()}emit(e,...t){if(e==="resume"&&this[a]&&this[a].resume)this[a].resume();return super.emit(e,...t)}[u](e){this[o]=e;e.on("drain",()=>this[h](e))}[h](e){if(e===this[o])this.emit("drain")}write(e,t,n){return this[o].write(e,t,n)&&(this.flowing||this.buffer.length===0)}end(e,t,n){this[o].end(e,t,n);return this}}e.exports=Pipeline},24302:(e,t,n)=>{"use strict";const r=n(28614);const i=n(92413);const s=n(83314);const o=n(24304).StringDecoder;const a=Symbol("EOF");const c=Symbol("maybeEmitEnd");const u=Symbol("emittedEnd");const l=Symbol("emittingEnd");const f=Symbol("closed");const p=Symbol("read");const d=Symbol("flush");const h=Symbol("flushChunk");const m=Symbol("encoding");const g=Symbol("decoder");const y=Symbol("flowing");const v=Symbol("paused");const _=Symbol("resume");const b=Symbol("bufferLength");const E=Symbol("bufferPush");const w=Symbol("bufferShift");const S=Symbol("objectMode");const k=Symbol("destroyed");const D=global._MP_NO_ITERATOR_SYMBOLS_!=="1";const x=D&&Symbol.asyncIterator||Symbol("asyncIterator not implemented");const C=D&&Symbol.iterator||Symbol("iterator not implemented");const A=e=>e==="end"||e==="finish"||e==="prefinish";const T=e=>e instanceof ArrayBuffer||typeof e==="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0;const M=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e);e.exports=class Minipass extends i{constructor(e){super();this[y]=false;this[v]=false;this.pipes=new s;this.buffer=new s;this[S]=e&&e.objectMode||false;if(this[S])this[m]=null;else this[m]=e&&e.encoding||null;if(this[m]==="buffer")this[m]=null;this[g]=this[m]?new o(this[m]):null;this[a]=false;this[u]=false;this[l]=false;this[f]=false;this.writable=true;this.readable=true;this[b]=0;this[k]=false}get bufferLength(){return this[b]}get encoding(){return this[m]}set encoding(e){if(this[S])throw new Error("cannot set encoding in objectMode");if(this[m]&&e!==this[m]&&(this[g]&&this[g].lastNeed||this[b]))throw new Error("cannot change encoding");if(this[m]!==e){this[g]=e?new o(e):null;if(this.buffer.length)this.buffer=this.buffer.map(e=>this[g].write(e))}this[m]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[S]}set objectMode(e){this[S]=this[S]||!!e}write(e,t,n){if(this[a])throw new Error("write after end");if(this[k]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof t==="function")n=t,t="utf8";if(!t)t="utf8";if(!this[S]&&!Buffer.isBuffer(e)){if(M(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(T(e))e=Buffer.from(e);else if(typeof e!=="string")this.objectMode=true}if(!this.objectMode&&!e.length){const e=this.flowing;if(this[b]!==0)this.emit("readable");if(n)n();return e}if(typeof e==="string"&&!this[S]&&!(t===this[m]&&!this[g].lastNeed)){e=Buffer.from(e,t)}if(Buffer.isBuffer(e)&&this[m])e=this[g].write(e);try{return this.flowing?(this.emit("data",e),this.flowing):(this[E](e),false)}finally{if(this[b]!==0)this.emit("readable");if(n)n()}}read(e){if(this[k])return null;try{if(this[b]===0||e===0||e>this[b])return null;if(this[S])e=null;if(this.buffer.length>1&&!this[S]){if(this.encoding)this.buffer=new s([Array.from(this.buffer).join("")]);else this.buffer=new s([Buffer.concat(Array.from(this.buffer),this[b])])}return this[p](e||null,this.buffer.head.value)}finally{this[c]()}}[p](e,t){if(e===t.length||e===null)this[w]();else{this.buffer.head.value=t.slice(e);t=t.slice(0,e);this[b]-=e}this.emit("data",t);if(!this.buffer.length&&!this[a])this.emit("drain");return t}end(e,t,n){if(typeof e==="function")n=e,e=null;if(typeof t==="function")n=t,t="utf8";if(e)this.write(e,t);if(n)this.once("end",n);this[a]=true;this.writable=false;if(this.flowing||!this[v])this[c]();return this}[_](){if(this[k])return;this[v]=false;this[y]=true;this.emit("resume");if(this.buffer.length)this[d]();else if(this[a])this[c]();else this.emit("drain")}resume(){return this[_]()}pause(){this[y]=false;this[v]=true}get destroyed(){return this[k]}get flowing(){return this[y]}get paused(){return this[v]}[E](e){if(this[S])this[b]+=1;else this[b]+=e.length;return this.buffer.push(e)}[w](){if(this.buffer.length){if(this[S])this[b]-=1;else this[b]-=this.buffer.head.value.length}return this.buffer.shift()}[d](){do{}while(this[h](this[w]()));if(!this.buffer.length&&!this[a])this.emit("drain")}[h](e){return e?(this.emit("data",e),this.flowing):false}pipe(e,t){if(this[k])return;const n=this[u];t=t||{};if(e===process.stdout||e===process.stderr)t.end=false;else t.end=t.end!==false;const r={dest:e,opts:t,ondrain:e=>this[_]()};this.pipes.push(r);e.on("drain",r.ondrain);this[_]();if(n&&r.opts.end)r.dest.end();return e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{if(e==="data"&&!this.pipes.length&&!this.flowing)this[_]();else if(A(e)&&this[u]){super.emit(e);this.removeAllListeners(e)}}}get emittedEnd(){return this[u]}[c](){if(!this[l]&&!this[u]&&!this[k]&&this.buffer.length===0&&this[a]){this[l]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[f])this.emit("close");this[l]=false}}emit(e,t){if(e!=="error"&&e!=="close"&&e!==k&&this[k])return;else if(e==="data"){if(!t)return;if(this.pipes.length)this.pipes.forEach(e=>e.dest.write(t)===false&&this.pause())}else if(e==="end"){if(this[u]===true)return;this[u]=true;this.readable=false;if(this[g]){t=this[g].end();if(t){this.pipes.forEach(e=>e.dest.write(t));super.emit("data",t)}}this.pipes.forEach(e=>{e.dest.removeListener("drain",e.ondrain);if(e.opts.end)e.dest.end()})}else if(e==="close"){this[f]=true;if(!this[u]&&!this[k])return}const n=new Array(arguments.length);n[0]=e;n[1]=t;if(arguments.length>2){for(let e=2;e{e.push(t);if(!this[S])e.dataLength+=t.length});return t.then(()=>e)}concat(){return this[S]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[S]?Promise.reject(new Error("cannot concat in objectMode")):this[m]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(k,()=>t(new Error("stream destroyed")));this.on("end",()=>e());this.on("error",e=>t(e))})}[x](){const e=()=>{const e=this.read();if(e!==null)return Promise.resolve({done:false,value:e});if(this[a])return Promise.resolve({done:true});let t=null;let n=null;const r=e=>{this.removeListener("data",i);this.removeListener("end",s);n(e)};const i=e=>{this.removeListener("error",r);this.removeListener("end",s);this.pause();t({value:e,done:!!this[a]})};const s=()=>{this.removeListener("error",r);this.removeListener("data",i);t({done:true})};const o=()=>r(new Error("stream destroyed"));return new Promise((e,a)=>{n=a;t=e;this.once(k,o);this.once("error",r);this.once("end",s);this.once("data",i)})};return{next:e}}[C](){const e=()=>{const e=this.read();const t=e===null;return{value:e,done:t}};return{next:e}}destroy(e){if(this[k]){if(e)this.emit("error",e);else this.emit(k);return this}this[k]=true;this.buffer=new s;this[b]=0;if(typeof this.close==="function"&&!this[f])this.close();if(e)this.emit("error",e);else this.emit(k);return this}static isStream(e){return!!e&&(e instanceof Minipass||e instanceof i||e instanceof r&&(typeof e.pipe==="function"||typeof e.write==="function"&&typeof e.end==="function"))}}},62355:function(e,t){(function(e,n){"use strict";true?n(t):0})(this,function(e){"use strict";var t=function noop(){};var n=function throwError(){throw new Error("Callback was already called.")};var r=5;var i=0;var s="object";var o="function";var a=Array.isArray;var c=Object.keys;var u=Array.prototype.push;var l=typeof Symbol===o&&Symbol.iterator;var f,p,d;createImmediate();var h=createEach(arrayEach,baseEach,symbolEach);var m=createMap(arrayEachIndex,baseEachIndex,symbolEachIndex,true);var g=createMap(arrayEachIndex,baseEachKey,symbolEachKey,false);var y=createFilter(arrayEachIndexValue,baseEachIndexValue,symbolEachIndexValue,true);var v=createFilterSeries(true);var _=createFilterLimit(true);var b=createFilter(arrayEachIndexValue,baseEachIndexValue,symbolEachIndexValue,false);var E=createFilterSeries(false);var w=createFilterLimit(false);var S=createDetect(arrayEachValue,baseEachValue,symbolEachValue,true);var k=createDetectSeries(true);var D=createDetectLimit(true);var x=createEvery(arrayEachValue,baseEachValue,symbolEachValue);var C=createEverySeries();var A=createEveryLimit();var T=createPick(arrayEachIndexValue,baseEachKeyValue,symbolEachKeyValue,true);var M=createPickSeries(true);var O=createPickLimit(true);var F=createPick(arrayEachIndexValue,baseEachKeyValue,symbolEachKeyValue,false);var I=createPickSeries(false);var R=createPickLimit(false);var P=createTransform(arrayEachResult,baseEachResult,symbolEachResult);var N=createSortBy(arrayEachIndexValue,baseEachIndexValue,symbolEachIndexValue);var L=createConcat(arrayEachIndex,baseEachIndex,symbolEachIndex);var B=createGroupBy(arrayEachValue,baseEachValue,symbolEachValue);var j=createParallel(arrayEachFunc,baseEachFunc);var U=createApplyEach(m);var z=createApplyEach(mapSeries);var H=createLogger("log");var V=createLogger("dir");var G={VERSION:"2.6.2",each:h,eachSeries:eachSeries,eachLimit:eachLimit,forEach:h,forEachSeries:eachSeries,forEachLimit:eachLimit,eachOf:h,eachOfSeries:eachSeries,eachOfLimit:eachLimit,forEachOf:h,forEachOfSeries:eachSeries,forEachOfLimit:eachLimit,map:m,mapSeries:mapSeries,mapLimit:mapLimit,mapValues:g,mapValuesSeries:mapValuesSeries,mapValuesLimit:mapValuesLimit,filter:y,filterSeries:v,filterLimit:_,select:y,selectSeries:v,selectLimit:_,reject:b,rejectSeries:E,rejectLimit:w,detect:S,detectSeries:k,detectLimit:D,find:S,findSeries:k,findLimit:D,pick:T,pickSeries:M,pickLimit:O,omit:F,omitSeries:I,omitLimit:R,reduce:reduce,inject:reduce,foldl:reduce,reduceRight:reduceRight,foldr:reduceRight,transform:P,transformSeries:transformSeries,transformLimit:transformLimit,sortBy:N,sortBySeries:sortBySeries,sortByLimit:sortByLimit,some:some,someSeries:someSeries,someLimit:someLimit,any:some,anySeries:someSeries,anyLimit:someLimit,every:x,everySeries:C,everyLimit:A,all:x,allSeries:C,allLimit:A,concat:L,concatSeries:concatSeries,concatLimit:concatLimit,groupBy:B,groupBySeries:groupBySeries,groupByLimit:groupByLimit,parallel:j,series:series,parallelLimit:parallelLimit,tryEach:tryEach,waterfall:waterfall,angelFall:angelFall,angelfall:angelFall,whilst:whilst,doWhilst:doWhilst,until:until,doUntil:doUntil,during:during,doDuring:doDuring,forever:forever,compose:compose,seq:seq,applyEach:U,applyEachSeries:z,queue:queue,priorityQueue:priorityQueue,cargo:cargo,auto:auto,autoInject:autoInject,retry:retry,retryable:retryable,iterator:iterator,times:times,timesSeries:timesSeries,timesLimit:timesLimit,race:race,apply:apply,nextTick:p,setImmediate:d,memoize:memoize,unmemoize:unmemoize,ensureAsync:ensureAsync,constant:constant,asyncify:asyncify,wrapSync:asyncify,log:H,dir:V,reflect:reflect,reflectAll:reflectAll,timeout:timeout,createLogger:createLogger,safe:safe,fast:fast};e["default"]=G;baseEachSync(G,function(t,n){e[n]=t},c(G));function createImmediate(e){var t=function delay(e){var t=slice(arguments,1);setTimeout(function(){e.apply(null,t)})};d=typeof setImmediate===o?setImmediate:t;if(typeof process===s&&typeof process.nextTick===o){f=/^v0.10/.test(process.version)?d:process.nextTick;p=/^v0/.test(process.version)?d:process.nextTick}else{p=f=d}if(e===false){f=function(e){e()}}}function createArray(e){var t=-1;var n=e.length;var r=Array(n);while(++t=t&&e[o]>=r){o--}if(s>o){break}swap(e,i,s++,o--)}return s}function swap(e,t,n,r){var i=e[n];e[n]=e[r];e[r]=i;var s=t[n];t[n]=t[r];t[r]=s}function quickSort(e,t,n,r){if(t===n){return}var i=t;while(++i<=n&&e[t]===e[i]){var s=i-1;if(r[s]>r[i]){var o=r[s];r[s]=r[i];r[i]=o}}if(i>n){return}var a=e[t]>e[i]?t:i;i=partition(e,t,n,e[a],r);quickSort(e,t,i-1,r);quickSort(e,i,n,r)}function makeConcatResult(e){var n=[];arrayEachSync(e,function(e){if(e===t){return}if(a(e)){u.apply(n,e)}else{n.push(e)}});return n}function arrayEach(e,t,n){var r=-1;var i=e.length;if(t.length===3){while(++rp?p:i,_);function arrayIterator(){d=w++;if(du?u:r,y);function arrayIterator(){if(_u?u:r,v);function arrayIterator(){p=b++;if(pu?u:r,y);function arrayIterator(){p=b++;if(pp?p:i,_);function arrayIterator(){d=E++;if(dp?p:i,_);function arrayIterator(){d=w++;if(du?u:n,y);function arrayIterator(){p=b++;if(pu?u:r,b);function arrayIterator(){if(w=2){u.apply(v,slice(arguments,1))}if(e){i(e,v)}else if(++_===o){g=n;i(null,v)}else if(y){f(g)}else{y=true;g()}y=false}}function concatLimit(e,r,i,o){o=o||t;var u,p,d,h,m,g;var y=false;var v=0;var _=0;if(a(e)){u=e.length;m=i.length===3?arrayIteratorWithIndex:arrayIterator}else if(!e){}else if(l&&e[l]){u=Infinity;g=[];d=e[l]();m=i.length===3?symbolIteratorWithKey:symbolIterator}else if(typeof e===s){var b=c(e);u=b.length;m=i.length===3?objectIteratorWithKey:objectIterator}if(!u||isNaN(r)||r<1){return o(null,[])}g=g||Array(u);timesSync(r>u?u:r,m);function arrayIterator(){if(vu?u:r,v);function arrayIterator(){if(bo?o:r,h);function arrayIterator(){u=g++;if(u1){var i=slice(arguments,1);return r.apply(this,i)}else{return r}}}function DLL(){this.head=null;this.tail=null;this.length=0}DLL.prototype._removeLink=function(e){var t=e.prev;var n=e.next;if(t){t.next=n}else{this.head=n}if(n){n.prev=t}else{this.tail=t}e.prev=null;e.next=null;this.length--;return e};DLL.prototype.empty=DLL;DLL.prototype._setInitial=function(e){this.length=1;this.head=this.tail=e};DLL.prototype.insertBefore=function(e,t){t.prev=e.prev;t.next=e;if(e.prev){e.prev.next=t}else{this.head=t}e.prev=t;this.length++};DLL.prototype.unshift=function(e){if(this.head){this.insertBefore(this.head,e)}else{this._setInitial(e)}};DLL.prototype.push=function(e){var t=this.tail;if(t){e.prev=t;e.next=t.next;this.tail=e;t.next=e;this.length++}else{this._setInitial(e)}};DLL.prototype.shift=function(){return this.head&&this._removeLink(this.head)};DLL.prototype.splice=function(e){var t;var n=[];while(e--&&(t=this.shift())){n.push(t)}return n};DLL.prototype.remove=function(e){var t=this.head;while(t){if(e(t)){this._removeLink(t)}t=t.next}return this};function baseQueue(e,r,i,s){if(i===undefined){i=1}else if(isNaN(i)||i<1){throw new Error("Concurrency must not be zero")}var o=0;var c=[];var l,p;var d={_tasks:new DLL,concurrency:i,payload:s,saturated:t,unsaturated:t,buffer:i/4,empty:t,drain:t,error:t,started:false,paused:false,push:push,kill:kill,unshift:unshift,remove:remove,process:e?runQueue:runCargo,length:getLength,running:running,workersList:getWorkersList,idle:idle,pause:pause,resume:resume,_worker:r};return d;function push(e,t){_insert(e,t)}function unshift(e,t){_insert(e,t,true)}function _exec(e){var t={data:e,callback:l};if(p){d._tasks.unshift(t)}else{d._tasks.push(t)}f(d.process)}function _insert(e,n,r){if(n==null){n=t}else if(typeof n!=="function"){throw new Error("task callback must be a function")}d.started=true;var i=a(e)?e:[e];if(e===undefined||!i.length){if(d.idle()){f(d.drain)}return}p=r;l=n;arrayEachSync(i,_exec);l=undefined}function kill(){d.drain=t;d._tasks.empty()}function _next(e,t){var r=false;return function done(i,s){if(r){n()}r=true;o--;var a;var u=-1;var l=c.length;var f=-1;var p=t.length;var d=arguments.length>2;var h=d&&createArray(arguments);while(++f=u.priority){u=u.next}while(c--){var l={data:s[c],priority:n,callback:i};if(u){r._tasks.insertBefore(u,l)}else{r._tasks.push(l)}f(r.process)}}}function cargo(e,t){return baseQueue(false,e,1,t)}function auto(e,r,i){if(typeof r===o){i=r;r=null}var s=c(e);var u=s.length;var l={};if(u===0){return i(null,l)}var f=0;var p=new DLL;var d=Object.create(null);i=onlyOnce(i||t);r=r||u;baseEachSync(e,iterator,s);proceedQueue();function iterator(e,r){var o,c;if(!a(e)){o=e;c=0;p.push([o,c,done]);return}var h=e.length-1;o=e[h];c=h;if(h===0){p.push([o,c,done]);return}var m=-1;while(++m=e){i(null,s);i=n}else if(o){f(iterate)}else{o=true;iterate()}o=false}}function timesLimit(e,r,i,s){s=s||t;e=+e;if(isNaN(e)||e<1||isNaN(r)||r<1){return s(null,[])}var o=Array(e);var a=false;var c=0;var u=0;timesSync(r>e?e:r,iterate);function iterate(){var t=c++;if(t=e){s(null,o);s=n}else if(a){f(iterate)}else{a=true;iterate()}a=false}}}function race(e,n){n=once(n||t);var r,i;var o=-1;if(a(e)){r=e.length;while(++o2){n=slice(arguments,1)}t(null,{value:n})}}}function reflectAll(e){var t,n;if(a(e)){t=Array(e.length);arrayEachSync(e,iterate)}else if(e&&typeof e===s){n=c(e);t={};baseEachSync(e,iterate,n)}return t;function iterate(e,n){t[n]=reflect(e)}}function createLogger(e){return function(e){var t=slice(arguments,1);t.push(done);e.apply(null,t)};function done(t){if(typeof console===s){if(t){if(console.error){console.error(t)}return}if(console[e]){var n=slice(arguments,1);arrayEachSync(n,function(t){console[e](t)})}}}}function safe(){createImmediate();return e}function fast(){createImmediate(false);return e}})},56481:(e,t,n)=>{var r=n(83687);e.exports=r(once);e.exports.strict=r(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(e){var t=function(){if(t.called)return t.value;t.called=true;return t.value=e.apply(this,arguments)};t.called=false;return t}function onceStrict(e){var t=function(){if(t.called)throw new Error(t.onceError);t.called=true;return t.value=e.apply(this,arguments)};var n=e.name||"Function wrapped with `once`";t.onceError=n+" shouldn't be called more than once";t.called=false;return t}},62317:(e,t,n)=>{"use strict";const r=n(51385);const i=e=>{if(!((Number.isInteger(e)||e===Infinity)&&e>0)){throw new TypeError("Expected `concurrency` to be a number from 1 and up")}const t=[];let n=0;const i=()=>{n--;if(t.length>0){t.shift()()}};const s=async(e,t,...s)=>{n++;const o=r(e,...s);t(o);try{await o}catch{}i()};const o=(r,i,...o)=>{t.push(s.bind(null,r,i,...o));(async()=>{await Promise.resolve();if(n0){t.shift()()}})()};const a=(e,...t)=>new Promise(n=>o(e,n,...t));Object.defineProperties(a,{activeCount:{get:()=>n},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}});return a};e.exports=i},88213:(e,t,n)=>{"use strict";const r=n(64788);class EndError extends Error{constructor(e){super();this.value=e}}const i=async(e,t)=>t(await e);const s=async e=>{const t=await Promise.all(e);if(t[1]===true){throw new EndError(t[0])}return false};const o=async(e,t,n)=>{n={concurrency:Infinity,preserveOrder:true,...n};const o=r(n.concurrency);const a=[...e].map(e=>[e,o(i,e,t)]);const c=r(n.preserveOrder?1:Infinity);try{await Promise.all(a.map(e=>c(s,e)))}catch(e){if(e instanceof EndError){return e.value}throw e}};e.exports=o;e.exports.default=o},64788:(e,t,n)=>{"use strict";const r=n(51385);const i=e=>{if(!((Number.isInteger(e)||e===Infinity)&&e>0)){return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"))}const t=[];let n=0;const i=()=>{n--;if(t.length>0){t.shift()()}};const s=(e,t,...s)=>{n++;const o=r(e,...s);t(o);o.then(i,i)};const o=(r,i,...o)=>{if(nnew Promise(n=>o(e,n,...t));Object.defineProperties(a,{activeCount:{get:()=>n},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}});return a};e.exports=i;e.exports.default=i},62383:(e,t,n)=>{"use strict";const r=n(67229);e.exports=(async(e,t,{concurrency:n=Infinity,stopOnError:i=true}={})=>{return new Promise((s,o)=>{if(typeof t!=="function"){throw new TypeError("Mapper function is required")}if(!((Number.isSafeInteger(n)||n===Infinity)&&n>=1)){throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`)}const a=[];const c=[];const u=e[Symbol.iterator]();let l=false;let f=false;let p=0;let d=0;const h=()=>{if(l){return}const e=u.next();const n=d;d++;if(e.done){f=true;if(p===0){if(!i&&c.length!==0){o(new r(c))}else{s(a)}}return}p++;(async()=>{try{const r=await e.value;a[n]=await t(r,n);p--;h()}catch(e){if(i){l=true;o(e)}else{c.push(e);p--;h()}}})()};for(let e=0;e{"use strict";e.exports=((e,...t)=>new Promise(n=>{n(e(...t))}))},52963:e=>{"use strict";function posix(e){return e.charAt(0)==="/"}function win32(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var n=t.exec(e);var r=n[1]||"";var i=Boolean(r&&r.charAt(1)!==":");return Boolean(n[2]||i)}e.exports=process.platform==="win32"?win32:posix;e.exports.posix=posix;e.exports.win32=win32},75522:e=>{"use strict";var t=process.platform==="win32";var n=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var r=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/;var i={};function win32SplitPath(e){var t=n.exec(e),i=(t[1]||"")+(t[2]||""),s=t[3]||"";var o=r.exec(s),a=o[1],c=o[2],u=o[3];return[i,a,c,u]}i.parse=function(e){if(typeof e!=="string"){throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e)}var t=win32SplitPath(e);if(!t||t.length!==4){throw new TypeError("Invalid path '"+e+"'")}return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}};var s=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var o={};function posixSplitPath(e){return s.exec(e).slice(1)}o.parse=function(e){if(typeof e!=="string"){throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e)}var t=posixSplitPath(e);if(!t||t.length!==4){throw new TypeError("Invalid path '"+e+"'")}t[1]=t[1]||"";t[2]=t[2]||"";t[3]=t[3]||"";return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}};if(t)e.exports=i.parse;else e.exports=o.parse;e.exports.posix=o.parse;e.exports.win32=i.parse},93224:(e,t,n)=>{"use strict";const r=n(85622);const i=n(70558);const s=async e=>{const t=await i("package.json",{cwd:e});return t&&r.dirname(t)};e.exports=s;e.exports.default=s;e.exports.sync=(e=>{const t=i.sync("package.json",{cwd:e});return t&&r.dirname(t)})},50411:e=>{"use strict";if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,t,n,r){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var i=arguments.length;var s,o;switch(i){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,t)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,t,n)});case 4:return process.nextTick(function afterTickThree(){e.call(null,t,n,r)});default:s=new Array(i-1);o=0;while(o{"use strict";e.exports=inflight;let r;try{r=n(16853)}catch(e){r=Promise}const i={};inflight.active=i;function inflight(e,t){return r.all([e,t]).then(function(e){const t=e[0];const n=e[1];if(Array.isArray(t)){return r.all(t).then(function(e){return _inflight(e.join(""),n)})}else{return _inflight(t,n)}});function _inflight(e,t){if(!i[e]){i[e]=new r(function(e){return e(t())});i[e].then(cleanup,cleanup);function cleanup(){delete i[e]}}return i[e]}}},55757:function(e){(function(t,n,r){if(true&&e.exports)e.exports=r();else n[t]=r()})("prr",this,function(){var e=typeof Object.defineProperty=="function"?function(e,t,n){Object.defineProperty(e,t,n);return e}:function(e,t,n){e[t]=n.value;return e},t=function(e,t){var n=typeof t=="object",r=!n&&typeof t=="string",i=function(e){return n?!!t[e]:r?t.indexOf(e[0])>-1:false};return{enumerable:i("enumerable"),configurable:i("configurable"),writable:i("writable"),value:e}},n=function(n,r,i,s){var o;s=t(i,s);if(typeof r=="object"){for(o in r){if(Object.hasOwnProperty.call(r,o)){s.value=r[o];e(n,o,s)}}return n}return e(n,r,s)};return n})},31998:(e,t,n)=>{e.exports=n(76417).randomBytes},81959:(e,t,n)=>{"use strict";var r=n(50411);var i=Object.keys||function(e){var t=[];for(var n in e){t.push(n)}return t};e.exports=Duplex;var s=Object.create(n(93349));s.inherits=n(28309);var o=n(97469);var a=n(97867);s.inherits(Duplex,o);{var c=i(a.prototype);for(var u=0;u{"use strict";e.exports=PassThrough;var r=n(77837);var i=Object.create(n(93349));i.inherits=n(28309);i.inherits(PassThrough,r);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);r.call(this,e)}PassThrough.prototype._transform=function(e,t,n){n(null,e)}},97469:(e,t,n)=>{"use strict";var r=n(50411);e.exports=Readable;var i=n(27523);var s;Readable.ReadableState=ReadableState;var o=n(28614).EventEmitter;var a=function(e,t){return e.listeners(t).length};var c=n(99837);var u=n(22560).Buffer;var l=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return u.from(e)}function _isUint8Array(e){return u.isBuffer(e)||e instanceof l}var f=Object.create(n(93349));f.inherits=n(28309);var p=n(31669);var d=void 0;if(p&&p.debuglog){d=p.debuglog("stream")}else{d=function(){}}var h=n(24220);var m=n(22535);var g;f.inherits(Readable,c);var y=["error","close","destroy","pause","resume"];function prependListener(e,t,n){if(typeof e.prependListener==="function")return e.prependListener(t,n);if(!e._events||!e._events[t])e.on(t,n);else if(i(e._events[t]))e._events[t].unshift(n);else e._events[t]=[n,e._events[t]]}function ReadableState(e,t){s=s||n(81959);e=e||{};var r=t instanceof s;this.objectMode=!!e.objectMode;if(r)this.objectMode=this.objectMode||!!e.readableObjectMode;var i=e.highWaterMark;var o=e.readableHighWaterMark;var a=this.objectMode?16:16*1024;if(i||i===0)this.highWaterMark=i;else if(r&&(o||o===0))this.highWaterMark=o;else this.highWaterMark=a;this.highWaterMark=Math.floor(this.highWaterMark);this.buffer=new h;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!g)g=n(80147).s;this.decoder=new g(e.encoding);this.encoding=e.encoding}}function Readable(e){s=s||n(81959);if(!(this instanceof Readable))return new Readable(e);this._readableState=new ReadableState(e,this);this.readable=true;if(e){if(typeof e.read==="function")this._read=e.read;if(typeof e.destroy==="function")this._destroy=e.destroy}c.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=m.destroy;Readable.prototype._undestroy=m.undestroy;Readable.prototype._destroy=function(e,t){this.push(null);t(e)};Readable.prototype.push=function(e,t){var n=this._readableState;var r;if(!n.objectMode){if(typeof e==="string"){t=t||n.defaultEncoding;if(t!==n.encoding){e=u.from(e,t);t=""}r=true}}else{r=true}return readableAddChunk(this,e,t,false,r)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,t,n,r,i){var s=e._readableState;if(t===null){s.reading=false;onEofChunk(e,s)}else{var o;if(!i)o=chunkInvalid(s,t);if(o){e.emit("error",o)}else if(s.objectMode||t&&t.length>0){if(typeof t!=="string"&&!s.objectMode&&Object.getPrototypeOf(t)!==u.prototype){t=_uint8ArrayToBuffer(t)}if(r){if(s.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,s,t,true)}else if(s.ended){e.emit("error",new Error("stream.push() after EOF"))}else{s.reading=false;if(s.decoder&&!n){t=s.decoder.write(t);if(s.objectMode||t.length!==0)addChunk(e,s,t,false);else maybeReadMore(e,s)}else{addChunk(e,s,t,false)}}}else if(!r){s.reading=false}}return needMoreData(s)}function addChunk(e,t,n,r){if(t.flowing&&t.length===0&&!t.sync){e.emit("data",n);e.read(0)}else{t.length+=t.objectMode?1:n.length;if(r)t.buffer.unshift(n);else t.buffer.push(n);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var n;if(!_isUint8Array(t)&&typeof t!=="string"&&t!==undefined&&!e.objectMode){n=new TypeError("Invalid non-string/buffer chunk")}return n}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=v){e=v}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){d("read",e);e=parseInt(e,10);var t=this._readableState;var n=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended)){d("read: emitReadable",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var r=t.needReadable;d("need readable",r);if(t.length===0||t.length-e0)i=fromList(e,t);else i=null;if(i===null){t.needReadable=true;e=0}else{t.length-=e}if(t.length===0){if(!t.ended)t.needReadable=true;if(n!==e&&t.ended)endReadable(this)}if(i!==null)this.emit("data",i);return i};function onEofChunk(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();if(n&&n.length){t.buffer.push(n);t.length+=t.objectMode?1:n.length}}t.ended=true;emitReadable(e)}function emitReadable(e){var t=e._readableState;t.needReadable=false;if(!t.emittedReadable){d("emitReadable",t.flowing);t.emittedReadable=true;if(t.sync)r.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){d("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;r.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){var n=t.length;while(!t.reading&&!t.flowing&&!t.ended&&t.length1&&indexOf(i.pipes,e)!==-1)&&!u){d("false write response, pause",n._readableState.awaitDrain);n._readableState.awaitDrain++;l=true}n.pause()}}function onerror(t){d("onerror",t);unpipe();e.removeListener("error",onerror);if(a(e,"error")===0)e.emit("error",t)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){d("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){d("unpipe");n.unpipe(e)}e.emit("pipe",n);if(!i.flowing){d("pipe resume");n.resume()}return e};function pipeOnDrain(e){return function(){var t=e._readableState;d("pipeOnDrain",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&a(e,"data")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var n={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit("unpipe",this,n);return this}if(!e){var r=t.pipes;var i=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var s=0;s=t.length){if(t.decoder)n=t.buffer.join("");else if(t.buffer.length===1)n=t.buffer.head.data;else n=t.buffer.concat(t.length);t.buffer.clear()}else{n=fromListPartial(e,t.buffer,t.decoder)}return n}function fromListPartial(e,t,n){var r;if(es.length?s.length:e;if(o===s.length)i+=s;else i+=s.slice(0,e);e-=o;if(e===0){if(o===s.length){++r;if(n.next)t.head=n.next;else t.head=t.tail=null}else{t.head=n;n.data=s.slice(o)}break}++r}t.length-=r;return i}function copyFromBuffer(e,t){var n=u.allocUnsafe(e);var r=t.head;var i=1;r.data.copy(n);e-=r.data.length;while(r=r.next){var s=r.data;var o=e>s.length?s.length:e;s.copy(n,n.length-e,0,o);e-=o;if(e===0){if(o===s.length){++i;if(r.next)t.head=r.next;else t.head=t.tail=null}else{t.head=r;r.data=s.slice(o)}break}++i}t.length-=i;return n}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!t.endEmitted){t.ended=true;r.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit("end")}}function indexOf(e,t){for(var n=0,r=e.length;n{"use strict";e.exports=Transform;var r=n(81959);var i=Object.create(n(93349));i.inherits=n(28309);i.inherits(Transform,r);function afterTransform(e,t){var n=this._transformState;n.transforming=false;var r=n.writecb;if(!r){return this.emit("error",new Error("write callback called multiple times"))}n.writechunk=null;n.writecb=null;if(t!=null)this.push(t);r(e);var i=this._readableState;i.reading=false;if(i.needReadable||i.length{"use strict";var r=n(50411);e.exports=Writable;function WriteReq(e,t,n){this.chunk=e;this.encoding=t;this.callback=n;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var i=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:r.nextTick;var s;Writable.WritableState=WritableState;var o=Object.create(n(93349));o.inherits=n(28309);var a={deprecate:n(95791)};var c=n(99837);var u=n(22560).Buffer;var l=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return u.from(e)}function _isUint8Array(e){return u.isBuffer(e)||e instanceof l}var f=n(22535);o.inherits(Writable,c);function nop(){}function WritableState(e,t){s=s||n(81959);e=e||{};var r=t instanceof s;this.objectMode=!!e.objectMode;if(r)this.objectMode=this.objectMode||!!e.writableObjectMode;var i=e.highWaterMark;var o=e.writableHighWaterMark;var a=this.objectMode?16:16*1024;if(i||i===0)this.highWaterMark=i;else if(r&&(o||o===0))this.highWaterMark=o;else this.highWaterMark=a;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var c=e.decodeStrings===false;this.decodeStrings=!c;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:a.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var p;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){p=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(p.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{p=function(e){return e instanceof this}}function Writable(e){s=s||n(81959);if(!p.call(Writable,this)&&!(this instanceof s)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}c.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,t){var n=new Error("write after end");e.emit("error",n);r.nextTick(t,n)}function validChunk(e,t,n,i){var s=true;var o=false;if(n===null){o=new TypeError("May not write null values to stream")}else if(typeof n!=="string"&&n!==undefined&&!t.objectMode){o=new TypeError("Invalid non-string/buffer chunk")}if(o){e.emit("error",o);r.nextTick(i,o);s=false}return s}Writable.prototype.write=function(e,t,n){var r=this._writableState;var i=false;var s=!r.objectMode&&_isUint8Array(e);if(s&&!u.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t==="function"){n=t;t=null}if(s)t="buffer";else if(!t)t=r.defaultEncoding;if(typeof n!=="function")n=nop;if(r.ended)writeAfterEnd(this,n);else if(s||validChunk(this,r,e,n)){r.pendingcb++;i=writeOrBuffer(this,r,s,e,t,n)}return i};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,t,n){if(!e.objectMode&&e.decodeStrings!==false&&typeof t==="string"){t=u.from(t,n)}return t}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,n,r,i,s){if(!n){var o=decodeChunk(t,r,i);if(r!==o){n=true;i="buffer";r=o}}var a=t.objectMode?1:r.length;t.length+=a;var c=t.length{"use strict";function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var r=n(22560).Buffer;var i=n(31669);function copyBuffer(e,t,n){e.copy(t,n)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length};BufferList.prototype.unshift=function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var t=this.head;var n=""+t.data;while(t=t.next){n+=e+t.data}return n};BufferList.prototype.concat=function concat(e){if(this.length===0)return r.alloc(0);if(this.length===1)return this.head.data;var t=r.allocUnsafe(e>>>0);var n=this.head;var i=0;while(n){copyBuffer(n.data,t,i);i+=n.data.length;n=n.next}return t};return BufferList}();if(i&&i.inspect&&i.inspect.custom){e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e}}},22535:(e,t,n)=>{"use strict";var r=n(50411);function destroy(e,t){var n=this;var i=this._readableState&&this._readableState.destroyed;var s=this._writableState&&this._writableState.destroyed;if(i||s){if(t){t(e)}else if(e&&(!this._writableState||!this._writableState.errorEmitted)){r.nextTick(emitErrorNT,this,e)}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,function(e){if(!t&&e){r.nextTick(emitErrorNT,n,e);if(n._writableState){n._writableState.errorEmitted=true}}else if(t){t(e)}});return this}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit("error",t)}e.exports={destroy:destroy,undestroy:undestroy}},99837:(e,t,n)=>{e.exports=n(92413)},22560:(e,t,n)=>{var r=n(64293);var i=r.Buffer;function copyProps(e,t){for(var n in e){t[n]=e[n]}}if(i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow){e.exports=r}else{copyProps(r,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,n){return i(e,t,n)}copyProps(i,SafeBuffer);SafeBuffer.from=function(e,t,n){if(typeof e==="number"){throw new TypeError("Argument must not be a number")}return i(e,t,n)};SafeBuffer.alloc=function(e,t,n){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}var r=i(e);if(t!==undefined){if(typeof n==="string"){r.fill(t,n)}else{r.fill(t)}}else{r.fill(0)}return r};SafeBuffer.allocUnsafe=function(e){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}return i(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}return r.SlowBuffer(e)}},80147:(e,t,n)=>{"use strict";var r=n(22560).Buffer;var i=r.isEncoding||function(e){e=""+e;switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(e){if(!e)return"utf8";var t;while(true){switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!=="string"&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}t.s=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;t=4;break;case"utf8":this.fillLast=utf8FillLast;t=4;break;case"base64":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=r.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return"";var t;var n;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return"";n=this.lastNeed;this.lastNeed=0}else{n=0}if(n>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,n){var r=t.length-1;if(r=0){if(i>0)e.lastNeed=i-1;return i}if(--r=0){if(i>0)e.lastNeed=i-2;return i}if(--r=0){if(i>0){if(i===2)i=0;else e.lastNeed=i-3}return i}return 0}function utf8CheckExtraBytes(e,t,n){if((t[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var n=utf8CheckExtraBytes(this,e,t);if(n!==undefined)return n;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var n=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);e.copy(this.lastChar,0,r);return e.toString("utf8",t,r)}function utf8End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+"�";return t}function utf16Text(e,t){if((e.length-t)%2===0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return n.slice(0,-1)}}return n}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function base64Text(e,t){var n=(e.length-t)%3;if(n===0)return e.toString("base64",t);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",t,e.length-n)}function base64End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+this.lastChar.toString("base64",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},32453:(e,t,n)=>{var r=n(92413);if(process.env.READABLE_STREAM==="disable"&&r){e.exports=r;t=e.exports=r.Readable;t.Readable=r.Readable;t.Writable=r.Writable;t.Duplex=r.Duplex;t.Transform=r.Transform;t.PassThrough=r.PassThrough;t.Stream=r}else{t=e.exports=n(97469);t.Stream=r||t;t.Readable=t;t.Writable=n(97867);t.Duplex=n(81959);t.Transform=n(77837);t.PassThrough=n(54021)}},47030:(e,t,n)=>{var r=n(54800);var i=n(42911);i.core=r;i.isCore=function isCore(e){return r[e]};i.sync=n(4893);t=i;e.exports=i},42911:(e,t,n)=>{var r=n(54800);var i=n(35747);var s=n(85622);var o=n(25297);var a=n(1680);var c=n(83034);var u=function isFile(e,t){i.stat(e,function(e,n){if(!e){return t(null,n.isFile()||n.isFIFO())}if(e.code==="ENOENT"||e.code==="ENOTDIR")return t(null,false);return t(e)})};var l=function isDirectory(e,t){i.stat(e,function(e,n){if(!e){return t(null,n.isDirectory())}if(e.code==="ENOENT"||e.code==="ENOTDIR")return t(null,false);return t(e)})};e.exports=function resolve(e,t,n){var f=n;var p=t;if(typeof t==="function"){f=p;p={}}if(typeof e!=="string"){var d=new TypeError("Path must be a string.");return process.nextTick(function(){f(d)})}p=c(e,p);var h=p.isFile||u;var m=p.isDirectory||l;var g=p.readFile||i.readFile;var y=p.extensions||[".js"];var v=p.basedir||s.dirname(o());var _=p.filename||v;p.paths=p.paths||[];var b=s.resolve(v);if(p.preserveSymlinks===false){i.realpath(b,function(e,t){if(e&&e.code!=="ENOENT")f(d);else init(e?b:t)})}else{init(b)}var E;function init(t){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){E=s.resolve(t,e);if(e===".."||e.slice(-1)==="/")E+="/";if(/\/$/.test(e)&&E===t){loadAsDirectory(E,p.package,onfile)}else loadAsFile(E,p.package,onfile)}else loadNodeModules(e,t,function(t,n,i){if(t)f(t);else if(r[e])return f(null,e);else if(n)f(null,n,i);else{var s=new Error("Cannot find module '"+e+"' from '"+_+"'");s.code="MODULE_NOT_FOUND";f(s)}})}function onfile(t,n,r){if(t)f(t);else if(n)f(null,n,r);else loadAsDirectory(E,function(t,n,r){if(t)f(t);else if(n)f(null,n,r);else{var i=new Error("Cannot find module '"+e+"' from '"+_+"'");i.code="MODULE_NOT_FOUND";f(i)}})}function loadAsFile(e,t,n){var r=t;var i=n;if(typeof r==="function"){i=r;r=undefined}var o=[""].concat(y);load(o,e,r);function load(e,t,n){if(e.length===0)return i(null,undefined,n);var r=t+e[0];var o=n;if(o)onpkg(null,o);else loadpkg(s.dirname(r),onpkg);function onpkg(n,a,c){o=a;if(n)return i(n);if(c&&o&&p.pathFilter){var u=s.relative(c,r);var l=u.slice(0,u.length-e[0].length);var f=p.pathFilter(o,t,l);if(f)return load([""].concat(y.slice()),s.resolve(c,f),o)}h(r,onex)}function onex(n,s){if(n)return i(n);if(s)return i(null,r,o);load(e.slice(1),t,o)}}}function loadpkg(e,t){if(e===""||e==="/")return t(null);if(process.platform==="win32"&&/^\w:[/\\]*$/.test(e)){return t(null)}if(/[/\\]node_modules[/\\]*$/.test(e))return t(null);var n=s.join(e,"package.json");h(n,function(r,i){if(!i)return loadpkg(s.dirname(e),t);g(n,function(r,i){if(r)t(r);try{var s=JSON.parse(i)}catch(e){}if(s&&p.packageFilter){s=p.packageFilter(s,n)}t(null,s,e)})})}function loadAsDirectory(e,t,n){var r=n;var i=t;if(typeof i==="function"){r=i;i=p.package}var o=s.join(e,"package.json");h(o,function(t,n){if(t)return r(t);if(!n)return loadAsFile(s.join(e,"index"),i,r);g(o,function(t,n){if(t)return r(t);try{var i=JSON.parse(n)}catch(e){}if(p.packageFilter){i=p.packageFilter(i,o)}if(i.main){if(typeof i.main!=="string"){var a=new TypeError("package “"+i.name+"” `main` must be a string");a.code="INVALID_PACKAGE_MAIN";return r(a)}if(i.main==="."||i.main==="./"){i.main="index"}loadAsFile(s.resolve(e,i.main),i,function(t,n,i){if(t)return r(t);if(n)return r(null,n,i);if(!i)return loadAsFile(s.join(e,"index"),i,r);var o=s.resolve(e,i.main);loadAsDirectory(o,i,function(t,n,i){if(t)return r(t);if(n)return r(null,n,i);loadAsFile(s.join(e,"index"),i,r)})});return}loadAsFile(s.join(e,"/index"),i,r)})})}function processDirs(t,n){if(n.length===0)return t(null,undefined);var r=n[0];m(r,isdir);function isdir(i,o){if(i)return t(i);if(!o)return processDirs(t,n.slice(1));var a=s.join(r,e);loadAsFile(a,p.package,onfile)}function onfile(n,i,o){if(n)return t(n);if(i)return t(null,i,o);loadAsDirectory(s.join(r,e),p.package,ondir)}function ondir(e,r,i){if(e)return t(e);if(r)return t(null,r,i);processDirs(t,n.slice(1))}}function loadNodeModules(e,t,n){processDirs(n,a(t,p,e))}}},25297:e=>{e.exports=function(){var e=Error.prepareStackTrace;Error.prepareStackTrace=function(e,t){return t};var t=(new Error).stack;Error.prepareStackTrace=e;return t[2].getFileName()}},54800:(e,t,n)=>{var r=process.versions&&process.versions.node&&process.versions.node.split(".")||[];function specifierIncluded(e){var t=e.split(" ");var n=t.length>1?t[0]:"=";var i=(t.length>1?t[1]:t[0]).split(".");for(var s=0;s<3;++s){var o=Number(r[s]||0);var a=Number(i[s]||0);if(o===a){continue}if(n==="<"){return o="){return o>=a}else{return false}}return n===">="}function matchesRange(e){var t=e.split(/ ?&& ?/);if(t.length===0){return false}for(var n=0;n{var r=n(85622);var i=r.parse||n(75522);var s=function getNodeModulesDirs(e,t){var n="/";if(/^([A-Za-z]:)/.test(e)){n=""}else if(/^\\\\/.test(e)){n="\\\\"}var s=[e];var o=i(e);while(o.dir!==s[s.length-1]){s.push(o.dir);o=i(o.dir)}return s.reduce(function(e,i){return e.concat(t.map(function(e){return r.resolve(n,i,e)}))},[])};e.exports=function nodeModulesPaths(e,t,n){var r=t&&t.moduleDirectory?[].concat(t.moduleDirectory):["node_modules"];if(t&&typeof t.paths==="function"){return t.paths(n,e,function(){return s(e,r)},t)}var i=s(e,r);return t&&t.paths?i.concat(t.paths):i}},83034:e=>{e.exports=function(e,t){return t||{}}},4893:(e,t,n)=>{var r=n(54800);var i=n(35747);var s=n(85622);var o=n(25297);var a=n(1680);var c=n(83034);var u=function isFile(e){try{var t=i.statSync(e)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR"))return false;throw e}return t.isFile()||t.isFIFO()};var l=function isDirectory(e){try{var t=i.statSync(e)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR"))return false;throw e}return t.isDirectory()};e.exports=function(e,t){if(typeof e!=="string"){throw new TypeError("Path must be a string.")}var n=c(e,t);var f=n.isFile||u;var p=n.readFileSync||i.readFileSync;var d=n.isDirectory||l;var h=n.extensions||[".js"];var m=n.basedir||s.dirname(o());var g=n.filename||m;n.paths=n.paths||[];var y=s.resolve(m);if(n.preserveSymlinks===false){try{y=i.realpathSync(y)}catch(e){if(e.code!=="ENOENT"){throw e}}}if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){var v=s.resolve(y,e);if(e===".."||e.slice(-1)==="/")v+="/";var _=loadAsFileSync(v)||loadAsDirectorySync(v);if(_)return _}else if(r[e]){return e}else{var b=loadNodeModulesSync(e,y);if(b)return b}if(r[e])return e;var E=new Error("Cannot find module '"+e+"' from '"+g+"'");E.code="MODULE_NOT_FOUND";throw E;function loadAsFileSync(e){var t=loadpkg(s.dirname(e));if(t&&t.dir&&t.pkg&&n.pathFilter){var r=s.relative(t.dir,e);var i=n.pathFilter(t.pkg,e,r);if(i){e=s.resolve(t.dir,i)}}if(f(e)){return e}for(var o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;const{stringHints:r,numberHints:i}=n(47961);const s={type:1,not:1,oneOf:1,anyOf:1,if:1,enum:1,const:1,instanceof:1,required:2,pattern:2,patternRequired:2,format:2,formatMinimum:2,formatMaximum:2,minimum:2,exclusiveMinimum:2,maximum:2,exclusiveMaximum:2,multipleOf:2,uniqueItems:2,contains:2,minLength:2,maxLength:2,minItems:2,maxItems:2,minProperties:2,maxProperties:2,dependencies:2,propertyNames:2,additionalItems:2,additionalProperties:2,absolutePath:2};function filterMax(e,t){const n=e.reduce((e,n)=>Math.max(e,t(n)),0);return e.filter(e=>t(e)===n)}function filterChildren(e){let t=e;t=filterMax(t,e=>e.dataPath?e.dataPath.length:0);t=filterMax(t,e=>s[e.keyword]||2);return t}function findAllChildren(e,t){let n=e.length-1;const r=t=>e[n].schemaPath.indexOf(t)!==0;while(n>-1&&!t.every(r)){if(e[n].keyword==="anyOf"||e[n].keyword==="oneOf"){const t=extractRefs(e[n]);const r=findAllChildren(e.slice(0,n),t.concat(e[n].schemaPath));n=r-1}else{n-=1}}return n+1}function extractRefs(e){const{schema:t}=e;if(!Array.isArray(t)){return[]}return t.map(({$ref:e})=>e).filter(e=>e)}function groupChildrenByFirstChild(e){const t=[];let n=e.length-1;while(n>0){const r=e[n];if(r.keyword==="anyOf"||r.keyword==="oneOf"){const i=extractRefs(r);const s=findAllChildren(e.slice(0,n),i.concat(r.schemaPath));if(s!==n){t.push(Object.assign({},r,{children:e.slice(s,n)}));n=s}else{t.push(r)}}else{t.push(r)}n-=1}if(n===0){t.push(e[n])}return t.reverse()}function indent(e,t){return e.replace(/\n(?!$)/g,`\n${t}`)}function hasNotInSchema(e){return!!e.not}function findFirstTypedSchema(e){if(hasNotInSchema(e)){return findFirstTypedSchema(e.not)}return e}function canApplyNot(e){const t=findFirstTypedSchema(e);return likeNumber(t)||likeInteger(t)||likeString(t)||likeNull(t)||likeBoolean(t)}function isObject(e){return typeof e==="object"&&e!==null}function likeNumber(e){return e.type==="number"||typeof e.minimum!=="undefined"||typeof e.exclusiveMinimum!=="undefined"||typeof e.maximum!=="undefined"||typeof e.exclusiveMaximum!=="undefined"||typeof e.multipleOf!=="undefined"}function likeInteger(e){return e.type==="integer"||typeof e.minimum!=="undefined"||typeof e.exclusiveMinimum!=="undefined"||typeof e.maximum!=="undefined"||typeof e.exclusiveMaximum!=="undefined"||typeof e.multipleOf!=="undefined"}function likeString(e){return e.type==="string"||typeof e.minLength!=="undefined"||typeof e.maxLength!=="undefined"||typeof e.pattern!=="undefined"||typeof e.format!=="undefined"||typeof e.formatMinimum!=="undefined"||typeof e.formatMaximum!=="undefined"}function likeBoolean(e){return e.type==="boolean"}function likeArray(e){return e.type==="array"||typeof e.minItems==="number"||typeof e.maxItems==="number"||typeof e.uniqueItems!=="undefined"||typeof e.items!=="undefined"||typeof e.additionalItems!=="undefined"||typeof e.contains!=="undefined"}function likeObject(e){return e.type==="object"||typeof e.minProperties!=="undefined"||typeof e.maxProperties!=="undefined"||typeof e.required!=="undefined"||typeof e.properties!=="undefined"||typeof e.patternProperties!=="undefined"||typeof e.additionalProperties!=="undefined"||typeof e.dependencies!=="undefined"||typeof e.propertyNames!=="undefined"||typeof e.patternRequired!=="undefined"}function likeNull(e){return e.type==="null"}function getArticle(e){if(/^[aeiou]/i.test(e)){return"an"}return"a"}function getSchemaNonTypes(e){if(!e){return""}if(!e.type){if(likeNumber(e)||likeInteger(e)){return" | should be any non-number"}if(likeString(e)){return" | should be any non-string"}if(likeArray(e)){return" | should be any non-array"}if(likeObject(e)){return" | should be any non-object"}}return""}function formatHints(e){return e.length>0?`(${e.join(", ")})`:""}function getHints(e,t){if(likeNumber(e)||likeInteger(e)){return i(e,t)}else if(likeString(e)){return r(e,t)}return[]}class ValidationError extends Error{constructor(e,t,n={}){super();this.name="ValidationError";this.errors=e;this.schema=t;let r;let i;if(t.title&&(!n.name||!n.baseDataPath)){const e=t.title.match(/^(.+) (.+)$/);if(e){if(!n.name){[,r]=e}if(!n.baseDataPath){[,,i]=e}}}this.headerName=n.name||r||"Object";this.baseDataPath=n.baseDataPath||i||"configuration";this.postFormatter=n.postFormatter||null;const s=`Invalid ${this.baseDataPath} object. ${this.headerName} has been initialized using ${getArticle(this.baseDataPath)} ${this.baseDataPath} object that does not match the API schema.\n`;this.message=`${s}${this.formatValidationErrors(e)}`;Error.captureStackTrace(this,this.constructor)}getSchemaPart(e){const t=e.split("/");let n=this.schema;for(let e=1;e{if(!i){return this.formatSchema(t,r,n)}if(n.includes(t)){return"(recursive)"}return this.formatSchema(t,r,n.concat(e))};if(hasNotInSchema(e)&&!likeObject(e)){if(canApplyNot(e.not)){r=!t;return i(e.not)}const n=!e.not.not;const s=t?"":"non ";r=!t;return n?s+i(e.not):i(e.not)}if(e.instanceof){const{instanceof:t}=e;const n=!Array.isArray(t)?[t]:t;return n.map(e=>e==="Function"?"function":e).join(" | ")}if(e.enum){return e.enum.map(e=>JSON.stringify(e)).join(" | ")}if(typeof e.const!=="undefined"){return JSON.stringify(e.const)}if(e.oneOf){return e.oneOf.map(e=>i(e,true)).join(" | ")}if(e.anyOf){return e.anyOf.map(e=>i(e,true)).join(" | ")}if(e.allOf){return e.allOf.map(e=>i(e,true)).join(" & ")}if(e.if){const{if:t,then:n,else:r}=e;return`${t?`if ${i(t)}`:""}${n?` then ${i(n)}`:""}${r?` else ${i(r)}`:""}`}if(e.$ref){return i(this.getSchemaPart(e.$ref),true)}if(likeNumber(e)||likeInteger(e)){const[n,...r]=getHints(e,t);const i=`${n}${r.length>0?` ${formatHints(r)}`:""}`;return t?i:r.length>0?`non-${n} | ${i}`:`non-${n}`}if(likeString(e)){const[n,...r]=getHints(e,t);const i=`${n}${r.length>0?` ${formatHints(r)}`:""}`;return t?i:i==="string"?"non-string":`non-string | ${i}`}if(likeBoolean(e)){return`${t?"":"non-"}boolean`}if(likeArray(e)){r=true;const t=[];if(typeof e.minItems==="number"){t.push(`should not have fewer than ${e.minItems} item${e.minItems>1?"s":""}`)}if(typeof e.maxItems==="number"){t.push(`should not have more than ${e.maxItems} item${e.maxItems>1?"s":""}`)}if(e.uniqueItems){t.push("should not have duplicate items")}const n=typeof e.additionalItems==="undefined"||Boolean(e.additionalItems);let s="";if(e.items){if(Array.isArray(e.items)&&e.items.length>0){s=`${e.items.map(e=>i(e)).join(", ")}`;if(n){if(e.additionalItems&&isObject(e.additionalItems)&&Object.keys(e.additionalItems).length>0){t.push(`additional items should be ${i(e.additionalItems)}`)}}}else if(e.items&&Object.keys(e.items).length>0){s=`${i(e.items)}`}else{s="any"}}else{s="any"}if(e.contains&&Object.keys(e.contains).length>0){t.push(`should contains at least one ${this.formatSchema(e.contains)} item`)}return`[${s}${n?", ...":""}]${t.length>0?` (${t.join(", ")})`:""}`}if(likeObject(e)){r=true;const t=[];if(typeof e.minProperties==="number"){t.push(`should not have fewer than ${e.minProperties} ${e.minProperties>1?"properties":"property"}`)}if(typeof e.maxProperties==="number"){t.push(`should not have more than ${e.maxProperties} ${e.minProperties&&e.minProperties>1?"properties":"property"}`)}if(e.patternProperties&&Object.keys(e.patternProperties).length>0){const n=Object.keys(e.patternProperties);t.push(`additional property names should match pattern${n.length>1?"s":""} ${n.map(e=>JSON.stringify(e)).join(" | ")}`)}const n=e.properties?Object.keys(e.properties):[];const s=e.required?e.required:[];const o=[...new Set([].concat(s).concat(n))];const a=o.map(e=>{const t=s.includes(e);return`${e}${t?"":"?"}`}).concat(typeof e.additionalProperties==="undefined"||Boolean(e.additionalProperties)?e.additionalProperties&&isObject(e.additionalProperties)?[`: ${i(e.additionalProperties)}`]:["…"]:[]).join(", ");const{dependencies:c,propertyNames:u,patternRequired:l}=e;if(c){Object.keys(c).forEach(e=>{const n=c[e];if(Array.isArray(n)){t.push(`should have ${n.length>1?"properties":"property"} ${n.map(e=>`'${e}'`).join(", ")} when property '${e}' is present`)}else{t.push(`should be valid according to the schema ${i(n)} when property '${e}' is present`)}})}if(u&&Object.keys(u).length>0){t.push(`each property name should match format ${JSON.stringify(e.propertyNames.format)}`)}if(l&&l.length>0){t.push(`should have property matching pattern ${l.map(e=>JSON.stringify(e))}`)}return`object {${a?` ${a} `:""}}${t.length>0?` (${t.join(", ")})`:""}`}if(likeNull(e)){return`${t?"":"non-"}null`}if(Array.isArray(e.type)){return`${e.type.join(" | ")}`}return JSON.stringify(e,null,2)}getSchemaPartText(e,t,n=false,r=true){if(!e){return""}if(Array.isArray(t)){for(let n=0;n ${e.description}`}return i}getSchemaPartDescription(e){if(!e){return""}while(e.$ref){e=this.getSchemaPart(e.$ref)}if(e.description){return`\n-> ${e.description}`}return""}formatValidationError(e){const{keyword:t,dataPath:n}=e;const r=`${this.baseDataPath}${n}`;switch(t){case"type":{const{parentSchema:t,params:n}=e;switch(n.type){case"number":return`${r} should be a ${this.getSchemaPartText(t,false,true)}`;case"integer":return`${r} should be a ${this.getSchemaPartText(t,false,true)}`;case"string":return`${r} should be a ${this.getSchemaPartText(t,false,true)}`;case"boolean":return`${r} should be a ${this.getSchemaPartText(t,false,true)}`;case"array":return`${r} should be an array:\n${this.getSchemaPartText(t)}`;case"object":return`${r} should be an object:\n${this.getSchemaPartText(t)}`;case"null":return`${r} should be a ${this.getSchemaPartText(t,false,true)}`;default:return`${r} should be:\n${this.getSchemaPartText(t)}`}}case"instanceof":{const{parentSchema:t}=e;return`${r} should be an instance of ${this.getSchemaPartText(t,false,true)}`}case"pattern":{const{params:t,parentSchema:n}=e;const{pattern:i}=t;return`${r} should match pattern ${JSON.stringify(i)}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"format":{const{params:t,parentSchema:n}=e;const{format:i}=t;return`${r} should match format ${JSON.stringify(i)}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"formatMinimum":case"formatMaximum":{const{params:t,parentSchema:n}=e;const{comparison:i,limit:s}=t;return`${r} should be ${i} ${JSON.stringify(s)}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"minimum":case"maximum":case"exclusiveMinimum":case"exclusiveMaximum":{const{parentSchema:t,params:n}=e;const{comparison:i,limit:s}=n;const[,...o]=getHints(t,true);if(o.length===0){o.push(`should be ${i} ${s}`)}return`${r} ${o.join(" ")}${getSchemaNonTypes(t)}.${this.getSchemaPartDescription(t)}`}case"multipleOf":{const{params:t,parentSchema:n}=e;const{multipleOf:i}=t;return`${r} should be multiple of ${i}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"patternRequired":{const{params:t,parentSchema:n}=e;const{missingPattern:i}=t;return`${r} should have property matching pattern ${JSON.stringify(i)}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"minLength":{const{params:t,parentSchema:n}=e;const{limit:i}=t;if(i===1){return`${r} should be an non-empty string${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}const s=i-1;return`${r} should be longer than ${s} character${s>1?"s":""}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"minItems":{const{params:t,parentSchema:n}=e;const{limit:i}=t;if(i===1){return`${r} should be an non-empty array${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}return`${r} should not have fewer than ${i} items${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"minProperties":{const{params:t,parentSchema:n}=e;const{limit:i}=t;if(i===1){return`${r} should be an non-empty object${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}return`${r} should not have fewer than ${i} properties${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"maxLength":{const{params:t,parentSchema:n}=e;const{limit:i}=t;const s=i+1;return`${r} should be shorter than ${s} character${s>1?"s":""}${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"maxItems":{const{params:t,parentSchema:n}=e;const{limit:i}=t;return`${r} should not have more than ${i} items${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"maxProperties":{const{params:t,parentSchema:n}=e;const{limit:i}=t;return`${r} should not have more than ${i} properties${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"uniqueItems":{const{params:t,parentSchema:n}=e;const{i:i}=t;return`${r} should not contain the item '${e.data[i]}' twice${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"additionalItems":{const{params:t,parentSchema:n}=e;const{limit:i}=t;return`${r} should not have more than ${i} items${getSchemaNonTypes(n)}. These items are valid:\n${this.getSchemaPartText(n)}`}case"contains":{const{parentSchema:t}=e;return`${r} should contains at least one ${this.getSchemaPartText(t,["contains"])} item${getSchemaNonTypes(t)}.`}case"required":{const{parentSchema:t,params:n}=e;const i=n.missingProperty.replace(/^\./,"");const s=t&&Boolean(t.properties&&t.properties[i]);return`${r} misses the property '${i}'${getSchemaNonTypes(t)}.${s?` Should be:\n${this.getSchemaPartText(t,["properties",i])}`:this.getSchemaPartDescription(t)}`}case"additionalProperties":{const{params:t,parentSchema:n}=e;const{additionalProperty:i}=t;return`${r} has an unknown property '${i}'${getSchemaNonTypes(n)}. These properties are valid:\n${this.getSchemaPartText(n)}`}case"dependencies":{const{params:t,parentSchema:n}=e;const{property:i,deps:s}=t;const o=s.split(",").map(e=>`'${e.trim()}'`).join(", ");return`${r} should have properties ${o} when property '${i}' is present${getSchemaNonTypes(n)}.${this.getSchemaPartDescription(n)}`}case"propertyNames":{const{params:t,parentSchema:n,schema:i}=e;const{propertyName:s}=t;return`${r} property name '${s}' is invalid${getSchemaNonTypes(n)}. Property names should be match format ${JSON.stringify(i.format)}.${this.getSchemaPartDescription(n)}`}case"enum":{const{parentSchema:t}=e;if(t&&t.enum&&t.enum.length===1){return`${r} should be ${this.getSchemaPartText(t,false,true)}`}return`${r} should be one of these:\n${this.getSchemaPartText(t)}`}case"const":{const{parentSchema:t}=e;return`${r} should be equal to constant ${this.getSchemaPartText(t,false,true)}`}case"not":{const t=likeObject(e.parentSchema)?`\n${this.getSchemaPartText(e.parentSchema)}`:"";const n=this.getSchemaPartText(e.schema,false,false,false);if(canApplyNot(e.schema)){return`${r} should be any ${n}${t}.`}const{schema:i,parentSchema:s}=e;return`${r} should not be ${this.getSchemaPartText(i,false,true)}${s&&likeObject(s)?`\n${this.getSchemaPartText(s)}`:""}`}case"oneOf":case"anyOf":{const{parentSchema:t,children:n}=e;if(n&&n.length>0){if(e.schema.length===1){const e=n[n.length-1];const r=n.slice(0,n.length-1);return this.formatValidationError(Object.assign({},e,{children:r,parentSchema:Object.assign({},t,e.parentSchema)}))}let i=filterChildren(n);if(i.length===1){return this.formatValidationError(i[0])}i=groupChildrenByFirstChild(i);return`${r} should be one of these:\n${this.getSchemaPartText(t)}\nDetails:\n${i.map(e=>` * ${indent(this.formatValidationError(e)," ")}`).join("\n")}`}return`${r} should be one of these:\n${this.getSchemaPartText(t)}`}case"if":{const{params:t,parentSchema:n}=e;const{failingKeyword:i}=t;return`${r} should match "${i}" schema:\n${this.getSchemaPartText(n,[i])}`}case"absolutePath":{const{message:t,parentSchema:n}=e;return`${r}: ${t}${this.getSchemaPartDescription(n)}`}default:{const{message:t,parentSchema:n}=e;const i=JSON.stringify(e,null,2);return`${r} ${t} (${i}).\n${this.getSchemaPartText(n,false)}`}}}formatValidationErrors(e){return e.map(e=>{let t=this.formatValidationError(e);if(this.postFormatter){t=this.postFormatter(t,e)}return` - ${indent(t," ")}`}).join("\n")}}var o=ValidationError;t.default=o},15235:(e,t,n)=>{"use strict";const r=n(18110);e.exports=r.default},77102:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;function errorMessage(e,t,n){return{dataPath:undefined,schemaPath:undefined,keyword:"absolutePath",params:{absolutePath:n},message:e,parentSchema:t}}function getErrorFor(e,t,n){const r=e?`The provided value ${JSON.stringify(n)} is not an absolute path!`:`A relative path is expected. However, the provided value ${JSON.stringify(n)} is an absolute path!`;return errorMessage(r,t,n)}function addAbsolutePathKeyword(e){e.addKeyword("absolutePath",{errors:true,type:"string",compile(e,t){const n=r=>{let i=true;const s=r.includes("!");if(s){n.errors=[errorMessage(`The provided value ${JSON.stringify(r)} contains exclamation mark (!) which is not allowed because it's reserved for loader syntax.`,t,r)];i=false}const o=e===/^(?:[A-Za-z]:(\\|\/)|\\\\|\/)/.test(r);if(!o){n.errors=[getErrorFor(e,t,r)];i=false}return i};n.errors=[];return n}});return e}var n=addAbsolutePathKeyword;t.default=n},95855:e=>{"use strict";class Range{static getOperator(e,t){if(e==="left"){return t?">":">="}return t?"<":"<="}static formatRight(e,t,n){if(t===false){return Range.formatLeft(e,!t,!n)}return`should be ${Range.getOperator("right",n)} ${e}`}static formatLeft(e,t,n){if(t===false){return Range.formatRight(e,!t,!n)}return`should be ${Range.getOperator("left",n)} ${e}`}static formatRange(e,t,n,r,i){let s="should be";s+=` ${Range.getOperator(i?"left":"right",i?n:!n)} ${e} `;s+=i?"and":"or";s+=` ${Range.getOperator(i?"right":"left",i?r:!r)} ${t}`;return s}static getRangeValue(e,t){let n=t?Infinity:-Infinity;let r=-1;const i=t?([e])=>e<=n:([e])=>e>=n;for(let t=0;t-1){return e[r]}return[Infinity,true]}constructor(){this._left=[];this._right=[]}left(e,t=false){this._left.push([e,t])}right(e,t=false){this._right.push([e,t])}format(e=true){const[t,n]=Range.getRangeValue(this._left,e);const[r,i]=Range.getRangeValue(this._right,!e);if(!Number.isFinite(t)&&!Number.isFinite(r)){return""}const s=n?t+1:t;const o=i?r-1:r;if(s===o){return`should be ${e?"":"!"}= ${s}`}if(Number.isFinite(t)&&!Number.isFinite(r)){return Range.formatLeft(t,e,n)}if(!Number.isFinite(t)&&Number.isFinite(r)){return Range.formatRight(r,e,i)}return Range.formatRange(t,r,n,i,e)}}e.exports=Range},47961:(e,t,n)=>{"use strict";const r=n(95855);e.exports.stringHints=function stringHints(e,t){const n=[];let r="string";const i={...e};if(!t){const e=i.minLength;const t=i.formatMinimum;const n=i.formatExclusiveMaximum;i.minLength=i.maxLength;i.maxLength=e;i.formatMinimum=i.formatMaximum;i.formatMaximum=t;i.formatExclusiveMaximum=!i.formatExclusiveMinimum;i.formatExclusiveMinimum=!n}if(typeof i.minLength==="number"){if(i.minLength===1){r="non-empty string"}else{const e=Math.max(i.minLength-1,0);n.push(`should be longer than ${e} character${e>1?"s":""}`)}}if(typeof i.maxLength==="number"){if(i.maxLength===0){r="empty string"}else{const e=i.maxLength+1;n.push(`should be shorter than ${e} character${e>1?"s":""}`)}}if(i.pattern){n.push(`should${t?"":" not"} match pattern ${JSON.stringify(i.pattern)}`)}if(i.format){n.push(`should${t?"":" not"} match format ${JSON.stringify(i.format)}`)}if(i.formatMinimum){n.push(`should be ${i.formatExclusiveMinimum?">":">="} ${JSON.stringify(i.formatMinimum)}`)}if(i.formatMaximum){n.push(`should be ${i.formatExclusiveMaximum?"<":"<="} ${JSON.stringify(i.formatMaximum)}`)}return[r].concat(n)};e.exports.numberHints=function numberHints(e,t){const n=[e.type==="integer"?"integer":"number"];const i=new r;if(typeof e.minimum==="number"){i.left(e.minimum)}if(typeof e.exclusiveMinimum==="number"){i.left(e.exclusiveMinimum,true)}if(typeof e.maximum==="number"){i.right(e.maximum)}if(typeof e.exclusiveMaximum==="number"){i.right(e.exclusiveMaximum,true)}const s=i.format(t);if(s){n.push(s)}if(typeof e.multipleOf==="number"){n.push(`should${t?"":" not"} be multiple of ${e.multipleOf}`)}return n}},18110:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(33866));var i=_interopRequireDefault(n(35525));var s=_interopRequireDefault(n(77102));var o=_interopRequireDefault(n(24672));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const a=new r.default({allErrors:true,verbose:true,$data:true});(0,i.default)(a,["instanceof","formatMinimum","formatMaximum","patternRequired"]);(0,s.default)(a);function validate(e,t,n){let r=[];if(Array.isArray(t)){r=Array.from(t,t=>validateObject(e,t));r.forEach((e,t)=>{const n=e=>{e.dataPath=`[${t}]${e.dataPath}`;if(e.children){e.children.forEach(n)}};e.forEach(n)});r=r.reduce((e,t)=>{e.push(...t);return e},[])}else{r=validateObject(e,t)}if(r.length>0){throw new o.default(r,e,n)}}function validateObject(e,t){const n=a.compile(e);const r=n(t);if(r)return[];return n.errors?filterErrors(n.errors):[]}function filterErrors(e){let t=[];for(const n of e){const{dataPath:e}=n;let r=[];t=t.filter(t=>{if(t.dataPath.includes(e)){if(t.children){r=r.concat(t.children.slice(0))}t.children=undefined;r.push(t);return false}return true});if(r.length){n.children=r}t.push(n)}return t}validate.ValidationError=o.default;validate.ValidateError=o.default;var c=validate;t.default=c},27746:(e,t,n)=>{"use strict";const r=n(1226).y;const i=n(1226).P;class CodeNode{constructor(e){this.generatedCode=e}clone(){return new CodeNode(this.generatedCode)}getGeneratedCode(){return this.generatedCode}getMappings(e){const t=r(this.generatedCode);const n=Array(t+1).join(";");if(t>0){e.unfinishedGeneratedLine=i(this.generatedCode);if(e.unfinishedGeneratedLine>0){return n+"A"}else{return n}}else{const t=e.unfinishedGeneratedLine;e.unfinishedGeneratedLine+=i(this.generatedCode);if(t===0&&e.unfinishedGeneratedLine>0){return"A"}else{return""}}}addGeneratedCode(e){this.generatedCode+=e}mapGeneratedCode(e){const t=e(this.generatedCode);return new CodeNode(t)}getNormalizedNodes(){return[this]}merge(e){if(e instanceof CodeNode){this.generatedCode+=e.generatedCode;return this}return false}}e.exports=CodeNode},30047:e=>{"use strict";class MappingsContext{constructor(){this.sourcesIndices=new Map;this.sourcesContent=new Map;this.hasSourceContent=false;this.currentOriginalLine=1;this.currentSource=0;this.unfinishedGeneratedLine=false}ensureSource(e,t){let n=this.sourcesIndices.get(e);if(typeof n==="number"){return n}n=this.sourcesIndices.size;this.sourcesIndices.set(e,n);this.sourcesContent.set(e,t);if(typeof t==="string")this.hasSourceContent=true;return n}getArrays(){const e=[];const t=[];for(const n of this.sourcesContent){e.push(n[0]);t.push(n[1])}return{sources:e,sourcesContent:t}}}e.exports=MappingsContext},86979:(e,t,n)=>{"use strict";const r=n(37788);const i=n(1226).y;const s=n(1226).P;const o=";AAAA";class SingleLineNode{constructor(e,t,n,r){this.generatedCode=e;this.originalSource=n;this.source=t;this.line=r||1;this._numberOfLines=i(this.generatedCode);this._endsWithNewLine=e[e.length-1]==="\n"}clone(){return new SingleLineNode(this.generatedCode,this.source,this.originalSource,this.line)}getGeneratedCode(){return this.generatedCode}getMappings(e){if(!this.generatedCode)return"";const t=this._numberOfLines;const n=e.ensureSource(this.source,this.originalSource);let i="A";if(e.unfinishedGeneratedLine)i=","+r.encode(e.unfinishedGeneratedLine);i+=r.encode(n-e.currentSource);i+=r.encode(this.line-e.currentOriginalLine);i+="A";e.currentSource=n;e.currentOriginalLine=this.line;const a=e.unfinishedGeneratedLine=s(this.generatedCode);i+=Array(t).join(o);if(a===0){i+=";"}else{if(t!==0)i+=o}return i}getNormalizedNodes(){return[this]}mapGeneratedCode(e){const t=e(this.generatedCode);return new SingleLineNode(t,this.source,this.originalSource,this.line)}merge(e){if(e instanceof SingleLineNode){return this.mergeSingleLineNode(e)}return false}mergeSingleLineNode(e){if(this.source===e.source&&this.originalSource===e.originalSource){if(this.line===e.line){this.generatedCode+=e.generatedCode;this._numberOfLines+=e._numberOfLines;this._endsWithNewLine=e._endsWithNewLine;return this}else if(this.line+1===e.line&&this._endsWithNewLine&&this._numberOfLines===1&&e._numberOfLines<=1){return new a(this.generatedCode+e.generatedCode,this.source,this.originalSource,this.line)}}return false}}e.exports=SingleLineNode;const a=n(49043)},53273:(e,t,n)=>{"use strict";const r=n(27746);const i=n(49043);const s=n(30047);const o=n(1226).y;class SourceListMap{constructor(e,t,n){if(Array.isArray(e)){this.children=e}else{this.children=[];if(e||t)this.add(e,t,n)}}add(e,t,n){if(typeof e==="string"){if(t){this.children.push(new i(e,t,n))}else if(this.children.length>0&&this.children[this.children.length-1]instanceof r){this.children[this.children.length-1].addGeneratedCode(e)}else{this.children.push(new r(e))}}else if(e.getMappings&&e.getGeneratedCode){this.children.push(e)}else if(e.children){e.children.forEach(function(e){this.children.push(e)},this)}else{throw new Error("Invalid arguments to SourceListMap.protfotype.add: Expected string, Node or SourceListMap")}}preprend(e,t,n){if(typeof e==="string"){if(t){this.children.unshift(new i(e,t,n))}else if(this.children.length>0&&this.children[this.children.length-1].preprendGeneratedCode){this.children[this.children.length-1].preprendGeneratedCode(e)}else{this.children.unshift(new r(e))}}else if(e.getMappings&&e.getGeneratedCode){this.children.unshift(e)}else if(e.children){e.children.slice().reverse().forEach(function(e){this.children.unshift(e)},this)}else{throw new Error("Invalid arguments to SourceListMap.protfotype.prerend: Expected string, Node or SourceListMap")}}mapGeneratedCode(e){const t=[];this.children.forEach(function(e){e.getNormalizedNodes().forEach(function(e){t.push(e)})});const n=[];t.forEach(function(t){t=t.mapGeneratedCode(e);if(n.length===0){n.push(t)}else{const e=n[n.length-1];const r=e.merge(t);if(r){n[n.length-1]=r}else{n.push(t)}}});return new SourceListMap(n)}toString(){return this.children.map(function(e){return e.getGeneratedCode()}).join("")}toStringWithSourceMap(e){const t=new s;const n=this.children.map(function(e){return e.getGeneratedCode()}).join("");const r=this.children.map(function(e){return e.getMappings(t)}).join("");const i=t.getArrays();return{source:n,map:{version:3,file:e&&e.file,sources:i.sources,sourcesContent:t.hasSourceContent?i.sourcesContent:undefined,mappings:r}}}}e.exports=SourceListMap},49043:(e,t,n)=>{"use strict";const r=n(37788);const i=n(1226).y;const s=n(1226).P;const o=";AACA";class SourceNode{constructor(e,t,n,r){this.generatedCode=e;this.originalSource=n;this.source=t;this.startingLine=r||1;this._numberOfLines=i(this.generatedCode);this._endsWithNewLine=e[e.length-1]==="\n"}clone(){return new SourceNode(this.generatedCode,this.source,this.originalSource,this.startingLine)}getGeneratedCode(){return this.generatedCode}addGeneratedCode(e){this.generatedCode+=e;this._numberOfLines+=i(e);this._endsWithNewLine=e[e.length-1]==="\n"}getMappings(e){if(!this.generatedCode)return"";const t=this._numberOfLines;const n=e.ensureSource(this.source,this.originalSource);let i="A";if(e.unfinishedGeneratedLine)i=","+r.encode(e.unfinishedGeneratedLine);i+=r.encode(n-e.currentSource);i+=r.encode(this.startingLine-e.currentOriginalLine);i+="A";e.currentSource=n;e.currentOriginalLine=this.startingLine+t-1;const a=e.unfinishedGeneratedLine=s(this.generatedCode);i+=Array(t).join(o);if(a===0){i+=";"}else{if(t!==0){i+=o}e.currentOriginalLine++}return i}mapGeneratedCode(e){throw new Error("Cannot map generated code on a SourceMap. Normalize to SingleLineNode first.")}getNormalizedNodes(){var e=[];var t=this.startingLine;var n=this.generatedCode;var r=0;var i=n.length;while(r{var n={};var r={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){n[e]=t;r[t]=e});var i={};i.encode=function base64_encode(e){if(e in r){return r[e]}throw new TypeError("Must be between 0 and 63: "+e)};i.decode=function base64_decode(e){if(e in n){return n[e]}throw new TypeError("Not a valid base 64 digit: "+e)};var s=5;var o=1<>1;return t?-n:n}t.encode=function base64VLQ_encode(e){var t="";var n;var r=toVLQSigned(e);do{n=r&a;r>>>=s;if(r>0){n|=c}t+=i.encode(n)}while(r>0);return t};t.decode=function base64VLQ_decode(e,t){var n=0;var r=e.length;var o=0;var u=0;var l,f;do{if(n>=r){throw new Error("Expected more digits in base 64 VLQ value.")}f=i.decode(e.charAt(n++));l=!!(f&c);f&=a;o=o+(f<{"use strict";const r=n(37788);const i=n(49043);const s=n(27746);const o=n(53273);e.exports=function fromStringWithSourceMap(e,t){const n=t.sources;const a=t.sourcesContent;const c=t.mappings.split(";");const u=e.split("\n");const l=[];let f=null;let p=1;let d=0;let h;function addCode(e){if(f&&f instanceof s){f.addGeneratedCode(e)}else if(f&&f instanceof i&&!e.trim()){f.addGeneratedCode(e);h++}else{f=new s(e);l.push(f)}}function addSource(e,t,n,r){if(f&&f instanceof i&&f.source===t&&h===r){f.addGeneratedCode(e);h++}else{f=new i(e,t,n,r);h=r+1;l.push(f)}}c.forEach(function(e,t){let n=u[t];if(typeof n==="undefined")return;if(t!==u.length-1)n+="\n";if(!e)return addCode(n);e={value:0,rest:e};let r=false;while(e.rest)r=processMapping(e,n,r)||r;if(!r)addCode(n)});if(c.length{"use strict";t.y=function getNumberOfLines(e){let t=-1;let n=-1;do{t++;n=e.indexOf("\n",n+1)}while(n>=0);return t};t.P=function getUnfinishedLine(e){const t=e.lastIndexOf("\n");if(t===-1)return e.length;else return e.length-t-1}},6900:(e,t,n)=>{t.SourceListMap=n(53273);t.SourceNode=n(49043);t.SingleLineNode=n(86979);t.CodeNode=n(27746);t.MappingsContext=n(30047);t.fromStringWithSourceMap=n(88494)},26837:(e,t,n)=>{var r=n(31983);var i=Object.prototype.hasOwnProperty;var s=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=s?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,t){var n=new ArraySet;for(var r=0,i=e.length;r=0){return t}}else{var n=r.toSetString(e);if(i.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var r=n(96537);var i=5;var s=1<>1;return t?-n:n}t.encode=function base64VLQ_encode(e){var t="";var n;var s=toVLQSigned(e);do{n=s&o;s>>>=i;if(s>0){n|=a}t+=r.encode(n)}while(s>0);return t};t.decode=function base64VLQ_decode(e,t,n){var s=e.length;var c=0;var u=0;var l,f;do{if(t>=s){throw new Error("Expected more digits in base 64 VLQ value.")}f=r.decode(e.charCodeAt(t++));if(f===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}l=!!(f&a);f&=o;c=c+(f<{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{t.GREATEST_LOWER_BOUND=1;t.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,r,i,s,o){var a=Math.floor((n-e)/2)+e;var c=s(r,i[a],true);if(c===0){return a}else if(c>0){if(n-a>1){return recursiveSearch(a,n,r,i,s,o)}if(o==t.LEAST_UPPER_BOUND){return n1){return recursiveSearch(e,a,r,i,s,o)}if(o==t.LEAST_UPPER_BOUND){return a}else{return e<0?-1:e}}}t.search=function search(e,n,r,i){if(n.length===0){return-1}var s=recursiveSearch(-1,n.length,e,n,r,i||t.GREATEST_LOWER_BOUND);if(s<0){return-1}while(s-1>=0){if(r(n[s],n[s-1],true)!==0){break}--s}return s}},91740:(e,t,n)=>{var r=n(31983);function generatedPositionAfter(e,t){var n=e.generatedLine;var i=t.generatedLine;var s=e.generatedColumn;var o=t.generatedColumn;return i>n||i==n&&o>=s||r.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(r.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.H=MappingList},68226:(e,t)=>{function swap(e,t,n){var r=e[t];e[t]=e[n];e[n]=r}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,n,r){if(n{var r;var i=n(31983);var s=n(53164);var o=n(26837).I;var a=n(4215);var c=n(68226).U;function SourceMapConsumer(e,t){var n=e;if(typeof e==="string"){n=i.parseSourceMapInput(e)}return n.sections!=null?new IndexedSourceMapConsumer(n,t):new BasicSourceMapConsumer(n,t)}SourceMapConsumer.fromSourceMap=function(e,t){return BasicSourceMapConsumer.fromSourceMap(e,t)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,t){var n=e.charAt(t);return n===";"||n===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,t){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,t,n){var r=t||null;var s=n||SourceMapConsumer.GENERATED_ORDER;var o;switch(s){case SourceMapConsumer.GENERATED_ORDER:o=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;o.map(function(e){var t=e.source===null?null:this._sources.at(e.source);t=i.computeSourceURL(a,t,this._sourceMapURL);return{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(e,r)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var t=i.getArg(e,"line");var n={source:i.getArg(e,"source"),originalLine:t,originalColumn:i.getArg(e,"column",0)};n.source=this._findSourceIndex(n.source);if(n.source<0){return[]}var r=[];var o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,s.LEAST_UPPER_BOUND);if(o>=0){var a=this._originalMappings[o];if(e.column===undefined){var c=a.originalLine;while(a&&a.originalLine===c){r.push({line:i.getArg(a,"generatedLine",null),column:i.getArg(a,"generatedColumn",null),lastColumn:i.getArg(a,"lastGeneratedColumn",null)});a=this._originalMappings[++o]}}else{var u=a.originalColumn;while(a&&a.originalLine===t&&a.originalColumn==u){r.push({line:i.getArg(a,"generatedLine",null),column:i.getArg(a,"generatedColumn",null),lastColumn:i.getArg(a,"lastGeneratedColumn",null)});a=this._originalMappings[++o]}}}return r};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,t){var n=e;if(typeof e==="string"){n=i.parseSourceMapInput(e)}var r=i.getArg(n,"version");var s=i.getArg(n,"sources");var a=i.getArg(n,"names",[]);var c=i.getArg(n,"sourceRoot",null);var u=i.getArg(n,"sourcesContent",null);var l=i.getArg(n,"mappings");var f=i.getArg(n,"file",null);if(r!=this._version){throw new Error("Unsupported version: "+r)}if(c){c=i.normalize(c)}s=s.map(String).map(i.normalize).map(function(e){return c&&i.isAbsolute(c)&&i.isAbsolute(e)?i.relative(c,e):e});this._names=o.fromArray(a.map(String),true);this._sources=o.fromArray(s,true);this._absoluteSources=this._sources.toArray().map(function(e){return i.computeSourceURL(c,e,t)});this.sourceRoot=c;this.sourcesContent=u;this._mappings=l;this._sourceMapURL=t;this.file=f}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null){t=i.relative(this.sourceRoot,t)}if(this._sources.has(t)){return this._sources.indexOf(t)}var n;for(n=0;n1){y.source=u+_[1];u+=_[1];y.originalLine=s+_[2];s=y.originalLine;y.originalLine+=1;y.originalColumn=o+_[3];o=y.originalColumn;if(_.length>4){y.name=l+_[4];l+=_[4]}}g.push(y);if(typeof y.originalLine==="number"){m.push(y)}}}c(g,i.compareByGeneratedPositionsDeflated);this.__generatedMappings=g;c(m,i.compareByOriginalPositions);this.__originalMappings=m};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,n,r,i,o){if(e[n]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[n])}if(e[r]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[r])}return s.search(e,t,i,o)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var s=i.getArg(r,"source",null);if(s!==null){s=this._sources.at(s);s=i.computeSourceURL(this.sourceRoot,s,this._sourceMapURL)}var o=i.getArg(r,"name",null);if(o!==null){o=this._names.at(o)}return{source:s,line:i.getArg(r,"originalLine",null),column:i.getArg(r,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}var n=this._findSourceIndex(e);if(n>=0){return this.sourcesContent[n]}var r=e;if(this.sourceRoot!=null){r=i.relative(this.sourceRoot,r)}var s;if(this.sourceRoot!=null&&(s=i.urlParse(this.sourceRoot))){var o=r.replace(/^file:\/\//,"");if(s.scheme=="file"&&this._sources.has(o)){return this.sourcesContent[this._sources.indexOf(o)]}if((!s.path||s.path=="/")&&this._sources.has("/"+r)){return this.sourcesContent[this._sources.indexOf("/"+r)]}}if(t){return null}else{throw new Error('"'+r+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=i.getArg(e,"source");t=this._findSourceIndex(t);if(t<0){return{line:null,column:null,lastColumn:null}}var n={source:t,originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")};var r=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,i.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(r>=0){var s=this._originalMappings[r];if(s.source===n.source){return{line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};r=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,t){var n=e;if(typeof e==="string"){n=i.parseSourceMapInput(e)}var r=i.getArg(n,"version");var s=i.getArg(n,"sections");if(r!=this._version){throw new Error("Unsupported version: "+r)}this._sources=new o;this._names=new o;var a={line:-1,column:0};this._sections=s.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var n=i.getArg(e,"offset");var r=i.getArg(n,"line");var s=i.getArg(n,"column");if(r{var r=n(4215);var i=n(31983);var s=n(26837).I;var o=n(91740).H;function SourceMapGenerator(e){if(!e){e={}}this._file=i.getArg(e,"file",null);this._sourceRoot=i.getArg(e,"sourceRoot",null);this._skipValidation=i.getArg(e,"skipValidation",false);this._sources=new s;this._names=new s;this._mappings=new o;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var t=e.sourceRoot;var n=new SourceMapGenerator({file:e.file,sourceRoot:t});e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){r.source=e.source;if(t!=null){r.source=i.relative(t,r.source)}r.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){r.name=e.name}}n.addMapping(r)});e.sources.forEach(function(r){var s=r;if(t!==null){s=i.relative(t,r)}if(!n._sources.has(s)){n._sources.add(s)}var o=e.sourceContentFor(r);if(o!=null){n.setSourceContent(r,o)}});return n};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var t=i.getArg(e,"generated");var n=i.getArg(e,"original",null);var r=i.getArg(e,"source",null);var s=i.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(t,n,r,s)}if(r!=null){r=String(r);if(!this._sources.has(r)){this._sources.add(r)}}if(s!=null){s=String(s);if(!this._names.has(s)){this._names.add(s)}}this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:r,name:s})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,t){var n=e;if(this._sourceRoot!=null){n=i.relative(this._sourceRoot,n)}if(t!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[i.toSetString(n)]=t}else if(this._sourcesContents){delete this._sourcesContents[i.toSetString(n)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,t,n){var r=t;if(t==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}r=e.file}var o=this._sourceRoot;if(o!=null){r=i.relative(o,r)}var a=new s;var c=new s;this._mappings.unsortedForEach(function(t){if(t.source===r&&t.originalLine!=null){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});if(s.source!=null){t.source=s.source;if(n!=null){t.source=i.join(n,t.source)}if(o!=null){t.source=i.relative(o,t.source)}t.originalLine=s.line;t.originalColumn=s.column;if(s.name!=null){t.name=s.name}}}var u=t.source;if(u!=null&&!a.has(u)){a.add(u)}var l=t.name;if(l!=null&&!c.has(l)){c.add(l)}},this);this._sources=a;this._names=c;e.sources.forEach(function(t){var r=e.sourceContentFor(t);if(r!=null){if(n!=null){t=i.join(n,t)}if(o!=null){t=i.relative(o,t)}this.setSourceContent(t,r)}},this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,t,n,r){if(t&&typeof t.line!=="number"&&typeof t.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!n&&!r){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var n=0;var s=0;var o=0;var a=0;var c="";var u;var l;var f;var p;var d=this._mappings.toArray();for(var h=0,m=d.length;h0){if(!i.compareByGeneratedPositionsInflated(l,d[h-1])){continue}u+=","}}u+=r.encode(l.generatedColumn-e);e=l.generatedColumn;if(l.source!=null){p=this._sources.indexOf(l.source);u+=r.encode(p-a);a=p;u+=r.encode(l.originalLine-1-s);s=l.originalLine-1;u+=r.encode(l.originalColumn-n);n=l.originalColumn;if(l.name!=null){f=this._names.indexOf(l.name);u+=r.encode(f-o);o=f}}c+=u}return c};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.SourceMapGenerator=SourceMapGenerator},9990:(e,t,n)=>{var r=n(11341).SourceMapGenerator;var i=n(31983);var s=/(\r?\n)/;var o=10;var a="$$$isSourceNode$$$";function SourceNode(e,t,n,r,i){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=t==null?null:t;this.source=n==null?null:n;this.name=i==null?null:i;this[a]=true;if(r!=null)this.add(r)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,t,n){var r=new SourceNode;var o=e.split(s);var a=0;var c=function(){var e=getNextLine();var t=getNextLine()||"";return e+t;function getNextLine(){return a=0;t--){this.prepend(e[t])}}else if(e[a]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var n=0,r=this.children.length;n0){t=[];for(n=0;n{function getArg(e,t,n){if(t in e){return e[t]}else if(arguments.length===3){return n}else{throw new Error('"'+t+'" is a required argument.')}}t.getArg=getArg;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var r=/^data:.+\,.+$/;function urlParse(e){var t=e.match(n);if(!t){return null}return{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}}t.urlParse=urlParse;function urlGenerate(e){var t="";if(e.scheme){t+=e.scheme+":"}t+="//";if(e.auth){t+=e.auth+"@"}if(e.host){t+=e.host}if(e.port){t+=":"+e.port}if(e.path){t+=e.path}return t}t.urlGenerate=urlGenerate;function normalize(e){var n=e;var r=urlParse(e);if(r){if(!r.path){return e}n=r.path}var i=t.isAbsolute(n);var s=n.split(/\/+/);for(var o,a=0,c=s.length-1;c>=0;c--){o=s[c];if(o==="."){s.splice(c,1)}else if(o===".."){a++}else if(a>0){if(o===""){s.splice(c+1,a);a=0}else{s.splice(c,2);a--}}}n=s.join("/");if(n===""){n=i?"/":"."}if(r){r.path=n;return urlGenerate(r)}return n}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var n=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(n&&!n.scheme){if(i){n.scheme=i.scheme}return urlGenerate(n)}if(n||t.match(r)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var s=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=s;return urlGenerate(i)}return s}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||n.test(e)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var n=0;while(t.indexOf(e+"/")!==0){var r=e.lastIndexOf("/");if(r<0){return t}e=e.slice(0,r);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++n}return Array(n+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var n=t-10;n>=0;n--){if(e.charCodeAt(n)!==36){return false}}return true}function compareByOriginalPositions(e,t,n){var r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0||n){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=e.generatedLine-t.generatedLine;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,n){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0||n){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e===null){return 1}if(t===null){return-1}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=strcmp(e.source,t.source);if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}t.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,t,n){t=t||"";if(e){if(e[e.length-1]!=="/"&&t[0]!=="/"){e+="/"}t=e+t}if(n){var r=urlParse(n);if(!r){throw new Error("sourceMapURL could not be parsed")}if(r.path){var i=r.path.lastIndexOf("/");if(i>=0){r.path=r.path.substring(0,i+1)}}t=join(urlGenerate(r),t)}return normalize(t)}t.computeSourceURL=computeSourceURL},99596:(e,t,n)=>{t.SourceMapGenerator=n(11341).SourceMapGenerator;t.SourceMapConsumer=n(86327).SourceMapConsumer;t.SourceNode=n(9990).SourceNode},72679:e=>{"use strict";e.exports=(e=>{if(typeof e!=="string"){throw new TypeError("Expected a string, got "+typeof e)}if(e.charCodeAt(0)===65279){return e.slice(1)}return e})},96204:(e,t,n)=>{"use strict";const r=n(12087);const i=n(33867);const s=n(86811);const{env:o}=process;let a;if(s("no-color")||s("no-colors")||s("color=false")||s("color=never")){a=0}else if(s("color")||s("colors")||s("color=true")||s("color=always")){a=1}if("FORCE_COLOR"in o){if(o.FORCE_COLOR==="true"){a=1}else if(o.FORCE_COLOR==="false"){a=0}else{a=o.FORCE_COLOR.length===0?1:Math.min(parseInt(o.FORCE_COLOR,10),3)}}function translateLevel(e){if(e===0){return false}return{level:e,hasBasic:true,has256:e>=2,has16m:e>=3}}function supportsColor(e,t){if(a===0){return 0}if(s("color=16m")||s("color=full")||s("color=truecolor")){return 3}if(s("color=256")){return 2}if(e&&!t&&a===undefined){return 0}const n=a||0;if(o.TERM==="dumb"){return n}if(process.platform==="win32"){const e=r.release().split(".");if(Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in o){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in o)||o.CI_NAME==="codeship"){return 1}return n}if("TEAMCITY_VERSION"in o){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0}if("GITHUB_ACTIONS"in o){return 1}if(o.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in o){const e=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(o.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)){return 1}if("COLORTERM"in o){return 1}return n}function getSupportLevel(e){const t=supportsColor(e,e&&e.isTTY);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:translateLevel(supportsColor(true,i.isatty(1))),stderr:translateLevel(supportsColor(true,i.isatty(2)))}},78802:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class AsyncParallelBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n}){let r="";r+=`var _results = new Array(${this.options.taps.length});\n`;r+="var _checkDone = () => {\n";r+="for(var i = 0; i < _results.length; i++) {\n";r+="var item = _results[i];\n";r+="if(item === undefined) return false;\n";r+="if(item.result !== undefined) {\n";r+=t("item.result");r+="return true;\n";r+="}\n";r+="if(item.error) {\n";r+=e("item.error");r+="return true;\n";r+="}\n";r+="}\n";r+="return false;\n";r+="}\n";r+=this.callTapsParallel({onError:(e,t,n,r)=>{let i="";i+=`if(${e} < _results.length && ((_results.length = ${e+1}), (_results[${e}] = { error: ${t} }), _checkDone())) {\n`;i+=r(true);i+="} else {\n";i+=n();i+="}\n";return i},onResult:(e,t,n,r)=>{let i="";i+=`if(${e} < _results.length && (${t} !== undefined && (_results.length = ${e+1}), (_results[${e}] = { result: ${t} }), _checkDone())) {\n`;i+=r(true);i+="} else {\n";i+=n();i+="}\n";return i},onTap:(e,t,n,r)=>{let i="";if(e>0){i+=`if(${e} >= _results.length) {\n`;i+=n();i+="} else {\n"}i+=t();if(e>0)i+="}\n";return i},onDone:n});return r}}const s=new AsyncParallelBailHookCodeFactory;const o=function(e){s.setup(this,e);return s.create(e)};function AsyncParallelBailHook(e=[],t=undefined){const n=new r(e,t);n.constructor=AsyncParallelBailHook;n.compile=o;n._call=undefined;n.call=undefined;return n}AsyncParallelBailHook.prototype=null;e.exports=AsyncParallelBailHook},3350:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class AsyncParallelHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsParallel({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncParallelHookCodeFactory;const o=function(e){s.setup(this,e);return s.create(e)};function AsyncParallelHook(e=[],t=undefined){const n=new r(e,t);n.constructor=AsyncParallelHook;n.compile=o;n._call=undefined;n.call=undefined;return n}AsyncParallelHook.prototype=null;e.exports=AsyncParallelHook},4953:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class AsyncSeriesBailHookCodeFactory extends i{content({onError:e,onResult:t,resultReturns:n,onDone:r}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onResult:(e,n,r)=>`if(${n} !== undefined) {\n${t(n)}\n} else {\n${r()}}\n`,resultReturns:n,onDone:r})}}const s=new AsyncSeriesBailHookCodeFactory;const o=function(e){s.setup(this,e);return s.create(e)};function AsyncSeriesBailHook(e=[],t=undefined){const n=new r(e,t);n.constructor=AsyncSeriesBailHook;n.compile=o;n._call=undefined;n.call=undefined;return n}AsyncSeriesBailHook.prototype=null;e.exports=AsyncSeriesBailHook},68152:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class AsyncSeriesHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncSeriesHookCodeFactory;const o=function(e){s.setup(this,e);return s.create(e)};function AsyncSeriesHook(e=[],t=undefined){const n=new r(e,t);n.constructor=AsyncSeriesHook;n.compile=o;n._call=undefined;n.call=undefined;return n}AsyncSeriesHook.prototype=null;e.exports=AsyncSeriesHook},25810:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class AsyncSeriesLoopHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsLooping({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncSeriesLoopHookCodeFactory;const o=function(e){s.setup(this,e);return s.create(e)};function AsyncSeriesLoopHook(e=[],t=undefined){const n=new r(e,t);n.constructor=AsyncSeriesLoopHook;n.compile=o;n._call=undefined;n.call=undefined;return n}AsyncSeriesLoopHook.prototype=null;e.exports=AsyncSeriesLoopHook},66760:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class AsyncSeriesWaterfallHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onResult:(e,t,n)=>{let r="";r+=`if(${t} !== undefined) {\n`;r+=`${this._args[0]} = ${t};\n`;r+=`}\n`;r+=n();return r},onDone:()=>t(this._args[0])})}}const s=new AsyncSeriesWaterfallHookCodeFactory;const o=function(e){s.setup(this,e);return s.create(e)};function AsyncSeriesWaterfallHook(e=[],t=undefined){if(e.length<1)throw new Error("Waterfall hooks must have at least one argument");const n=new r(e,t);n.constructor=AsyncSeriesWaterfallHook;n.compile=o;n._call=undefined;n.call=undefined;return n}AsyncSeriesWaterfallHook.prototype=null;e.exports=AsyncSeriesWaterfallHook},67332:(e,t,n)=>{"use strict";const r=n(31669);const i=r.deprecate(()=>{},"Hook.context is deprecated and will be removed");const s=function(...e){this.call=this._createCall("sync");return this.call(...e)};const o=function(...e){this.callAsync=this._createCall("async");return this.callAsync(...e)};const a=function(...e){this.promise=this._createCall("promise");return this.promise(...e)};class Hook{constructor(e=[],t=undefined){this._args=e;this.name=t;this.taps=[];this.interceptors=[];this._call=s;this.call=s;this._callAsync=o;this.callAsync=o;this._promise=a;this.promise=a;this._x=undefined;this.compile=this.compile;this.tap=this.tap;this.tapAsync=this.tapAsync;this.tapPromise=this.tapPromise}compile(e){throw new Error("Abstract: should be overridden")}_createCall(e){return this.compile({taps:this.taps,interceptors:this.interceptors,args:this._args,type:e})}_tap(e,t,n){if(typeof t==="string"){t={name:t}}else if(typeof t!=="object"||t===null){throw new Error("Invalid tap options")}if(typeof t.name!=="string"||t.name===""){throw new Error("Missing name for tap")}if(typeof t.context!=="undefined"){i()}t=Object.assign({type:e,fn:n},t);t=this._runRegisterInterceptors(t);this._insert(t)}tap(e,t){this._tap("sync",e,t)}tapAsync(e,t){this._tap("async",e,t)}tapPromise(e,t){this._tap("promise",e,t)}_runRegisterInterceptors(e){for(const t of this.interceptors){if(t.register){const n=t.register(e);if(n!==undefined){e=n}}}return e}withOptions(e){const t=t=>Object.assign({},e,typeof t==="string"?{name:t}:t);return{name:this.name,tap:(e,n)=>this.tap(t(e),n),tapAsync:(e,n)=>this.tapAsync(t(e),n),tapPromise:(e,n)=>this.tapPromise(t(e),n),intercept:e=>this.intercept(e),isUsed:()=>this.isUsed(),withOptions:e=>this.withOptions(t(e))}}isUsed(){return this.taps.length>0||this.interceptors.length>0}intercept(e){this._resetCompilation();this.interceptors.push(Object.assign({},e));if(e.register){for(let t=0;t0){r--;const e=this.taps[r];this.taps[r+1]=e;const i=e.stage||0;if(t){if(t.has(e.name)){t.delete(e.name);continue}if(t.size>0){continue}}if(i>n){continue}r++;break}this.taps[r]=e}}Object.setPrototypeOf(Hook.prototype,null);e.exports=Hook},91165:e=>{"use strict";class HookCodeFactory{constructor(e){this.config=e;this.options=undefined;this._args=undefined}create(e){this.init(e);let t;switch(this.options.type){case"sync":t=new Function(this.args(),'"use strict";\n'+this.header()+this.contentWithInterceptors({onError:e=>`throw ${e};\n`,onResult:e=>`return ${e};\n`,resultReturns:true,onDone:()=>"",rethrowIfPossible:true}));break;case"async":t=new Function(this.args({after:"_callback"}),'"use strict";\n'+this.header()+this.contentWithInterceptors({onError:e=>`_callback(${e});\n`,onResult:e=>`_callback(null, ${e});\n`,onDone:()=>"_callback();\n"}));break;case"promise":let e=false;const n=this.contentWithInterceptors({onError:t=>{e=true;return`_error(${t});\n`},onResult:e=>`_resolve(${e});\n`,onDone:()=>"_resolve();\n"});let r="";r+='"use strict";\n';r+="return new Promise((_resolve, _reject) => {\n";if(e){r+="var _sync = true;\n";r+="function _error(_err) {\n";r+="if(_sync)\n";r+="_resolve(Promise.resolve().then(() => { throw _err; }));\n";r+="else\n";r+="_reject(_err);\n";r+="};\n"}r+=this.header();r+=n;if(e){r+="_sync = false;\n"}r+="});\n";t=new Function(this.args(),r);break}this.deinit();return t}setup(e,t){e._x=t.taps.map(e=>e.fn)}init(e){this.options=e;this._args=e.args.slice()}deinit(){this.options=undefined;this._args=undefined}contentWithInterceptors(e){if(this.options.interceptors.length>0){const t=e.onError;const n=e.onResult;const r=e.onDone;return this.content(Object.assign(e,{onError:t&&(e=>{let n="";for(let t=0;t{let t="";for(let n=0;n{let e="";for(let t=0;t0){e+="var _taps = this.taps;\n";e+="var _interceptors = this.interceptors;\n"}for(let t=0;t {\n`;else o+=`_err${e} => {\n`;o+=`if(_err${e}) {\n`;o+=t(`_err${e}`);o+="} else {\n";if(n){o+=n(`_result${e}`)}if(r){o+=r()}o+="}\n";o+="}";s+=`_fn${e}(${this.args({before:a.context?"_context":undefined,after:o})});\n`;break;case"promise":s+=`var _hasResult${e} = false;\n`;s+=`var _promise${e} = _fn${e}(${this.args({before:a.context?"_context":undefined})});\n`;s+=`if (!_promise${e} || !_promise${e}.then)\n`;s+=` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${e} + ')');\n`;s+=`_promise${e}.then(_result${e} => {\n`;s+=`_hasResult${e} = true;\n`;if(n){s+=n(`_result${e}`)}if(r){s+=r()}s+=`}, _err${e} => {\n`;s+=`if(_hasResult${e}) throw _err${e};\n`;s+=t(`_err${e}`);s+="});\n";break}return s}callTapsSeries({onError:e,onResult:t,resultReturns:n,onDone:r,doneReturns:i,rethrowIfPossible:s}){if(this.options.taps.length===0)return r();const o=this.options.taps.findIndex(e=>e.type!=="sync");const a=n||i;let c="";let u=r;let l=0;for(let n=this.options.taps.length-1;n>=0;n--){const i=n;const f=u!==r&&(this.options.taps[i].type!=="sync"||l++>20);if(f){l=0;c+=`function _next${i}() {\n`;c+=u();c+=`}\n`;u=(()=>`${a?"return ":""}_next${i}();\n`)}const p=u;const d=e=>{if(e)return"";return r()};const h=this.callTap(i,{onError:t=>e(i,t,p,d),onResult:t&&(e=>{return t(i,e,p,d)}),onDone:!t&&p,rethrowIfPossible:s&&(o<0||ih)}c+=u();return c}callTapsLooping({onError:e,onDone:t,rethrowIfPossible:n}){if(this.options.taps.length===0)return t();const r=this.options.taps.every(e=>e.type==="sync");let i="";if(!r){i+="var _looper = () => {\n";i+="var _loopAsync = false;\n"}i+="var _loop;\n";i+="do {\n";i+="_loop = false;\n";for(let e=0;e{let s="";s+=`if(${t} !== undefined) {\n`;s+="_loop = true;\n";if(!r)s+="if(_loopAsync) _looper();\n";s+=i(true);s+=`} else {\n`;s+=n();s+=`}\n`;return s},onDone:t&&(()=>{let e="";e+="if(!_loop) {\n";e+=t();e+="}\n";return e}),rethrowIfPossible:n&&r});i+="} while(_loop);\n";if(!r){i+="_loopAsync = true;\n";i+="};\n";i+="_looper();\n"}return i}callTapsParallel({onError:e,onResult:t,onDone:n,rethrowIfPossible:r,onTap:i=((e,t)=>t())}){if(this.options.taps.length<=1){return this.callTapsSeries({onError:e,onResult:t,onDone:n,rethrowIfPossible:r})}let s="";s+="do {\n";s+=`var _counter = ${this.options.taps.length};\n`;if(n){s+="var _done = () => {\n";s+=n();s+="};\n"}for(let o=0;o{if(n)return"if(--_counter === 0) _done();\n";else return"--_counter;"};const c=e=>{if(e||!n)return"_counter = 0;\n";else return"_counter = 0;\n_done();\n"};s+="if(_counter <= 0) break;\n";s+=i(o,()=>this.callTap(o,{onError:t=>{let n="";n+="if(_counter > 0) {\n";n+=e(o,t,a,c);n+="}\n";return n},onResult:t&&(e=>{let n="";n+="if(_counter > 0) {\n";n+=t(o,e,a,c);n+="}\n";return n}),onDone:!t&&(()=>{return a()}),rethrowIfPossible:r}),a,c)}s+="} while(false);\n";return s}args({before:e,after:t}={}){let n=this._args;if(e)n=[e].concat(n);if(t)n=n.concat(t);if(n.length===0){return""}else{return n.join(", ")}}getTapFn(e){return`_x[${e}]`}getTap(e){return`_taps[${e}]`}getInterceptor(e){return`_interceptors[${e}]`}}e.exports=HookCodeFactory},28636:(e,t,n)=>{"use strict";const r=n(31669);const i=(e,t)=>t;class HookMap{constructor(e,t=undefined){this._map=new Map;this.name=t;this._factory=e;this._interceptors=[]}get(e){return this._map.get(e)}for(e){const t=this.get(e);if(t!==undefined){return t}let n=this._factory(e);const r=this._interceptors;for(let t=0;t{"use strict";const r=n(67332);class MultiHook{constructor(e,t=undefined){this.hooks=e;this.name=t}tap(e,t){for(const n of this.hooks){n.tap(e,t)}}tapAsync(e,t){for(const n of this.hooks){n.tapAsync(e,t)}}tapPromise(e,t){for(const n of this.hooks){n.tapPromise(e,t)}}isUsed(){for(const e of this.hooks){if(e.isUsed())return true}return false}intercept(e){for(const t of this.hooks){t.intercept(e)}}withOptions(e){return new MultiHook(this.hooks.map(t=>t.withOptions(e)),this.name)}}e.exports=MultiHook},3334:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class SyncBailHookCodeFactory extends i{content({onError:e,onResult:t,resultReturns:n,onDone:r,rethrowIfPossible:i}){return this.callTapsSeries({onError:(t,n)=>e(n),onResult:(e,n,r)=>`if(${n} !== undefined) {\n${t(n)};\n} else {\n${r()}}\n`,resultReturns:n,onDone:r,rethrowIfPossible:i})}}const s=new SyncBailHookCodeFactory;const o=()=>{throw new Error("tapAsync is not supported on a SyncBailHook")};const a=()=>{throw new Error("tapPromise is not supported on a SyncBailHook")};const c=function(e){s.setup(this,e);return s.create(e)};function SyncBailHook(e=[],t=undefined){const n=new r(e,t);n.constructor=SyncBailHook;n.tapAsync=o;n.tapPromise=a;n.compile=c;return n}SyncBailHook.prototype=null;e.exports=SyncBailHook},6728:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class SyncHookCodeFactory extends i{content({onError:e,onDone:t,rethrowIfPossible:n}){return this.callTapsSeries({onError:(t,n)=>e(n),onDone:t,rethrowIfPossible:n})}}const s=new SyncHookCodeFactory;const o=()=>{throw new Error("tapAsync is not supported on a SyncHook")};const a=()=>{throw new Error("tapPromise is not supported on a SyncHook")};const c=function(e){s.setup(this,e);return s.create(e)};function SyncHook(e=[],t=undefined){const n=new r(e,t);n.constructor=SyncHook;n.tapAsync=o;n.tapPromise=a;n.compile=c;return n}SyncHook.prototype=null;e.exports=SyncHook},52332:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class SyncLoopHookCodeFactory extends i{content({onError:e,onDone:t,rethrowIfPossible:n}){return this.callTapsLooping({onError:(t,n)=>e(n),onDone:t,rethrowIfPossible:n})}}const s=new SyncLoopHookCodeFactory;const o=()=>{throw new Error("tapAsync is not supported on a SyncLoopHook")};const a=()=>{throw new Error("tapPromise is not supported on a SyncLoopHook")};const c=function(e){s.setup(this,e);return s.create(e)};function SyncLoopHook(e=[],t=undefined){const n=new r(e,t);n.constructor=SyncLoopHook;n.tapAsync=o;n.tapPromise=a;n.compile=c;return n}SyncLoopHook.prototype=null;e.exports=SyncLoopHook},81934:(e,t,n)=>{"use strict";const r=n(67332);const i=n(91165);class SyncWaterfallHookCodeFactory extends i{content({onError:e,onResult:t,resultReturns:n,rethrowIfPossible:r}){return this.callTapsSeries({onError:(t,n)=>e(n),onResult:(e,t,n)=>{let r="";r+=`if(${t} !== undefined) {\n`;r+=`${this._args[0]} = ${t};\n`;r+=`}\n`;r+=n();return r},onDone:()=>t(this._args[0]),doneReturns:n,rethrowIfPossible:r})}}const s=new SyncWaterfallHookCodeFactory;const o=()=>{throw new Error("tapAsync is not supported on a SyncWaterfallHook")};const a=()=>{throw new Error("tapPromise is not supported on a SyncWaterfallHook")};const c=function(e){s.setup(this,e);return s.create(e)};function SyncWaterfallHook(e=[],t=undefined){if(e.length<1)throw new Error("Waterfall hooks must have at least one argument");const n=new r(e,t);n.constructor=SyncWaterfallHook;n.tapAsync=o;n.tapPromise=a;n.compile=c;return n}SyncWaterfallHook.prototype=null;e.exports=SyncWaterfallHook},92960:(e,t,n)=>{"use strict";t.__esModule=true;t.SyncHook=n(6728);t.SyncBailHook=n(3334);t.SyncWaterfallHook=n(81934);t.SyncLoopHook=n(52332);t.AsyncParallelHook=n(3350);t.AsyncParallelBailHook=n(78802);t.AsyncSeriesHook=n(68152);t.AsyncSeriesBailHook=n(4953);t.AsyncSeriesLoopHook=n(25810);t.AsyncSeriesWaterfallHook=n(66760);t.HookMap=n(28636);t.MultiHook=n(20937)},71786:(e,t,n)=>{"use strict";var r;r={value:true};t.Z=void 0;var i=_interopRequireDefault(n(12087));var s=_interopRequireDefault(n(33101));var o=_interopRequireDefault(n(16366));var a=_interopRequireDefault(n(35764));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Webpack4Cache{constructor(e,t){this.cacheDir=t.cache===true?Webpack4Cache.getCacheDirectory():t.cache}static getCacheDirectory(){return(0,o.default)({name:"terser-webpack-plugin"})||i.default.tmpdir()}isEnabled(){return Boolean(this.cacheDir)}async get(e){e.cacheIdent=e.cacheIdent||(0,a.default)(e.cacheKeys);const{data:t}=await s.default.get(this.cacheDir,e.cacheIdent);return JSON.parse(t)}async store(e,t){return s.default.put(this.cacheDir,e.cacheIdent,JSON.stringify(t))}}t.Z=Webpack4Cache},35397:(e,t)=>{"use strict";var n;n={value:true};t.Z=void 0;class Cache{constructor(e,t){this.cache=e.getCache("TerserWebpackPlugin")}isEnabled(){return true}async get(e){e.cacheIdent=e.cacheIdent||`${e.name}`;e.cacheETag=e.cacheETag||this.cache.getLazyHashedEtag(e.assetSource);return this.cache.getPromise(e.cacheIdent,e.cacheETag)}async store(e,t){return this.cache.storePromise(e.cacheIdent,e.cacheETag,t)}}t.Z=Cache},96013:(e,t,n)=>{"use strict";const r=n(98225);e.exports=r.default},98225:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(85622));var i=_interopRequireDefault(n(12087));var s=n(99596);var o=n(2991);var a=_interopRequireDefault(n(80910));var c=n(86443);var u=_interopRequireDefault(n(15235));var l=_interopRequireDefault(n(35764));var f=_interopRequireDefault(n(47667));var p=_interopRequireDefault(n(62317));var d=_interopRequireDefault(n(69419));var h=_interopRequireDefault(n(26068));var m=n(6218);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class TerserPlugin{constructor(e={}){(0,u.default)(h.default,e,{name:"Terser Plugin",baseDataPath:"options"});const{minify:t,terserOptions:n={},test:r=/\.m?js(\?.*)?$/i,extractComments:i=true,sourceMap:s,cache:o=true,cacheKeys:a=(e=>e),parallel:c=true,include:l,exclude:f}=e;this.options={test:r,extractComments:i,sourceMap:s,cache:o,cacheKeys:a,parallel:c,include:l,exclude:f,minify:t,terserOptions:n}}static isSourceMap(e){return Boolean(e&&e.version&&e.sources&&Array.isArray(e.sources)&&typeof e.mappings==="string")}static buildError(e,t,n,r){if(e.line){const i=n&&n.originalPositionFor({line:e.line,column:e.col});if(i&&i.source&&r){return new Error(`${t} from Terser\n${e.message} [${r.shorten(i.source)}:${i.line},${i.column}][${t}:${e.line},${e.col}]${e.stack?`\n${e.stack.split("\n").slice(1).join("\n")}`:""}`)}return new Error(`${t} from Terser\n${e.message} [${t}:${e.line},${e.col}]${e.stack?`\n${e.stack.split("\n").slice(1).join("\n")}`:""}`)}if(e.stack){return new Error(`${t} from Terser\n${e.stack}`)}return new Error(`${t} from Terser\n${e.message}`)}static isWebpack4(){return c.version[0]==="4"}static getAvailableNumberOfCores(e){const t=i.default.cpus()||{length:1};return e===true?t.length-1:Math.min(Number(e)||0,t.length-1)}static getAsset(e,t){if(e.getAsset){return e.getAsset(t)}if(e.assets[t]){return{name:t,source:e.assets[t],info:{}}}}static emitAsset(e,t,n,r){if(e.emitAsset){e.emitAsset(t,n,r)}e.assets[t]=n}static updateAsset(e,t,n,r){if(e.updateAsset){e.updateAsset(t,n,r)}e.assets[t]=n}*taskGenerator(e,t,i,u){const{info:l,source:p}=TerserPlugin.getAsset(t,u);if(l.minimized){yield false}let d;let h;if(this.options.sourceMap&&p.sourceAndMap){const{source:e,map:n}=p.sourceAndMap();d=e;if(n){if(TerserPlugin.isSourceMap(n)){h=n}else{h=n;t.warnings.push(new Error(`${u} contains invalid source map`))}}}else{d=p.source();h=null}if(Buffer.isBuffer(d)){d=d.toString()}let m=false;if(this.options.extractComments){m=this.options.extractComments.filename||"[file].LICENSE.txt[query]";let e="";let n=u;const r=n.indexOf("?");if(r>=0){e=n.substr(r);n=n.substr(0,r)}const i=n.lastIndexOf("/");const s=i===-1?n:n.substr(i+1);const o={filename:n,basename:s,query:e};m=t.getPath(m,o)}const g=n=>{let{code:c}=n;const{error:f,map:p}=n;const{extractedComments:g}=n;let y=null;if(f&&h&&TerserPlugin.isSourceMap(h)){y=new s.SourceMapConsumer(h)}if(f){t.errors.push(TerserPlugin.buildError(f,u,y,new a.default(e.context)));return}const v=m&&g&&g.length>0;const _=this.options.extractComments.banner!==false;let b;let E;if(v&&_&&c.startsWith("#!")){const e=c.indexOf("\n");E=c.substring(0,e);c=c.substring(e+1)}if(p){b=new o.SourceMapSource(c,u,p,d,h,true)}else{b=new o.RawSource(c)}const w={...l,minimized:true};if(v){let e;w.related={license:m};if(_){e=this.options.extractComments.banner||`For license information please see ${r.default.relative(r.default.dirname(u),m).replace(/\\/g,"/")}`;if(typeof e==="function"){e=e(m)}if(e){b=new o.ConcatSource(E?`${E}\n`:"",`/*! ${e} */\n`,b)}}if(!i[m]){i[m]=new Set}g.forEach(t=>{if(e&&t===`/*! ${e} */`){return}i[m].add(t)});const n=TerserPlugin.getAsset(t,m);if(n){const e=n.source.source();e.replace(/\n$/,"").split("\n\n").forEach(e=>{i[m].add(e)})}}TerserPlugin.updateAsset(t,u,b,w)};const y={name:u,input:d,inputSourceMap:h,commentsFilename:m,extractComments:this.options.extractComments,terserOptions:this.options.terserOptions,minify:this.options.minify,callback:g};if(TerserPlugin.isWebpack4()){const{outputOptions:{hashSalt:e,hashDigest:r,hashDigestLength:i,hashFunction:s}}=t;const o=c.util.createHash(s);if(e){o.update(e)}o.update(d);const a=o.digest(r);if(this.options.cache){const e={terser:f.default.version,"terser-webpack-plugin":n(48574).i8,"terser-webpack-plugin-options":this.options,nodeVersion:process.version,name:u,contentHash:a.substr(0,i)};y.cacheKeys=this.options.cacheKeys(e,u)}}else{y.assetSource=p}yield y}async runTasks(e,t,r){const i=TerserPlugin.getAvailableNumberOfCores(this.options.parallel);let s=Infinity;let o;if(i>0){const t=Math.min(e.length,i);s=t;o=new d.default(n.ab+"minify.js",{numWorkers:t});const r=o.getStdout();if(r){r.on("data",e=>{return process.stdout.write(e)})}const a=o.getStderr();if(a){a.on("data",e=>{return process.stderr.write(e)})}}const a=(0,p.default)(s);const c=[];for(const n of e){const e=async e=>{let t;try{t=await(o?o.transform((0,l.default)(e)):(0,m.minify)(e))}catch(e){t={error:e}}if(r.isEnabled()&&!t.error){await r.store(e,t)}e.callback(t);return t};c.push(a(async()=>{const i=t(n).next().value;if(!i){return Promise.resolve()}if(r.isEnabled()){let t;try{t=await r.get(i)}catch(t){return e(i)}if(!t){return e(i)}i.callback(t);return Promise.resolve()}return e(i)}))}await Promise.all(c);if(o){await o.end()}}apply(e){const{devtool:t,output:r,plugins:i}=e.options;this.options.sourceMap=typeof this.options.sourceMap==="undefined"?t&&!t.includes("eval")&&!t.includes("cheap")&&(t.includes("source-map")||t.includes("sourcemap"))||i&&i.some(e=>e instanceof c.SourceMapDevToolPlugin&&e.options&&e.options.columns):Boolean(this.options.sourceMap);if(typeof this.options.terserOptions.module==="undefined"&&typeof r.module!=="undefined"){this.options.terserOptions.module=r.module}if(typeof this.options.terserOptions.ecma==="undefined"&&typeof r.ecmaVersion!=="undefined"){this.options.terserOptions.ecma=r.ecmaVersion}const s=c.ModuleFilenameHelpers.matchObject.bind(undefined,this.options);const a=async(t,r)=>{let i;if(TerserPlugin.isWebpack4()){i=[].concat(Array.from(t.additionalChunkAssets||[])).concat(Array.from(r).reduce((e,t)=>e.concat(Array.from(t.files||[])),[])).concat(Object.keys(t.assets)).filter((e,t,n)=>n.indexOf(e)===t).filter(e=>s(e))}else{i=[].concat(Object.keys(r)).filter(e=>s(e))}if(i.length===0){return Promise.resolve()}const a={};const c=this.taskGenerator.bind(this,e,t,a);const u=TerserPlugin.isWebpack4()?n(71786).Z:n(35397).Z;const l=new u(t,{cache:this.options.cache});await this.runTasks(i,c,l);Object.keys(a).forEach(e=>{const n=Array.from(a[e]).sort().join("\n\n");TerserPlugin.emitAsset(t,e,new o.RawSource(`${n}\n`))});return Promise.resolve()};const u=this.constructor.name;e.hooks.compilation.tap(u,e=>{if(this.options.sourceMap){e.hooks.buildModule.tap(u,e=>{e.useSourceMap=true})}if(TerserPlugin.isWebpack4()){const{mainTemplate:t,chunkTemplate:n}=e;const r=(0,l.default)({terser:f.default.version,terserOptions:this.options.terserOptions});for(const e of[t,n]){e.hooks.hashForChunk.tap(u,e=>{e.update("TerserPlugin");e.update(r)})}e.hooks.optimizeChunkAssets.tapPromise(u,a.bind(this,e))}else{const t=n(3080);const r=c.javascript.JavascriptModulesPlugin.getCompilationHooks(e);const i=(0,l.default)({terser:f.default.version,terserOptions:this.options.terserOptions});r.chunkHash.tap(u,(e,t)=>{t.update("TerserPlugin");t.update(i)});e.hooks.processAssets.tapPromise({name:u,stage:t.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE},a.bind(this,e));e.hooks.statsPrinter.tap(u,e=>{e.hooks.print.for("asset.info.minimized").tap("terser-webpack-plugin",(e,{green:t,formatFlag:n})=>e?t(n("minimized")):undefined)})}})}}var g=TerserPlugin;t.default=g},6218:(e,t,n)=>{"use strict";e=n.nmd(e);const{minify:r}=n(79304);const i=({ecma:e,parse:t={},compress:n={},mangle:r,module:i,output:s,toplevel:o,nameCache:a,ie8:c,keep_classnames:u,keep_fnames:l,safari10:f}={})=>({parse:{...t},compress:typeof n==="boolean"?n:{...n},mangle:r==null?true:typeof r==="boolean"?r:{...r},output:{beautify:false,...s},sourceMap:null,ecma:e,keep_classnames:u,keep_fnames:l,ie8:c,module:i,nameCache:a,safari10:f,toplevel:o});function isObject(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")}const s=(e,t,n)=>{const r={};const i=t.output.comments;const{extractComments:s}=e;r.preserve=typeof i!=="undefined"?i:false;if(typeof s==="boolean"&&s){r.extract="some"}else if(typeof s==="string"||s instanceof RegExp){r.extract=s}else if(typeof s==="function"){r.extract=s}else if(isObject(s)){r.extract=typeof s.condition==="boolean"&&s.condition?"some":typeof s.condition!=="undefined"?s.condition:"some"}else{r.preserve=typeof i!=="undefined"?i:"some";r.extract=false}["preserve","extract"].forEach(e=>{let t;let n;switch(typeof r[e]){case"boolean":r[e]=r[e]?()=>true:()=>false;break;case"function":break;case"string":if(r[e]==="all"){r[e]=(()=>true);break}if(r[e]==="some"){r[e]=((e,t)=>{return(t.type==="comment2"||t.type==="comment1")&&/@preserve|@lic|@cc_on|^\**!/i.test(t.value)});break}t=r[e];r[e]=((e,n)=>{return new RegExp(t).test(n.value)});break;default:n=r[e];r[e]=((e,t)=>n.test(t.value))}});return(e,t)=>{if(r.extract(e,t)){const e=t.type==="comment2"?`/*${t.value}*/`:`//${t.value}`;if(!n.includes(e)){n.push(e)}}return r.preserve(e,t)}};async function minify(e){const{name:t,input:n,inputSourceMap:o,minify:a}=e;if(a){return a({[t]:n},o)}const c=i(e.terserOptions);if(o){c.sourceMap={asObject:true}}const u=[];c.output.comments=s(e,c,u);const l=await r({[t]:n},c);return{...l,extractedComments:u}}function transform(n){n=new Function("exports","require","module","__filename","__dirname",`'use strict'\nreturn ${n}`)(t,require,e,__filename,__dirname);return minify(n)}e.exports.minify=minify;e.exports.transform=transform},70481:(e,t,n)=>{"use strict";const r=n(31669);const i=n(35747);const s=n(76763);const o=n(23656);const a=n(42575);const c=n(22819);const u=n(19981);const l=n(56435);const f=r.promisify(i.writeFile);e.exports=function get(e,t,n){return getData(false,e,t,n)};e.exports.byDigest=function getByDigest(e,t,n){return getData(true,e,t,n)};function getData(e,t,n,r={}){const{integrity:i,memoize:c,size:u}=r;const l=e?o.get.byDigest(t,n,r):o.get(t,n,r);if(l&&c!==false){return Promise.resolve(e?l:{metadata:l.entry.metadata,data:l.data,integrity:l.entry.integrity,size:l.entry.size})}return(e?Promise.resolve(null):s.find(t,n,r)).then(l=>{if(!l&&!e){throw new s.NotFoundError(t,n)}return a(t,e?n:l.integrity,{integrity:i,size:u}).then(t=>e?t:{data:t,metadata:l.metadata,size:l.size,integrity:l.integrity}).then(i=>{if(c&&e){o.put.byDigest(t,n,i,r)}else if(c){o.put(t,l,i.data,r)}return i})})}e.exports.sync=function get(e,t,n){return getDataSync(false,e,t,n)};e.exports.sync.byDigest=function getByDigest(e,t,n){return getDataSync(true,e,t,n)};function getDataSync(e,t,n,r={}){const{integrity:i,memoize:c,size:u}=r;const l=e?o.get.byDigest(t,n,r):o.get(t,n,r);if(l&&c!==false){return e?l:{metadata:l.entry.metadata,data:l.data,integrity:l.entry.integrity,size:l.entry.size}}const f=!e&&s.find.sync(t,n,r);if(!f&&!e){throw new s.NotFoundError(t,n)}const p=a.sync(t,e?n:f.integrity,{integrity:i,size:u});const d=e?p:{metadata:f.metadata,data:p,size:f.size,integrity:f.integrity};if(c&&e){o.put.byDigest(t,n,d,r)}else if(c){o.put(t,f,d.data,r)}return d}e.exports.stream=getStream;const p=e=>{const t=new c;t.on("newListener",function(t,n){t==="metadata"&&n(e.entry.metadata);t==="integrity"&&n(e.entry.integrity);t==="size"&&n(e.entry.size)});t.end(e.data);return t};function getStream(e,t,n={}){const{memoize:r,size:i}=n;const c=o.get(e,t,n);if(c&&r!==false){return p(c)}const f=new l;s.find(e,t).then(c=>{if(!c){throw new s.NotFoundError(e,t)}f.emit("metadata",c.metadata);f.emit("integrity",c.integrity);f.emit("size",c.size);f.on("newListener",function(e,t){e==="metadata"&&t(c.metadata);e==="integrity"&&t(c.integrity);e==="size"&&t(c.size)});const l=a.readStream(e,c.integrity,{...n,size:typeof i!=="number"?c.size:i});if(r){const t=new u.PassThrough;t.on("collect",t=>o.put(e,c,t,n));f.unshift(t)}f.unshift(l)}).catch(e=>f.emit("error",e));return f}e.exports.stream.byDigest=getStreamDigest;function getStreamDigest(e,t,n={}){const{memoize:r}=n;const i=o.get.byDigest(e,t,n);if(i&&r!==false){const e=new c;e.end(i);return e}else{const i=a.readStream(e,t,n);if(!r){return i}const s=new u.PassThrough;s.on("collect",r=>o.put.byDigest(e,t,r,n));return new l(i,s)}}e.exports.info=info;function info(e,t,n={}){const{memoize:r}=n;const i=o.get(e,t,n);if(i&&r!==false){return Promise.resolve(i.entry)}else{return s.find(e,t)}}e.exports.hasContent=a.hasContent;function cp(e,t,n,r){return copy(false,e,t,n,r)}e.exports.copy=cp;function cpDigest(e,t,n,r){return copy(true,e,t,n,r)}e.exports.copy.byDigest=cpDigest;function copy(e,t,n,r,i={}){if(a.copy){return(e?Promise.resolve(null):s.find(t,n,i)).then(o=>{if(!o&&!e){throw new s.NotFoundError(t,n)}return a.copy(t,e?n:o.integrity,r,i).then(()=>{return e?n:{metadata:o.metadata,size:o.size,integrity:o.integrity}})})}return getData(e,t,n,i).then(t=>{return f(r,e?t:t.data).then(()=>{return e?n:{metadata:t.metadata,size:t.size,integrity:t.integrity}})})}},33101:(e,t,n)=>{"use strict";const r=n(14288);const i=n(70481);const s=n(80003);const o=n(19511);const a=n(39614);const{clearMemoized:c}=n(23656);const u=n(81025);e.exports.ls=r;e.exports.ls.stream=r.stream;e.exports.get=i;e.exports.get.byDigest=i.byDigest;e.exports.get.sync=i.sync;e.exports.get.sync.byDigest=i.sync.byDigest;e.exports.get.stream=i.stream;e.exports.get.stream.byDigest=i.stream.byDigest;e.exports.get.copy=i.copy;e.exports.get.copy.byDigest=i.copy.byDigest;e.exports.get.info=i.info;e.exports.get.hasContent=i.hasContent;e.exports.get.hasContent.sync=i.hasContent.sync;e.exports.put=s;e.exports.put.stream=s.stream;e.exports.rm=o.entry;e.exports.rm.all=o.all;e.exports.rm.entry=e.exports.rm;e.exports.rm.content=o.content;e.exports.clearMemoized=c;e.exports.tmp={};e.exports.tmp.mkdir=u.mkdir;e.exports.tmp.withTmp=u.withTmp;e.exports.verify=a;e.exports.verify.lastRun=a.lastRun},7305:(e,t,n)=>{"use strict";const r=n(16705).Jw.k;const i=n(21481);const s=n(85622);const o=n(913);e.exports=contentPath;function contentPath(e,t){const n=o.parse(t,{single:true});return s.join(contentDir(e),n.algorithm,...i(n.hexDigest()))}e.exports.contentDir=contentDir;function contentDir(e){return s.join(e,`content-v${r}`)}},42575:(e,t,n)=>{"use strict";const r=n(31669);const i=n(35747);const s=n(95625);const o=n(913);const a=n(7305);const c=n(56435);const u=r.promisify(i.lstat);const l=r.promisify(i.readFile);e.exports=read;const f=64*1024*1024;function read(e,t,n={}){const{size:r}=n;return withContentSri(e,t,(e,t)=>{return u(e).then(n=>({stat:n,cpath:e,sri:t}))}).then(({stat:e,cpath:t,sri:n})=>{if(typeof r==="number"&&e.size!==r){throw sizeError(r,e.size)}if(e.size>f){return p(t,e.size,n,new c).concat()}return l(t,null).then(e=>{if(!o.checkData(e,n)){throw integrityError(n,t)}return e})})}const p=(e,t,n,r)=>{r.push(new s.ReadStream(e,{size:t,readSize:f}),o.integrityStream({integrity:n,size:t}));return r};e.exports.sync=readSync;function readSync(e,t,n={}){const{size:r}=n;return withContentSriSync(e,t,(e,t)=>{const n=i.readFileSync(e);if(typeof r==="number"&&r!==n.length){throw sizeError(r,n.length)}if(o.checkData(n,t)){return n}throw integrityError(t,e)})}e.exports.stream=readStream;e.exports.readStream=readStream;function readStream(e,t,n={}){const{size:r}=n;const i=new c;withContentSri(e,t,(e,t)=>{return u(e).then(n=>({stat:n,cpath:e,sri:t}))}).then(({stat:e,cpath:t,sri:n})=>{if(typeof r==="number"&&r!==e.size){return i.emit("error",sizeError(r,e.size))}p(t,e.size,n,i)},e=>i.emit("error",e));return i}let d;if(i.copyFile){e.exports.copy=copy;e.exports.copy.sync=copySync;d=r.promisify(i.copyFile)}function copy(e,t,n){return withContentSri(e,t,(e,t)=>{return d(e,n)})}function copySync(e,t,n){return withContentSriSync(e,t,(e,t)=>{return i.copyFileSync(e,n)})}e.exports.hasContent=hasContent;function hasContent(e,t){if(!t){return Promise.resolve(false)}return withContentSri(e,t,(e,t)=>{return u(e).then(e=>({size:e.size,sri:t,stat:e}))}).catch(e=>{if(e.code==="ENOENT"){return false}if(e.code==="EPERM"){if(process.platform!=="win32"){throw e}else{return false}}})}e.exports.hasContent.sync=hasContentSync;function hasContentSync(e,t){if(!t){return false}return withContentSriSync(e,t,(e,t)=>{try{const n=i.lstatSync(e);return{size:n.size,sri:t,stat:n}}catch(e){if(e.code==="ENOENT"){return false}if(e.code==="EPERM"){if(process.platform!=="win32"){throw e}else{return false}}}})}function withContentSri(e,t,n){const r=()=>{const r=o.parse(t);const i=r.pickAlgorithm();const s=r[i];if(s.length<=1){const t=a(e,s[0]);return n(t,s[0])}else{return Promise.all(s.map(t=>{return withContentSri(e,t,n).catch(e=>{if(e.code==="ENOENT"){return Object.assign(new Error("No matching content found for "+r.toString()),{code:"ENOENT"})}return e})})).then(e=>{const t=e.find(e=>!(e instanceof Error));if(t){return t}const n=e.find(e=>e.code==="ENOENT");if(n){throw n}throw e.find(e=>e instanceof Error)})}};return new Promise((e,t)=>{try{r().then(e).catch(t)}catch(e){t(e)}})}function withContentSriSync(e,t,n){const r=o.parse(t);const i=r.pickAlgorithm();const s=r[i];if(s.length<=1){const t=a(e,s[0]);return n(t,s[0])}else{let t=null;for(const r of s){try{return withContentSriSync(e,r,n)}catch(e){t=e}}throw t}}function sizeError(e,t){const n=new Error(`Bad data size: expected inserted data to be ${e} bytes, but got ${t} instead`);n.expected=e;n.found=t;n.code="EBADSIZE";return n}function integrityError(e,t){const n=new Error(`Integrity verification failed for ${e} (${t})`);n.code="EINTEGRITY";n.sri=e;n.path=t;return n}},92456:(e,t,n)=>{"use strict";const r=n(31669);const i=n(7305);const{hasContent:s}=n(42575);const o=r.promisify(n(32517));e.exports=rm;function rm(e,t){return s(e,t).then(t=>{if(t&&t.sri){return o(i(e,t.sri)).then(()=>true)}else{return false}})}},43509:(e,t,n)=>{"use strict";const r=n(31669);const i=n(7305);const s=n(98681);const o=n(35747);const a=n(30675);const c=n(22819);const u=n(56435);const l=n(55027);const f=n(85622);const p=r.promisify(n(32517));const d=n(913);const h=n(43751);const{disposer:m}=n(41242);const g=n(95625);const y=r.promisify(o.writeFile);e.exports=write;function write(e,t,n={}){const{algorithms:r,size:i,integrity:s}=n;if(r&&r.length>1){throw new Error("opts.algorithms only supports a single algorithm for now")}if(typeof i==="number"&&t.length!==i){return Promise.reject(sizeError(i,t.length))}const o=d.fromData(t,r?{algorithms:r}:{});if(s&&!d.checkData(t,s,n)){return Promise.reject(checksumError(s,o))}return m(makeTmp(e,n),makeTmpDisposer,r=>{return y(r.target,t,{flag:"wx"}).then(()=>moveToDestination(r,e,o,n))}).then(()=>({integrity:o,size:t.length}))}e.exports.stream=writeStream;class CacacheWriteStream extends l{constructor(e,t){super();this.opts=t;this.cache=e;this.inputStream=new c;this.inputStream.on("error",e=>this.emit("error",e));this.inputStream.on("drain",()=>this.emit("drain"));this.handleContentP=null}write(e,t,n){if(!this.handleContentP){this.handleContentP=handleContent(this.inputStream,this.cache,this.opts)}return this.inputStream.write(e,t,n)}flush(e){this.inputStream.end(()=>{if(!this.handleContentP){const t=new Error("Cache input stream was empty");t.code="ENODATA";return Promise.reject(t).catch(e)}this.handleContentP.then(t=>{t.integrity&&this.emit("integrity",t.integrity);t.size!==null&&this.emit("size",t.size);e()},t=>e(t))})}}function writeStream(e,t={}){return new CacacheWriteStream(e,t)}function handleContent(e,t,n){return m(makeTmp(t,n),makeTmpDisposer,r=>{return pipeToTmp(e,t,r.target,n).then(e=>{return moveToDestination(r,t,e.integrity,n).then(()=>e)})})}function pipeToTmp(e,t,n,r){let i;let s;const o=d.integrityStream({integrity:r.integrity,algorithms:r.algorithms,size:r.size});o.on("integrity",e=>{i=e});o.on("size",e=>{s=e});const a=new g.WriteStream(n,{flags:"wx"});const c=new u(e,o,a);return c.promise().then(()=>({integrity:i,size:s})).catch(e=>p(n).then(()=>{throw e}))}function makeTmp(e,t){const n=h(f.join(e,"tmp"),t.tmpPrefix);return s.mkdirfix(e,f.dirname(n)).then(()=>({target:n,moved:false}))}function makeTmpDisposer(e){if(e.moved){return Promise.resolve()}return p(e.target)}function moveToDestination(e,t,n,r){const o=i(t,n);const c=f.dirname(o);return s.mkdirfix(t,c).then(()=>{return a(e.target,o)}).then(()=>{e.moved=true;return s.chownr(t,o)})}function sizeError(e,t){const n=new Error(`Bad data size: expected inserted data to be ${e} bytes, but got ${t} instead`);n.expected=e;n.found=t;n.code="EBADSIZE";return n}function checksumError(e,t){const n=new Error(`Integrity check failed:\n Wanted: ${e}\n Found: ${t}`);n.code="EINTEGRITY";n.expected=e;n.found=t;return n}},76763:(e,t,n)=>{"use strict";const r=n(31669);const i=n(76417);const s=n(35747);const o=n(22819);const a=n(85622);const c=n(913);const u=n(7305);const l=n(98681);const f=n(21481);const p=n(16705).Jw.K;const d=r.promisify(s.appendFile);const h=r.promisify(s.readFile);const m=r.promisify(s.readdir);e.exports.NotFoundError=class NotFoundError extends Error{constructor(e,t){super(`No cache entry for ${t} found in ${e}`);this.code="ENOENT";this.cache=e;this.key=t}};e.exports.insert=insert;function insert(e,t,n,r={}){const{metadata:i,size:s}=r;const o=bucketPath(e,t);const u={key:t,integrity:n&&c.stringify(n),time:Date.now(),size:s,metadata:i};return l.mkdirfix(e,a.dirname(o)).then(()=>{const e=JSON.stringify(u);return d(o,`\n${hashEntry(e)}\t${e}`)}).then(()=>l.chownr(e,o)).catch(e=>{if(e.code==="ENOENT"){return undefined}throw e}).then(()=>{return formatEntry(e,u)})}e.exports.insert.sync=insertSync;function insertSync(e,t,n,r={}){const{metadata:i,size:o}=r;const u=bucketPath(e,t);const f={key:t,integrity:n&&c.stringify(n),time:Date.now(),size:o,metadata:i};l.mkdirfix.sync(e,a.dirname(u));const p=JSON.stringify(f);s.appendFileSync(u,`\n${hashEntry(p)}\t${p}`);try{l.chownr.sync(e,u)}catch(e){if(e.code!=="ENOENT"){throw e}}return formatEntry(e,f)}e.exports.find=find;function find(e,t){const n=bucketPath(e,t);return bucketEntries(n).then(n=>{return n.reduce((n,r)=>{if(r&&r.key===t){return formatEntry(e,r)}else{return n}},null)}).catch(e=>{if(e.code==="ENOENT"){return null}else{throw e}})}e.exports.find.sync=findSync;function findSync(e,t){const n=bucketPath(e,t);try{return bucketEntriesSync(n).reduce((n,r)=>{if(r&&r.key===t){return formatEntry(e,r)}else{return n}},null)}catch(e){if(e.code==="ENOENT"){return null}else{throw e}}}e.exports.delete=del;function del(e,t,n){return insert(e,t,null,n)}e.exports.delete.sync=delSync;function delSync(e,t,n){return insertSync(e,t,null,n)}e.exports.lsStream=lsStream;function lsStream(e){const t=bucketDir(e);const n=new o({objectMode:true});readdirOrEmpty(t).then(r=>Promise.all(r.map(r=>{const i=a.join(t,r);return readdirOrEmpty(i).then(t=>Promise.all(t.map(t=>{const r=a.join(i,t);return readdirOrEmpty(r).then(t=>Promise.all(t.map(t=>{const i=a.join(r,t);return bucketEntries(i).then(e=>e.reduce((e,t)=>{e.set(t.key,t);return e},new Map)).then(t=>{for(const r of t.values()){const t=formatEntry(e,r);if(t){n.write(t)}}}).catch(e=>{if(e.code==="ENOENT"){return undefined}throw e})})))})))}))).then(()=>n.end(),e=>n.emit("error",e));return n}e.exports.ls=ls;function ls(e){return lsStream(e).collect().then(e=>e.reduce((e,t)=>{e[t.key]=t;return e},{}))}function bucketEntries(e,t){return h(e,"utf8").then(e=>_bucketEntries(e,t))}function bucketEntriesSync(e,t){const n=s.readFileSync(e,"utf8");return _bucketEntries(n,t)}function _bucketEntries(e,t){const n=[];e.split("\n").forEach(e=>{if(!e){return}const t=e.split("\t");if(!t[1]||hashEntry(t[1])!==t[0]){return}let r;try{r=JSON.parse(t[1])}catch(e){return}if(r){n.push(r)}});return n}e.exports.bucketDir=bucketDir;function bucketDir(e){return a.join(e,`index-v${p}`)}e.exports.bucketPath=bucketPath;function bucketPath(e,t){const n=hashKey(t);return a.join.apply(a,[bucketDir(e)].concat(f(n)))}e.exports.hashKey=hashKey;function hashKey(e){return hash(e,"sha256")}e.exports.hashEntry=hashEntry;function hashEntry(e){return hash(e,"sha1")}function hash(e,t){return i.createHash(t).update(e).digest("hex")}function formatEntry(e,t){if(!t.integrity){return null}return{key:t.key,integrity:t.integrity,path:u(e,t.integrity),size:t.size,time:t.time,metadata:t.metadata}}function readdirOrEmpty(e){return m(e).catch(e=>{if(e.code==="ENOENT"||e.code==="ENOTDIR"){return[]}throw e})}},23656:(e,t,n)=>{"use strict";const r=n(37297);const i=50*1024*1024;const s=3*60*1e3;const o=new r({max:i,maxAge:s,length:(e,t)=>t.startsWith("key:")?e.data.length:e.length});e.exports.clearMemoized=clearMemoized;function clearMemoized(){const e={};o.forEach((t,n)=>{e[n]=t});o.reset();return e}e.exports.put=put;function put(e,t,n,r){pickMem(r).set(`key:${e}:${t.key}`,{entry:t,data:n});putDigest(e,t.integrity,n,r)}e.exports.put.byDigest=putDigest;function putDigest(e,t,n,r){pickMem(r).set(`digest:${e}:${t}`,n)}e.exports.get=get;function get(e,t,n){return pickMem(n).get(`key:${e}:${t}`)}e.exports.get.byDigest=getDigest;function getDigest(e,t,n){return pickMem(n).get(`digest:${e}:${t}`)}class ObjProxy{constructor(e){this.obj=e}get(e){return this.obj[e]}set(e,t){this.obj[e]=t}}function pickMem(e){if(!e||!e.memoize){return o}else if(e.memoize.get&&e.memoize.set){return e.memoize}else if(typeof e.memoize==="object"){return new ObjProxy(e.memoize)}else{return o}}},41242:e=>{"use strict";e.exports.disposer=disposer;function disposer(e,t,n){const r=(e,n,r=false)=>{return t(e).then(()=>{if(r){throw n}return n},e=>{throw e})};return e.then(e=>{return Promise.resolve().then(()=>n(e)).then(t=>r(e,t)).catch(t=>r(e,t,true))})}},98681:(e,t,n)=>{"use strict";const r=n(31669);const i=r.promisify(n(55020));const s=n(6371);const o=n(97393);const a=n(47411);const c={uid:null,gid:null};const u=()=>{if(typeof c.uid!=="number"){c.uid=process.getuid();const e=process.setuid;process.setuid=(t=>{c.uid=null;process.setuid=e;return process.setuid(t)})}if(typeof c.gid!=="number"){c.gid=process.getgid();const e=process.setgid;process.setgid=(t=>{c.gid=null;process.setgid=e;return process.setgid(t)})}};e.exports.chownr=fixOwner;function fixOwner(e,t){if(!process.getuid){return Promise.resolve()}u();if(c.uid!==0){return Promise.resolve()}return Promise.resolve(a(e)).then(e=>{const{uid:n,gid:r}=e;if(c.uid===n&&c.gid===r){return}return o("fixOwner: fixing ownership on "+t,()=>i(t,typeof n==="number"?n:c.uid,typeof r==="number"?r:c.gid).catch(e=>{if(e.code==="ENOENT"){return null}throw e}))})}e.exports.chownr.sync=fixOwnerSync;function fixOwnerSync(e,t){if(!process.getuid){return}const{uid:n,gid:r}=a.sync(e);u();if(c.uid!==0){return}if(c.uid===n&&c.gid===r){return}try{i.sync(t,typeof n==="number"?n:c.uid,typeof r==="number"?r:c.gid)}catch(e){if(e.code==="ENOENT"){return null}throw e}}e.exports.mkdirfix=mkdirfix;function mkdirfix(e,t,n){return Promise.resolve(a(e)).then(()=>{return s(t).then(t=>{if(t){return fixOwner(e,t).then(()=>t)}}).catch(n=>{if(n.code==="EEXIST"){return fixOwner(e,t).then(()=>null)}throw n})})}e.exports.mkdirfix.sync=mkdirfixSync;function mkdirfixSync(e,t){try{a.sync(e);const n=s.sync(t);if(n){fixOwnerSync(e,n);return n}}catch(n){if(n.code==="EEXIST"){fixOwnerSync(e,t);return null}else{throw n}}}},21481:e=>{"use strict";e.exports=hashToSegments;function hashToSegments(e){return[e.slice(0,2),e.slice(2,4),e.slice(4)]}},30675:(e,t,n)=>{"use strict";const r=n(35747);const i=n(31669);const s=i.promisify(r.chmod);const o=i.promisify(r.unlink);const a=i.promisify(r.stat);const c=n(93414);const u=n(97393);e.exports=moveFile;function moveFile(e,t){const n=global.__CACACHE_TEST_FAKE_WINDOWS__||process.platform==="win32";return new Promise((i,s)=>{r.link(e,t,e=>{if(e){if(n&&e.code==="EPERM"){return i()}else if(e.code==="EEXIST"||e.code==="EBUSY"){return i()}else{return s(e)}}else{return i()}})}).then(()=>{return Promise.all([o(e),!n&&s(t,"0444")])}).catch(()=>{return u("cacache-move-file:"+t,()=>{return a(t).catch(n=>{if(n.code!=="ENOENT"){throw n}return c(e,t)})})})}},81025:(e,t,n)=>{"use strict";const r=n(31669);const i=n(98681);const s=n(85622);const o=r.promisify(n(32517));const a=n(43751);const{disposer:c}=n(41242);e.exports.mkdir=mktmpdir;function mktmpdir(e,t={}){const{tmpPrefix:n}=t;const r=a(s.join(e,"tmp"),n);return i.mkdirfix(e,r).then(()=>{return r})}e.exports.withTmp=withTmp;function withTmp(e,t,n){if(!n){n=t;t={}}return c(mktmpdir(e,t),o,n)}e.exports.fix=fixtmpdir;function fixtmpdir(e){return i(e,s.join(e,"tmp"))}},99746:(e,t,n)=>{"use strict";const r=n(31669);const i=n(62383);const s=n(7305);const o=n(98681);const a=n(35747);const c=n(95625);const u=r.promisify(n(18750));const l=n(76763);const f=n(85622);const p=r.promisify(n(32517));const d=n(913);const h=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const m=r.promisify(a.stat);const g=r.promisify(a.truncate);const y=r.promisify(a.writeFile);const v=r.promisify(a.readFile);const _=e=>({concurrency:20,log:{silly(){}},...e});e.exports=verify;function verify(e,t){t=_(t);t.log.silly("verify","verifying cache at",e);const n=[markStartTime,fixPerms,garbageCollect,rebuildIndex,cleanTmp,writeVerifile,markEndTime];return n.reduce((n,r,i)=>{const s=r.name;const o=new Date;return n.then(n=>{return r(e,t).then(e=>{e&&Object.keys(e).forEach(t=>{n[t]=e[t]});const t=new Date;if(!n.runTime){n.runTime={}}n.runTime[s]=t-o;return Promise.resolve(n)})})},Promise.resolve({})).then(n=>{n.runTime.total=n.endTime-n.startTime;t.log.silly("verify","verification finished for",e,"in",`${n.runTime.total}ms`);return n})}function markStartTime(e,t){return Promise.resolve({startTime:new Date})}function markEndTime(e,t){return Promise.resolve({endTime:new Date})}function fixPerms(e,t){t.log.silly("verify","fixing cache permissions");return o.mkdirfix(e,e).then(()=>{return o.chownr(e,e)}).then(()=>null)}function garbageCollect(e,t){t.log.silly("verify","garbage collecting content");const n=l.lsStream(e);const r=new Set;n.on("data",e=>{if(t.filter&&!t.filter(e)){return}r.add(e.integrity.toString())});return new Promise((e,t)=>{n.on("end",e).on("error",t)}).then(()=>{const n=s.contentDir(e);return u(f.join(n,"**"),{follow:false,nodir:true,nosort:true}).then(e=>{return Promise.resolve({verifiedContent:0,reclaimedCount:0,reclaimedSize:0,badContentCount:0,keptSize:0}).then(n=>i(e,e=>{const t=e.split(/[/\\]/);const i=t.slice(t.length-3).join("");const s=t[t.length-4];const o=d.fromHex(i,s);if(r.has(o.toString())){return verifyContent(e,o).then(e=>{if(!e.valid){n.reclaimedCount++;n.badContentCount++;n.reclaimedSize+=e.size}else{n.verifiedContent++;n.keptSize+=e.size}return n})}else{n.reclaimedCount++;return m(e).then(t=>{return p(e).then(()=>{n.reclaimedSize+=t.size;return n})})}},{concurrency:t.concurrency}).then(()=>n))})})}function verifyContent(e,t){return m(e).then(n=>{const r={size:n.size,valid:true};return d.checkStream(new c.ReadStream(e),t).catch(t=>{if(t.code!=="EINTEGRITY"){throw t}return p(e).then(()=>{r.valid=false})}).then(()=>r)}).catch(e=>{if(e.code==="ENOENT"){return{size:0,valid:false}}throw e})}function rebuildIndex(e,t){t.log.silly("verify","rebuilding index");return l.ls(e).then(n=>{const r={missingContent:0,rejectedEntries:0,totalEntries:0};const s={};for(const i in n){if(h(n,i)){const o=l.hashKey(i);const a=n[i];const c=t.filter&&!t.filter(a);c&&r.rejectedEntries++;if(s[o]&&!c){s[o].push(a)}else if(s[o]&&c){}else if(c){s[o]=[];s[o]._path=l.bucketPath(e,i)}else{s[o]=[a];s[o]._path=l.bucketPath(e,i)}}}return i(Object.keys(s),n=>{return rebuildBucket(e,s[n],r,t)},{concurrency:t.concurrency}).then(()=>r)})}function rebuildBucket(e,t,n,r){return g(t._path).then(()=>{return t.reduce((t,r)=>{return t.then(()=>{const t=s(e,r.integrity);return m(t).then(()=>{return l.insert(e,r.key,r.integrity,{metadata:r.metadata,size:r.size}).then(()=>{n.totalEntries++})}).catch(e=>{if(e.code==="ENOENT"){n.rejectedEntries++;n.missingContent++;return}throw e})})},Promise.resolve())})}function cleanTmp(e,t){t.log.silly("verify","cleaning tmp directory");return p(f.join(e,"tmp"))}function writeVerifile(e,t){const n=f.join(e,"_lastverified");t.log.silly("verify","writing verifile to "+n);try{return y(n,""+ +new Date)}finally{o.chownr.sync(e,n)}}e.exports.lastRun=lastRun;function lastRun(e){return v(f.join(e,"_lastverified"),"utf8").then(e=>new Date(+e))}},14288:(e,t,n)=>{"use strict";const r=n(76763);e.exports=r.ls;e.exports.stream=r.lsStream},80003:(e,t,n)=>{"use strict";const r=n(76763);const i=n(23656);const s=n(43509);const o=n(55027);const{PassThrough:a}=n(19981);const c=n(56435);const u=e=>({algorithms:["sha512"],...e});e.exports=putData;function putData(e,t,n,o={}){const{memoize:a}=o;o=u(o);return s(e,n,o).then(s=>{return r.insert(e,t,s.integrity,{...o,size:s.size}).then(t=>{if(a){i.put(e,t,n,o)}return s.integrity})})}e.exports.stream=putStream;function putStream(e,t,n={}){const{memoize:l}=n;n=u(n);let f;let p;let d;const h=new c;if(l){const e=(new a).on("collect",e=>{d=e});h.push(e)}const m=s.stream(e,n).on("integrity",e=>{f=e}).on("size",e=>{p=e});h.push(m);h.push(new o({flush(){return r.insert(e,t,f,{...n,size:p}).then(t=>{if(l&&d){i.put(e,t,d,n)}if(f){h.emit("integrity",f)}if(p){h.emit("size",p)}})}}));return h}},19511:(e,t,n)=>{"use strict";const r=n(31669);const i=n(76763);const s=n(23656);const o=n(85622);const a=r.promisify(n(32517));const c=n(92456);e.exports=entry;e.exports.entry=entry;function entry(e,t){s.clearMemoized();return i.delete(e,t)}e.exports.content=content;function content(e,t){s.clearMemoized();return c(e,t)}e.exports.all=all;function all(e){s.clearMemoized();return a(o.join(e,"*(content-*|index-*)"))}},39614:(e,t,n)=>{"use strict";e.exports=n(99746)},55020:(e,t,n)=>{"use strict";const r=n(35747);const i=n(85622);const s=r.lchown?"lchown":"chown";const o=r.lchownSync?"lchownSync":"chownSync";const a=r.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/);const c=(e,t,n)=>{try{return r[o](e,t,n)}catch(e){if(e.code!=="ENOENT")throw e}};const u=(e,t,n)=>{try{return r.chownSync(e,t,n)}catch(e){if(e.code!=="ENOENT")throw e}};const l=a?(e,t,n,i)=>s=>{if(!s||s.code!=="EISDIR")i(s);else r.chown(e,t,n,i)}:(e,t,n,r)=>r;const f=a?(e,t,n)=>{try{return c(e,t,n)}catch(r){if(r.code!=="EISDIR")throw r;u(e,t,n)}}:(e,t,n)=>c(e,t,n);const p=process.version;let d=(e,t,n)=>r.readdir(e,t,n);let h=(e,t)=>r.readdirSync(e,t);if(/^v4\./.test(p))d=((e,t,n)=>r.readdir(e,n));const m=(e,t,n,i)=>{r[s](e,t,n,l(e,t,n,e=>{i(e&&e.code!=="ENOENT"?e:null)}))};const g=(e,t,n,s,o)=>{if(typeof t==="string")return r.lstat(i.resolve(e,t),(r,i)=>{if(r)return o(r.code!=="ENOENT"?r:null);i.name=t;g(e,i,n,s,o)});if(t.isDirectory()){y(i.resolve(e,t.name),n,s,r=>{if(r)return o(r);const a=i.resolve(e,t.name);m(a,n,s,o)})}else{const r=i.resolve(e,t.name);m(r,n,s,o)}};const y=(e,t,n,r)=>{d(e,{withFileTypes:true},(i,s)=>{if(i){if(i.code==="ENOENT")return r();else if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return r(i)}if(i||!s.length)return m(e,t,n,r);let o=s.length;let a=null;const c=i=>{if(a)return;if(i)return r(a=i);if(--o===0)return m(e,t,n,r)};s.forEach(r=>g(e,r,t,n,c))})};const v=(e,t,n,s)=>{if(typeof t==="string"){try{const n=r.lstatSync(i.resolve(e,t));n.name=t;t=n}catch(e){if(e.code==="ENOENT")return;else throw e}}if(t.isDirectory())_(i.resolve(e,t.name),n,s);f(i.resolve(e,t.name),n,s)};const _=(e,t,n)=>{let r;try{r=h(e,{withFileTypes:true})}catch(r){if(r.code==="ENOENT")return;else if(r.code==="ENOTDIR"||r.code==="ENOTSUP")return f(e,t,n);else throw r}if(r&&r.length)r.forEach(r=>v(e,r,t,n));return f(e,t,n)};e.exports=y;y.sync=_},37297:(e,t,n)=>{"use strict";const r=n(83314);const i=Symbol("max");const s=Symbol("length");const o=Symbol("lengthCalculator");const a=Symbol("allowStale");const c=Symbol("maxAge");const u=Symbol("dispose");const l=Symbol("noDisposeOnSet");const f=Symbol("lruList");const p=Symbol("cache");const d=Symbol("updateAgeOnGet");const h=()=>1;class LRUCache{constructor(e){if(typeof e==="number")e={max:e};if(!e)e={};if(e.max&&(typeof e.max!=="number"||e.max<0))throw new TypeError("max must be a non-negative number");const t=this[i]=e.max||Infinity;const n=e.length||h;this[o]=typeof n!=="function"?h:n;this[a]=e.stale||false;if(e.maxAge&&typeof e.maxAge!=="number")throw new TypeError("maxAge must be a number");this[c]=e.maxAge||0;this[u]=e.dispose;this[l]=e.noDisposeOnSet||false;this[d]=e.updateAgeOnGet||false;this.reset()}set max(e){if(typeof e!=="number"||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||Infinity;y(this)}get max(){return this[i]}set allowStale(e){this[a]=!!e}get allowStale(){return this[a]}set maxAge(e){if(typeof e!=="number")throw new TypeError("maxAge must be a non-negative number");this[c]=e;y(this)}get maxAge(){return this[c]}set lengthCalculator(e){if(typeof e!=="function")e=h;if(e!==this[o]){this[o]=e;this[s]=0;this[f].forEach(e=>{e.length=this[o](e.value,e.key);this[s]+=e.length})}y(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[f].length}rforEach(e,t){t=t||this;for(let n=this[f].tail;n!==null;){const r=n.prev;_(this,e,n,t);n=r}}forEach(e,t){t=t||this;for(let n=this[f].head;n!==null;){const r=n.next;_(this,e,n,t);n=r}}keys(){return this[f].toArray().map(e=>e.key)}values(){return this[f].toArray().map(e=>e.value)}reset(){if(this[u]&&this[f]&&this[f].length){this[f].forEach(e=>this[u](e.key,e.value))}this[p]=new Map;this[f]=new r;this[s]=0}dump(){return this[f].map(e=>g(this,e)?false:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[f]}set(e,t,n){n=n||this[c];if(n&&typeof n!=="number")throw new TypeError("maxAge must be a number");const r=n?Date.now():0;const a=this[o](t,e);if(this[p].has(e)){if(a>this[i]){v(this,this[p].get(e));return false}const o=this[p].get(e);const c=o.value;if(this[u]){if(!this[l])this[u](e,c.value)}c.now=r;c.maxAge=n;c.value=t;this[s]+=a-c.length;c.length=a;this.get(e);y(this);return true}const d=new Entry(e,t,a,r,n);if(d.length>this[i]){if(this[u])this[u](e,t);return false}this[s]+=d.length;this[f].unshift(d);this[p].set(e,this[f].head);y(this);return true}has(e){if(!this[p].has(e))return false;const t=this[p].get(e).value;return!g(this,t)}get(e){return m(this,e,true)}peek(e){return m(this,e,false)}pop(){const e=this[f].tail;if(!e)return null;v(this,e);return e.value}del(e){v(this,this[p].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n];const i=r.e||0;if(i===0)this.set(r.k,r.v);else{const e=i-t;if(e>0){this.set(r.k,r.v,e)}}}}prune(){this[p].forEach((e,t)=>m(this,t,false))}}const m=(e,t,n)=>{const r=e[p].get(t);if(r){const t=r.value;if(g(e,t)){v(e,r);if(!e[a])return undefined}else{if(n){if(e[d])r.value.now=Date.now();e[f].unshiftNode(r)}}return t.value}};const g=(e,t)=>{if(!t||!t.maxAge&&!e[c])return false;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[c]&&n>e[c]};const y=e=>{if(e[s]>e[i]){for(let t=e[f].tail;e[s]>e[i]&&t!==null;){const n=t.prev;v(e,t);t=n}}};const v=(e,t)=>{if(t){const n=t.value;if(e[u])e[u](n.key,n.value);e[s]-=n.length;e[p].delete(n.key);e[f].removeNode(t)}};class Entry{constructor(e,t,n,r,i){this.key=e;this.value=t;this.length=n;this.now=r;this.maxAge=i||0}}const _=(e,t,n,r)=>{let i=n.value;if(g(e,i)){v(e,n);if(!e[a])i=undefined}if(i)t.call(r,i.value,i.key,e)};e.exports=LRUCache},22819:(e,t,n)=>{"use strict";const r=n(28614);const i=n(92413);const s=n(83314);const o=n(24304).StringDecoder;const a=Symbol("EOF");const c=Symbol("maybeEmitEnd");const u=Symbol("emittedEnd");const l=Symbol("emittingEnd");const f=Symbol("closed");const p=Symbol("read");const d=Symbol("flush");const h=Symbol("flushChunk");const m=Symbol("encoding");const g=Symbol("decoder");const y=Symbol("flowing");const v=Symbol("paused");const _=Symbol("resume");const b=Symbol("bufferLength");const E=Symbol("bufferPush");const w=Symbol("bufferShift");const S=Symbol("objectMode");const k=Symbol("destroyed");const D=global._MP_NO_ITERATOR_SYMBOLS_!=="1";const x=D&&Symbol.asyncIterator||Symbol("asyncIterator not implemented");const C=D&&Symbol.iterator||Symbol("iterator not implemented");const A=e=>e==="end"||e==="finish"||e==="prefinish";const T=e=>e instanceof ArrayBuffer||typeof e==="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0;const M=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e);e.exports=class Minipass extends i{constructor(e){super();this[y]=false;this[v]=false;this.pipes=new s;this.buffer=new s;this[S]=e&&e.objectMode||false;if(this[S])this[m]=null;else this[m]=e&&e.encoding||null;if(this[m]==="buffer")this[m]=null;this[g]=this[m]?new o(this[m]):null;this[a]=false;this[u]=false;this[l]=false;this[f]=false;this.writable=true;this.readable=true;this[b]=0;this[k]=false}get bufferLength(){return this[b]}get encoding(){return this[m]}set encoding(e){if(this[S])throw new Error("cannot set encoding in objectMode");if(this[m]&&e!==this[m]&&(this[g]&&this[g].lastNeed||this[b]))throw new Error("cannot change encoding");if(this[m]!==e){this[g]=e?new o(e):null;if(this.buffer.length)this.buffer=this.buffer.map(e=>this[g].write(e))}this[m]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[S]}set objectMode(e){this[S]=this[S]||!!e}write(e,t,n){if(this[a])throw new Error("write after end");if(this[k]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof t==="function")n=t,t="utf8";if(!t)t="utf8";if(!this[S]&&!Buffer.isBuffer(e)){if(M(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(T(e))e=Buffer.from(e);else if(typeof e!=="string")this.objectMode=true}if(!this.objectMode&&!e.length){if(this[b]!==0)this.emit("readable");if(n)n();return this.flowing}if(typeof e==="string"&&!this[S]&&!(t===this[m]&&!this[g].lastNeed)){e=Buffer.from(e,t)}if(Buffer.isBuffer(e)&&this[m])e=this[g].write(e);if(this.flowing){if(this[b]!==0)this[d](true);this.emit("data",e)}else this[E](e);if(this[b]!==0)this.emit("readable");if(n)n();return this.flowing}read(e){if(this[k])return null;try{if(this[b]===0||e===0||e>this[b])return null;if(this[S])e=null;if(this.buffer.length>1&&!this[S]){if(this.encoding)this.buffer=new s([Array.from(this.buffer).join("")]);else this.buffer=new s([Buffer.concat(Array.from(this.buffer),this[b])])}return this[p](e||null,this.buffer.head.value)}finally{this[c]()}}[p](e,t){if(e===t.length||e===null)this[w]();else{this.buffer.head.value=t.slice(e);t=t.slice(0,e);this[b]-=e}this.emit("data",t);if(!this.buffer.length&&!this[a])this.emit("drain");return t}end(e,t,n){if(typeof e==="function")n=e,e=null;if(typeof t==="function")n=t,t="utf8";if(e)this.write(e,t);if(n)this.once("end",n);this[a]=true;this.writable=false;if(this.flowing||!this[v])this[c]();return this}[_](){if(this[k])return;this[v]=false;this[y]=true;this.emit("resume");if(this.buffer.length)this[d]();else if(this[a])this[c]();else this.emit("drain")}resume(){return this[_]()}pause(){this[y]=false;this[v]=true}get destroyed(){return this[k]}get flowing(){return this[y]}get paused(){return this[v]}[E](e){if(this[S])this[b]+=1;else this[b]+=e.length;return this.buffer.push(e)}[w](){if(this.buffer.length){if(this[S])this[b]-=1;else this[b]-=this.buffer.head.value.length}return this.buffer.shift()}[d](e){do{}while(this[h](this[w]()));if(!e&&!this.buffer.length&&!this[a])this.emit("drain")}[h](e){return e?(this.emit("data",e),this.flowing):false}pipe(e,t){if(this[k])return;const n=this[u];t=t||{};if(e===process.stdout||e===process.stderr)t.end=false;else t.end=t.end!==false;const r={dest:e,opts:t,ondrain:e=>this[_]()};this.pipes.push(r);e.on("drain",r.ondrain);this[_]();if(n&&r.opts.end)r.dest.end();return e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{if(e==="data"&&!this.pipes.length&&!this.flowing)this[_]();else if(A(e)&&this[u]){super.emit(e);this.removeAllListeners(e)}}}get emittedEnd(){return this[u]}[c](){if(!this[l]&&!this[u]&&!this[k]&&this.buffer.length===0&&this[a]){this[l]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[f])this.emit("close");this[l]=false}}emit(e,t){if(e!=="error"&&e!=="close"&&e!==k&&this[k])return;else if(e==="data"){if(!t)return;if(this.pipes.length)this.pipes.forEach(e=>e.dest.write(t)===false&&this.pause())}else if(e==="end"){if(this[u]===true)return;this[u]=true;this.readable=false;if(this[g]){t=this[g].end();if(t){this.pipes.forEach(e=>e.dest.write(t));super.emit("data",t)}}this.pipes.forEach(e=>{e.dest.removeListener("drain",e.ondrain);if(e.opts.end)e.dest.end()})}else if(e==="close"){this[f]=true;if(!this[u]&&!this[k])return}const n=new Array(arguments.length);n[0]=e;n[1]=t;if(arguments.length>2){for(let e=2;e{e.push(t);if(!this[S])e.dataLength+=t.length});return t.then(()=>e)}concat(){return this[S]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[S]?Promise.reject(new Error("cannot concat in objectMode")):this[m]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(k,()=>t(new Error("stream destroyed")));this.on("end",()=>e());this.on("error",e=>t(e))})}[x](){const e=()=>{const e=this.read();if(e!==null)return Promise.resolve({done:false,value:e});if(this[a])return Promise.resolve({done:true});let t=null;let n=null;const r=e=>{this.removeListener("data",i);this.removeListener("end",s);n(e)};const i=e=>{this.removeListener("error",r);this.removeListener("end",s);this.pause();t({value:e,done:!!this[a]})};const s=()=>{this.removeListener("error",r);this.removeListener("data",i);t({done:true})};const o=()=>r(new Error("stream destroyed"));return new Promise((e,a)=>{n=a;t=e;this.once(k,o);this.once("error",r);this.once("end",s);this.once("data",i)})};return{next:e}}[C](){const e=()=>{const e=this.read();const t=e===null;return{value:e,done:t}};return{next:e}}destroy(e){if(this[k]){if(e)this.emit("error",e);else this.emit(k);return this}this[k]=true;this.buffer=new s;this[b]=0;if(typeof this.close==="function"&&!this[f])this.close();if(e)this.emit("error",e);else this.emit(k);return this}static isStream(e){return!!e&&(e instanceof Minipass||e instanceof i||e instanceof r&&(typeof e.pipe==="function"||typeof e.write==="function"&&typeof e.end==="function"))}}},6371:(e,t,n)=>{const r=n(57217);const i=n(59479);const{mkdirpNative:s,mkdirpNativeSync:o}=n(62988);const{mkdirpManual:a,mkdirpManualSync:c}=n(96610);const{useNative:u,useNativeSync:l}=n(25024);const f=(e,t)=>{e=i(e);t=r(t);return u(t)?s(e,t):a(e,t)};const p=(e,t)=>{e=i(e);t=r(t);return l(t)?o(e,t):c(e,t)};f.sync=p;f.native=((e,t)=>s(i(e),r(t)));f.manual=((e,t)=>a(i(e),r(t)));f.nativeSync=((e,t)=>o(i(e),r(t)));f.manualSync=((e,t)=>c(i(e),r(t)));e.exports=f},90400:(e,t,n)=>{const{dirname:r}=n(85622);const i=(e,t,n=undefined)=>{if(n===t)return Promise.resolve();return e.statAsync(t).then(e=>e.isDirectory()?n:undefined,n=>n.code==="ENOENT"?i(e,r(t),t):undefined)};const s=(e,t,n=undefined)=>{if(n===t)return undefined;try{return e.statSync(t).isDirectory()?n:undefined}catch(n){return n.code==="ENOENT"?s(e,r(t),t):undefined}};e.exports={findMade:i,findMadeSync:s}},96610:(e,t,n)=>{const{dirname:r}=n(85622);const i=(e,t,n)=>{t.recursive=false;const s=r(e);if(s===e){return t.mkdirAsync(e,t).catch(e=>{if(e.code!=="EISDIR")throw e})}return t.mkdirAsync(e,t).then(()=>n||e,r=>{if(r.code==="ENOENT")return i(s,t).then(n=>i(e,t,n));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;return t.statAsync(e).then(e=>{if(e.isDirectory())return n;else throw r},()=>{throw r})})};const s=(e,t,n)=>{const i=r(e);t.recursive=false;if(i===e){try{return t.mkdirSync(e,t)}catch(e){if(e.code!=="EISDIR")throw e;else return}}try{t.mkdirSync(e,t);return n||e}catch(r){if(r.code==="ENOENT")return s(e,t,s(i,t,n));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;try{if(!t.statSync(e).isDirectory())throw r}catch(e){throw r}}};e.exports={mkdirpManual:i,mkdirpManualSync:s}},62988:(e,t,n)=>{const{dirname:r}=n(85622);const{findMade:i,findMadeSync:s}=n(90400);const{mkdirpManual:o,mkdirpManualSync:a}=n(96610);const c=(e,t)=>{t.recursive=true;const n=r(e);if(n===e)return t.mkdirAsync(e,t);return i(t,e).then(n=>t.mkdirAsync(e,t).then(()=>n).catch(n=>{if(n.code==="ENOENT")return o(e,t);else throw n}))};const u=(e,t)=>{t.recursive=true;const n=r(e);if(n===e)return t.mkdirSync(e,t);const i=s(t,e);try{t.mkdirSync(e,t);return i}catch(n){if(n.code==="ENOENT")return a(e,t);else throw n}};e.exports={mkdirpNative:c,mkdirpNativeSync:u}},57217:(e,t,n)=>{const{promisify:r}=n(31669);const i=n(35747);const s=e=>{if(!e)e={mode:511&~process.umask(),fs:i};else if(typeof e==="object")e={mode:511&~process.umask(),fs:i,...e};else if(typeof e==="number")e={mode:e,fs:i};else if(typeof e==="string")e={mode:parseInt(e,8),fs:i};else throw new TypeError("invalid options argument");e.mkdir=e.mkdir||e.fs.mkdir||i.mkdir;e.mkdirAsync=r(e.mkdir);e.stat=e.stat||e.fs.stat||i.stat;e.statAsync=r(e.stat);e.statSync=e.statSync||e.fs.statSync||i.statSync;e.mkdirSync=e.mkdirSync||e.fs.mkdirSync||i.mkdirSync;return e};e.exports=s},59479:(e,t,n)=>{const r=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const{resolve:i,parse:s}=n(85622);const o=e=>{if(/\0/.test(e)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:e,code:"ERR_INVALID_ARG_VALUE"})}e=i(e);if(r==="win32"){const t=/[*|"<>?:]/;const{root:n}=s(e);if(t.test(e.substr(n.length))){throw Object.assign(new Error("Illegal characters in path."),{path:e,code:"EINVAL"})}}return e};e.exports=o},25024:(e,t,n)=>{const r=n(35747);const i=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const s=i.replace(/^v/,"").split(".");const o=+s[0]>10||+s[0]===10&&+s[1]>=12;const a=!o?()=>false:e=>e.mkdir===r.mkdir;const c=!o?()=>false:e=>e.mkdirSync===r.mkdirSync;e.exports={useNative:a,useNativeSync:c}},32517:(e,t,n)=>{const r=n(42357);const i=n(85622);const s=n(35747);let o=undefined;try{o=n(18750)}catch(e){}const a={nosort:true,silent:true};let c=0;const u=process.platform==="win32";const l=e=>{const t=["unlink","chmod","stat","lstat","rmdir","readdir"];t.forEach(t=>{e[t]=e[t]||s[t];t=t+"Sync";e[t]=e[t]||s[t]});e.maxBusyTries=e.maxBusyTries||3;e.emfileWait=e.emfileWait||1e3;if(e.glob===false){e.disableGlob=true}if(e.disableGlob!==true&&o===undefined){throw Error("glob dependency not found, set `options.disableGlob = true` if intentional")}e.disableGlob=e.disableGlob||false;e.glob=e.glob||a};const f=(e,t,n)=>{if(typeof t==="function"){n=t;t={}}r(e,"rimraf: missing path");r.equal(typeof e,"string","rimraf: path should be a string");r.equal(typeof n,"function","rimraf: callback function required");r(t,"rimraf: invalid options argument provided");r.equal(typeof t,"object","rimraf: options should be object");l(t);let i=0;let s=null;let a=0;const u=e=>{s=s||e;if(--a===0)n(s)};const f=(e,r)=>{if(e)return n(e);a=r.length;if(a===0)return n();r.forEach(e=>{const n=r=>{if(r){if((r.code==="EBUSY"||r.code==="ENOTEMPTY"||r.code==="EPERM")&&ip(e,t,n),i*100)}if(r.code==="EMFILE"&&cp(e,t,n),c++)}if(r.code==="ENOENT")r=null}c=0;u(r)};p(e,t,n)})};if(t.disableGlob||!o.hasMagic(e))return f(null,[e]);t.lstat(e,(n,r)=>{if(!n)return f(null,[e]);o(e,t.glob,f)})};const p=(e,t,n)=>{r(e);r(t);r(typeof n==="function");t.lstat(e,(r,i)=>{if(r&&r.code==="ENOENT")return n(null);if(r&&r.code==="EPERM"&&u)d(e,t,r,n);if(i&&i.isDirectory())return m(e,t,r,n);t.unlink(e,r=>{if(r){if(r.code==="ENOENT")return n(null);if(r.code==="EPERM")return u?d(e,t,r,n):m(e,t,r,n);if(r.code==="EISDIR")return m(e,t,r,n)}return n(r)})})};const d=(e,t,n,i)=>{r(e);r(t);r(typeof i==="function");t.chmod(e,438,r=>{if(r)i(r.code==="ENOENT"?null:n);else t.stat(e,(r,s)=>{if(r)i(r.code==="ENOENT"?null:n);else if(s.isDirectory())m(e,t,n,i);else t.unlink(e,i)})})};const h=(e,t,n)=>{r(e);r(t);try{t.chmodSync(e,438)}catch(e){if(e.code==="ENOENT")return;else throw n}let i;try{i=t.statSync(e)}catch(e){if(e.code==="ENOENT")return;else throw n}if(i.isDirectory())v(e,t,n);else t.unlinkSync(e)};const m=(e,t,n,i)=>{r(e);r(t);r(typeof i==="function");t.rmdir(e,r=>{if(r&&(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM"))g(e,t,i);else if(r&&r.code==="ENOTDIR")i(n);else i(r)})};const g=(e,t,n)=>{r(e);r(t);r(typeof n==="function");t.readdir(e,(r,s)=>{if(r)return n(r);let o=s.length;if(o===0)return t.rmdir(e,n);let a;s.forEach(r=>{f(i.join(e,r),t,r=>{if(a)return;if(r)return n(a=r);if(--o===0)t.rmdir(e,n)})})})};const y=(e,t)=>{t=t||{};l(t);r(e,"rimraf: missing path");r.equal(typeof e,"string","rimraf: path should be a string");r(t,"rimraf: missing options");r.equal(typeof t,"object","rimraf: options should be object");let n;if(t.disableGlob||!o.hasMagic(e)){n=[e]}else{try{t.lstatSync(e);n=[e]}catch(r){n=o.sync(e,t.glob)}}if(!n.length)return;for(let e=0;e{r(e);r(t);try{t.rmdirSync(e)}catch(r){if(r.code==="ENOENT")return;if(r.code==="ENOTDIR")throw n;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")_(e,t)}};const _=(e,t)=>{r(e);r(t);t.readdirSync(e).forEach(n=>y(i.join(e,n),t));const n=u?100:1;let s=0;do{let r=true;try{const i=t.rmdirSync(e,t);r=false;return i}finally{if(++s{"use strict";var r=n(31998);var i=16;var s=generateUID();var o=new RegExp('(\\\\)?"@__(F|R|D|M|S|U|I|B)-'+s+'-(\\d+)__@"',"g");var a=/\{\s*\[native code\]\s*\}/g;var c=/function.*?\(/;var u=/.*?=>.*?/;var l=/[<>\/\u2028\u2029]/g;var f=["*","async"];var p={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\u2028":"\\u2028","\u2029":"\\u2029"};function escapeUnsafeChars(e){return p[e]}function generateUID(){var e=r(i);var t="";for(var n=0;n0});var i=r.filter(function(e){return f.indexOf(e)===-1});if(i.length>0){return(r.indexOf("async")>-1?"async ":"")+"function"+(r.join("").indexOf("*")>-1?"*":"")+t.substr(n)}return t}if(t.ignoreFunction&&typeof e==="function"){e=undefined}if(e===undefined){return String(e)}var y;if(t.isJSON&&!t.space){y=JSON.stringify(e)}else{y=JSON.stringify(e,t.isJSON?null:replacer,t.space)}if(typeof y!=="string"){return String(y)}if(t.unsafe!==true){y=y.replace(l,escapeUnsafeChars)}if(n.length===0&&r.length===0&&i.length===0&&p.length===0&&d.length===0&&h.length===0&&m.length===0&&g.length===0){return y}return y.replace(o,function(e,s,o,a){if(s){return e}if(o==="D"){return'new Date("'+i[a].toISOString()+'")'}if(o==="R"){return"new RegExp("+serialize(r[a].source)+', "'+r[a].flags+'")'}if(o==="M"){return"new Map("+serialize(Array.from(p[a].entries()),t)+")"}if(o==="S"){return"new Set("+serialize(Array.from(d[a].values()),t)+")"}if(o==="U"){return"undefined"}if(o==="I"){return m[a]}if(o==="B"){return'BigInt("'+g[a]+'")'}var c=n[a];return serializeFunc(c)})}},913:(e,t,n)=>{"use strict";const r=n(76417);const i=n(22819);const s=["sha256","sha384","sha512"];const o=/^[a-z0-9+/]+(?:=?=?)$/i;const a=/^([a-z0-9]+)-([^?]+)([?\S*]*)$/;const c=/^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/;const u=/^[\x21-\x7E]+$/;const l={algorithms:["sha512"],error:false,options:[],pickAlgorithm:getPrioritizedHash,sep:" ",single:false,strict:false};const f=(e={})=>({...l,...e});const p=e=>!e||!e.length?"":`?${e.join("?")}`;const d=Symbol("_onEnd");const h=Symbol("_getOptions");class IntegrityStream extends i{constructor(e){super();this.size=0;this.opts=e;this[h]();const{algorithms:t=l.algorithms}=e;this.algorithms=Array.from(new Set(t.concat(this.algorithm?[this.algorithm]:[])));this.hashes=this.algorithms.map(r.createHash)}[h](){const{integrity:e,size:t,options:n}={...l,...this.opts};this.sri=e?parse(e,this.opts):null;this.expectedSize=t;this.goodSri=this.sri?!!Object.keys(this.sri).length:false;this.algorithm=this.goodSri?this.sri.pickAlgorithm(this.opts):null;this.digests=this.goodSri?this.sri[this.algorithm]:null;this.optString=p(n)}emit(e,t){if(e==="end")this[d]();return super.emit(e,t)}write(e){this.size+=e.length;this.hashes.forEach(t=>t.update(e));return super.write(e)}[d](){if(!this.goodSri){this[h]()}const e=parse(this.hashes.map((e,t)=>{return`${this.algorithms[t]}-${e.digest("base64")}${this.optString}`}).join(" "),this.opts);const t=this.goodSri&&e.match(this.sri,this.opts);if(typeof this.expectedSize==="number"&&this.size!==this.expectedSize){const e=new Error(`stream size mismatch when checking ${this.sri}.\n Wanted: ${this.expectedSize}\n Found: ${this.size}`);e.code="EBADSIZE";e.found=this.size;e.expected=this.expectedSize;e.sri=this.sri;this.emit("error",e)}else if(this.sri&&!t){const t=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${e}. (${this.size} bytes)`);t.code="EINTEGRITY";t.found=e;t.expected=this.digests;t.algorithm=this.algorithm;t.sri=this.sri;this.emit("error",t)}else{this.emit("size",this.size);this.emit("integrity",e);t&&this.emit("verified",t)}}}class Hash{get isHash(){return true}constructor(e,t){t=f(t);const n=!!t.strict;this.source=e.trim();this.digest="";this.algorithm="";this.options=[];const r=this.source.match(n?c:a);if(!r){return}if(n&&!s.some(e=>e===r[1])){return}this.algorithm=r[1];this.digest=r[2];const i=r[3];if(i){this.options=i.slice(1).split("?")}}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){e=f(e);if(e.strict){if(!(s.some(e=>e===this.algorithm)&&this.digest.match(o)&&this.options.every(e=>e.match(u)))){return""}}const t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}}class Integrity{get isIntegrity(){return true}toJSON(){return this.toString()}isEmpty(){return Object.keys(this).length===0}toString(e){e=f(e);let t=e.sep||" ";if(e.strict){t=t.replace(/\S+/g," ")}return Object.keys(this).map(n=>{return this[n].map(t=>{return Hash.prototype.toString.call(t,e)}).filter(e=>e.length).join(t)}).filter(e=>e.length).join(t)}concat(e,t){t=f(t);const n=typeof e==="string"?e:stringify(e,t);return parse(`${this.toString(t)} ${n}`,t)}hexDigest(){return parse(this,{single:true}).hexDigest()}merge(e,t){t=f(t);const n=parse(e,t);for(const e in n){if(this[e]){if(!this[e].find(t=>n[e].find(e=>t.digest===e.digest))){throw new Error("hashes do not match, cannot update integrity")}}else{this[e]=n[e]}}}match(e,t){t=f(t);const n=parse(e,t);const r=n.pickAlgorithm(t);return this[r]&&n[r]&&this[r].find(e=>n[r].find(t=>e.digest===t.digest))||false}pickAlgorithm(e){e=f(e);const t=e.pickAlgorithm;const n=Object.keys(this);return n.reduce((e,n)=>{return t(e,n)||e})}}e.exports.parse=parse;function parse(e,t){if(!e)return null;t=f(t);if(typeof e==="string"){return _parse(e,t)}else if(e.algorithm&&e.digest){const n=new Integrity;n[e.algorithm]=[e];return _parse(stringify(n,t),t)}else{return _parse(stringify(e,t),t)}}function _parse(e,t){if(t.single){return new Hash(e,t)}const n=e.trim().split(/\s+/).reduce((e,n)=>{const r=new Hash(n,t);if(r.algorithm&&r.digest){const t=r.algorithm;if(!e[t]){e[t]=[]}e[t].push(r)}return e},new Integrity);return n.isEmpty()?null:n}e.exports.stringify=stringify;function stringify(e,t){t=f(t);if(e.algorithm&&e.digest){return Hash.prototype.toString.call(e,t)}else if(typeof e==="string"){return stringify(parse(e,t),t)}else{return Integrity.prototype.toString.call(e,t)}}e.exports.fromHex=fromHex;function fromHex(e,t,n){n=f(n);const r=p(n.options);return parse(`${t}-${Buffer.from(e,"hex").toString("base64")}${r}`,n)}e.exports.fromData=fromData;function fromData(e,t){t=f(t);const n=t.algorithms;const i=p(t.options);return n.reduce((n,s)=>{const o=r.createHash(s).update(e).digest("base64");const a=new Hash(`${s}-${o}${i}`,t);if(a.algorithm&&a.digest){const e=a.algorithm;if(!n[e]){n[e]=[]}n[e].push(a)}return n},new Integrity)}e.exports.fromStream=fromStream;function fromStream(e,t){t=f(t);const n=integrityStream(t);return new Promise((t,r)=>{e.pipe(n);e.on("error",r);n.on("error",r);let i;n.on("integrity",e=>{i=e});n.on("end",()=>t(i));n.on("data",()=>{})})}e.exports.checkData=checkData;function checkData(e,t,n){n=f(n);t=parse(t,n);if(!t||!Object.keys(t).length){if(n.error){throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"})}else{return false}}const i=t.pickAlgorithm(n);const s=r.createHash(i).update(e).digest("base64");const o=parse({algorithm:i,digest:s});const a=o.match(t,n);if(a||!n.error){return a}else if(typeof n.size==="number"&&e.length!==n.size){const r=new Error(`data size mismatch when checking ${t}.\n Wanted: ${n.size}\n Found: ${e.length}`);r.code="EBADSIZE";r.found=e.length;r.expected=n.size;r.sri=t;throw r}else{const n=new Error(`Integrity checksum failed when using ${i}: Wanted ${t}, but got ${o}. (${e.length} bytes)`);n.code="EINTEGRITY";n.found=o;n.expected=t;n.algorithm=i;n.sri=t;throw n}}e.exports.checkStream=checkStream;function checkStream(e,t,n){n=f(n);n.integrity=t;t=parse(t,n);if(!t||!Object.keys(t).length){return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}))}const r=integrityStream(n);return new Promise((t,n)=>{e.pipe(r);e.on("error",n);r.on("error",n);let i;r.on("verified",e=>{i=e});r.on("end",()=>t(i));r.on("data",()=>{})})}e.exports.integrityStream=integrityStream;function integrityStream(e={}){return new IntegrityStream(e)}e.exports.create=createIntegrity;function createIntegrity(e){e=f(e);const t=e.algorithms;const n=p(e.options);const i=t.map(r.createHash);return{update:function(e,t){i.forEach(n=>n.update(e,t));return this},digest:function(r){const s=t.reduce((t,r)=>{const s=i.shift().digest("base64");const o=new Hash(`${r}-${s}${n}`,e);if(o.algorithm&&o.digest){const e=o.algorithm;if(!t[e]){t[e]=[]}t[e].push(o)}return t},new Integrity);return s}}}const m=new Set(r.getHashes());const g=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>m.has(e));function getPrioritizedHash(e,t){return g.indexOf(e.toLowerCase())>=g.indexOf(t.toLowerCase())?e:t}},79304:function(e,t,n){(function(e,r){true?r(t,n(99596)):0})(this,function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t["default"]:t;function characters(e){return e.split("")}function member(e,t){return t.includes(e)}class DefaultsError extends Error{constructor(e,t){super();this.name="DefaultsError";this.message=e;this.defs=t}}function defaults(e,t,n){if(e===true){e={}}if(e!=null&&typeof e==="object"){e=Object.assign({},e)}const r=e||{};if(n)for(const e in r)if(HOP(r,e)&&!HOP(t,e)){throw new DefaultsError("`"+e+"` is not a supported option",t)}for(const n in t)if(HOP(t,n)){if(!e||!HOP(e,n)){r[n]=t[n]}else if(n==="ecma"){let t=e[n]|0;if(t>5&&t<2015)t+=2009;r[n]=t}else{r[n]=e&&HOP(e,n)?e[n]:t[n]}}return r}function noop(){}function return_false(){return false}function return_true(){return true}function return_this(){return this}function return_null(){return null}var r=function(){function MAP(t,n,r){var i=[],s=[],o;function doit(){var a=n(t[o],o);var c=a instanceof Last;if(c)a=a.v;if(a instanceof AtTop){a=a.v;if(a instanceof Splice){s.push.apply(s,r?a.v.slice().reverse():a.v)}else{s.push(a)}}else if(a!==e){if(a instanceof Splice){i.push.apply(i,r?a.v.slice().reverse():a.v)}else{i.push(a)}}return c}if(Array.isArray(t)){if(r){for(o=t.length;--o>=0;)if(doit())break;i.reverse();s.reverse()}else{for(o=0;o=0;){if(e[n]===t)e.splice(n,1)}}function mergeSort(e,t){if(e.length<2)return e.slice();function merge(e,n){var r=[],i=0,s=0,o=0;while(i{n+=e})}return n}function has_annotation(e,t){return e._annotations&t}function set_annotation(e,t){e._annotations|=t}var o="break case catch class const continue debugger default delete do else export extends finally for function if in instanceof let new return switch throw try typeof var void while with";var a="false null true";var c="enum implements import interface package private protected public static super this "+a+" "+o;var u="return new delete throw else case yield await";o=makePredicate(o);c=makePredicate(c);u=makePredicate(u);a=makePredicate(a);var l=makePredicate(characters("+-*&%=<>!?|~^"));var f=/[0-9a-f]/i;var p=/^0x[0-9a-f]+$/i;var d=/^0[0-7]+$/;var h=/^0o[0-7]+$/i;var m=/^0b[01]+$/i;var g=/^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i;var y=/^(0[xob])?[0-9a-f]+n$/i;var v=makePredicate(["in","instanceof","typeof","new","void","delete","++","--","+","-","!","~","&","|","^","*","**","/","%",">>","<<",">>>","<",">","<=",">=","==","===","!=","!==","?","=","+=","-=","/=","*=","**=","%=",">>=","<<=",">>>=","|=","^=","&=","&&","??","||"]);var _=makePredicate(characters("  \n\r\t\f\v​           \u2028\u2029   \ufeff"));var b=makePredicate(characters("\n\r\u2028\u2029"));var E=makePredicate(characters(";]),:"));var w=makePredicate(characters("[{(,;:"));var S=makePredicate(characters("[]{}(),;:"));var k={ID_Start:/[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/(?:[$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF])+/};function get_full_char(e,t){if(is_surrogate_pair_head(e.charCodeAt(t))){if(is_surrogate_pair_tail(e.charCodeAt(t+1))){return e.charAt(t)+e.charAt(t+1)}}else if(is_surrogate_pair_tail(e.charCodeAt(t))){if(is_surrogate_pair_head(e.charCodeAt(t-1))){return e.charAt(t-1)+e.charAt(t)}}return e.charAt(t)}function get_full_char_code(e,t){if(is_surrogate_pair_head(e.charCodeAt(t))){return 65536+(e.charCodeAt(t)-55296<<10)+e.charCodeAt(t+1)-56320}return e.charCodeAt(t)}function get_full_char_length(e){var t=0;for(var n=0;n65535){e-=65536;return String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)}return String.fromCharCode(e)}function is_surrogate_pair_head(e){return e>=55296&&e<=56319}function is_surrogate_pair_tail(e){return e>=56320&&e<=57343}function is_digit(e){return e>=48&&e<=57}function is_identifier_start(e){return k.ID_Start.test(e)}function is_identifier_char(e){return k.ID_Continue.test(e)}function is_basic_identifier_string(e){return/^[a-z_$][a-z0-9_$]*$/i.test(e)}function is_identifier_string(e,t){if(/^[a-z_$][a-z0-9_$]*$/i.test(e)){return true}if(!t&&/[\ud800-\udfff]/.test(e)){return false}var n=k.ID_Start.exec(e);if(!n||n.index!==0){return false}e=e.slice(n[0].length);if(!e){return true}n=k.ID_Continue.exec(e);return!!n&&n[0].length===e.length}function parse_js_number(e,t=true){if(!t&&e.includes("e")){return NaN}if(p.test(e)){return parseInt(e.substr(2),16)}else if(d.test(e)){return parseInt(e.substr(1),8)}else if(h.test(e)){return parseInt(e.substr(2),8)}else if(m.test(e)){return parseInt(e.substr(2),2)}else if(g.test(e)){return parseFloat(e)}else{var n=parseFloat(e);if(n==e)return n}}class JS_Parse_Error extends Error{constructor(e,t,n,r,i){super();this.name="SyntaxError";this.message=e;this.filename=t;this.line=n;this.col=r;this.pos=i}}function js_error(e,t,n,r,i){throw new JS_Parse_Error(e,t,n,r,i)}function is_token(e,t,n){return e.type==t&&(n==null||e.value==n)}var D={};function tokenizer(e,t,n,r){var i={text:e,filename:t,pos:0,tokpos:0,line:1,tokline:0,col:0,tokcol:0,newline_before:false,regex_allowed:false,brace_counter:0,template_braces:[],comments_before:[],directives:{},directive_stack:[]};function peek(){return get_full_char(i.text,i.pos)}function is_option_chain_op(){const e=i.text.charCodeAt(i.pos+1)===46;if(!e)return false;const t=i.text.charCodeAt(i.pos+2);return t<48||t>57}function next(e,t){var n=get_full_char(i.text,i.pos++);if(e&&!n)throw D;if(b.has(n)){i.newline_before=i.newline_before||!t;++i.line;i.col=0;if(n=="\r"&&peek()=="\n"){++i.pos;n="\n"}}else{if(n.length>1){++i.pos;++i.col}++i.col}return n}function forward(e){while(e--)next()}function looking_at(e){return i.text.substr(i.pos,e.length)==e}function find_eol(){var e=i.text;for(var t=i.pos,n=i.text.length;t="0"&&e<="7"}function read_escaped_char(e,t,n){var r=next(true,e);switch(r.charCodeAt(0)){case 110:return"\n";case 114:return"\r";case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 120:return String.fromCharCode(hex_bytes(2,t));case 117:if(peek()=="{"){next(true);if(peek()==="}")parse_error("Expecting hex-character between {}");while(peek()=="0")next(true);var s,o=find("}",true)-i.pos;if(o>6||(s=hex_bytes(o,t))>1114111){parse_error("Unicode reference out of bounds")}next(true);return from_char_code(s)}return String.fromCharCode(hex_bytes(4,t));case 10:return"";case 13:if(peek()=="\n"){next(true,e);return""}}if(is_octal(r)){if(n&&t){const e=r==="0"&&!is_octal(peek());if(!e){parse_error("Octal escape sequences are not allowed in template strings")}}return read_octal_escape_sequence(r,t)}return r}function read_octal_escape_sequence(e,t){var n=peek();if(n>="0"&&n<="7"){e+=next(true);if(e[0]<="3"&&(n=peek())>="0"&&n<="7")e+=next(true)}if(e==="0")return"\0";if(e.length>0&&next_token.has_directive("use strict")&&t)parse_error("Legacy octal escape sequences are not allowed in strict mode");return String.fromCharCode(parseInt(e,8))}function hex_bytes(e,t){var n=0;for(;e>0;--e){if(!t&&isNaN(parseInt(peek(),16))){return parseInt(n,16)||""}var r=next(true);if(isNaN(parseInt(r,16)))parse_error("Invalid hex-character pattern in string");n+=r}return parseInt(n,16)}var m=with_eof_error("Unterminated string constant",function(){var e=next(),t="";for(;;){var n=next(true,true);if(n=="\\")n=read_escaped_char(true,true);else if(n=="\r"||n=="\n")parse_error("Unterminated string constant");else if(n==e)break;t+=n}var r=token("string",t);r.quote=e;return r});var g=with_eof_error("Unterminated template",function(e){if(e){i.template_braces.push(i.brace_counter)}var t="",n="",r,s;next(true,true);while((r=next(true,true))!="`"){if(r=="\r"){if(peek()=="\n")++i.pos;r="\n"}else if(r=="$"&&peek()=="{"){next(true,true);i.brace_counter++;s=token(e?"template_head":"template_substitution",t);s.raw=n;return s}n+=r;if(r=="\\"){var o=i.pos;var a=h&&(h.type==="name"||h.type==="punc"&&(h.value===")"||h.value==="]"));r=read_escaped_char(true,!a,true);n+=i.text.substr(o,i.pos-o)}t+=r}i.template_braces.pop();s=token(e?"template_head":"template_substitution",t);s.raw=n;s.end=true;return s});function skip_line_comment(e){var t=i.regex_allowed;var n=find_eol(),r;if(n==-1){r=i.text.substr(i.pos);i.pos=i.text.length}else{r=i.text.substring(i.pos,n);i.pos=n}i.col=i.tokcol+(i.pos-i.tokpos);i.comments_before.push(token(e,r,true));i.regex_allowed=t;return next_token}var E=with_eof_error("Unterminated multiline comment",function(){var e=i.regex_allowed;var t=find("*/",true);var n=i.text.substring(i.pos,t).replace(/\r\n|\r|\u2028|\u2029/g,"\n");forward(get_full_char_length(n)+2);i.comments_before.push(token("comment2",n,true));i.newline_before=i.newline_before||n.includes("\n");i.regex_allowed=e;return next_token});var k=with_eof_error("Unterminated identifier name",function(){var e,t,n=false;var r=function(){n=true;next();if(peek()!=="u"){parse_error("Expecting UnicodeEscapeSequence -- uXXXX or u{XXXX}")}return read_escaped_char(false,true)};if((e=peek())==="\\"){e=r();if(!is_identifier_start(e)){parse_error("First identifier char is an invalid identifier char")}}else if(is_identifier_start(e)){next()}else{return""}while((t=peek())!=null){if((t=peek())==="\\"){t=r();if(!is_identifier_char(t)){parse_error("Invalid escaped identifier char")}}else{if(!is_identifier_char(t)){break}next()}e+=t}if(c.has(e)&&n){parse_error("Escaped characters are not allowed in keywords")}return e});var x=with_eof_error("Unterminated regular expression",function(e){var t=false,n,r=false;while(n=next(true))if(b.has(n)){parse_error("Unexpected line terminator")}else if(t){e+="\\"+n;t=false}else if(n=="["){r=true;e+=n}else if(n=="]"&&r){r=false;e+=n}else if(n=="/"&&!r){break}else if(n=="\\"){t=true}else{e+=n}const i=k();return token("regexp",{source:e,flags:i})});function read_operator(e){function grow(e){if(!peek())return e;var t=e+peek();if(v.has(t)){next();return grow(t)}else{return e}}return token("operator",grow(e||next()))}function handle_slash(){next();switch(peek()){case"/":next();return skip_line_comment("comment1");case"*":next();return E()}return i.regex_allowed?x(""):read_operator("/")}function handle_eq_sign(){next();if(peek()===">"){next();return token("arrow","=>")}else{return read_operator("=")}}function handle_dot(){next();if(is_digit(peek().charCodeAt(0))){return read_num(".")}if(peek()==="."){next();next();return token("expand","...")}return token("punc",".")}function read_word(){var e=k();if(s)return token("name",e);return a.has(e)?token("atom",e):!o.has(e)?token("name",e):v.has(e)?token("operator",e):token("keyword",e)}function with_eof_error(e,t){return function(n){try{return t(n)}catch(t){if(t===D)parse_error(e);else throw t}}}function next_token(e){if(e!=null)return x(e);if(r&&i.pos==0&&looking_at("#!")){start_token();forward(2);skip_line_comment("comment5")}for(;;){skip_whitespace();start_token();if(n){if(looking_at("\x3c!--")){forward(4);skip_line_comment("comment3");continue}if(looking_at("--\x3e")&&i.newline_before){forward(3);skip_line_comment("comment4");continue}}var t=peek();if(!t)return token("eof");var s=t.charCodeAt(0);switch(s){case 34:case 39:return m();case 46:return handle_dot();case 47:{var o=handle_slash();if(o===next_token)continue;return o}case 61:return handle_eq_sign();case 63:{if(!is_option_chain_op())break;next();next();return token("punc","?.")}case 96:return g(true);case 123:i.brace_counter++;break;case 125:i.brace_counter--;if(i.template_braces.length>0&&i.template_braces[i.template_braces.length-1]===i.brace_counter)return g(false);break}if(is_digit(s))return read_num();if(S.has(t))return token("punc",next());if(l.has(t))return read_operator();if(s==92||is_identifier_start(t))return read_word();break}parse_error("Unexpected character '"+t+"'")}next_token.next=next;next_token.peek=peek;next_token.context=function(e){if(e)i=e;return i};next_token.add_directive=function(e){i.directive_stack[i.directive_stack.length-1].push(e);if(i.directives[e]===undefined){i.directives[e]=1}else{i.directives[e]++}};next_token.push_directives_stack=function(){i.directive_stack.push([])};next_token.pop_directives_stack=function(){var e=i.directive_stack[i.directive_stack.length-1];for(var t=0;t0};return next_token}var x=makePredicate(["typeof","void","delete","--","++","!","~","-","+"]);var C=makePredicate(["--","++"]);var A=makePredicate(["=","+=","-=","/=","*=","**=","%=",">>=","<<=",">>>=","|=","^=","&="]);var T=function(e,t){for(var n=0;n","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]],{});var M=makePredicate(["atom","num","big_int","string","regexp","name"]);function parse(e,t){const n=new Map;t=defaults(t,{bare_returns:false,ecma:null,expression:false,filename:null,html5_comments:true,module:false,shebang:true,strict:false,toplevel:null},true);var r={input:typeof e=="string"?tokenizer(e,t.filename,t.html5_comments,t.shebang):e,token:null,prev:null,peeked:null,in_function:0,in_async:-1,in_generator:-1,in_directives:true,in_loop:0,labels:[]};r.token=next();function is(e,t){return is_token(r.token,e,t)}function peek(){return r.peeked||(r.peeked=r.input())}function next(){r.prev=r.token;if(!r.peeked)peek();r.token=r.peeked;r.peeked=null;r.in_directives=r.in_directives&&(r.token.type=="string"||is("punc",";"));return r.token}function prev(){return r.prev}function croak(e,t,n,i){var s=r.input.context();js_error(e,s.filename,t!=null?t:s.tokline,n!=null?n:s.tokcol,i!=null?i:s.tokpos)}function token_error(e,t){croak(t,e.line,e.col)}function unexpected(e){if(e==null)e=r.token;token_error(e,"Unexpected token: "+e.type+" ("+e.value+")")}function expect_token(e,t){if(is(e,t)){return next()}token_error(r.token,"Unexpected token "+r.token.type+" «"+r.token.value+"»"+", expected "+e+" «"+t+"»")}function expect(e){return expect_token("punc",e)}function has_newline_before(e){return e.nlb||!e.comments_before.every(e=>!e.nlb)}function can_insert_semicolon(){return!t.strict&&(is("eof")||is("punc","}")||has_newline_before(r.token))}function is_in_generator(){return r.in_generator===r.in_function}function is_in_async(){return r.in_async===r.in_function}function semicolon(e){if(is("punc",";"))next();else if(!e&&!can_insert_semicolon())unexpected()}function parenthesised(){expect("(");var e=w(true);expect(")");return e}function embed_tokens(e){return function _embed_tokens_wrapper(...t){const n=r.token;const i=e(...t);i.start=n;i.end=prev();return i}}function handle_regexp(){if(is("operator","/")||is("operator","/=")){r.peeked=null;r.token=r.input(r.token.value.substr(1))}}var i=embed_tokens(function statement(e,n,i){handle_regexp();switch(r.token.type){case"string":if(r.in_directives){var s=peek();if(!r.token.raw.includes("\\")&&(is_token(s,"punc",";")||is_token(s,"punc","}")||has_newline_before(s)||is_token(s,"eof"))){r.input.add_directive(r.token.value)}else{r.in_directives=false}}var c=r.in_directives,f=simple_statement();return c&&f.body instanceof Mt?new P(f.body):f;case"template_head":case"num":case"big_int":case"regexp":case"operator":case"atom":return simple_statement();case"name":if(r.token.value=="async"&&is_token(peek(),"keyword","function")){next();next();if(n){croak("functions are not allowed as the body of a loop")}return o(re,false,true,e)}if(r.token.value=="import"&&!is_token(peek(),"punc","(")&&!is_token(peek(),"punc",".")){next();var p=import_();semicolon();return p}return is_token(peek(),"punc",":")?labeled_statement():simple_statement();case"punc":switch(r.token.value){case"{":return new B({start:r.token,body:block_(),end:prev()});case"[":case"(":return simple_statement();case";":r.in_directives=false;next();return new j;default:unexpected()}case"keyword":switch(r.token.value){case"break":next();return break_cont(de);case"continue":next();return break_cont(he);case"debugger":next();semicolon();return new R;case"do":next();var d=in_loop(statement);expect_token("keyword","while");var h=parenthesised();semicolon(true);return new G({body:d,condition:h});case"while":next();return new q({condition:parenthesised(),body:in_loop(function(){return statement(false,true)})});case"for":next();return for_();case"class":next();if(n){croak("classes are not allowed as the body of a loop")}if(i){croak("classes are not allowed as the body of an if")}return class_(rt);case"function":next();if(n){croak("functions are not allowed as the body of a loop")}return o(re,false,false,e);case"if":next();return if_();case"return":if(r.in_function==0&&!t.bare_returns)croak("'return' outside of function");next();var m=null;if(is("punc",";")){next()}else if(!can_insert_semicolon()){m=w(true);semicolon()}return new le({value:m});case"switch":next();return new ve({expression:parenthesised(),body:in_loop(switch_body_)});case"throw":next();if(has_newline_before(r.token))croak("Illegal newline after 'throw'");var m=w(true);semicolon();return new fe({value:m});case"try":next();return try_();case"var":next();var p=a();semicolon();return p;case"let":next();var p=u();semicolon();return p;case"const":next();var p=l();semicolon();return p;case"with":if(r.input.has_directive("use strict")){croak("Strict mode may not include a with statement")}next();return new J({expression:parenthesised(),body:statement()});case"export":if(!is_token(peek(),"punc","(")){next();var p=export_();if(is("punc",";"))semicolon();return p}}}unexpected()});function labeled_statement(){var e=as_symbol(wt);if(e.name==="await"&&is_in_async()){token_error(r.prev,"await cannot be used as label inside async function")}if(r.labels.some(t=>t.name===e.name)){croak("Label "+e.name+" defined twice")}expect(":");r.labels.push(e);var t=i();r.labels.pop();if(!(t instanceof H)){e.references.forEach(function(t){if(t instanceof he){t=t.label.start;croak("Continue label `"+e.name+"` refers to non-IterationStatement.",t.line,t.col,t.pos)}})}return new z({body:t,label:e})}function simple_statement(e){return new N({body:(e=w(true),semicolon(),e)})}function break_cont(e){var t=null,n;if(!can_insert_semicolon()){t=as_symbol(xt,true)}if(t!=null){n=r.labels.find(e=>e.name===t.name);if(!n)croak("Undefined label "+t.name);t.thedef=n}else if(r.in_loop==0)croak(e.TYPE+" not inside a loop or switch");semicolon();var i=new e({label:t});if(n)n.references.push(i);return i}function for_(){var e="`for await` invalid in this context";var t=r.token;if(t.type=="name"&&t.value=="await"){if(!is_in_async()){token_error(t,e)}next()}else{t=false}expect("(");var n=null;if(!is("punc",";")){n=is("keyword","var")?(next(),a(true)):is("keyword","let")?(next(),u(true)):is("keyword","const")?(next(),l(true)):w(true,true);var i=is("operator","in");var s=is("name","of");if(t&&!s){token_error(t,e)}if(i||s){if(n instanceof De){if(n.definitions.length>1)token_error(n.start,"Only one variable declaration allowed in for..in loop")}else if(!(is_assignable(n)||(n=to_destructuring(n))instanceof ie)){token_error(n.start,"Invalid left-hand side in for..in loop")}next();if(i){return for_in(n)}else{return for_of(n,!!t)}}}else if(t){token_error(t,e)}return regular_for(n)}function regular_for(e){expect(";");var t=is("punc",";")?null:w(true);expect(";");var n=is("punc",")")?null:w(true);expect(")");return new W({init:e,condition:t,step:n,body:in_loop(function(){return i(false,true)})})}function for_of(e,t){var n=e instanceof De?e.definitions[0].name:null;var r=w(true);expect(")");return new X({await:t,init:e,name:n,object:r,body:in_loop(function(){return i(false,true)})})}function for_in(e){var t=w(true);expect(")");return new K({init:e,object:t,body:in_loop(function(){return i(false,true)})})}var s=function(e,t,n){if(has_newline_before(r.token)){croak("Unexpected newline before arrow (=>)")}expect_token("arrow","=>");var i=_function_body(is("punc","{"),false,n);var s=i instanceof Array&&i.length?i[i.length-1].end:i instanceof Array?e:i.end;return new ne({start:e,end:s,async:n,argnames:t,body:i})};var o=function(e,t,n,r){var i=e===re;var s=is("operator","*");if(s){next()}var o=is("name")?as_symbol(i?dt:gt):null;if(i&&!o){if(r){e=te}else{unexpected()}}if(o&&e!==ee&&!(o instanceof at))unexpected(prev());var a=[];var c=_function_body(true,s||t,n,o,a);return new e({start:a.start,end:c.end,is_generator:s,async:n,name:o,argnames:a,body:c})};function track_used_binding_identifiers(e,t){var n=new Set;var r=false;var i=false;var s=false;var o=!!t;var a={add_parameter:function(t){if(n.has(t.value)){if(r===false){r=t}a.check_strict()}else{n.add(t.value);if(e){switch(t.value){case"arguments":case"eval":case"yield":if(o){token_error(t,"Unexpected "+t.value+" identifier as parameter inside strict mode")}break;default:if(c.has(t.value)){unexpected()}}}}},mark_default_assignment:function(e){if(i===false){i=e}},mark_spread:function(e){if(s===false){s=e}},mark_strict_mode:function(){o=true},is_strict:function(){return i!==false||s!==false||o},check_strict:function(){if(a.is_strict()&&r!==false){token_error(r,"Parameter "+r.value+" was used already")}}};return a}function parameters(e){var t=track_used_binding_identifiers(true,r.input.has_directive("use strict"));expect("(");while(!is("punc",")")){var n=parameter(t);e.push(n);if(!is("punc",")")){expect(",")}if(n instanceof Z){break}}next()}function parameter(e,t){var n;var i=false;if(e===undefined){e=track_used_binding_identifiers(true,r.input.has_directive("use strict"))}if(is("expand","...")){i=r.token;e.mark_spread(r.token);next()}n=binding_element(e,t);if(is("operator","=")&&i===false){e.mark_default_assignment(r.token);next();n=new Ke({start:n.start,left:n,operator:"=",right:w(false),end:r.token})}if(i!==false){if(!is("punc",")")){unexpected()}n=new Z({start:i,expression:n,end:i})}e.check_strict();return n}function binding_element(e,t){var n=[];var i=true;var s=false;var o;var a=r.token;if(e===undefined){e=track_used_binding_identifiers(false,r.input.has_directive("use strict"))}t=t===undefined?pt:t;if(is("punc","[")){next();while(!is("punc","]")){if(i){i=false}else{expect(",")}if(is("expand","...")){s=true;o=r.token;e.mark_spread(r.token);next()}if(is("punc")){switch(r.token.value){case",":n.push(new Bt({start:r.token,end:r.token}));continue;case"]":break;case"[":case"{":n.push(binding_element(e,t));break;default:unexpected()}}else if(is("name")){e.add_parameter(r.token);n.push(as_symbol(t))}else{croak("Invalid function parameter")}if(is("operator","=")&&s===false){e.mark_default_assignment(r.token);next();n[n.length-1]=new Ke({start:n[n.length-1].start,left:n[n.length-1],operator:"=",right:w(false),end:r.token})}if(s){if(!is("punc","]")){croak("Rest element must be last element")}n[n.length-1]=new Z({start:o,expression:n[n.length-1],end:o})}}expect("]");e.check_strict();return new ie({start:a,names:n,is_array:true,end:prev()})}else if(is("punc","{")){next();while(!is("punc","}")){if(i){i=false}else{expect(",")}if(is("expand","...")){s=true;o=r.token;e.mark_spread(r.token);next()}if(is("name")&&(is_token(peek(),"punc")||is_token(peek(),"operator"))&&[",","}","="].includes(peek().value)){e.add_parameter(r.token);var c=prev();var u=as_symbol(t);if(s){n.push(new Z({start:o,expression:u,end:u.end}))}else{n.push(new Qe({start:c,key:u.name,value:u,end:u.end}))}}else if(is("punc","}")){continue}else{var l=r.token;var f=as_property_name();if(f===null){unexpected(prev())}else if(prev().type==="name"&&!is("punc",":")){n.push(new Qe({start:prev(),key:f,value:new t({start:prev(),name:f,end:prev()}),end:prev()}))}else{expect(":");n.push(new Qe({start:l,quote:l.quote,key:f,value:binding_element(e,t),end:prev()}))}}if(s){if(!is("punc","}")){croak("Rest element must be last element")}}else if(is("operator","=")){e.mark_default_assignment(r.token);next();n[n.length-1].value=new Ke({start:n[n.length-1].value.start,left:n[n.length-1].value,operator:"=",right:w(false),end:r.token})}}expect("}");e.check_strict();return new ie({start:a,names:n,is_array:false,end:prev()})}else if(is("name")){e.add_parameter(r.token);return as_symbol(t)}else{croak("Invalid function parameter")}}function params_or_seq_(e,t){var n;var i;var s;var o=[];expect("(");while(!is("punc",")")){if(n)unexpected(n);if(is("expand","...")){n=r.token;if(t)i=r.token;next();o.push(new Z({start:prev(),expression:w(),end:r.token}))}else{o.push(w())}if(!is("punc",")")){expect(",");if(is("punc",")")){s=prev();if(t)i=s}}}expect(")");if(e&&is("arrow","=>")){if(n&&s)unexpected(s)}else if(i){unexpected(i)}return o}function _function_body(e,t,n,i,s){var o=r.in_loop;var a=r.labels;var c=r.in_generator;var u=r.in_async;++r.in_function;if(t)r.in_generator=r.in_function;if(n)r.in_async=r.in_function;if(s)parameters(s);if(e)r.in_directives=true;r.in_loop=0;r.labels=[];if(e){r.input.push_directives_stack();var l=block_();if(i)_verify_symbol(i);if(s)s.forEach(_verify_symbol);r.input.pop_directives_stack()}else{var l=[new le({start:r.token,value:w(false),end:r.token})]}--r.in_function;r.in_loop=o;r.labels=a;r.in_generator=c;r.in_async=u;return l}function _await_expression(){if(!is_in_async()){croak("Unexpected await expression outside async function",r.prev.line,r.prev.col,r.prev.pos)}return new me({start:prev(),end:r.token,expression:y(true)})}function _yield_expression(){if(!is_in_generator()){croak("Unexpected yield expression outside generator function",r.prev.line,r.prev.col,r.prev.pos)}var e=r.token;var t=false;var n=true;if(can_insert_semicolon()||is("punc")&&E.has(r.token.value)){n=false}else if(is("operator","*")){t=true;next()}return new ge({start:e,is_star:t,expression:n?w():null,end:prev()})}function if_(){var e=parenthesised(),t=i(false,false,true),n=null;if(is("keyword","else")){next();n=i(false,false,true)}return new ye({condition:e,body:t,alternative:n})}function block_(){expect("{");var e=[];while(!is("punc","}")){if(is("eof"))unexpected();e.push(i())}next();return e}function switch_body_(){expect("{");var e=[],t=null,n=null,s;while(!is("punc","}")){if(is("eof"))unexpected();if(is("keyword","case")){if(n)n.end=prev();t=[];n=new Ee({start:(s=r.token,next(),s),expression:w(true),body:t});e.push(n);expect(":")}else if(is("keyword","default")){if(n)n.end=prev();t=[];n=new be({start:(s=r.token,next(),expect(":"),s),body:t});e.push(n)}else{if(!t)unexpected();t.push(i())}}if(n)n.end=prev();next();return e}function try_(){var e=block_(),t=null,n=null;if(is("keyword","catch")){var i=r.token;next();if(is("punc","{")){var s=null}else{expect("(");var s=parameter(undefined,_t);expect(")")}t=new Se({start:i,argname:s,body:block_(),end:prev()})}if(is("keyword","finally")){var i=r.token;next();n=new ke({start:i,body:block_(),end:prev()})}if(!t&&!n)croak("Missing catch/finally blocks");return new we({body:e,bcatch:t,bfinally:n})}function vardefs(e,t){var n=[];var i;for(;;){var s=t==="var"?ct:t==="const"?lt:t==="let"?ft:null;if(is("punc","{")||is("punc","[")){i=new Te({start:r.token,name:binding_element(undefined,s),value:is("operator","=")?(expect_token("operator","="),w(false,e)):null,end:prev()})}else{i=new Te({start:r.token,name:as_symbol(s),value:is("operator","=")?(next(),w(false,e)):!e&&t==="const"?croak("Missing initializer in const declaration"):null,end:prev()});if(i.name.name=="import")croak("Unexpected token: import")}n.push(i);if(!is("punc",","))break;next()}return n}var a=function(e){return new xe({start:prev(),definitions:vardefs(e,"var"),end:prev()})};var u=function(e){return new Ce({start:prev(),definitions:vardefs(e,"let"),end:prev()})};var l=function(e){return new Ae({start:prev(),definitions:vardefs(e,"const"),end:prev()})};var f=function(e){var t=r.token;expect_token("operator","new");if(is("punc",".")){next();expect_token("name","target");return g(new ot({start:t,end:prev()}),e)}var n=p(false),i;if(is("punc","(")){next();i=expr_list(")",true)}else{i=[]}var s=new Pe({start:t,expression:n,args:i,end:prev()});annotate(s);return g(s,e)};function as_atom_node(){var e=r.token,t;switch(e.type){case"name":t=_make_symbol(St);break;case"num":t=new Ot({start:e,end:e,value:e.value});break;case"big_int":t=new Ft({start:e,end:e,value:e.value});break;case"string":t=new Mt({start:e,end:e,value:e.value,quote:e.quote});break;case"regexp":t=new It({start:e,end:e,value:e.value});break;case"atom":switch(e.value){case"false":t=new zt({start:e,end:e});break;case"true":t=new Ht({start:e,end:e});break;case"null":t=new Pt({start:e,end:e});break}break}next();return t}function to_fun_args(e,t){var n=function(e,t){if(t){return new Ke({start:e.start,left:e,operator:"=",right:t,end:t.end})}return e};if(e instanceof Je){return n(new ie({start:e.start,end:e.end,is_array:false,names:e.properties.map(e=>to_fun_args(e))}),t)}else if(e instanceof Qe){e.value=to_fun_args(e.value);return n(e,t)}else if(e instanceof Bt){return e}else if(e instanceof ie){e.names=e.names.map(e=>to_fun_args(e));return n(e,t)}else if(e instanceof St){return n(new pt({name:e.name,start:e.start,end:e.end}),t)}else if(e instanceof Z){e.expression=to_fun_args(e.expression);return n(e,t)}else if(e instanceof Xe){return n(new ie({start:e.start,end:e.end,is_array:true,names:e.elements.map(e=>to_fun_args(e))}),t)}else if(e instanceof We){return n(to_fun_args(e.left,e.right),t)}else if(e instanceof Ke){e.left=to_fun_args(e.left);return e}else{croak("Invalid function parameter",e.start.line,e.start.col)}}var p=function(e,t){if(is("operator","new")){return f(e)}if(is("operator","import")){return import_meta()}var i=r.token;var a;var c=is("name","async")&&(a=peek()).value!="["&&a.type!="arrow"&&as_atom_node();if(is("punc")){switch(r.token.value){case"(":if(c&&!e)break;var u=params_or_seq_(t,!c);if(t&&is("arrow","=>")){return s(i,u.map(e=>to_fun_args(e)),!!c)}var l=c?new Re({expression:c,args:u}):u.length==1?u[0]:new Ne({expressions:u});if(l.start){const e=i.comments_before.length;n.set(i,e);l.start.comments_before.unshift(...i.comments_before);i.comments_before=l.start.comments_before;if(e==0&&i.comments_before.length>0){var p=i.comments_before[0];if(!p.nlb){p.nlb=i.nlb;i.nlb=false}}i.comments_after=l.start.comments_after}l.start=i;var h=prev();if(l.end){h.comments_before=l.end.comments_before;l.end.comments_after.push(...h.comments_after);h.comments_after=l.end.comments_after}l.end=h;if(l instanceof Re)annotate(l);return g(l,e);case"[":return g(d(),e);case"{":return g(m(),e)}if(!c)unexpected()}if(t&&is("name")&&is_token(peek(),"arrow")){var y=new pt({name:r.token.value,start:i,end:i});next();return s(i,[y],!!c)}if(is("keyword","function")){next();var v=o(te,false,!!c);v.start=i;v.end=prev();return g(v,e)}if(c)return g(c,e);if(is("keyword","class")){next();var _=class_(it);_.start=i;_.end=prev();return g(_,e)}if(is("template_head")){return g(template_string(),e)}if(M.has(r.token.type)){return g(as_atom_node(),e)}unexpected()};function template_string(){var e=[],t=r.token;e.push(new ae({start:r.token,raw:r.token.raw,value:r.token.value,end:r.token}));while(!r.token.end){next();handle_regexp();e.push(w(true));if(!is_token("template_substitution")){unexpected()}e.push(new ae({start:r.token,raw:r.token.raw,value:r.token.value,end:r.token}))}next();return new oe({start:t,segments:e,end:r.token})}function expr_list(e,t,n){var i=true,s=[];while(!is("punc",e)){if(i)i=false;else expect(",");if(t&&is("punc",e))break;if(is("punc",",")&&n){s.push(new Bt({start:r.token,end:r.token}))}else if(is("expand","...")){next();s.push(new Z({start:prev(),expression:w(),end:r.token}))}else{s.push(w(false))}}next();return s}var d=embed_tokens(function(){expect("[");return new Xe({elements:expr_list("]",!t.strict,true)})});var h=embed_tokens((e,t)=>{return o(ee,e,t)});var m=embed_tokens(function object_or_destructuring_(){var e=r.token,n=true,i=[];expect("{");while(!is("punc","}")){if(n)n=false;else expect(",");if(!t.strict&&is("punc","}"))break;e=r.token;if(e.type=="expand"){next();i.push(new Z({start:e,expression:w(false),end:prev()}));continue}var s=as_property_name();var o;if(!is("punc",":")){var a=concise_method_or_getset(s,e);if(a){i.push(a);continue}o=new St({start:prev(),name:s,end:prev()})}else if(s===null){unexpected(prev())}else{next();o=w(false)}if(is("operator","=")){next();o=new We({start:e,left:o,operator:"=",right:w(false),end:prev()})}i.push(new Qe({start:e,quote:e.quote,key:s instanceof F?s:""+s,value:o,end:prev()}))}next();return new Je({properties:i})});function class_(e){var t,n,i,s,o=[];r.input.push_directives_stack();r.input.add_directive("use strict");if(r.token.type=="name"&&r.token.value!="extends"){i=as_symbol(e===rt?yt:vt)}if(e===rt&&!i){unexpected()}if(r.token.value=="extends"){next();s=w(true)}expect("{");while(is("punc",";")){next()}while(!is("punc","}")){t=r.token;n=concise_method_or_getset(as_property_name(),t,true);if(!n){unexpected()}o.push(n);while(is("punc",";")){next()}}r.input.pop_directives_stack();next();return new e({start:t,name:i,extends:s,properties:o,end:prev()})}function concise_method_or_getset(e,t,n){var i=function(e,t){if(typeof e==="string"||typeof e==="number"){return new ht({start:t,name:""+e,end:prev()})}else if(e===null){unexpected()}return e};const s=e=>{if(typeof e==="string"||typeof e==="number"){return new mt({start:u,end:u,name:""+e})}else if(e===null){unexpected()}return e};var o=false;var a=false;var c=false;var u=t;if(n&&e==="static"&&!is("punc","(")){a=true;u=r.token;e=as_property_name()}if(e==="async"&&!is("punc","(")&&!is("punc",",")&&!is("punc","}")&&!is("operator","=")){o=true;u=r.token;e=as_property_name()}if(e===null){c=true;u=r.token;e=as_property_name();if(e===null){unexpected()}}if(is("punc","(")){e=i(e,t);var l=new et({start:t,static:a,is_generator:c,async:o,key:e,quote:e instanceof ht?u.quote:undefined,value:h(c,o),end:prev()});return l}const f=r.token;if(e=="get"){if(!is("punc")||is("punc","[")){e=i(as_property_name(),t);return new $e({start:t,static:a,key:e,quote:e instanceof ht?f.quote:undefined,value:h(),end:prev()})}}else if(e=="set"){if(!is("punc")||is("punc","[")){e=i(as_property_name(),t);return new Ze({start:t,static:a,key:e,quote:e instanceof ht?f.quote:undefined,value:h(),end:prev()})}}if(n){const n=s(e);const r=n instanceof mt?u.quote:undefined;if(is("operator","=")){next();return new nt({start:t,static:a,quote:r,key:n,value:w(false),end:prev()})}else if(is("name")||is("punc",";")||is("punc","}")){return new nt({start:t,static:a,quote:r,key:n,end:prev()})}}}function import_(){var e=prev();var t;var n;if(is("name")){t=as_symbol(bt)}if(is("punc",",")){next()}n=map_names(true);if(n||t){expect_token("name","from")}var i=r.token;if(i.type!=="string"){unexpected()}next();return new Oe({start:e,imported_name:t,imported_names:n,module_name:new Mt({start:i,value:i.value,quote:i.quote,end:i}),end:r.token})}function import_meta(){var e=r.token;expect_token("operator","import");expect_token("punc",".");expect_token("name","meta");return g(new Fe({start:e,end:prev()}),false)}function map_name(e){function make_symbol(e){return new e({name:as_property_name(),start:prev(),end:prev()})}var t=e?Et:Dt;var n=e?bt:kt;var i=r.token;var s;var o;if(e){s=make_symbol(t)}else{o=make_symbol(n)}if(is("name","as")){next();if(e){o=make_symbol(n)}else{s=make_symbol(t)}}else if(e){o=new n(s)}else{s=new t(o)}return new Me({start:i,foreign_name:s,name:o,end:prev()})}function map_nameAsterisk(e,t){var n=e?Et:Dt;var i=e?bt:kt;var s=r.token;var o;var a=prev();t=t||new i({name:"*",start:s,end:a});o=new n({name:"*",start:s,end:a});return new Me({start:s,foreign_name:o,name:t,end:a})}function map_names(e){var t;if(is("punc","{")){next();t=[];while(!is("punc","}")){t.push(map_name(e));if(is("punc",",")){next()}}next()}else if(is("operator","*")){var n;next();if(e&&is("name","as")){next();n=as_symbol(e?bt:Dt)}t=[map_nameAsterisk(e,n)]}return t}function export_(){var e=r.token;var t;var n;if(is("keyword","default")){t=true;next()}else if(n=map_names(false)){if(is("name","from")){next();var s=r.token;if(s.type!=="string"){unexpected()}next();return new Ie({start:e,is_default:t,exported_names:n,module_name:new Mt({start:s,value:s.value,quote:s.quote,end:s}),end:prev()})}else{return new Ie({start:e,is_default:t,exported_names:n,end:prev()})}}var o;var a;var c;if(is("punc","{")||t&&(is("keyword","class")||is("keyword","function"))&&is_token(peek(),"punc")){a=w(false);semicolon()}else if((o=i(t))instanceof De&&t){unexpected(o.start)}else if(o instanceof De||o instanceof $||o instanceof rt){c=o}else if(o instanceof N){a=o.body}else{unexpected(o.start)}return new Ie({start:e,is_default:t,exported_value:a,exported_definition:c,end:prev()})}function as_property_name(){var e=r.token;switch(e.type){case"punc":if(e.value==="["){next();var t=w(false);expect("]");return t}else unexpected(e);case"operator":if(e.value==="*"){next();return null}if(!["delete","in","instanceof","new","typeof","void"].includes(e.value)){unexpected(e)}case"name":case"string":case"num":case"big_int":case"keyword":case"atom":next();return e.value;default:unexpected(e)}}function as_name(){var e=r.token;if(e.type!="name")unexpected();next();return e.value}function _make_symbol(e){var t=r.token.value;return new(t=="this"?Ct:t=="super"?At:e)({name:String(t),start:r.token,end:r.token})}function _verify_symbol(e){var t=e.name;if(is_in_generator()&&t=="yield"){token_error(e.start,"Yield cannot be used as identifier inside generators")}if(r.input.has_directive("use strict")){if(t=="yield"){token_error(e.start,"Unexpected yield identifier inside strict mode")}if(e instanceof at&&(t=="arguments"||t=="eval")){token_error(e.start,"Unexpected "+t+" in strict mode")}}}function as_symbol(e,t){if(!is("name")){if(!t)croak("Name expected");return null}var n=_make_symbol(e);_verify_symbol(n);next();return n}function annotate(e){var t=e.start;var r=t.comments_before;const i=n.get(t);var s=i!=null?i:r.length;while(--s>=0){var o=r[s];if(/[@#]__/.test(o.value)){if(/[@#]__PURE__/.test(o.value)){set_annotation(e,Gt);break}if(/[@#]__INLINE__/.test(o.value)){set_annotation(e,qt);break}if(/[@#]__NOINLINE__/.test(o.value)){set_annotation(e,Wt);break}}}}var g=function(e,t,n){var r=e.start;if(is("punc",".")){next();return g(new Be({start:r,expression:e,optional:false,property:as_name(),end:prev()}),t,n)}if(is("punc","[")){next();var i=w(true);expect("]");return g(new je({start:r,expression:e,optional:false,property:i,end:prev()}),t,n)}if(t&&is("punc","(")){next();var s=new Re({start:r,expression:e,optional:false,args:call_args(),end:prev()});annotate(s);return g(s,true,n)}if(is("punc","?.")){next();let n;if(t&&is("punc","(")){next();const t=new Re({start:r,optional:true,expression:e,args:call_args(),end:prev()});annotate(t);n=g(t,true,true)}else if(is("name")){n=g(new Be({start:r,expression:e,optional:true,property:as_name(),end:prev()}),t,true)}else if(is("punc","[")){next();const i=w(true);expect("]");n=g(new je({start:r,expression:e,optional:true,property:i,end:prev()}),t,true)}if(!n)unexpected();if(n instanceof Ue)return n;return new Ue({start:r,expression:n,end:prev()})}if(is("template_head")){if(n){unexpected()}return g(new se({start:r,prefix:e,template_string:template_string(),end:prev()}),t)}return e};function call_args(){var e=[];while(!is("punc",")")){if(is("expand","...")){next();e.push(new Z({start:prev(),expression:w(false),end:prev()}))}else{e.push(w(false))}if(!is("punc",")")){expect(",")}}next();return e}var y=function(e,t){var n=r.token;if(n.type=="name"&&n.value=="await"){if(is_in_async()){next();return _await_expression()}else if(r.input.has_directive("use strict")){token_error(r.token,"Unexpected await identifier inside strict mode")}}if(is("operator")&&x.has(n.value)){next();handle_regexp();var i=make_unary(He,n,y(e));i.start=n;i.end=prev();return i}var s=p(e,t);while(is("operator")&&C.has(r.token.value)&&!has_newline_before(r.token)){if(s instanceof ne)unexpected();s=make_unary(Ve,r.token,s);s.start=n;s.end=r.token;next()}return s};function make_unary(e,t,n){var i=t.value;switch(i){case"++":case"--":if(!is_assignable(n))croak("Invalid use of "+i+" operator",t.line,t.col,t.pos);break;case"delete":if(n instanceof St&&r.input.has_directive("use strict"))croak("Calling delete on expression not allowed in strict mode",n.start.line,n.start.col,n.start.pos);break}return new e({operator:i,expression:n})}var v=function(e,t,n){var i=is("operator")?r.token.value:null;if(i=="in"&&n)i=null;if(i=="**"&&e instanceof He&&!is_token(e.start,"punc","(")&&e.operator!=="--"&&e.operator!=="++")unexpected(e.start);var s=i!=null?T[i]:null;if(s!=null&&(s>t||i==="**"&&t===s)){next();var o=v(y(true),s,n);return v(new Ge({start:e.start,left:e,operator:i,right:o,end:o.end}),t,n)}return e};function expr_ops(e){return v(y(true,true),0,e)}var _=function(e){var t=r.token;var n=expr_ops(e);if(is("operator","?")){next();var i=w(false);expect(":");return new qe({start:t,condition:n,consequent:i,alternative:w(false,e),end:prev()})}return n};function is_assignable(e){return e instanceof Le||e instanceof St}function to_destructuring(e){if(e instanceof Je){e=new ie({start:e.start,names:e.properties.map(to_destructuring),is_array:false,end:e.end})}else if(e instanceof Xe){var t=[];for(var n=0;n=0;){s+="this."+t[o]+" = props."+t[o]+";"}const a=r&&Object.create(r.prototype);if(a&&a.initialize||n&&n.initialize)s+="this.initialize();";s+="}";s+="this.flags = 0;";s+="}";var c=new Function(s)();if(a){c.prototype=a;c.BASE=r}if(r)r.SUBCLASSES.push(c);c.prototype.CTOR=c;c.prototype.constructor=c;c.PROPS=t||null;c.SELF_PROPS=i;c.SUBCLASSES=[];if(e){c.prototype.TYPE=c.TYPE=e}if(n)for(o in n)if(HOP(n,o)){if(o[0]==="$"){c[o.substr(1)]=n[o]}else{c.prototype[o]=n[o]}}c.DEFMETHOD=function(e,t){this.prototype[e]=t};return c}var O=DEFNODE("Token","type value line col pos endline endcol endpos nlb comments_before comments_after file raw quote end",{},null);var F=DEFNODE("Node","start end",{_clone:function(e){if(e){var t=this.clone();return t.transform(new TreeTransformer(function(e){if(e!==t){return e.clone(true)}}))}return new this.CTOR(this)},clone:function(e){return this._clone(e)},$documentation:"Base class of all AST nodes",$propdoc:{start:"[AST_Token] The first token of this node",end:"[AST_Token] The last token of this node"},_walk:function(e){return e._visit(this)},walk:function(e){return this._walk(e)},_children_backwards:()=>{}},null);var I=DEFNODE("Statement",null,{$documentation:"Base class of all statements"});var R=DEFNODE("Debugger",null,{$documentation:"Represents a debugger statement"},I);var P=DEFNODE("Directive","value quote",{$documentation:'Represents a directive, like "use strict";',$propdoc:{value:"[string] The value of this directive as a plain string (it's not an AST_String!)",quote:"[string] the original quote character"}},I);var N=DEFNODE("SimpleStatement","body",{$documentation:"A statement consisting of an expression, i.e. a = 1 + 2",$propdoc:{body:"[AST_Node] an expression node (should not be instanceof AST_Statement)"},_walk:function(e){return e._visit(this,function(){this.body._walk(e)})},_children_backwards(e){e(this.body)}},I);function walk_body(e,t){const n=e.body;for(var r=0,i=n.length;r SymbolDef for all variables/functions defined in this scope",functions:"[Map/S] like `variables`, but only lists function declarations",uses_with:"[boolean/S] tells whether this scope uses the `with` statement",uses_eval:"[boolean/S] tells whether this scope contains a direct call to the global `eval`",parent_scope:"[AST_Scope?/S] link to the parent scope",enclosed:"[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes",cname:"[integer/S] current index for mangling variables (used internally by the mangler)"},get_defun_scope:function(){var e=this;while(e.is_block_scope()){e=e.parent_scope}return e},clone:function(e,t){var n=this._clone(e);if(e&&this.variables&&t&&!this._block_scope){n.figure_out_scope({},{toplevel:t,parent_scope:this.parent_scope})}else{if(this.variables)n.variables=new Map(this.variables);if(this.functions)n.functions=new Map(this.functions);if(this.enclosed)n.enclosed=this.enclosed.slice();if(this._block_scope)n._block_scope=this._block_scope}return n},pinned:function(){return this.uses_eval||this.uses_with}},L);var Q=DEFNODE("Toplevel","globals",{$documentation:"The toplevel scope",$propdoc:{globals:"[Map/S] a map of name -> SymbolDef for all undeclared names"},wrap_commonjs:function(e){var t=this.body;var n="(function(exports){'$ORIG';})(typeof "+e+"=='undefined'?("+e+"={}):"+e+");";n=parse(n);n=n.transform(new TreeTransformer(function(e){if(e instanceof P&&e.value=="$ORIG"){return r.splice(t)}}));return n},wrap_enclose:function(e){if(typeof e!="string")e="";var t=e.indexOf(":");if(t<0)t=e.length;var n=this.body;return parse(["(function(",e.slice(0,t),'){"$ORIG"})(',e.slice(t+1),")"].join("")).transform(new TreeTransformer(function(e){if(e instanceof P&&e.value=="$ORIG"){return r.splice(n)}}))}},Y);var Z=DEFNODE("Expansion","expression",{$documentation:"An expandible argument, such as ...rest, a splat, such as [1,2,...all], or an expansion in a variable declaration, such as var [first, ...rest] = list",$propdoc:{expression:"[AST_Node] the thing to be expanded"},_walk:function(e){return e._visit(this,function(){this.expression.walk(e)})},_children_backwards(e){e(this.expression)}});var $=DEFNODE("Lambda","name argnames uses_arguments is_generator async",{$documentation:"Base class for functions",$propdoc:{name:"[AST_SymbolDeclaration?] the name of this function",argnames:"[AST_SymbolFunarg|AST_Destructuring|AST_Expansion|AST_DefaultAssign*] array of function arguments, destructurings, or expanding arguments",uses_arguments:"[boolean/S] tells whether this function accesses the arguments array",is_generator:"[boolean] is this a generator method",async:"[boolean] is this method async"},args_as_names:function(){var e=[];for(var t=0;t b)"},$);var re=DEFNODE("Defun",null,{$documentation:"A function definition"},$);var ie=DEFNODE("Destructuring","names is_array",{$documentation:"A destructuring of several names. Used in destructuring assignment and with destructuring function argument names",$propdoc:{names:"[AST_Node*] Array of properties or elements",is_array:"[Boolean] Whether the destructuring represents an object or array"},_walk:function(e){return e._visit(this,function(){this.names.forEach(function(t){t._walk(e)})})},_children_backwards(e){let t=this.names.length;while(t--)e(this.names[t])},all_symbols:function(){var e=[];this.walk(new TreeWalker(function(t){if(t instanceof st){e.push(t)}}));return e}});var se=DEFNODE("PrefixedTemplateString","template_string prefix",{$documentation:"A templatestring with a prefix, such as String.raw`foobarbaz`",$propdoc:{template_string:"[AST_TemplateString] The template string",prefix:"[AST_Node] The prefix, which will get called."},_walk:function(e){return e._visit(this,function(){this.prefix._walk(e);this.template_string._walk(e)})},_children_backwards(e){e(this.template_string);e(this.prefix)}});var oe=DEFNODE("TemplateString","segments",{$documentation:"A template string literal",$propdoc:{segments:"[AST_Node*] One or more segments, starting with AST_TemplateSegment. AST_Node may follow AST_TemplateSegment, but each AST_Node must be followed by AST_TemplateSegment."},_walk:function(e){return e._visit(this,function(){this.segments.forEach(function(t){t._walk(e)})})},_children_backwards(e){let t=this.segments.length;while(t--)e(this.segments[t])}});var ae=DEFNODE("TemplateSegment","value raw",{$documentation:"A segment of a template string literal",$propdoc:{value:"Content of the segment",raw:"Raw content of the segment"}});var ce=DEFNODE("Jump",null,{$documentation:"Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)"},I);var ue=DEFNODE("Exit","value",{$documentation:"Base class for “exits” (`return` and `throw`)",$propdoc:{value:"[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return"},_walk:function(e){return e._visit(this,this.value&&function(){this.value._walk(e)})},_children_backwards(e){if(this.value)e(this.value)}},ce);var le=DEFNODE("Return",null,{$documentation:"A `return` statement"},ue);var fe=DEFNODE("Throw",null,{$documentation:"A `throw` statement"},ue);var pe=DEFNODE("LoopControl","label",{$documentation:"Base class for loop control statements (`break` and `continue`)",$propdoc:{label:"[AST_LabelRef?] the label, or null if none"},_walk:function(e){return e._visit(this,this.label&&function(){this.label._walk(e)})},_children_backwards(e){if(this.label)e(this.label)}},ce);var de=DEFNODE("Break",null,{$documentation:"A `break` statement"},pe);var he=DEFNODE("Continue",null,{$documentation:"A `continue` statement"},pe);var me=DEFNODE("Await","expression",{$documentation:"An `await` statement",$propdoc:{expression:"[AST_Node] the mandatory expression being awaited"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e)})},_children_backwards(e){e(this.expression)}});var ge=DEFNODE("Yield","expression is_star",{$documentation:"A `yield` statement",$propdoc:{expression:"[AST_Node?] the value returned or thrown by this statement; could be null (representing undefined) but only when is_star is set to false",is_star:"[Boolean] Whether this is a yield or yield* statement"},_walk:function(e){return e._visit(this,this.expression&&function(){this.expression._walk(e)})},_children_backwards(e){if(this.expression)e(this.expression)}});var ye=DEFNODE("If","condition alternative",{$documentation:"A `if` statement",$propdoc:{condition:"[AST_Node] the `if` condition",alternative:"[AST_Statement?] the `else` part, or null if not present"},_walk:function(e){return e._visit(this,function(){this.condition._walk(e);this.body._walk(e);if(this.alternative)this.alternative._walk(e)})},_children_backwards(e){if(this.alternative){e(this.alternative)}e(this.body);e(this.condition)}},U);var ve=DEFNODE("Switch","expression",{$documentation:"A `switch` statement",$propdoc:{expression:"[AST_Node] the `switch` “discriminant”"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e);walk_body(this,e)})},_children_backwards(e){let t=this.body.length;while(t--)e(this.body[t]);e(this.expression)}},L);var _e=DEFNODE("SwitchBranch",null,{$documentation:"Base class for `switch` branches"},L);var be=DEFNODE("Default",null,{$documentation:"A `default` switch branch"},_e);var Ee=DEFNODE("Case","expression",{$documentation:"A `case` switch branch",$propdoc:{expression:"[AST_Node] the `case` expression"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e);walk_body(this,e)})},_children_backwards(e){let t=this.body.length;while(t--)e(this.body[t]);e(this.expression)}},_e);var we=DEFNODE("Try","bcatch bfinally",{$documentation:"A `try` statement",$propdoc:{bcatch:"[AST_Catch?] the catch block, or null if not present",bfinally:"[AST_Finally?] the finally block, or null if not present"},_walk:function(e){return e._visit(this,function(){walk_body(this,e);if(this.bcatch)this.bcatch._walk(e);if(this.bfinally)this.bfinally._walk(e)})},_children_backwards(e){if(this.bfinally)e(this.bfinally);if(this.bcatch)e(this.bcatch);let t=this.body.length;while(t--)e(this.body[t])}},L);var Se=DEFNODE("Catch","argname",{$documentation:"A `catch` node; only makes sense as part of a `try` statement",$propdoc:{argname:"[AST_SymbolCatch|AST_Destructuring|AST_Expansion|AST_DefaultAssign] symbol for the exception"},_walk:function(e){return e._visit(this,function(){if(this.argname)this.argname._walk(e);walk_body(this,e)})},_children_backwards(e){let t=this.body.length;while(t--)e(this.body[t]);if(this.argname)e(this.argname)}},L);var ke=DEFNODE("Finally",null,{$documentation:"A `finally` node; only makes sense as part of a `try` statement"},L);var De=DEFNODE("Definitions","definitions",{$documentation:"Base class for `var` or `const` nodes (variable declarations/initializations)",$propdoc:{definitions:"[AST_VarDef*] array of variable definitions"},_walk:function(e){return e._visit(this,function(){var t=this.definitions;for(var n=0,r=t.length;n a`"},Ge);var Xe=DEFNODE("Array","elements",{$documentation:"An array literal",$propdoc:{elements:"[AST_Node*] array of elements"},_walk:function(e){return e._visit(this,function(){var t=this.elements;for(var n=0,r=t.length;nt._walk(e))})},_children_backwards(e){let t=this.properties.length;while(t--)e(this.properties[t]);if(this.extends)e(this.extends);if(this.name)e(this.name)}},Y);var nt=DEFNODE("ClassProperty","static quote",{$documentation:"A class property",$propdoc:{static:"[boolean] whether this is a static key",quote:"[string] which quote is being used"},_walk:function(e){return e._visit(this,function(){if(this.key instanceof F)this.key._walk(e);if(this.value instanceof F)this.value._walk(e)})},_children_backwards(e){if(this.value instanceof F)e(this.value);if(this.key instanceof F)e(this.key)},computed_key(){return!(this.key instanceof mt)}},Ye);var rt=DEFNODE("DefClass",null,{$documentation:"A class definition"},tt);var it=DEFNODE("ClassExpression",null,{$documentation:"A class expression."},tt);var st=DEFNODE("Symbol","scope name thedef",{$propdoc:{name:"[string] name of this symbol",scope:"[AST_Scope/S] the current scope (not necessarily the definition scope)",thedef:"[SymbolDef/S] the definition of this symbol"},$documentation:"Base class for all symbols"});var ot=DEFNODE("NewTarget",null,{$documentation:"A reference to new.target"});var at=DEFNODE("SymbolDeclaration","init",{$documentation:"A declaration symbol (symbol in var/const, function name or argument, symbol in catch)"},st);var ct=DEFNODE("SymbolVar",null,{$documentation:"Symbol defining a variable"},at);var ut=DEFNODE("SymbolBlockDeclaration",null,{$documentation:"Base class for block-scoped declaration symbols"},at);var lt=DEFNODE("SymbolConst",null,{$documentation:"A constant declaration"},ut);var ft=DEFNODE("SymbolLet",null,{$documentation:"A block-scoped `let` declaration"},ut);var pt=DEFNODE("SymbolFunarg",null,{$documentation:"Symbol naming a function argument"},ct);var dt=DEFNODE("SymbolDefun",null,{$documentation:"Symbol defining a function"},at);var ht=DEFNODE("SymbolMethod",null,{$documentation:"Symbol in an object defining a method"},st);var mt=DEFNODE("SymbolClassProperty",null,{$documentation:"Symbol for a class property"},st);var gt=DEFNODE("SymbolLambda",null,{$documentation:"Symbol naming a function expression"},at);var yt=DEFNODE("SymbolDefClass",null,{$documentation:"Symbol naming a class's name in a class declaration. Lexically scoped to its containing scope, and accessible within the class."},ut);var vt=DEFNODE("SymbolClass",null,{$documentation:"Symbol naming a class's name. Lexically scoped to the class."},at);var _t=DEFNODE("SymbolCatch",null,{$documentation:"Symbol naming the exception in catch"},ut);var bt=DEFNODE("SymbolImport",null,{$documentation:"Symbol referring to an imported name"},ut);var Et=DEFNODE("SymbolImportForeign",null,{$documentation:"A symbol imported from a module, but it is defined in the other module, and its real name is irrelevant for this module's purposes"},st);var wt=DEFNODE("Label","references",{$documentation:"Symbol naming a label (declaration)",$propdoc:{references:"[AST_LoopControl*] a list of nodes referring to this label"},initialize:function(){this.references=[];this.thedef=this}},st);var St=DEFNODE("SymbolRef",null,{$documentation:"Reference to some symbol (not definition/declaration)"},st);var kt=DEFNODE("SymbolExport",null,{$documentation:"Symbol referring to a name to export"},St);var Dt=DEFNODE("SymbolExportForeign",null,{$documentation:"A symbol exported from this module, but it is used in the other module, and its real name is irrelevant for this module's purposes"},st);var xt=DEFNODE("LabelRef",null,{$documentation:"Reference to a label symbol"},st);var Ct=DEFNODE("This",null,{$documentation:"The `this` symbol"},st);var At=DEFNODE("Super",null,{$documentation:"The `super` symbol"},Ct);var Tt=DEFNODE("Constant",null,{$documentation:"Base class for all constants",getValue:function(){return this.value}});var Mt=DEFNODE("String","value quote",{$documentation:"A string literal",$propdoc:{value:"[string] the contents of this string",quote:"[string] the original quote character"}},Tt);var Ot=DEFNODE("Number","value literal",{$documentation:"A number literal",$propdoc:{value:"[number] the numeric value",literal:"[string] numeric value as string (optional)"}},Tt);var Ft=DEFNODE("BigInt","value",{$documentation:"A big int literal",$propdoc:{value:"[string] big int value"}},Tt);var It=DEFNODE("RegExp","value",{$documentation:"A regexp literal",$propdoc:{value:"[RegExp] the actual regexp"}},Tt);var Rt=DEFNODE("Atom",null,{$documentation:"Base class for atoms"},Tt);var Pt=DEFNODE("Null",null,{$documentation:"The `null` atom",value:null},Rt);var Nt=DEFNODE("NaN",null,{$documentation:"The impossible value",value:0/0},Rt);var Lt=DEFNODE("Undefined",null,{$documentation:"The `undefined` value",value:function(){}()},Rt);var Bt=DEFNODE("Hole",null,{$documentation:"A hole in an array",value:function(){}()},Rt);var jt=DEFNODE("Infinity",null,{$documentation:"The `Infinity` value",value:1/0},Rt);var Ut=DEFNODE("Boolean",null,{$documentation:"Base class for booleans"},Rt);var zt=DEFNODE("False",null,{$documentation:"The `false` atom",value:false},Ut);var Ht=DEFNODE("True",null,{$documentation:"The `true` atom",value:true},Ut);function walk(e,t,n=[e]){const r=n.push.bind(n);while(n.length){const e=n.pop();const i=t(e,n);if(i){if(i===Vt)return true;continue}e._children_backwards(r)}return false}function walk_parent(e,t,n){const r=[e];const i=r.push.bind(r);const s=n?n.slice():[];const o=[];let a;const c={parent:(e=0)=>{if(e===-1){return a}if(n&&e>=s.length){e-=s.length;return n[n.length-(e+1)]}return s[s.length-(1+e)]}};while(r.length){a=r.pop();while(o.length&&r.length==o[o.length-1]){s.pop();o.pop()}const e=t(a,c);if(e){if(e===Vt)return true;continue}const n=r.length;a._children_backwards(i);if(r.length>n){s.push(a);o.push(n-1)}}return false}const Vt=Symbol("abort walk");class TreeWalker{constructor(e){this.visit=e;this.stack=[];this.directives=Object.create(null)}_visit(e,t){this.push(e);var n=this.visit(e,t?function(){t.call(e)}:noop);if(!n&&t){t.call(e)}this.pop();return n}parent(e){return this.stack[this.stack.length-2-(e||0)]}push(e){if(e instanceof $){this.directives=Object.create(this.directives)}else if(e instanceof P&&!this.directives[e.value]){this.directives[e.value]=e}else if(e instanceof tt){this.directives=Object.create(this.directives);if(!this.directives["use strict"]){this.directives["use strict"]=e}}this.stack.push(e)}pop(){var e=this.stack.pop();if(e instanceof $||e instanceof tt){this.directives=Object.getPrototypeOf(this.directives)}}self(){return this.stack[this.stack.length-1]}find_parent(e){var t=this.stack;for(var n=t.length;--n>=0;){var r=t[n];if(r instanceof e)return r}}has_directive(e){var t=this.directives[e];if(t)return t;var n=this.stack[this.stack.length-1];if(n instanceof Y&&n.body){for(var r=0;r=0;){var r=t[n];if(r instanceof z&&r.label.name==e.label.name)return r.body}else for(var n=t.length;--n>=0;){var r=t[n];if(r instanceof H||e instanceof de&&r instanceof ve)return r}}}class TreeTransformer extends TreeWalker{constructor(e,t){super();this.before=e;this.after=t}}const Gt=1;const qt=2;const Wt=4;var Kt=Object.freeze({__proto__:null,AST_Accessor:ee,AST_Array:Xe,AST_Arrow:ne,AST_Assign:We,AST_Atom:Rt,AST_Await:me,AST_BigInt:Ft,AST_Binary:Ge,AST_Block:L,AST_BlockStatement:B,AST_Boolean:Ut,AST_Break:de,AST_Call:Re,AST_Case:Ee,AST_Catch:Se,AST_Chain:Ue,AST_Class:tt,AST_ClassExpression:it,AST_ClassProperty:nt,AST_ConciseMethod:et,AST_Conditional:qe,AST_Const:Ae,AST_Constant:Tt,AST_Continue:he,AST_Debugger:R,AST_Default:be,AST_DefaultAssign:Ke,AST_DefClass:rt,AST_Definitions:De,AST_Defun:re,AST_Destructuring:ie,AST_Directive:P,AST_Do:G,AST_Dot:Be,AST_DWLoop:V,AST_EmptyStatement:j,AST_Exit:ue,AST_Expansion:Z,AST_Export:Ie,AST_False:zt,AST_Finally:ke,AST_For:W,AST_ForIn:K,AST_ForOf:X,AST_Function:te,AST_Hole:Bt,AST_If:ye,AST_Import:Oe,AST_ImportMeta:Fe,AST_Infinity:jt,AST_IterationStatement:H,AST_Jump:ce,AST_Label:wt,AST_LabeledStatement:z,AST_LabelRef:xt,AST_Lambda:$,AST_Let:Ce,AST_LoopControl:pe,AST_NameMapping:Me,AST_NaN:Nt,AST_New:Pe,AST_NewTarget:ot,AST_Node:F,AST_Null:Pt,AST_Number:Ot,AST_Object:Je,AST_ObjectGetter:$e,AST_ObjectKeyVal:Qe,AST_ObjectProperty:Ye,AST_ObjectSetter:Ze,AST_PrefixedTemplateString:se,AST_PropAccess:Le,AST_RegExp:It,AST_Return:le,AST_Scope:Y,AST_Sequence:Ne,AST_SimpleStatement:N,AST_Statement:I,AST_StatementWithBody:U,AST_String:Mt,AST_Sub:je,AST_Super:At,AST_Switch:ve,AST_SwitchBranch:_e,AST_Symbol:st,AST_SymbolBlockDeclaration:ut,AST_SymbolCatch:_t,AST_SymbolClass:vt,AST_SymbolClassProperty:mt,AST_SymbolConst:lt,AST_SymbolDeclaration:at,AST_SymbolDefClass:yt,AST_SymbolDefun:dt,AST_SymbolExport:kt,AST_SymbolExportForeign:Dt,AST_SymbolFunarg:pt,AST_SymbolImport:bt,AST_SymbolImportForeign:Et,AST_SymbolLambda:gt,AST_SymbolLet:ft,AST_SymbolMethod:ht,AST_SymbolRef:St,AST_SymbolVar:ct,AST_TemplateSegment:ae,AST_TemplateString:oe,AST_This:Ct,AST_Throw:fe,AST_Token:O,AST_Toplevel:Q,AST_True:Ht,AST_Try:we,AST_Unary:ze,AST_UnaryPostfix:Ve,AST_UnaryPrefix:He,AST_Undefined:Lt,AST_Var:xe,AST_VarDef:Te,AST_While:q,AST_With:J,AST_Yield:ge,TreeTransformer:TreeTransformer,TreeWalker:TreeWalker,walk:walk,walk_abort:Vt,walk_body:walk_body,walk_parent:walk_parent,_INLINE:qt,_NOINLINE:Wt,_PURE:Gt});function def_transform(e,t){e.DEFMETHOD("transform",function(e,n){let r=undefined;e.push(this);if(e.before)r=e.before(this,t,n);if(r===undefined){r=this;t(r,e);if(e.after){const t=e.after(r,n);if(t!==undefined)r=t}}e.pop();return r})}function do_list(e,t){return r(e,function(e){return e.transform(t,true)})}def_transform(F,noop);def_transform(z,function(e,t){e.label=e.label.transform(t);e.body=e.body.transform(t)});def_transform(N,function(e,t){e.body=e.body.transform(t)});def_transform(L,function(e,t){e.body=do_list(e.body,t)});def_transform(G,function(e,t){e.body=e.body.transform(t);e.condition=e.condition.transform(t)});def_transform(q,function(e,t){e.condition=e.condition.transform(t);e.body=e.body.transform(t)});def_transform(W,function(e,t){if(e.init)e.init=e.init.transform(t);if(e.condition)e.condition=e.condition.transform(t);if(e.step)e.step=e.step.transform(t);e.body=e.body.transform(t)});def_transform(K,function(e,t){e.init=e.init.transform(t);e.object=e.object.transform(t);e.body=e.body.transform(t)});def_transform(J,function(e,t){e.expression=e.expression.transform(t);e.body=e.body.transform(t)});def_transform(ue,function(e,t){if(e.value)e.value=e.value.transform(t)});def_transform(pe,function(e,t){if(e.label)e.label=e.label.transform(t)});def_transform(ye,function(e,t){e.condition=e.condition.transform(t);e.body=e.body.transform(t);if(e.alternative)e.alternative=e.alternative.transform(t)});def_transform(ve,function(e,t){e.expression=e.expression.transform(t);e.body=do_list(e.body,t)});def_transform(Ee,function(e,t){e.expression=e.expression.transform(t);e.body=do_list(e.body,t)});def_transform(we,function(e,t){e.body=do_list(e.body,t);if(e.bcatch)e.bcatch=e.bcatch.transform(t);if(e.bfinally)e.bfinally=e.bfinally.transform(t)});def_transform(Se,function(e,t){if(e.argname)e.argname=e.argname.transform(t);e.body=do_list(e.body,t)});def_transform(De,function(e,t){e.definitions=do_list(e.definitions,t)});def_transform(Te,function(e,t){e.name=e.name.transform(t);if(e.value)e.value=e.value.transform(t)});def_transform(ie,function(e,t){e.names=do_list(e.names,t)});def_transform($,function(e,t){if(e.name)e.name=e.name.transform(t);e.argnames=do_list(e.argnames,t);if(e.body instanceof F){e.body=e.body.transform(t)}else{e.body=do_list(e.body,t)}});def_transform(Re,function(e,t){e.expression=e.expression.transform(t);e.args=do_list(e.args,t)});def_transform(Ne,function(e,t){const n=do_list(e.expressions,t);e.expressions=n.length?n:[new Ot({value:0})]});def_transform(Be,function(e,t){e.expression=e.expression.transform(t)});def_transform(je,function(e,t){e.expression=e.expression.transform(t);e.property=e.property.transform(t)});def_transform(ge,function(e,t){if(e.expression)e.expression=e.expression.transform(t)});def_transform(me,function(e,t){e.expression=e.expression.transform(t)});def_transform(ze,function(e,t){e.expression=e.expression.transform(t)});def_transform(Ge,function(e,t){e.left=e.left.transform(t);e.right=e.right.transform(t)});def_transform(qe,function(e,t){e.condition=e.condition.transform(t);e.consequent=e.consequent.transform(t);e.alternative=e.alternative.transform(t)});def_transform(Xe,function(e,t){e.elements=do_list(e.elements,t)});def_transform(Je,function(e,t){e.properties=do_list(e.properties,t)});def_transform(Ye,function(e,t){if(e.key instanceof F){e.key=e.key.transform(t)}if(e.value)e.value=e.value.transform(t)});def_transform(tt,function(e,t){if(e.name)e.name=e.name.transform(t);if(e.extends)e.extends=e.extends.transform(t);e.properties=do_list(e.properties,t)});def_transform(Z,function(e,t){e.expression=e.expression.transform(t)});def_transform(Me,function(e,t){e.foreign_name=e.foreign_name.transform(t);e.name=e.name.transform(t)});def_transform(Oe,function(e,t){if(e.imported_name)e.imported_name=e.imported_name.transform(t);if(e.imported_names)do_list(e.imported_names,t);e.module_name=e.module_name.transform(t)});def_transform(Ie,function(e,t){if(e.exported_definition)e.exported_definition=e.exported_definition.transform(t);if(e.exported_value)e.exported_value=e.exported_value.transform(t);if(e.exported_names)do_list(e.exported_names,t);if(e.module_name)e.module_name=e.module_name.transform(t)});def_transform(oe,function(e,t){e.segments=do_list(e.segments,t)});def_transform(se,function(e,t){e.prefix=e.prefix.transform(t);e.template_string=e.template_string.transform(t)});(function(){var e=function(e){var t=true;for(var n=0;n1||e.guardedHandlers&&e.guardedHandlers.length){throw new Error("Multiple catch clauses are not supported.")}return new we({start:my_start_token(e),end:my_end_token(e),body:from_moz(e.block).body,bcatch:from_moz(t[0]),bfinally:e.finalizer?new ke(from_moz(e.finalizer)):null})},Property:function(e){var t=e.key;var n={start:my_start_token(t||e.value),end:my_end_token(e.value),key:t.type=="Identifier"?t.name:t.value,value:from_moz(e.value)};if(e.computed){n.key=from_moz(e.key)}if(e.method){n.is_generator=e.value.generator;n.async=e.value.async;if(!e.computed){n.key=new ht({name:n.key})}else{n.key=from_moz(e.key)}return new et(n)}if(e.kind=="init"){if(t.type!="Identifier"&&t.type!="Literal"){n.key=from_moz(t)}return new Qe(n)}if(typeof n.key==="string"||typeof n.key==="number"){n.key=new ht({name:n.key})}n.value=new ee(n.value);if(e.kind=="get")return new $e(n);if(e.kind=="set")return new Ze(n);if(e.kind=="method"){n.async=e.value.async;n.is_generator=e.value.generator;n.quote=e.computed?'"':null;return new et(n)}},MethodDefinition:function(e){var t={start:my_start_token(e),end:my_end_token(e),key:e.computed?from_moz(e.key):new ht({name:e.key.name||e.key.value}),value:from_moz(e.value),static:e.static};if(e.kind=="get"){return new $e(t)}if(e.kind=="set"){return new Ze(t)}t.is_generator=e.value.generator;t.async=e.value.async;return new et(t)},FieldDefinition:function(e){let t;if(e.computed){t=from_moz(e.key)}else{if(e.key.type!=="Identifier")throw new Error("Non-Identifier key in FieldDefinition");t=from_moz(e.key)}return new nt({start:my_start_token(e),end:my_end_token(e),key:t,value:from_moz(e.value),static:e.static})},ArrayExpression:function(e){return new Xe({start:my_start_token(e),end:my_end_token(e),elements:e.elements.map(function(e){return e===null?new Bt:from_moz(e)})})},ObjectExpression:function(e){return new Je({start:my_start_token(e),end:my_end_token(e),properties:e.properties.map(function(e){if(e.type==="SpreadElement"){return from_moz(e)}e.type="Property";return from_moz(e)})})},SequenceExpression:function(e){return new Ne({start:my_start_token(e),end:my_end_token(e),expressions:e.expressions.map(from_moz)})},MemberExpression:function(e){return new(e.computed?je:Be)({start:my_start_token(e),end:my_end_token(e),property:e.computed?from_moz(e.property):e.property.name,expression:from_moz(e.object),optional:e.optional||false})},ChainExpression:function(e){return new Ue({start:my_start_token(e),end:my_end_token(e),expression:from_moz(e.expression)})},SwitchCase:function(e){return new(e.test?Ee:be)({start:my_start_token(e),end:my_end_token(e),expression:from_moz(e.test),body:e.consequent.map(from_moz)})},VariableDeclaration:function(e){return new(e.kind==="const"?Ae:e.kind==="let"?Ce:xe)({start:my_start_token(e),end:my_end_token(e),definitions:e.declarations.map(from_moz)})},ImportDeclaration:function(e){var t=null;var n=null;e.specifiers.forEach(function(e){if(e.type==="ImportSpecifier"){if(!n){n=[]}n.push(new Me({start:my_start_token(e),end:my_end_token(e),foreign_name:from_moz(e.imported),name:from_moz(e.local)}))}else if(e.type==="ImportDefaultSpecifier"){t=from_moz(e.local)}else if(e.type==="ImportNamespaceSpecifier"){if(!n){n=[]}n.push(new Me({start:my_start_token(e),end:my_end_token(e),foreign_name:new Et({name:"*"}),name:from_moz(e.local)}))}});return new Oe({start:my_start_token(e),end:my_end_token(e),imported_name:t,imported_names:n,module_name:from_moz(e.source)})},ExportAllDeclaration:function(e){return new Ie({start:my_start_token(e),end:my_end_token(e),exported_names:[new Me({name:new Dt({name:"*"}),foreign_name:new Dt({name:"*"})})],module_name:from_moz(e.source)})},ExportNamedDeclaration:function(e){return new Ie({start:my_start_token(e),end:my_end_token(e),exported_definition:from_moz(e.declaration),exported_names:e.specifiers&&e.specifiers.length?e.specifiers.map(function(e){return new Me({foreign_name:from_moz(e.exported),name:from_moz(e.local)})}):null,module_name:from_moz(e.source)})},ExportDefaultDeclaration:function(e){return new Ie({start:my_start_token(e),end:my_end_token(e),exported_value:from_moz(e.declaration),is_default:true})},Literal:function(e){var t=e.value,n={start:my_start_token(e),end:my_end_token(e)};var r=e.regex;if(r&&r.pattern){n.value={source:r.pattern,flags:r.flags};return new It(n)}else if(r){const r=e.raw||t;const i=r.match(/^\/(.*)\/(\w*)$/);if(!i)throw new Error("Invalid regex source "+r);const[s,o,a]=i;n.value={source:o,flags:a};return new It(n)}if(t===null)return new Pt(n);switch(typeof t){case"string":n.value=t;return new Mt(n);case"number":n.value=t;return new Ot(n);case"boolean":return new(t?Ht:zt)(n)}},MetaProperty:function(e){if(e.meta.name==="new"&&e.property.name==="target"){return new ot({start:my_start_token(e),end:my_end_token(e)})}else if(e.meta.name==="import"&&e.property.name==="meta"){return new Fe({start:my_start_token(e),end:my_end_token(e)})}},Identifier:function(e){var t=n[n.length-2];return new(t.type=="LabeledStatement"?wt:t.type=="VariableDeclarator"&&t.id===e?t.kind=="const"?lt:t.kind=="let"?ft:ct:/Import.*Specifier/.test(t.type)?t.local===e?bt:Et:t.type=="ExportSpecifier"?t.local===e?kt:Dt:t.type=="FunctionExpression"?t.id===e?gt:pt:t.type=="FunctionDeclaration"?t.id===e?dt:pt:t.type=="ArrowFunctionExpression"?t.params.includes(e)?pt:St:t.type=="ClassExpression"?t.id===e?vt:St:t.type=="Property"?t.key===e&&t.computed||t.value===e?St:ht:t.type=="FieldDefinition"?t.key===e&&t.computed||t.value===e?St:mt:t.type=="ClassDeclaration"?t.id===e?yt:St:t.type=="MethodDefinition"?t.computed?St:ht:t.type=="CatchClause"?_t:t.type=="BreakStatement"||t.type=="ContinueStatement"?xt:St)({start:my_start_token(e),end:my_end_token(e),name:e.name})},BigIntLiteral(e){return new Ft({start:my_start_token(e),end:my_end_token(e),value:e.value})}};t.UpdateExpression=t.UnaryExpression=function To_Moz_Unary(e){var t="prefix"in e?e.prefix:e.type=="UnaryExpression"?true:false;return new(t?He:Ve)({start:my_start_token(e),end:my_end_token(e),operator:e.operator,expression:from_moz(e.argument)})};t.ClassDeclaration=t.ClassExpression=function From_Moz_Class(e){return new(e.type==="ClassDeclaration"?rt:it)({start:my_start_token(e),end:my_end_token(e),name:from_moz(e.id),extends:from_moz(e.superClass),properties:e.body.body.map(from_moz)})};map("EmptyStatement",j);map("BlockStatement",B,"body@body");map("IfStatement",ye,"test>condition, consequent>body, alternate>alternative");map("LabeledStatement",z,"label>label, body>body");map("BreakStatement",de,"label>label");map("ContinueStatement",he,"label>label");map("WithStatement",J,"object>expression, body>body");map("SwitchStatement",ve,"discriminant>expression, cases@body");map("ReturnStatement",le,"argument>value");map("ThrowStatement",fe,"argument>value");map("WhileStatement",q,"test>condition, body>body");map("DoWhileStatement",G,"test>condition, body>body");map("ForStatement",W,"init>init, test>condition, update>step, body>body");map("ForInStatement",K,"left>init, right>object, body>body");map("ForOfStatement",X,"left>init, right>object, body>body, await=await");map("AwaitExpression",me,"argument>expression");map("YieldExpression",ge,"argument>expression, delegate=is_star");map("DebuggerStatement",R);map("VariableDeclarator",Te,"id>name, init>value");map("CatchClause",Se,"param>argname, body%body");map("ThisExpression",Ct);map("Super",At);map("BinaryExpression",Ge,"operator=operator, left>left, right>right");map("LogicalExpression",Ge,"operator=operator, left>left, right>right");map("AssignmentExpression",We,"operator=operator, left>left, right>right");map("ConditionalExpression",qe,"test>condition, consequent>consequent, alternate>alternative");map("NewExpression",Pe,"callee>expression, arguments@args");map("CallExpression",Re,"callee>expression, optional=optional, arguments@args");def_to_moz(Q,function To_Moz_Program(e){return to_moz_scope("Program",e)});def_to_moz(Z,function To_Moz_Spread(e){return{type:to_moz_in_destructuring()?"RestElement":"SpreadElement",argument:to_moz(e.expression)}});def_to_moz(se,function To_Moz_TaggedTemplateExpression(e){return{type:"TaggedTemplateExpression",tag:to_moz(e.prefix),quasi:to_moz(e.template_string)}});def_to_moz(oe,function To_Moz_TemplateLiteral(e){var t=[];var n=[];for(var r=0;r({type:"BigIntLiteral",value:e.value}));Ut.DEFMETHOD("to_mozilla_ast",Tt.prototype.to_mozilla_ast);Pt.DEFMETHOD("to_mozilla_ast",Tt.prototype.to_mozilla_ast);Bt.DEFMETHOD("to_mozilla_ast",function To_Moz_ArrayHole(){return null});L.DEFMETHOD("to_mozilla_ast",B.prototype.to_mozilla_ast);$.DEFMETHOD("to_mozilla_ast",te.prototype.to_mozilla_ast);function raw_token(e){if(e.type=="Literal"){return e.raw!=null?e.raw:e.value+""}}function my_start_token(e){var t=e.loc,n=t&&t.start;var r=e.range;return new O({file:t&&t.source,line:n&&n.line,col:n&&n.column,pos:r?r[0]:e.start,endline:n&&n.line,endcol:n&&n.column,endpos:r?r[0]:e.start,raw:raw_token(e)})}function my_end_token(e){var t=e.loc,n=t&&t.end;var r=e.range;return new O({file:t&&t.source,line:n&&n.line,col:n&&n.column,pos:r?r[1]:e.end,endline:n&&n.line,endcol:n&&n.column,endpos:r?r[1]:e.end,raw:raw_token(e)})}function map(e,n,r){var i="function From_Moz_"+e+"(M){\n";i+="return new U2."+n.name+"({\n"+"start: my_start_token(M),\n"+"end: my_end_token(M)";var s="function To_Moz_"+e+"(M){\n";s+="return {\n"+"type: "+JSON.stringify(e);if(r)r.split(/\s*,\s*/).forEach(function(e){var t=/([a-z0-9$_]+)([=@>%])([a-z0-9$_]+)/i.exec(e);if(!t)throw new Error("Can't understand property map: "+e);var n=t[1],r=t[2],o=t[3];i+=",\n"+o+": ";s+=",\n"+n+": ";switch(r){case"@":i+="M."+n+".map(from_moz)";s+="M."+o+".map(to_moz)";break;case">":i+="from_moz(M."+n+")";s+="to_moz(M."+o+")";break;case"=":i+="M."+n;s+="M."+o;break;case"%":i+="from_moz(M."+n+").body";s+="to_moz_block(M)";break;default:throw new Error("Can't understand operator in propmap: "+e)}});i+="\n})\n}";s+="\n}\n}";i=new Function("U2","my_start_token","my_end_token","from_moz","return("+i+")")(Kt,my_start_token,my_end_token,from_moz);s=new Function("to_moz","to_moz_block","to_moz_scope","return("+s+")")(to_moz,to_moz_block,to_moz_scope);t[e]=i;def_to_moz(n,s)}var n=null;function from_moz(e){n.push(e);var r=e!=null?t[e.type](e):null;n.pop();return r}F.from_mozilla_ast=function(e){var t=n;n=[];var r=from_moz(e);n=t;return r};function set_moz_loc(e,t){var n=e.start;var r=e.end;if(!(n&&r)){return t}if(n.pos!=null&&r.endpos!=null){t.range=[n.pos,r.endpos]}if(n.line){t.loc={start:{line:n.line,column:n.col},end:r.endline?{line:r.endline,column:r.endcol}:null};if(n.file){t.loc.source=n.file}}return t}function def_to_moz(e,t){e.DEFMETHOD("to_mozilla_ast",function(e){return set_moz_loc(this,t(this,e))})}var r=null;function to_moz(e){if(r===null){r=[]}r.push(e);var t=e!=null?e.to_mozilla_ast(r[r.length-2]):null;r.pop();if(r.length===0){r=null}return t}function to_moz_in_destructuring(){var e=r.length;while(e--){if(r[e]instanceof ie){return true}}return false}function to_moz_block(e){return{type:"BlockStatement",body:e.body.map(to_moz)}}function to_moz_scope(e,t){var n=t.body.map(to_moz);if(t.body[0]instanceof N&&t.body[0].body instanceof Mt){n.unshift(to_moz(new j(t.body[0])))}return{type:e,body:n}}})();function first_in_statement(e){let t=e.parent(-1);for(let n=0,r;r=e.parent(n);n++){if(r instanceof I&&r.body===t)return true;if(r instanceof Ne&&r.expressions[0]===t||r.TYPE==="Call"&&r.expression===t||r instanceof se&&r.prefix===t||r instanceof Be&&r.expression===t||r instanceof je&&r.expression===t||r instanceof qe&&r.condition===t||r instanceof Ge&&r.left===t||r instanceof Ve&&r.expression===t){t=r}else{return false}}}function left_is_object(e){if(e instanceof Je)return true;if(e instanceof Ne)return left_is_object(e.expressions[0]);if(e.TYPE==="Call")return left_is_object(e.expression);if(e instanceof se)return left_is_object(e.prefix);if(e instanceof Be||e instanceof je)return left_is_object(e.expression);if(e instanceof qe)return left_is_object(e.condition);if(e instanceof Ge)return left_is_object(e.left);if(e instanceof Ve)return left_is_object(e.expression);return false}const Xt=/^$|[;{][\s\n]*$/;const Jt=10;const Yt=32;const Qt=/[@#]__(PURE|INLINE|NOINLINE)__/g;function is_some_comments(e){return(e.type==="comment2"||e.type==="comment1")&&/@preserve|@lic|@cc_on|^\**!/i.test(e.value)}function OutputStream(e){var t=!e;e=defaults(e,{ascii_only:false,beautify:false,braces:false,comments:"some",ecma:5,ie8:false,indent_level:4,indent_start:0,inline_script:true,keep_numbers:false,keep_quoted_props:false,max_line_len:false,preamble:null,preserve_annotations:false,quote_keys:false,quote_style:0,safari10:false,semicolons:true,shebang:true,shorthand:undefined,source_map:null,webkit:false,width:80,wrap_iife:false,wrap_func_args:true},true);if(e.shorthand===undefined)e.shorthand=e.ecma>5;var n=return_false;if(e.comments){let t=e.comments;if(typeof e.comments==="string"&&/^\/.*\/[a-zA-Z]*$/.test(e.comments)){var r=e.comments.lastIndexOf("/");t=new RegExp(e.comments.substr(1,r-1),e.comments.substr(r+1))}if(t instanceof RegExp){n=function(e){return e.type!="comment5"&&t.test(e.value)}}else if(typeof t==="function"){n=function(e){return e.type!="comment5"&&t(this,e)}}else if(t==="some"){n=is_some_comments}else{n=return_true}}var i=0;var s=0;var o=1;var a=0;var c="";let u=new Set;var l=e.ascii_only?function(t,n){if(e.ecma>=2015){t=t.replace(/[\ud800-\udbff][\udc00-\udfff]/g,function(e){var t=get_full_char_code(e,0).toString(16);return"\\u{"+t+"}"})}return t.replace(/[\u0000-\u001f\u007f-\uffff]/g,function(e){var t=e.charCodeAt(0).toString(16);if(t.length<=2&&!n){while(t.length<2)t="0"+t;return"\\x"+t}else{while(t.length<4)t="0"+t;return"\\u"+t}})}:function(e){return e.replace(/[\ud800-\udbff][\udc00-\udfff]|([\ud800-\udbff]|[\udc00-\udfff])/g,function(e,t){if(t){return"\\u"+t.charCodeAt(0).toString(16)}return e})};function make_string(t,n){var r=0,i=0;t=t.replace(/[\\\b\f\n\r\v\t\x22\x27\u2028\u2029\0\ufeff]/g,function(n,s){switch(n){case'"':++r;return'"';case"'":++i;return"'";case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\b":return"\\b";case"\f":return"\\f";case"\v":return e.ie8?"\\x0B":"\\v";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";case"\ufeff":return"\\ufeff";case"\0":return/[0-9]/.test(get_full_char(t,s+1))?"\\x00":"\\0"}return n});function quote_single(){return"'"+t.replace(/\x27/g,"\\'")+"'"}function quote_double(){return'"'+t.replace(/\x22/g,'\\"')+'"'}function quote_template(){return"`"+t.replace(/`/g,"\\`")+"`"}t=l(t);if(n==="`")return quote_template();switch(e.quote_style){case 1:return quote_single();case 2:return quote_double();case 3:return n=="'"?quote_single():quote_double();default:return r>i?quote_single():quote_double()}}function encode_string(t,n){var r=make_string(t,n);if(e.inline_script){r=r.replace(/<\x2f(script)([>\/\t\n\f\r ])/gi,"<\\/$1$2");r=r.replace(/\x3c!--/g,"\\x3c!--");r=r.replace(/--\x3e/g,"--\\x3e")}return r}function make_name(e){e=e.toString();e=l(e,true);return e}function make_indent(t){return" ".repeat(e.indent_start+i-t*e.indent_level)}var f=false;var p=false;var d=false;var h=0;var m=false;var g=false;var y=-1;var v="";var _,b,E=e.source_map&&[];var w=E?function(){E.forEach(function(t){try{e.source_map.add(t.token.file,t.line,t.col,t.token.line,t.token.col,!t.name&&t.token.type=="name"?t.token.value:t.name)}catch(e){}});E=[]}:noop;var S=e.max_line_len?function(){if(s>e.max_line_len){if(h){var t=c.slice(0,h);var n=c.slice(h);if(E){var r=n.length-s;E.forEach(function(e){e.line++;e.col+=r})}c=t+"\n"+n;o++;a++;s=n.length}}if(h){h=0;w()}}:noop;var k=makePredicate("( [ + * / - , . `");function print(t){t=String(t);var n=get_full_char(t,0);if(m&&n){m=false;if(n!=="\n"){print("\n");C()}}if(g&&n){g=false;if(!/[\s;})]/.test(n)){x()}}y=-1;var r=v.charAt(v.length-1);if(d){d=false;if(r===":"&&n==="}"||(!n||!";}".includes(n))&&r!==";"){if(e.semicolons||k.has(n)){c+=";";s++;a++}else{S();if(s>0){c+="\n";a++;o++;s=0}if(/^\s+$/.test(t)){d=true}}if(!e.beautify)p=false}}if(p){if(is_identifier_char(r)&&(is_identifier_char(n)||n=="\\")||n=="/"&&n==r||(n=="+"||n=="-")&&n==v){c+=" ";s++;a++}p=false}if(_){E.push({token:_,name:b,line:o,col:s});_=false;if(!h)w()}c+=t;f=t[t.length-1]=="(";a+=t.length;var i=t.split(/\r?\n/),u=i.length-1;o+=u;s+=i[0].length;if(u>0){S();s=i[u].length}v=t}var D=function(){print("*")};var x=e.beautify?function(){print(" ")}:function(){p=true};var C=e.beautify?function(t){if(e.beautify){print(make_indent(t?.5:0))}}:noop;var A=e.beautify?function(e,t){if(e===true)e=next_indent();var n=i;i=e;var r=t();i=n;return r}:function(e,t){return t()};var T=e.beautify?function(){if(y<0)return print("\n");if(c[y]!="\n"){c=c.slice(0,y)+"\n"+c.slice(y);a++;o++}y++}:e.max_line_len?function(){S();h=c.length}:noop;var M=e.beautify?function(){print(";")}:function(){d=true};function force_semicolon(){d=false;print(";")}function next_indent(){return i+e.indent_level}function with_block(e){var t;print("{");T();A(next_indent(),function(){t=e()});C();print("}");return t}function with_parens(e){print("(");var t=e();print(")");return t}function with_square(e){print("[");var t=e();print("]");return t}function comma(){print(",");x()}function colon(){print(":");x()}var O=E?function(e,t){_=e;b=t}:noop;function get(){if(h){S()}return c}function has_nlb(){let e=c.length-1;while(e>=0){const t=c.charCodeAt(e);if(t===Jt){return true}if(t!==Yt){return false}e--}return true}function filter_comment(t){if(!e.preserve_annotations){t=t.replace(Qt," ")}if(/^\s*$/.test(t)){return""}return t.replace(/(<\s*\/\s*)(script)/i,"<\\/$2")}function prepend_comments(t){var r=this;var i=t.start;if(!i)return;var s=r.printed_comments;const o=t instanceof ue&&t.value;if(i.comments_before&&s.has(i.comments_before)){if(o){i.comments_before=[]}else{return}}var c=i.comments_before;if(!c){c=i.comments_before=[]}s.add(c);if(o){var u=new TreeWalker(function(e){var t=u.parent();if(t instanceof ue||t instanceof Ge&&t.left===e||t.TYPE=="Call"&&t.expression===e||t instanceof qe&&t.condition===e||t instanceof Be&&t.expression===e||t instanceof Ne&&t.expressions[0]===e||t instanceof je&&t.expression===e||t instanceof Ve){if(!e.start)return;var n=e.start.comments_before;if(n&&!s.has(n)){s.add(n);c=c.concat(n)}}else{return true}});u.push(t);t.value.walk(u)}if(a==0){if(c.length>0&&e.shebang&&c[0].type==="comment5"&&!s.has(c[0])){print("#!"+c.shift().value+"\n");C()}var l=e.preamble;if(l){print(l.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g,"\n"))}}c=c.filter(n,t).filter(e=>!s.has(e));if(c.length==0)return;var f=has_nlb();c.forEach(function(e,t){s.add(e);if(!f){if(e.nlb){print("\n");C();f=true}else if(t>0){x()}}if(/comment[134]/.test(e.type)){var n=filter_comment(e.value);if(n){print("//"+n+"\n");C()}f=true}else if(e.type=="comment2"){var n=filter_comment(e.value);if(n){print("/*"+n+"*/")}f=false}});if(!f){if(i.nlb){print("\n");C()}else{x()}}}function append_comments(e,t){var r=this;var i=e.end;if(!i)return;var s=r.printed_comments;var o=i[t?"comments_before":"comments_after"];if(!o||s.has(o))return;if(!(e instanceof I||o.every(e=>!/comment[134]/.test(e.type))))return;s.add(o);var a=c.length;o.filter(n,e).forEach(function(e,n){if(s.has(e))return;s.add(e);g=false;if(m){print("\n");C();m=false}else if(e.nlb&&(n>0||!has_nlb())){print("\n");C()}else if(n>0||!t){x()}if(/comment[134]/.test(e.type)){const t=filter_comment(e.value);if(t){print("//"+t)}m=true}else if(e.type=="comment2"){const t=filter_comment(e.value);if(t){print("/*"+t+"*/")}g=true}});if(c.length>a)y=a}var F=[];return{get:get,toString:get,indent:C,in_directive:false,use_asm:null,active_scope:null,indentation:function(){return i},current_width:function(){return s-i},should_break:function(){return e.width&&this.current_width()>=e.width},has_parens:function(){return f},newline:T,print:print,star:D,space:x,comma:comma,colon:colon,last:function(){return v},semicolon:M,force_semicolon:force_semicolon,to_utf8:l,print_name:function(e){print(make_name(e))},print_string:function(e,t,n){var r=encode_string(e,t);if(n===true&&!r.includes("\\")){if(!Xt.test(c)){force_semicolon()}force_semicolon()}print(r)},print_template_string_chars:function(e){var t=encode_string(e,"`").replace(/\${/g,"\\${");return print(t.substr(1,t.length-2))},encode_string:encode_string,next_indent:next_indent,with_indent:A,with_block:with_block,with_parens:with_parens,with_square:with_square,add_mapping:O,option:function(t){return e[t]},printed_comments:u,prepend_comments:t?noop:prepend_comments,append_comments:t||n===return_false?noop:append_comments,line:function(){return o},col:function(){return s},pos:function(){return a},push_node:function(e){F.push(e)},pop_node:function(){return F.pop()},parent:function(e){return F[F.length-2-(e||0)]}}}(function(){function DEFPRINT(e,t){e.DEFMETHOD("_codegen",t)}F.DEFMETHOD("print",function(e,t){var n=this,r=n._codegen;if(n instanceof Y){e.active_scope=n}else if(!e.use_asm&&n instanceof P&&n.value=="use asm"){e.use_asm=e.active_scope}function doit(){e.prepend_comments(n);n.add_source_map(e);r(n,e);e.append_comments(n)}e.push_node(n);if(t||n.needs_parens(e)){e.with_parens(doit)}else{doit()}e.pop_node();if(n===e.use_asm){e.use_asm=null}});F.DEFMETHOD("_print",F.prototype.print);F.DEFMETHOD("print_to_string",function(e){var t=OutputStream(e);this.print(t);return t.get()});function PARENS(e,t){if(Array.isArray(e)){e.forEach(function(e){PARENS(e,t)})}else{e.DEFMETHOD("needs_parens",t)}}PARENS(F,return_false);PARENS(te,function(e){if(!e.has_parens()&&first_in_statement(e)){return true}if(e.option("webkit")){var t=e.parent();if(t instanceof Le&&t.expression===this){return true}}if(e.option("wrap_iife")){var t=e.parent();if(t instanceof Re&&t.expression===this){return true}}if(e.option("wrap_func_args")){var t=e.parent();if(t instanceof Re&&t.args.includes(this)){return true}}return false});PARENS(ne,function(e){var t=e.parent();return t instanceof Le&&t.expression===this});PARENS(Je,function(e){return!e.has_parens()&&first_in_statement(e)});PARENS(it,first_in_statement);PARENS(ze,function(e){var t=e.parent();return t instanceof Le&&t.expression===this||t instanceof Re&&t.expression===this||t instanceof Ge&&t.operator==="**"&&this instanceof He&&t.left===this&&this.operator!=="++"&&this.operator!=="--"});PARENS(me,function(e){var t=e.parent();return t instanceof Le&&t.expression===this||t instanceof Re&&t.expression===this||e.option("safari10")&&t instanceof He});PARENS(Ne,function(e){var t=e.parent();return t instanceof Re||t instanceof ze||t instanceof Ge||t instanceof Te||t instanceof Le||t instanceof Xe||t instanceof Ye||t instanceof qe||t instanceof ne||t instanceof Ke||t instanceof Z||t instanceof X&&this===t.object||t instanceof ge||t instanceof Ie});PARENS(Ge,function(e){var t=e.parent();if(t instanceof Re&&t.expression===this)return true;if(t instanceof ze)return true;if(t instanceof Le&&t.expression===this)return true;if(t instanceof Ge){const e=t.operator;const n=this.operator;if(n==="??"&&(e==="||"||e==="&&")){return true}const r=T[e];const i=T[n];if(r>i||r==i&&(this===t.right||e=="**")){return true}}});PARENS(ge,function(e){var t=e.parent();if(t instanceof Ge&&t.operator!=="=")return true;if(t instanceof Re&&t.expression===this)return true;if(t instanceof qe&&t.condition===this)return true;if(t instanceof ze)return true;if(t instanceof Le&&t.expression===this)return true});PARENS(Le,function(e){var t=e.parent();if(t instanceof Pe&&t.expression===this){return walk(this,e=>{if(e instanceof Y)return true;if(e instanceof Re){return Vt}})}});PARENS(Re,function(e){var t=e.parent(),n;if(t instanceof Pe&&t.expression===this||t instanceof Ie&&t.is_default&&this.expression instanceof te)return true;return this.expression instanceof te&&t instanceof Le&&t.expression===this&&(n=e.parent(1))instanceof We&&n.left===t});PARENS(Pe,function(e){var t=e.parent();if(this.args.length===0&&(t instanceof Le||t instanceof Re&&t.expression===this))return true});PARENS(Ot,function(e){var t=e.parent();if(t instanceof Le&&t.expression===this){var n=this.getValue();if(n<0||/^0/.test(make_num(n))){return true}}});PARENS(Ft,function(e){var t=e.parent();if(t instanceof Le&&t.expression===this){var n=this.getValue();if(n.startsWith("-")){return true}}});PARENS([We,qe],function(e){var t=e.parent();if(t instanceof ze)return true;if(t instanceof Ge&&!(t instanceof We))return true;if(t instanceof Re&&t.expression===this)return true;if(t instanceof qe&&t.condition===this)return true;if(t instanceof Le&&t.expression===this)return true;if(this instanceof We&&this.left instanceof ie&&this.left.is_array===false)return true});DEFPRINT(P,function(e,t){t.print_string(e.value,e.quote);t.semicolon()});DEFPRINT(Z,function(e,t){t.print("...");e.expression.print(t)});DEFPRINT(ie,function(e,t){t.print(e.is_array?"[":"{");var n=e.names.length;e.names.forEach(function(e,r){if(r>0)t.comma();e.print(t);if(r==n-1&&e instanceof Bt)t.comma()});t.print(e.is_array?"]":"}")});DEFPRINT(R,function(e,t){t.print("debugger");t.semicolon()});function display_body(e,t,n,r){var i=e.length-1;n.in_directive=r;e.forEach(function(e,r){if(n.in_directive===true&&!(e instanceof P||e instanceof j||e instanceof N&&e.body instanceof Mt)){n.in_directive=false}if(!(e instanceof j)){n.indent();e.print(n);if(!(r==i&&t)){n.newline();if(t)n.newline()}}if(n.in_directive===true&&e instanceof N&&e.body instanceof Mt){n.in_directive=false}});n.in_directive=false}U.DEFMETHOD("_do_print_body",function(e){force_statement(this.body,e)});DEFPRINT(I,function(e,t){e.body.print(t);t.semicolon()});DEFPRINT(Q,function(e,t){display_body(e.body,true,t,true);t.print("")});DEFPRINT(z,function(e,t){e.label.print(t);t.colon();e.body.print(t)});DEFPRINT(N,function(e,t){e.body.print(t);t.semicolon()});function print_braced_empty(e,t){t.print("{");t.with_indent(t.next_indent(),function(){t.append_comments(e,true)});t.print("}")}function print_braced(e,t,n){if(e.body.length>0){t.with_block(function(){display_body(e.body,false,t,n)})}else print_braced_empty(e,t)}DEFPRINT(B,function(e,t){print_braced(e,t)});DEFPRINT(j,function(e,t){t.semicolon()});DEFPRINT(G,function(e,t){t.print("do");t.space();make_block(e.body,t);t.space();t.print("while");t.space();t.with_parens(function(){e.condition.print(t)});t.semicolon()});DEFPRINT(q,function(e,t){t.print("while");t.space();t.with_parens(function(){e.condition.print(t)});t.space();e._do_print_body(t)});DEFPRINT(W,function(e,t){t.print("for");t.space();t.with_parens(function(){if(e.init){if(e.init instanceof De){e.init.print(t)}else{parenthesize_for_noin(e.init,t,true)}t.print(";");t.space()}else{t.print(";")}if(e.condition){e.condition.print(t);t.print(";");t.space()}else{t.print(";")}if(e.step){e.step.print(t)}});t.space();e._do_print_body(t)});DEFPRINT(K,function(e,t){t.print("for");if(e.await){t.space();t.print("await")}t.space();t.with_parens(function(){e.init.print(t);t.space();t.print(e instanceof X?"of":"in");t.space();e.object.print(t)});t.space();e._do_print_body(t)});DEFPRINT(J,function(e,t){t.print("with");t.space();t.with_parens(function(){e.expression.print(t)});t.space();e._do_print_body(t)});$.DEFMETHOD("_do_print",function(e,t){var n=this;if(!t){if(n.async){e.print("async");e.space()}e.print("function");if(n.is_generator){e.star()}if(n.name){e.space()}}if(n.name instanceof st){n.name.print(e)}else if(t&&n.name instanceof F){e.with_square(function(){n.name.print(e)})}e.with_parens(function(){n.argnames.forEach(function(t,n){if(n)e.comma();t.print(e)})});e.space();print_braced(n,e,true)});DEFPRINT($,function(e,t){e._do_print(t)});DEFPRINT(se,function(e,t){var n=e.prefix;var r=n instanceof $||n instanceof Ge||n instanceof qe||n instanceof Ne||n instanceof ze||n instanceof Be&&n.expression instanceof Je;if(r)t.print("(");e.prefix.print(t);if(r)t.print(")");e.template_string.print(t)});DEFPRINT(oe,function(e,t){var n=t.parent()instanceof se;t.print("`");for(var r=0;r");e.space();const i=t.body[0];if(t.body.length===1&&i instanceof le){const t=i.value;if(!t){e.print("{}")}else if(left_is_object(t)){e.print("(");t.print(e);e.print(")")}else{t.print(e)}}else{print_braced(t,e)}if(r){e.print(")")}});ue.DEFMETHOD("_do_print",function(e,t){e.print(t);if(this.value){e.space();const t=this.value.start.comments_before;if(t&&t.length&&!e.printed_comments.has(t)){e.print("(");this.value.print(e);e.print(")")}else{this.value.print(e)}}e.semicolon()});DEFPRINT(le,function(e,t){e._do_print(t,"return")});DEFPRINT(fe,function(e,t){e._do_print(t,"throw")});DEFPRINT(ge,function(e,t){var n=e.is_star?"*":"";t.print("yield"+n);if(e.expression){t.space();e.expression.print(t)}});DEFPRINT(me,function(e,t){t.print("await");t.space();var n=e.expression;var r=!(n instanceof Re||n instanceof St||n instanceof Le||n instanceof ze||n instanceof Tt||n instanceof me||n instanceof Je);if(r)t.print("(");e.expression.print(t);if(r)t.print(")")});pe.DEFMETHOD("_do_print",function(e,t){e.print(t);if(this.label){e.space();this.label.print(e)}e.semicolon()});DEFPRINT(de,function(e,t){e._do_print(t,"break")});DEFPRINT(he,function(e,t){e._do_print(t,"continue")});function make_then(e,t){var n=e.body;if(t.option("braces")||t.option("ie8")&&n instanceof G)return make_block(n,t);if(!n)return t.force_semicolon();while(true){if(n instanceof ye){if(!n.alternative){make_block(e.body,t);return}n=n.alternative}else if(n instanceof U){n=n.body}else break}force_statement(e.body,t)}DEFPRINT(ye,function(e,t){t.print("if");t.space();t.with_parens(function(){e.condition.print(t)});t.space();if(e.alternative){make_then(e,t);t.space();t.print("else");t.space();if(e.alternative instanceof ye)e.alternative.print(t);else force_statement(e.alternative,t)}else{e._do_print_body(t)}});DEFPRINT(ve,function(e,t){t.print("switch");t.space();t.with_parens(function(){e.expression.print(t)});t.space();var n=e.body.length-1;if(n<0)print_braced_empty(e,t);else t.with_block(function(){e.body.forEach(function(e,r){t.indent(true);e.print(t);if(r0)t.newline()})})});_e.DEFMETHOD("_do_print_body",function(e){e.newline();this.body.forEach(function(t){e.indent();t.print(e);e.newline()})});DEFPRINT(be,function(e,t){t.print("default:");e._do_print_body(t)});DEFPRINT(Ee,function(e,t){t.print("case");t.space();e.expression.print(t);t.print(":");e._do_print_body(t)});DEFPRINT(we,function(e,t){t.print("try");t.space();print_braced(e,t);if(e.bcatch){t.space();e.bcatch.print(t)}if(e.bfinally){t.space();e.bfinally.print(t)}});DEFPRINT(Se,function(e,t){t.print("catch");if(e.argname){t.space();t.with_parens(function(){e.argname.print(t)})}t.space();print_braced(e,t)});DEFPRINT(ke,function(e,t){t.print("finally");t.space();print_braced(e,t)});De.DEFMETHOD("_do_print",function(e,t){e.print(t);e.space();this.definitions.forEach(function(t,n){if(n)e.comma();t.print(e)});var n=e.parent();var r=n instanceof W||n instanceof K;var i=!r||n&&n.init!==this;if(i)e.semicolon()});DEFPRINT(Ce,function(e,t){e._do_print(t,"let")});DEFPRINT(xe,function(e,t){e._do_print(t,"var")});DEFPRINT(Ae,function(e,t){e._do_print(t,"const")});DEFPRINT(Oe,function(e,t){t.print("import");t.space();if(e.imported_name){e.imported_name.print(t)}if(e.imported_name&&e.imported_names){t.print(",");t.space()}if(e.imported_names){if(e.imported_names.length===1&&e.imported_names[0].foreign_name.name==="*"){e.imported_names[0].print(t)}else{t.print("{");e.imported_names.forEach(function(n,r){t.space();n.print(t);if(r{if(e instanceof Y)return true;if(e instanceof Ge&&e.operator=="in"){return Vt}})}e.print(t,r)}DEFPRINT(Te,function(e,t){e.name.print(t);if(e.value){t.space();t.print("=");t.space();var n=t.parent(1);var r=n instanceof W||n instanceof K;parenthesize_for_noin(e.value,t,r)}});DEFPRINT(Re,function(e,t){e.expression.print(t);if(e instanceof Pe&&e.args.length===0)return;if(e.expression instanceof Re||e.expression instanceof $){t.add_mapping(e.start)}if(e.optional)t.print("?.");t.with_parens(function(){e.args.forEach(function(e,n){if(n)t.comma();e.print(t)})})});DEFPRINT(Pe,function(e,t){t.print("new");t.space();Re.prototype._codegen(e,t)});Ne.DEFMETHOD("_do_print",function(e){this.expressions.forEach(function(t,n){if(n>0){e.comma();if(e.should_break()){e.newline();e.indent()}}t.print(e)})});DEFPRINT(Ne,function(e,t){e._do_print(t)});DEFPRINT(Be,function(e,t){var n=e.expression;n.print(t);var r=e.property;var i=c.has(r)?t.option("ie8"):!is_identifier_string(r,t.option("ecma")>=2015);if(e.optional)t.print("?.");if(i){t.print("[");t.add_mapping(e.end);t.print_string(r);t.print("]")}else{if(n instanceof Ot&&n.getValue()>=0){if(!/[xa-f.)]/i.test(t.last())){t.print(".")}}if(!e.optional)t.print(".");t.add_mapping(e.end);t.print_name(r)}});DEFPRINT(je,function(e,t){e.expression.print(t);if(e.optional)t.print("?.");t.print("[");e.property.print(t);t.print("]")});DEFPRINT(Ue,function(e,t){e.expression.print(t)});DEFPRINT(He,function(e,t){var n=e.operator;t.print(n);if(/^[a-z]/i.test(n)||/[+-]$/.test(n)&&e.expression instanceof He&&/^[+-]/.test(e.expression.operator)){t.space()}e.expression.print(t)});DEFPRINT(Ve,function(e,t){e.expression.print(t);t.print(e.operator)});DEFPRINT(Ge,function(e,t){var n=e.operator;e.left.print(t);if(n[0]==">"&&e.left instanceof Ve&&e.left.operator=="--"){t.print(" ")}else{t.space()}t.print(n);if((n=="<"||n=="<<")&&e.right instanceof He&&e.right.operator=="!"&&e.right.expression instanceof He&&e.right.expression.operator=="--"){t.print(" ")}else{t.space()}e.right.print(t)});DEFPRINT(qe,function(e,t){e.condition.print(t);t.space();t.print("?");t.space();e.consequent.print(t);t.space();t.colon();e.alternative.print(t)});DEFPRINT(Xe,function(e,t){t.with_square(function(){var n=e.elements,r=n.length;if(r>0)t.space();n.forEach(function(e,n){if(n)t.comma();e.print(t);if(n===r-1&&e instanceof Bt)t.comma()});if(r>0)t.space()})});DEFPRINT(Je,function(e,t){if(e.properties.length>0)t.with_block(function(){e.properties.forEach(function(e,n){if(n){t.print(",");t.newline()}t.indent();e.print(t)});t.newline()});else print_braced_empty(e,t)});DEFPRINT(tt,function(e,t){t.print("class");t.space();if(e.name){e.name.print(t);t.space()}if(e.extends){var n=!(e.extends instanceof St)&&!(e.extends instanceof Le)&&!(e.extends instanceof it)&&!(e.extends instanceof te);t.print("extends");if(n){t.print("(")}else{t.space()}e.extends.print(t);if(n){t.print(")")}else{t.space()}}if(e.properties.length>0)t.with_block(function(){e.properties.forEach(function(e,n){if(n){t.newline()}t.indent();e.print(t)});t.newline()});else t.print("{}")});DEFPRINT(ot,function(e,t){t.print("new.target")});function print_property_name(e,t,n){if(n.option("quote_keys")){return n.print_string(e)}if(""+ +e==e&&e>=0){if(n.option("keep_numbers")){return n.print(e)}return n.print(make_num(e))}var r=c.has(e)?n.option("ie8"):n.option("ecma")<2015?!is_basic_identifier_string(e):!is_identifier_string(e,true);if(r||t&&n.option("keep_quoted_props")){return n.print_string(e,t)}return n.print_name(e)}DEFPRINT(Qe,function(e,t){function get_name(e){var t=e.definition();return t?t.mangled_name||t.name:e.name}var n=t.option("shorthand");if(n&&e.value instanceof st&&is_identifier_string(e.key,t.option("ecma")>=2015)&&get_name(e.value)===e.key&&!c.has(e.key)){print_property_name(e.key,e.quote,t)}else if(n&&e.value instanceof Ke&&e.value.left instanceof st&&is_identifier_string(e.key,t.option("ecma")>=2015)&&get_name(e.value.left)===e.key){print_property_name(e.key,e.quote,t);t.space();t.print("=");t.space();e.value.right.print(t)}else{if(!(e.key instanceof F)){print_property_name(e.key,e.quote,t)}else{t.with_square(function(){e.key.print(t)})}t.colon();e.value.print(t)}});DEFPRINT(nt,(e,t)=>{if(e.static){t.print("static");t.space()}if(e.key instanceof mt){print_property_name(e.key.name,e.quote,t)}else{t.print("[");e.key.print(t);t.print("]")}if(e.value){t.print("=");e.value.print(t)}t.semicolon()});Ye.DEFMETHOD("_print_getter_setter",function(e,t){var n=this;if(n.static){t.print("static");t.space()}if(e){t.print(e);t.space()}if(n.key instanceof ht){print_property_name(n.key.name,n.quote,t)}else{t.with_square(function(){n.key.print(t)})}n.value._do_print(t,true)});DEFPRINT(Ze,function(e,t){e._print_getter_setter("set",t)});DEFPRINT($e,function(e,t){e._print_getter_setter("get",t)});DEFPRINT(et,function(e,t){var n;if(e.is_generator&&e.async){n="async*"}else if(e.is_generator){n="*"}else if(e.async){n="async"}e._print_getter_setter(n,t)});st.DEFMETHOD("_do_print",function(e){var t=this.definition();e.print_name(t?t.mangled_name||t.name:this.name)});DEFPRINT(st,function(e,t){e._do_print(t)});DEFPRINT(Bt,noop);DEFPRINT(Ct,function(e,t){t.print("this")});DEFPRINT(At,function(e,t){t.print("super")});DEFPRINT(Tt,function(e,t){t.print(e.getValue())});DEFPRINT(Mt,function(e,t){t.print_string(e.getValue(),e.quote,t.in_directive)});DEFPRINT(Ot,function(e,t){if((t.option("keep_numbers")||t.use_asm)&&e.start&&e.start.raw!=null){t.print(e.start.raw)}else{t.print(make_num(e.getValue()))}});DEFPRINT(Ft,function(e,t){t.print(e.getValue()+"n")});const e=/(<\s*\/\s*script)/i;const t=(e,t)=>t.replace("/","\\/");DEFPRINT(It,function(n,r){let{source:i,flags:s}=n.getValue();i=regexp_source_fix(i);s=s?sort_regexp_flags(s):"";i=i.replace(e,t);r.print(r.to_utf8(`/${i}/${s}`));const o=r.parent();if(o instanceof Ge&&/^\w/.test(o.operator)&&o.left===n){r.print(" ")}});function force_statement(e,t){if(t.option("braces")){make_block(e,t)}else{if(!e||e instanceof j)t.force_semicolon();else e.print(t)}}function best_of(e){var t=e[0],n=t.length;for(var r=1;r{return e===null&&t===null||e.TYPE===t.TYPE&&e.shallow_cmp(t)};const $t=(e,t)=>{if(!Zt(e,t))return false;const n=[e];const r=[t];const i=n.push.bind(n);const s=r.push.bind(r);while(n.length&&r.length){const e=n.pop();const t=r.pop();if(!Zt(e,t))return false;e._children_backwards(i);t._children_backwards(s);if(n.length!==r.length){return false}}return n.length==0&&r.length==0};const en=e=>{const t=Object.keys(e).map(t=>{if(e[t]==="eq"){return`this.${t} === other.${t}`}else if(e[t]==="exist"){return`(this.${t} == null ? other.${t} == null : this.${t} === other.${t})`}else{throw new Error(`mkshallow: Unexpected instruction: ${e[t]}`)}}).join(" && ");return new Function("other","return "+t)};const tn=()=>true;F.prototype.shallow_cmp=function(){throw new Error("did not find a shallow_cmp function for "+this.constructor.name)};R.prototype.shallow_cmp=tn;P.prototype.shallow_cmp=en({value:"eq"});N.prototype.shallow_cmp=tn;L.prototype.shallow_cmp=tn;j.prototype.shallow_cmp=tn;z.prototype.shallow_cmp=en({"label.name":"eq"});G.prototype.shallow_cmp=tn;q.prototype.shallow_cmp=tn;W.prototype.shallow_cmp=en({init:"exist",condition:"exist",step:"exist"});K.prototype.shallow_cmp=tn;X.prototype.shallow_cmp=tn;J.prototype.shallow_cmp=tn;Q.prototype.shallow_cmp=tn;Z.prototype.shallow_cmp=tn;$.prototype.shallow_cmp=en({is_generator:"eq",async:"eq"});ie.prototype.shallow_cmp=en({is_array:"eq"});se.prototype.shallow_cmp=tn;oe.prototype.shallow_cmp=tn;ae.prototype.shallow_cmp=en({value:"eq"});ce.prototype.shallow_cmp=tn;pe.prototype.shallow_cmp=tn;me.prototype.shallow_cmp=tn;ge.prototype.shallow_cmp=en({is_star:"eq"});ye.prototype.shallow_cmp=en({alternative:"exist"});ve.prototype.shallow_cmp=tn;_e.prototype.shallow_cmp=tn;we.prototype.shallow_cmp=en({bcatch:"exist",bfinally:"exist"});Se.prototype.shallow_cmp=en({argname:"exist"});ke.prototype.shallow_cmp=tn;De.prototype.shallow_cmp=tn;Te.prototype.shallow_cmp=en({value:"exist"});Me.prototype.shallow_cmp=tn;Oe.prototype.shallow_cmp=en({imported_name:"exist",imported_names:"exist"});Fe.prototype.shallow_cmp=tn;Ie.prototype.shallow_cmp=en({exported_definition:"exist",exported_value:"exist",exported_names:"exist",module_name:"eq",is_default:"eq"});Re.prototype.shallow_cmp=tn;Ne.prototype.shallow_cmp=tn;Le.prototype.shallow_cmp=tn;Be.prototype.shallow_cmp=en({property:"eq"});ze.prototype.shallow_cmp=en({operator:"eq"});Ge.prototype.shallow_cmp=en({operator:"eq"});qe.prototype.shallow_cmp=tn;Xe.prototype.shallow_cmp=tn;Je.prototype.shallow_cmp=tn;Ye.prototype.shallow_cmp=tn;Qe.prototype.shallow_cmp=en({key:"eq"});Ze.prototype.shallow_cmp=en({static:"eq"});$e.prototype.shallow_cmp=en({static:"eq"});et.prototype.shallow_cmp=en({static:"eq",is_generator:"eq",async:"eq"});tt.prototype.shallow_cmp=en({name:"exist",extends:"exist"});nt.prototype.shallow_cmp=en({static:"eq"});st.prototype.shallow_cmp=en({name:"eq"});ot.prototype.shallow_cmp=tn;Ct.prototype.shallow_cmp=tn;At.prototype.shallow_cmp=tn;Mt.prototype.shallow_cmp=en({value:"eq"});Ot.prototype.shallow_cmp=en({value:"eq"});Ft.prototype.shallow_cmp=en({value:"eq"});It.prototype.shallow_cmp=function(e){return this.value.flags===e.value.flags&&this.value.source===e.value.source};Rt.prototype.shallow_cmp=tn;const nn=1<<0;const rn=1<<1;let sn=null;let on=null;class SymbolDef{constructor(e,t,n){this.name=t.name;this.orig=[t];this.init=n;this.eliminated=0;this.assignments=0;this.scope=e;this.replaced=0;this.global=false;this.export=0;this.mangled_name=null;this.undeclared=false;this.id=SymbolDef.next_id++;this.chained=false;this.direct_access=false;this.escaped=0;this.recursive_refs=0;this.references=[];this.should_replace=undefined;this.single_use=false;this.fixed=false;Object.seal(this)}fixed_value(){if(!this.fixed||this.fixed instanceof F)return this.fixed;return this.fixed()}unmangleable(e){if(!e)e={};if(sn&&sn.has(this.id)&&keep_name(e.keep_fnames,this.orig[0].name))return true;return this.global&&!e.toplevel||this.export&nn||this.undeclared||!e.eval&&this.scope.pinned()||(this.orig[0]instanceof gt||this.orig[0]instanceof dt)&&keep_name(e.keep_fnames,this.orig[0].name)||this.orig[0]instanceof ht||(this.orig[0]instanceof vt||this.orig[0]instanceof yt)&&keep_name(e.keep_classnames,this.orig[0].name)}mangle(e){const t=e.cache&&e.cache.props;if(this.global&&t&&t.has(this.name)){this.mangled_name=t.get(this.name)}else if(!this.mangled_name&&!this.unmangleable(e)){var n=this.scope;var r=this.orig[0];if(e.ie8&&r instanceof gt)n=n.parent_scope;const i=redefined_catch_def(this);this.mangled_name=i?i.mangled_name||i.name:n.next_mangled(e,this);if(this.global&&t){t.set(this.name,this.mangled_name)}}}}SymbolDef.next_id=1;function redefined_catch_def(e){if(e.orig[0]instanceof _t&&e.scope.is_block_scope()){return e.scope.get_defun_scope().variables.get(e.name)}}Y.DEFMETHOD("figure_out_scope",function(e,{parent_scope:t=null,toplevel:n=this}={}){e=defaults(e,{cache:null,ie8:false,safari10:false});if(!(n instanceof Q)){throw new Error("Invalid toplevel scope")}var r=this.parent_scope=t;var i=new Map;var s=null;var o=null;var a=[];var c=new TreeWalker((t,n)=>{if(t.is_block_scope()){const i=r;t.block_scope=r=new Y(t);r._block_scope=true;const s=t instanceof Se?i.parent_scope:i;r.init_scope_vars(s);r.uses_with=i.uses_with;r.uses_eval=i.uses_eval;if(e.safari10){if(t instanceof W||t instanceof K){a.push(r)}}if(t instanceof ve){const e=r;r=i;t.expression.walk(c);r=e;for(let e=0;e{if(e===t)return true;if(t instanceof ut){return e instanceof gt}return!(e instanceof ft||e instanceof lt)})){js_error(`"${t.name}" is redeclared`,t.start.file,t.start.line,t.start.col,t.start.pos)}if(!(t instanceof pt))mark_export(h,2);if(s!==r){t.mark_enclosed();var h=r.find_variable(t);if(t.thedef!==h){t.thedef=h;t.reference()}}}else if(t instanceof xt){var m=i.get(t.name);if(!m)throw new Error(string_template("Undefined label {name} [{line},{col}]",{name:t.name,line:t.start.line,col:t.start.col}));t.thedef=m}if(!(r instanceof Q)&&(t instanceof Ie||t instanceof Oe)){js_error(`"${t.TYPE}" statement may only appear at the top level`,t.start.file,t.start.line,t.start.col,t.start.pos)}});this.walk(c);function mark_export(e,t){if(o){var n=0;do{t++}while(c.parent(n++)!==o)}var r=c.parent(t);if(e.export=r instanceof Ie?nn:0){var i=r.exported_definition;if((i instanceof re||i instanceof rt)&&r.is_default){e.export=rn}}}const u=this instanceof Q;if(u){this.globals=new Map}var c=new TreeWalker(e=>{if(e instanceof pe&&e.label){e.label.thedef.references.push(e);return true}if(e instanceof St){var t=e.name;if(t=="eval"&&c.parent()instanceof Re){for(var r=e.scope;r&&!r.uses_eval;r=r.parent_scope){r.uses_eval=true}}var i;if(c.parent()instanceof Me&&c.parent(1).module_name||!(i=e.scope.find_variable(t))){i=n.def_global(e);if(e instanceof kt)i.export=nn}else if(i.scope instanceof $&&t=="arguments"){i.scope.uses_arguments=true}e.thedef=i;e.reference();if(e.scope.is_block_scope()&&!(i.orig[0]instanceof ut)){e.scope=e.scope.get_defun_scope()}return true}var s;if(e instanceof _t&&(s=redefined_catch_def(e.definition()))){var r=e.scope;while(r){push_uniq(r.enclosed,s);if(r===s.scope)break;r=r.parent_scope}}});this.walk(c);if(e.ie8||e.safari10){walk(this,e=>{if(e instanceof _t){var t=e.name;var r=e.thedef.references;var i=e.scope.get_defun_scope();var s=i.find_variable(t)||n.globals.get(t)||i.def_variable(e);r.forEach(function(e){e.thedef=s;e.reference()});e.thedef=s;e.reference();return true}})}if(e.safari10){for(const e of a){e.parent_scope.variables.forEach(function(t){push_uniq(e.enclosed,t)})}}});Q.DEFMETHOD("def_global",function(e){var t=this.globals,n=e.name;if(t.has(n)){return t.get(n)}else{var r=new SymbolDef(this,e);r.undeclared=true;r.global=true;t.set(n,r);return r}});Y.DEFMETHOD("init_scope_vars",function(e){this.variables=new Map;this.functions=new Map;this.uses_with=false;this.uses_eval=false;this.parent_scope=e;this.enclosed=[];this.cname=-1});Y.DEFMETHOD("conflicting_def",function(e){return this.enclosed.find(t=>t.name===e)||this.variables.has(e)||this.parent_scope&&this.parent_scope.conflicting_def(e)});Y.DEFMETHOD("add_child_scope",function(e){if(e.parent_scope===this)return;e.parent_scope=this;const t=(()=>{const e=[];let t=this;do{e.push(t)}while(t=t.parent_scope);e.reverse();return e})();const n=new Set(e.enclosed);const r=[];for(const e of t){r.forEach(t=>push_uniq(e.enclosed,t));for(const t of e.variables.values()){if(n.has(t)){push_uniq(r,t);push_uniq(e.enclosed,t)}}}});Y.DEFMETHOD("create_symbol",function(e,{source:t,tentative_name:n,scope:r,init:i=null}={}){let s;if(n){n=s=n.replace(/(?:^[^a-z_$]|[^a-z0-9_$])/gi,"_");let e=0;while(this.conflicting_def(s)){s=n+"$"+e++}}if(!s){throw new Error("No symbol name could be generated in create_symbol()")}const o=make_node(e,t,{name:s,scope:r});this.def_variable(o,i||null);o.mark_enclosed();return o});F.DEFMETHOD("is_block_scope",return_false);tt.DEFMETHOD("is_block_scope",return_false);$.DEFMETHOD("is_block_scope",return_false);Q.DEFMETHOD("is_block_scope",return_false);_e.DEFMETHOD("is_block_scope",return_false);L.DEFMETHOD("is_block_scope",return_true);Y.DEFMETHOD("is_block_scope",function(){return this._block_scope||false});H.DEFMETHOD("is_block_scope",return_true);$.DEFMETHOD("init_scope_vars",function(){Y.prototype.init_scope_vars.apply(this,arguments);this.uses_arguments=false;this.def_variable(new pt({name:"arguments",start:this.start,end:this.end}))});ne.DEFMETHOD("init_scope_vars",function(){Y.prototype.init_scope_vars.apply(this,arguments);this.uses_arguments=false});st.DEFMETHOD("mark_enclosed",function(){var e=this.definition();var t=this.scope;while(t){push_uniq(t.enclosed,e);if(t===e.scope)break;t=t.parent_scope}});st.DEFMETHOD("reference",function(){this.definition().references.push(this);this.mark_enclosed()});Y.DEFMETHOD("find_variable",function(e){if(e instanceof st)e=e.name;return this.variables.get(e)||this.parent_scope&&this.parent_scope.find_variable(e)});Y.DEFMETHOD("def_function",function(e,t){var n=this.def_variable(e,t);if(!n.init||n.init instanceof re)n.init=t;this.functions.set(e.name,n);return n});Y.DEFMETHOD("def_variable",function(e,t){var n=this.variables.get(e.name);if(n){n.orig.push(e);if(n.init&&(n.scope!==e.scope||n.init instanceof te)){n.init=t}}else{n=new SymbolDef(this,e,t);this.variables.set(e.name,n);n.global=!this.parent_scope}return e.thedef=n});function next_mangled(e,t){var n=e.enclosed;e:while(true){var r=an(++e.cname);if(c.has(r))continue;if(t.reserved.has(r))continue;if(on&&on.has(r))continue e;for(let e=n.length;--e>=0;){const i=n[e];const s=i.mangled_name||i.unmangleable(t)&&i.name;if(r==s)continue e}return r}}Y.DEFMETHOD("next_mangled",function(e){return next_mangled(this,e)});Q.DEFMETHOD("next_mangled",function(e){let t;const n=this.mangled_names;do{t=next_mangled(this,e)}while(n.has(t));return t});te.DEFMETHOD("next_mangled",function(e,t){var n=t.orig[0]instanceof pt&&this.name&&this.name.definition();var r=n?n.mangled_name||n.name:null;while(true){var i=next_mangled(this,e);if(!r||r!=i)return i}});st.DEFMETHOD("unmangleable",function(e){var t=this.definition();return!t||t.unmangleable(e)});wt.DEFMETHOD("unmangleable",return_false);st.DEFMETHOD("unreferenced",function(){return!this.definition().references.length&&!this.scope.pinned()});st.DEFMETHOD("definition",function(){return this.thedef});st.DEFMETHOD("global",function(){return this.thedef.global});Q.DEFMETHOD("_default_mangler_options",function(e){e=defaults(e,{eval:false,ie8:false,keep_classnames:false,keep_fnames:false,module:false,reserved:[],toplevel:false});if(e.module)e.toplevel=true;if(!Array.isArray(e.reserved)&&!(e.reserved instanceof Set)){e.reserved=[]}e.reserved=new Set(e.reserved);e.reserved.add("arguments");return e});Q.DEFMETHOD("mangle_names",function(e){e=this._default_mangler_options(e);var t=-1;var n=[];if(e.keep_fnames){sn=new Set}const r=this.mangled_names=new Set;if(e.cache){this.globals.forEach(collect);if(e.cache.props){e.cache.props.forEach(function(e){r.add(e)})}}var i=new TreeWalker(function(r,i){if(r instanceof z){var s=t;i();t=s;return true}if(r instanceof Y){r.variables.forEach(collect);return}if(r.is_block_scope()){r.block_scope.variables.forEach(collect);return}if(sn&&r instanceof Te&&r.value instanceof $&&!r.value.name&&keep_name(e.keep_fnames,r.name.name)){sn.add(r.name.definition().id);return}if(r instanceof wt){let e;do{e=an(++t)}while(c.has(e));r.mangled_name=e;return true}if(!(e.ie8||e.safari10)&&r instanceof _t){n.push(r.definition());return}});this.walk(i);if(e.keep_fnames||e.keep_classnames){on=new Set;n.forEach(t=>{if(t.name.length<6&&t.unmangleable(e)){on.add(t.name)}})}n.forEach(t=>{t.mangle(e)});sn=null;on=null;function collect(t){const r=!e.reserved.has(t.name)&&!(t.export&nn);if(r){n.push(t)}}});Q.DEFMETHOD("find_colliding_names",function(e){const t=e.cache&&e.cache.props;const n=new Set;e.reserved.forEach(to_avoid);this.globals.forEach(add_def);this.walk(new TreeWalker(function(e){if(e instanceof Y)e.variables.forEach(add_def);if(e instanceof _t)add_def(e.definition())}));return n;function to_avoid(e){n.add(e)}function add_def(n){var r=n.name;if(n.global&&t&&t.has(r))r=t.get(r);else if(!n.unmangleable(e))return;to_avoid(r)}});Q.DEFMETHOD("expand_names",function(e){an.reset();an.sort();e=this._default_mangler_options(e);var t=this.find_colliding_names(e);var n=0;this.globals.forEach(rename);this.walk(new TreeWalker(function(e){if(e instanceof Y)e.variables.forEach(rename);if(e instanceof _t)rename(e.definition())}));function next_name(){var e;do{e=an(n++)}while(t.has(e)||c.has(e));return e}function rename(t){if(t.global&&e.cache)return;if(t.unmangleable(e))return;if(e.reserved.has(t.name))return;const n=redefined_catch_def(t);const r=t.name=n?n.name:next_name();t.orig.forEach(function(e){e.name=r});t.references.forEach(function(e){e.name=r})}});F.DEFMETHOD("tail_node",return_this);Ne.DEFMETHOD("tail_node",function(){return this.expressions[this.expressions.length-1]});Q.DEFMETHOD("compute_char_frequency",function(e){e=this._default_mangler_options(e);try{F.prototype.print=function(t,n){this._print(t,n);if(this instanceof st&&!this.unmangleable(e)){an.consider(this.name,-1)}else if(e.properties){if(this instanceof Be){an.consider(this.property,-1)}else if(this instanceof je){skip_string(this.property)}}};an.consider(this.print_to_string(),1)}finally{F.prototype.print=F.prototype._print}an.sort();function skip_string(e){if(e instanceof Mt){an.consider(e.value,-1)}else if(e instanceof qe){skip_string(e.consequent);skip_string(e.alternative)}else if(e instanceof Ne){skip_string(e.tail_node())}}});const an=(()=>{const e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_".split("");const t="0123456789".split("");let n;let r;function reset(){r=new Map;e.forEach(function(e){r.set(e,0)});t.forEach(function(e){r.set(e,0)})}base54.consider=function(e,t){for(var n=e.length;--n>=0;){r.set(e[n],r.get(e[n])+t)}};function compare(e,t){return r.get(t)-r.get(e)}base54.sort=function(){n=mergeSort(e,compare).concat(mergeSort(t,compare))};base54.reset=reset;reset();function base54(e){var t="",r=54;e++;do{e--;t+=n[e%r];e=Math.floor(e/r);r=64}while(e>0);return t}return base54})();let cn=undefined;F.prototype.size=function(e,t){cn=e&&e.mangle_options;let n=0;walk_parent(this,(e,t)=>{n+=e._size(t)},t||e&&e.stack);cn=undefined;return n};F.prototype._size=(()=>0);R.prototype._size=(()=>8);P.prototype._size=function(){return 2+this.value.length};const un=e=>e.length&&e.length-1;L.prototype._size=function(){return 2+un(this.body)};Q.prototype._size=function(){return un(this.body)};j.prototype._size=(()=>1);z.prototype._size=(()=>2);G.prototype._size=(()=>9);q.prototype._size=(()=>7);W.prototype._size=(()=>8);K.prototype._size=(()=>8);J.prototype._size=(()=>6);Z.prototype._size=(()=>3);const ln=e=>(e.is_generator?1:0)+(e.async?6:0);ee.prototype._size=function(){return ln(this)+4+un(this.argnames)+un(this.body)};te.prototype._size=function(e){const t=!!first_in_statement(e);return t*2+ln(this)+12+un(this.argnames)+un(this.body)};re.prototype._size=function(){return ln(this)+13+un(this.argnames)+un(this.body)};ne.prototype._size=function(){let e=2+un(this.argnames);if(!(this.argnames.length===1&&this.argnames[0]instanceof st)){e+=2}return ln(this)+e+(Array.isArray(this.body)?un(this.body):this.body._size())};ie.prototype._size=(()=>2);oe.prototype._size=function(){return 2+Math.floor(this.segments.length/2)*3};ae.prototype._size=function(){return this.value.length};le.prototype._size=function(){return this.value?7:6};fe.prototype._size=(()=>6);de.prototype._size=function(){return this.label?6:5};he.prototype._size=function(){return this.label?9:8};ye.prototype._size=(()=>4);ve.prototype._size=function(){return 8+un(this.body)};Ee.prototype._size=function(){return 5+un(this.body)};be.prototype._size=function(){return 8+un(this.body)};we.prototype._size=function(){return 3+un(this.body)};Se.prototype._size=function(){let e=7+un(this.body);if(this.argname){e+=2}return e};ke.prototype._size=function(){return 7+un(this.body)};const fn=(e,t)=>e+un(t.definitions);xe.prototype._size=function(){return fn(4,this)};Ce.prototype._size=function(){return fn(4,this)};Ae.prototype._size=function(){return fn(6,this)};Te.prototype._size=function(){return this.value?1:0};Me.prototype._size=function(){return this.name?4:0};Oe.prototype._size=function(){let e=6;if(this.imported_name)e+=1;if(this.imported_name||this.imported_names)e+=5;if(this.imported_names){e+=2+un(this.imported_names)}return e};Fe.prototype._size=(()=>11);Ie.prototype._size=function(){let e=7+(this.is_default?8:0);if(this.exported_value){e+=this.exported_value._size()}if(this.exported_names){e+=2+un(this.exported_names)}if(this.module_name){e+=5}return e};Re.prototype._size=function(){if(this.optional){return 4+un(this.args)}return 2+un(this.args)};Pe.prototype._size=function(){return 6+un(this.args)};Ne.prototype._size=function(){return un(this.expressions)};Be.prototype._size=function(){if(this.optional){return this.property.length+2}return this.property.length+1};je.prototype._size=function(){return this.optional?4:2};ze.prototype._size=function(){if(this.operator==="typeof")return 7;if(this.operator==="void")return 5;return this.operator.length};Ge.prototype._size=function(e){if(this.operator==="in")return 4;let t=this.operator.length;if((this.operator==="+"||this.operator==="-")&&this.right instanceof ze&&this.right.operator===this.operator){t+=1}if(this.needs_parens(e)){t+=2}return t};qe.prototype._size=(()=>3);Xe.prototype._size=function(){return 2+un(this.elements)};Je.prototype._size=function(e){let t=2;if(first_in_statement(e)){t+=2}return t+un(this.properties)};const pn=e=>typeof e==="string"?e.length:0;Qe.prototype._size=function(){return pn(this.key)+1};const dn=e=>e?7:0;$e.prototype._size=function(){return 5+dn(this.static)+pn(this.key)};Ze.prototype._size=function(){return 5+dn(this.static)+pn(this.key)};et.prototype._size=function(){return dn(this.static)+pn(this.key)+ln(this)};tt.prototype._size=function(){return(this.name?8:7)+(this.extends?8:0)};nt.prototype._size=function(){return dn(this.static)+(typeof this.key==="string"?this.key.length+2:0)+(this.value?1:0)};st.prototype._size=function(){return!cn||this.definition().unmangleable(cn)?this.name.length:1};mt.prototype._size=function(){return this.name.length};St.prototype._size=at.prototype._size=function(){const{name:e,thedef:t}=this;if(t&&t.global)return e.length;if(e==="arguments")return 9;return st.prototype._size.call(this)};ot.prototype._size=(()=>10);Et.prototype._size=function(){return this.name.length};Dt.prototype._size=function(){return this.name.length};Ct.prototype._size=(()=>4);At.prototype._size=(()=>5);Mt.prototype._size=function(){return this.value.length+2};Ot.prototype._size=function(){const{value:e}=this;if(e===0)return 1;if(e>0&&Math.floor(e)===e){return Math.floor(Math.log10(e)+1)}return e.toString().length};Ft.prototype._size=function(){return this.value.length};It.prototype._size=function(){return this.value.toString().length};Pt.prototype._size=(()=>4);Nt.prototype._size=(()=>3);Lt.prototype._size=(()=>6);Bt.prototype._size=(()=>0);jt.prototype._size=(()=>8);Ht.prototype._size=(()=>4);zt.prototype._size=(()=>5);me.prototype._size=(()=>6);ge.prototype._size=(()=>6);const hn=1;const mn=2;const gn=4;const yn=8;const vn=16;const _n=32;const bn=256;const En=512;const wn=1024;const Sn=bn|En|wn;const kn=(e,t)=>e.flags&t;const Dn=(e,t)=>{e.flags|=t};const xn=(e,t)=>{e.flags&=~t};class Compressor extends TreeWalker{constructor(e,{false_by_default:t=false,mangle_options:n=false}){super();if(e.defaults!==undefined&&!e.defaults)t=true;this.options=defaults(e,{arguments:false,arrows:!t,booleans:!t,booleans_as_integers:false,collapse_vars:!t,comparisons:!t,computed_props:!t,conditionals:!t,dead_code:!t,defaults:true,directives:!t,drop_console:false,drop_debugger:!t,ecma:5,evaluate:!t,expression:false,global_defs:false,hoist_funs:false,hoist_props:!t,hoist_vars:false,ie8:false,if_return:!t,inline:!t,join_vars:!t,keep_classnames:false,keep_fargs:true,keep_fnames:false,keep_infinity:false,loops:!t,module:false,negate_iife:!t,passes:1,properties:!t,pure_getters:!t&&"strict",pure_funcs:null,reduce_funcs:null,reduce_vars:!t,sequences:!t,side_effects:!t,switches:!t,top_retain:null,toplevel:!!(e&&e["top_retain"]),typeofs:!t,unsafe:false,unsafe_arrows:false,unsafe_comps:false,unsafe_Function:false,unsafe_math:false,unsafe_symbols:false,unsafe_methods:false,unsafe_proto:false,unsafe_regexp:false,unsafe_undefined:false,unused:!t,warnings:false},true);var r=this.options["global_defs"];if(typeof r=="object")for(var i in r){if(i[0]==="@"&&HOP(r,i)){r[i.slice(1)]=parse(r[i],{expression:true})}}if(this.options["inline"]===true)this.options["inline"]=3;var s=this.options["pure_funcs"];if(typeof s=="function"){this.pure_funcs=s}else{this.pure_funcs=s?function(e){return!s.includes(e.expression.print_to_string())}:return_true}var o=this.options["top_retain"];if(o instanceof RegExp){this.top_retain=function(e){return o.test(e.name)}}else if(typeof o=="function"){this.top_retain=o}else if(o){if(typeof o=="string"){o=o.split(/,/)}this.top_retain=function(e){return o.includes(e.name)}}if(this.options["module"]){this.directives["use strict"]=true;this.options["toplevel"]=true}var a=this.options["toplevel"];this.toplevel=typeof a=="string"?{funcs:/funcs/.test(a),vars:/vars/.test(a)}:{funcs:a,vars:a};var c=this.options["sequences"];this.sequences_limit=c==1?800:c|0;this.evaluated_regexps=new Map;this._toplevel=undefined;this.mangle_options=n}option(e){return this.options[e]}exposed(e){if(e.export)return true;if(e.global)for(var t=0,n=e.orig.length;t0||this.option("reduce_vars")){this._toplevel.reset_opt_flags(this)}this._toplevel=this._toplevel.transform(this);if(t>1){let e=0;walk(this._toplevel,()=>{e++});if(e=0){i.body[o]=i.body[o].transform(r)}}else if(i instanceof ye){i.body=i.body.transform(r);if(i.alternative){i.alternative=i.alternative.transform(r)}}else if(i instanceof J){i.body=i.body.transform(r)}return i});n.transform(r)});function read_property(e,t){t=get_value(t);if(t instanceof F)return;var n;if(e instanceof Xe){var r=e.elements;if(t=="length")return make_node_from_constant(r.length,e);if(typeof t=="number"&&t in r)n=r[t]}else if(e instanceof Je){t=""+t;var i=e.properties;for(var s=i.length;--s>=0;){var o=i[s];if(!(o instanceof Qe))return;if(!n&&i[s].key===t)n=i[s].value}}return n instanceof St&&n.fixed_value()||n}function is_modified(e,t,n,r,i,s){var o=t.parent(i);var a=is_lhs(n,o);if(a)return a;if(!s&&o instanceof Re&&o.expression===n&&!(r instanceof ne)&&!(r instanceof tt)&&!o.is_expr_pure(e)&&(!(r instanceof te)||!(o instanceof Pe)&&r.contains_this())){return true}if(o instanceof Xe){return is_modified(e,t,o,o,i+1)}if(o instanceof Qe&&n===o.value){var c=t.parent(i+1);return is_modified(e,t,c,c,i+2)}if(o instanceof Le&&o.expression===n){var u=read_property(r,o.property);return!s&&is_modified(e,t,o,u,i+1)}}(function(e){e(F,noop);function reset_def(e,t){t.assignments=0;t.chained=false;t.direct_access=false;t.escaped=0;t.recursive_refs=0;t.references=[];t.single_use=undefined;if(t.scope.pinned()){t.fixed=false}else if(t.orig[0]instanceof lt||!e.exposed(t)){t.fixed=t.init}else{t.fixed=false}}function reset_variables(e,t,n){n.variables.forEach(function(n){reset_def(t,n);if(n.fixed===null){e.defs_to_safe_ids.set(n.id,e.safe_ids);mark(e,n,true)}else if(n.fixed){e.loop_ids.set(n.id,e.in_loop);mark(e,n,true)}})}function reset_block_variables(e,t){if(t.block_scope)t.block_scope.variables.forEach(t=>{reset_def(e,t)})}function push(e){e.safe_ids=Object.create(e.safe_ids)}function pop(e){e.safe_ids=Object.getPrototypeOf(e.safe_ids)}function mark(e,t,n){e.safe_ids[t.id]=n}function safe_to_read(e,t){if(t.single_use=="m")return false;if(e.safe_ids[t.id]){if(t.fixed==null){var n=t.orig[0];if(n instanceof pt||n.name=="arguments")return false;t.fixed=make_node(Lt,n)}return true}return t.fixed instanceof re}function safe_to_assign(e,t,n,r){if(t.fixed===undefined)return true;let i;if(t.fixed===null&&(i=e.defs_to_safe_ids.get(t.id))){i[t.id]=false;e.defs_to_safe_ids.delete(t.id);return true}if(!HOP(e.safe_ids,t.id))return false;if(!safe_to_read(e,t))return false;if(t.fixed===false)return false;if(t.fixed!=null&&(!r||t.references.length>t.assignments))return false;if(t.fixed instanceof re){return r instanceof F&&t.fixed.parent_scope===n}return t.orig.every(e=>{return!(e instanceof lt||e instanceof dt||e instanceof gt)})}function ref_once(e,t,n){return t.option("unused")&&!n.scope.pinned()&&n.references.length-n.recursive_refs==1&&e.loop_ids.get(n.id)===e.in_loop}function is_immutable(e){if(!e)return false;return e.is_constant()||e instanceof $||e instanceof Ct}function mark_escaped(e,t,n,r,i,s,o){var a=e.parent(s);if(i){if(i.is_constant())return;if(i instanceof it)return}if(a instanceof We&&a.operator=="="&&r===a.right||a instanceof Re&&(r!==a.expression||a instanceof Pe)||a instanceof ue&&r===a.value&&r.scope!==t.scope||a instanceof Te&&r===a.value||a instanceof ge&&r===a.value&&r.scope!==t.scope){if(o>1&&!(i&&i.is_constant_expression(n)))o=1;if(!t.escaped||t.escaped>o)t.escaped=o;return}else if(a instanceof Xe||a instanceof me||a instanceof Ge&&Tn.has(a.operator)||a instanceof qe&&r!==a.condition||a instanceof Z||a instanceof Ne&&r===a.tail_node()){mark_escaped(e,t,n,a,a,s+1,o)}else if(a instanceof Qe&&r===a.value){var c=e.parent(s+1);mark_escaped(e,t,n,c,c,s+2,o)}else if(a instanceof Le&&r===a.expression){i=read_property(i,a.property);mark_escaped(e,t,n,a,i,s+1,o+1);if(i)return}if(s>0)return;if(a instanceof Ne&&r!==a.tail_node())return;if(a instanceof N)return;t.direct_access=true}const t=e=>walk(e,e=>{if(!(e instanceof st))return;var t=e.definition();if(!t)return;if(e instanceof St)t.references.push(e);t.fixed=false});e(ee,function(e,t,n){push(e);reset_variables(e,n,this);t();pop(e);return true});e(We,function(e,n,r){var i=this;if(i.left instanceof ie){t(i.left);return}var s=i.left;if(!(s instanceof St))return;var o=s.definition();var a=safe_to_assign(e,o,s.scope,i.right);o.assignments++;if(!a)return;var c=o.fixed;if(!c&&i.operator!="=")return;var u=i.operator=="=";var l=u?i.right:i;if(is_modified(r,e,i,l,0))return;o.references.push(s);if(!u)o.chained=true;o.fixed=u?function(){return i.right}:function(){return make_node(Ge,i,{operator:i.operator.slice(0,-1),left:c instanceof F?c:c(),right:i.right})};mark(e,o,false);i.right.walk(e);mark(e,o,true);mark_escaped(e,o,s.scope,i,l,0,1);return true});e(Ge,function(e){if(!Tn.has(this.operator))return;this.left.walk(e);push(e);this.right.walk(e);pop(e);return true});e(L,function(e,t,n){reset_block_variables(n,this)});e(Ee,function(e){push(e);this.expression.walk(e);pop(e);push(e);walk_body(this,e);pop(e);return true});e(tt,function(e,t){xn(this,vn);push(e);t();pop(e);return true});e(qe,function(e){this.condition.walk(e);push(e);this.consequent.walk(e);pop(e);push(e);this.alternative.walk(e);pop(e);return true});e(Ue,function(e,t){const n=e.safe_ids;t();e.safe_ids=n;return true});e(Re,function(e){this.expression.walk(e);if(this.optional){push(e)}for(const t of this.args)t.walk(e);return true});e(Le,function(e){if(!this.optional)return;this.expression.walk(e);push(e);if(this.property instanceof F)this.property.walk(e);return true});e(be,function(e,t){push(e);t();pop(e);return true});function mark_lambda(e,t,n){xn(this,vn);push(e);reset_variables(e,n,this);if(this.uses_arguments){t();pop(e);return}var r;if(!this.name&&(r=e.parent())instanceof Re&&r.expression===this&&!r.args.some(e=>e instanceof Z)&&this.argnames.every(e=>e instanceof st)){this.argnames.forEach((t,n)=>{if(!t.definition)return;var i=t.definition();if(i.orig.length>1)return;if(i.fixed===undefined&&(!this.uses_arguments||e.has_directive("use strict"))){i.fixed=function(){return r.args[n]||make_node(Lt,r)};e.loop_ids.set(i.id,e.in_loop);mark(e,i,true)}else{i.fixed=false}})}t();pop(e);return true}e($,mark_lambda);e(G,function(e,t,n){reset_block_variables(n,this);const r=e.in_loop;e.in_loop=this;push(e);this.body.walk(e);if(has_break_or_continue(this)){pop(e);push(e)}this.condition.walk(e);pop(e);e.in_loop=r;return true});e(W,function(e,t,n){reset_block_variables(n,this);if(this.init)this.init.walk(e);const r=e.in_loop;e.in_loop=this;push(e);if(this.condition)this.condition.walk(e);this.body.walk(e);if(this.step){if(has_break_or_continue(this)){pop(e);push(e)}this.step.walk(e)}pop(e);e.in_loop=r;return true});e(K,function(e,n,r){reset_block_variables(r,this);t(this.init);this.object.walk(e);const i=e.in_loop;e.in_loop=this;push(e);this.body.walk(e);pop(e);e.in_loop=i;return true});e(ye,function(e){this.condition.walk(e);push(e);this.body.walk(e);pop(e);if(this.alternative){push(e);this.alternative.walk(e);pop(e)}return true});e(z,function(e){push(e);this.body.walk(e);pop(e);return true});e(_t,function(){this.definition().fixed=false});e(St,function(e,t,n){var r=this.definition();r.references.push(this);if(r.references.length==1&&!r.fixed&&r.orig[0]instanceof dt){e.loop_ids.set(r.id,e.in_loop)}var i;if(r.fixed===undefined||!safe_to_read(e,r)){r.fixed=false}else if(r.fixed){i=this.fixed_value();if(i instanceof $&&recursive_ref(e,r)){r.recursive_refs++}else if(i&&!n.exposed(r)&&ref_once(e,n,r)){r.single_use=i instanceof $&&!i.pinned()||i instanceof tt||r.scope===this.scope&&i.is_constant_expression()}else{r.single_use=false}if(is_modified(n,e,this,i,0,is_immutable(i))){if(r.single_use){r.single_use="m"}else{r.fixed=false}}}mark_escaped(e,r,this.scope,this,i,0,1)});e(Q,function(e,t,n){this.globals.forEach(function(e){reset_def(n,e)});reset_variables(e,n,this)});e(we,function(e,t,n){reset_block_variables(n,this);push(e);walk_body(this,e);pop(e);if(this.bcatch){push(e);this.bcatch.walk(e);pop(e)}if(this.bfinally)this.bfinally.walk(e);return true});e(ze,function(e){var t=this;if(t.operator!=="++"&&t.operator!=="--")return;var n=t.expression;if(!(n instanceof St))return;var r=n.definition();var i=safe_to_assign(e,r,n.scope,true);r.assignments++;if(!i)return;var s=r.fixed;if(!s)return;r.references.push(n);r.chained=true;r.fixed=function(){return make_node(Ge,t,{operator:t.operator.slice(0,-1),left:make_node(He,t,{operator:"+",expression:s instanceof F?s:s()}),right:make_node(Ot,t,{value:1})})};mark(e,r,true);return true});e(Te,function(e,n){var r=this;if(r.name instanceof ie){t(r.name);return}var i=r.name.definition();if(r.value){if(safe_to_assign(e,i,r.name.scope,r.value)){i.fixed=function(){return r.value};e.loop_ids.set(i.id,e.in_loop);mark(e,i,false);n();mark(e,i,true);return true}else{i.fixed=false}}});e(q,function(e,t,n){reset_block_variables(n,this);const r=e.in_loop;e.in_loop=this;push(e);t();pop(e);e.in_loop=r;return true})})(function(e,t){e.DEFMETHOD("reduce_vars",t)});Q.DEFMETHOD("reset_opt_flags",function(e){const t=this;const n=e.option("reduce_vars");const r=new TreeWalker(function(i,s){xn(i,Sn);if(n){if(e.top_retain&&i instanceof re&&r.parent()===t){Dn(i,wn)}return i.reduce_vars(r,s,e)}});r.safe_ids=Object.create(null);r.in_loop=null;r.loop_ids=new Map;r.defs_to_safe_ids=new Map;t.walk(r)});st.DEFMETHOD("fixed_value",function(){var e=this.thedef.fixed;if(!e||e instanceof F)return e;return e()});St.DEFMETHOD("is_immutable",function(){var e=this.definition().orig;return e.length==1&&e[0]instanceof gt});function is_func_expr(e){return e instanceof ne||e instanceof te}function is_lhs_read_only(e){if(e instanceof Ct)return true;if(e instanceof St)return e.definition().orig[0]instanceof gt;if(e instanceof Le){e=e.expression;if(e instanceof St){if(e.is_immutable())return false;e=e.fixed_value()}if(!e)return true;if(e instanceof It)return false;if(e instanceof Tt)return true;return is_lhs_read_only(e)}return false}function is_ref_of(e,t){if(!(e instanceof St))return false;var n=e.definition().orig;for(var r=n.length;--r>=0;){if(n[r]instanceof t)return true}}function find_scope(e){for(let t=0;;t++){const n=e.parent(t);if(n instanceof Q)return n;if(n instanceof $)return n;if(n.block_scope)return n.block_scope}}function find_variable(e,t){var n,r=0;while(n=e.parent(r++)){if(n instanceof Y)break;if(n instanceof Se&&n.argname){n=n.argname.definition().scope;break}}return n.find_variable(t)}function make_sequence(e,t){if(t.length==1)return t[0];if(t.length==0)throw new Error("trying to create a sequence with length zero!");return make_node(Ne,e,{expressions:t.reduce(merge_sequence,[])})}function make_node_from_constant(e,t){switch(typeof e){case"string":return make_node(Mt,t,{value:e});case"number":if(isNaN(e))return make_node(Nt,t);if(isFinite(e)){return 1/e<0?make_node(He,t,{operator:"-",expression:make_node(Ot,t,{value:-e})}):make_node(Ot,t,{value:e})}return e<0?make_node(He,t,{operator:"-",expression:make_node(jt,t)}):make_node(jt,t);case"boolean":return make_node(e?Ht:zt,t);case"undefined":return make_node(Lt,t);default:if(e===null){return make_node(Pt,t,{value:null})}if(e instanceof RegExp){return make_node(It,t,{value:{source:regexp_source_fix(e.source),flags:e.flags}})}throw new Error(string_template("Can't handle constant of type: {type}",{type:typeof e}))}}function maintain_this_binding(e,t,n){if(e instanceof He&&e.operator=="delete"||e instanceof Re&&e.expression===t&&(n instanceof Le||n instanceof St&&n.name=="eval")){return make_sequence(t,[make_node(Ot,t,{value:0}),n])}return n}function merge_sequence(e,t){if(t instanceof Ne){e.push(...t.expressions)}else{e.push(t)}return e}function as_statement_array(e){if(e===null)return[];if(e instanceof B)return e.body;if(e instanceof j)return[];if(e instanceof I)return[e];throw new Error("Can't convert thing to statement array")}function is_empty(e){if(e===null)return true;if(e instanceof j)return true;if(e instanceof B)return e.body.length==0;return false}function can_be_evicted_from_block(e){return!(e instanceof rt||e instanceof re||e instanceof Ce||e instanceof Ae||e instanceof Ie||e instanceof Oe)}function loop_body(e){if(e instanceof H){return e.body instanceof B?e.body:e}return e}function is_iife_call(e){if(e.TYPE!="Call")return false;return e.expression instanceof te||is_iife_call(e.expression)}function is_undeclared_ref(e){return e instanceof St&&e.definition().undeclared}var Cn=makePredicate("Array Boolean clearInterval clearTimeout console Date decodeURI decodeURIComponent encodeURI encodeURIComponent Error escape eval EvalError Function isFinite isNaN JSON Math Number parseFloat parseInt RangeError ReferenceError RegExp Object setInterval setTimeout String SyntaxError TypeError unescape URIError");St.DEFMETHOD("is_declared",function(e){return!this.definition().undeclared||e.option("unsafe")&&Cn.has(this.name)});var An=makePredicate("Infinity NaN undefined");function is_identifier_atom(e){return e instanceof jt||e instanceof Nt||e instanceof Lt}function tighten_body(e,t){var n,i;var s=t.find_parent(Y).get_defun_scope();find_loop_scope_try();var o,a=10;do{o=false;eliminate_spurious_blocks(e);if(t.option("dead_code")){eliminate_dead_code(e,t)}if(t.option("if_return")){handle_if_return(e,t)}if(t.sequences_limit>0){sequencesize(e,t);sequencesize_2(e,t)}if(t.option("join_vars")){join_consecutive_vars(e)}if(t.option("collapse_vars")){collapse(e,t)}}while(o&&a-- >0);function find_loop_scope_try(){var e=t.self(),r=0;do{if(e instanceof Se||e instanceof ke){r++}else if(e instanceof H){n=true}else if(e instanceof Y){s=e;break}else if(e instanceof we){i=true}}while(e=t.parent(r++))}function collapse(e,t){if(s.pinned())return e;var a;var c=[];var u=e.length;var l=new TreeTransformer(function(e){if(x)return e;if(!D){if(e!==p[d])return e;d++;if(d1||e instanceof H&&!(e instanceof W)||e instanceof pe||e instanceof we||e instanceof J||e instanceof ge||e instanceof Ie||e instanceof tt||n instanceof W&&e!==n.init||!w&&(e instanceof St&&!e.is_declared(t)&&!Pn.has(e))||e instanceof St&&n instanceof Re&&has_annotation(n,Wt)){x=true;return e}if(!y&&(!b||!w)&&(n instanceof Ge&&Tn.has(n.operator)&&n.left!==e||n instanceof qe&&n.condition!==e||n instanceof ye&&n.condition!==e)){y=n}if(A&&!(e instanceof at)&&v.equivalent_to(e)){if(y){x=true;return e}if(is_lhs(e,n)){if(m)C++;return e}else{C++;if(m&&h instanceof Te)return e}o=x=true;if(h instanceof Ve){return make_node(He,h,h)}if(h instanceof Te){var r=h.name.definition();var s=h.value;if(r.references.length-r.replaced==1&&!t.exposed(r)){r.replaced++;if(k&&is_identifier_atom(s)){return s.transform(t)}else{return maintain_this_binding(n,e,s)}}return make_node(We,h,{operator:"=",left:make_node(St,h.name,h.name),right:s})}xn(h,_n);return h}var a;if(e instanceof Re||e instanceof ue&&(E||v instanceof Le||may_modify(v))||e instanceof Le&&(E||e.expression.may_throw_on_access(t))||e instanceof St&&(_.get(e.name)||E&&may_modify(e))||e instanceof Te&&e.value&&(_.has(e.name.name)||E&&may_modify(e.name))||(a=is_lhs(e.left,e))&&(a instanceof Le||_.has(a.name))||S&&(i?e.has_side_effects(t):side_effects_external(e))){g=e;if(e instanceof Y)x=true}return handle_custom_scan_order(e)},function(e){if(x)return;if(g===e)x=true;if(y===e)y=null});var f=new TreeTransformer(function(e){if(x)return e;if(!D){if(e!==p[d])return e;d++;if(d=0){if(u==0&&t.option("unused"))extract_args();var p=[];extract_candidates(e[u]);while(c.length>0){p=c.pop();var d=0;var h=p[p.length-1];var m=null;var g=null;var y=null;var v=get_lhs(h);if(!v||is_lhs_read_only(v)||v.has_side_effects(t))continue;var _=get_lvalues(h);var b=is_lhs_local(v);if(v instanceof St)_.set(v.name,false);var E=value_has_side_effects(h);var w=replace_all_symbols();var S=h.may_throw(t);var k=h.name instanceof pt;var D=k;var x=false,C=0,A=!a||!D;if(!A){for(var T=t.self().argnames.lastIndexOf(h.name)+1;!x&&TC)C=false;else{x=false;d=0;D=k;for(var M=u;!x&&M!(e instanceof Z))){var r=t.has_directive("use strict");if(r&&!member(r,n.body))r=false;var i=n.argnames.length;a=e.args.slice(i);var s=new Set;for(var o=i;--o>=0;){var u=n.argnames[o];var l=e.args[o];const i=u.definition&&u.definition();const p=i&&i.orig.length>1;if(p)continue;a.unshift(make_node(Te,u,{name:u,value:l}));if(s.has(u.name))continue;s.add(u.name);if(u instanceof Z){var f=e.args.slice(o);if(f.every(e=>!has_overlapping_symbol(n,e,r))){c.unshift([make_node(Te,u,{name:u.expression,value:make_node(Xe,e,{elements:f})})])}}else{if(!l){l=make_node(Lt,u).transform(t)}else if(l instanceof $&&l.pinned()||has_overlapping_symbol(n,l,r)){l=null}if(l)c.unshift([make_node(Te,u,{name:u,value:l})])}}}}function extract_candidates(e){p.push(e);if(e instanceof We){if(!e.left.has_side_effects(t)){c.push(p.slice())}extract_candidates(e.right)}else if(e instanceof Ge){extract_candidates(e.left);extract_candidates(e.right)}else if(e instanceof Re&&!has_annotation(e,Wt)){extract_candidates(e.expression);e.args.forEach(extract_candidates)}else if(e instanceof Ee){extract_candidates(e.expression)}else if(e instanceof qe){extract_candidates(e.condition);extract_candidates(e.consequent);extract_candidates(e.alternative)}else if(e instanceof De){var n=e.definitions.length;var r=n-200;if(r<0)r=0;for(;r1&&!(e.name instanceof pt)||(r>1?mangleable_var(e):!t.exposed(n))){return make_node(St,e.name,e.name)}}else{const t=e[e instanceof We?"left":"expression"];return!is_ref_of(t,lt)&&!is_ref_of(t,ft)&&t}}function get_rvalue(e){return e[e instanceof We?"right":"value"]}function get_lvalues(e){var n=new Map;if(e instanceof ze)return n;var r=new TreeWalker(function(e){var i=e;while(i instanceof Le)i=i.expression;if(i instanceof St||i instanceof Ct){n.set(i.name,n.get(i.name)||is_modified(t,r,e,e,0))}});get_rvalue(e).walk(r);return n}function remove_candidate(n){if(n.name instanceof pt){var i=t.parent(),s=t.self().argnames;var o=s.indexOf(n.name);if(o<0){i.args.length=Math.min(i.args.length,s.length-1)}else{var a=i.args;if(a[o])a[o]=make_node(Ot,a[o],{value:0})}return true}var c=false;return e[u].transform(new TreeTransformer(function(e,t,i){if(c)return e;if(e===n||e.body===n){c=true;if(e instanceof Te){e.value=e.name instanceof lt?make_node(Lt,e.value):null;return e}return i?r.skip:null}},function(e){if(e instanceof Ne)switch(e.expressions.length){case 0:return null;case 1:return e.expressions[0]}}))}function is_lhs_local(e){while(e instanceof Le)e=e.expression;return e instanceof St&&e.definition().scope===s&&!(n&&(_.has(e.name)||h instanceof ze||h instanceof We&&h.operator!="="))}function value_has_side_effects(e){if(e instanceof ze)return Mn.has(e.operator);return get_rvalue(e).has_side_effects(t)}function replace_all_symbols(){if(E)return false;if(m)return true;if(v instanceof St){var e=v.definition();if(e.references.length-e.replaced==(h instanceof Te?1:2)){return true}}return false}function may_modify(e){if(!e.definition)return true;var t=e.definition();if(t.orig.length==1&&t.orig[0]instanceof dt)return false;if(t.scope.get_defun_scope()!==s)return true;return!t.references.every(e=>{var t=e.scope.get_defun_scope();if(t.TYPE=="Scope")t=t.parent_scope;return t===s})}function side_effects_external(e,t){if(e instanceof We)return side_effects_external(e.left,true);if(e instanceof ze)return side_effects_external(e.expression,true);if(e instanceof Te)return e.value&&side_effects_external(e.value);if(t){if(e instanceof Be)return side_effects_external(e.expression,true);if(e instanceof je)return side_effects_external(e.expression,true);if(e instanceof St)return e.definition().scope!==s}return false}}function eliminate_spurious_blocks(e){var t=[];for(var n=0;n=0;){var a=e[s];var c=next_index(s);var u=e[c];if(i&&!u&&a instanceof le){if(!a.value){o=true;e.splice(s,1);continue}if(a.value instanceof He&&a.value.operator=="void"){o=true;e[s]=make_node(N,a,{body:a.value.expression});continue}}if(a instanceof ye){var l=aborts(a.body);if(can_merge_flow(l)){if(l.label){remove(l.label.thedef.references,l)}o=true;a=a.clone();a.condition=a.condition.negate(t);var f=as_statement_array_with_return(a.body,l);a.body=make_node(B,a,{body:as_statement_array(a.alternative).concat(extract_functions())});a.alternative=make_node(B,a,{body:f});e[s]=a.transform(t);continue}var l=aborts(a.alternative);if(can_merge_flow(l)){if(l.label){remove(l.label.thedef.references,l)}o=true;a=a.clone();a.body=make_node(B,a.body,{body:as_statement_array(a.body).concat(extract_functions())});var f=as_statement_array_with_return(a.alternative,l);a.alternative=make_node(B,a.alternative,{body:f});e[s]=a.transform(t);continue}}if(a instanceof ye&&a.body instanceof le){var p=a.body.value;if(!p&&!a.alternative&&(i&&!u||u instanceof le&&!u.value)){o=true;e[s]=make_node(N,a.condition,{body:a.condition});continue}if(p&&!a.alternative&&u instanceof le&&u.value){o=true;a=a.clone();a.alternative=u;e[s]=a.transform(t);e.splice(c,1);continue}if(p&&!a.alternative&&(!u&&i&&r||u instanceof le)){o=true;a=a.clone();a.alternative=u||make_node(le,a,{value:null});e[s]=a.transform(t);if(u)e.splice(c,1);continue}var d=e[prev_index(s)];if(t.option("sequences")&&i&&!a.alternative&&d instanceof ye&&d.body instanceof le&&next_index(c)==e.length&&u instanceof N){o=true;a=a.clone();a.alternative=make_node(B,u,{body:[u,make_node(le,u,{value:null})]});e[s]=a.transform(t);e.splice(c,1);continue}}}function has_multiple_if_returns(e){var t=0;for(var n=e.length;--n>=0;){var r=e[n];if(r instanceof ye&&r.body instanceof le){if(++t>1)return true}}return false}function is_return_void(e){return!e||e instanceof He&&e.operator=="void"}function can_merge_flow(r){if(!r)return false;for(var o=s+1,a=e.length;o=0;){var r=e[n];if(!(r instanceof xe&&declarations_only(r))){break}}return n}}function eliminate_dead_code(e,t){var n;var r=t.self();for(var i=0,s=0,a=e.length;i!e.value)}function sequencesize(e,t){if(e.length<2)return;var n=[],r=0;function push_seq(){if(!n.length)return;var t=make_sequence(n[0],n);e[r++]=make_node(N,t,{body:t});n=[]}for(var i=0,s=e.length;i=t.sequences_limit)push_seq();var c=a.body;if(n.length>0)c=c.drop_side_effect_free(t);if(c)merge_sequence(n,c)}else if(a instanceof De&&declarations_only(a)||a instanceof re){e[r++]=a}else{push_seq();e[r++]=a}}push_seq();e.length=r;if(r!=s)o=true}function to_simple_statement(e,t){if(!(e instanceof B))return e;var n=null;for(var r=0,i=e.body.length;r{if(e instanceof Y)return true;if(e instanceof Ge&&e.operator==="in"){return Vt}});if(!e){if(s.init)s.init=cons_seq(s.init);else{s.init=r.body;n--;o=true}}}}else if(s instanceof K){if(!(s.init instanceof Ae)&&!(s.init instanceof Ce)){s.object=cons_seq(s.object)}}else if(s instanceof ye){s.condition=cons_seq(s.condition)}else if(s instanceof ve){s.expression=cons_seq(s.expression)}else if(s instanceof J){s.expression=cons_seq(s.expression)}}if(t.option("conditionals")&&s instanceof ye){var a=[];var c=to_simple_statement(s.body,a);var u=to_simple_statement(s.alternative,a);if(c!==false&&u!==false&&a.length>0){var l=a.length;a.push(make_node(ye,s,{condition:s.condition,body:c||make_node(j,s.body),alternative:u}));a.unshift(n,1);[].splice.apply(e,a);i+=l;n+=l+1;r=null;o=true;continue}}e[n++]=s;r=s instanceof N?s:null}e.length=n}function join_object_assignments(e,n){if(!(e instanceof De))return;var r=e.definitions[e.definitions.length-1];if(!(r.value instanceof Je))return;var i;if(n instanceof We){i=[n]}else if(n instanceof Ne){i=n.expressions.slice()}if(!i)return;var o=false;do{var a=i[0];if(!(a instanceof We))break;if(a.operator!="=")break;if(!(a.left instanceof Le))break;var c=a.left.expression;if(!(c instanceof St))break;if(r.name.name!=c.name)break;if(!a.right.is_constant_expression(s))break;var u=a.left.property;if(u instanceof F){u=u.evaluate(t)}if(u instanceof F)break;u=""+u;var l=t.option("ecma")<2015&&t.has_directive("use strict")?function(e){return e.key!=u&&(e.key&&e.key.name!=u)}:function(e){return e.key&&e.key.name!=u};if(!r.value.properties.every(l))break;var f=r.value.properties.filter(function(e){return e.key===u})[0];if(!f){r.value.properties.push(make_node(Qe,a,{key:u,value:a.right}))}else{f.value=new Ne({start:f.start,expressions:[f.value.clone(),a.right.clone()],end:f.end})}i.shift();o=true}while(i.length);return o&&i}function join_consecutive_vars(e){var t;for(var n=0,r=-1,i=e.length;n{if(r instanceof xe){r.remove_initializers();n.push(r);return true}if(r instanceof re&&(r===t||!e.has_directive("use strict"))){n.push(r===t?r:make_node(xe,r,{definitions:[make_node(Te,r,{name:make_node(ct,r.name,r.name),value:null})]}));return true}if(r instanceof Ie||r instanceof Oe){n.push(r);return true}if(r instanceof Y){return true}})}function get_value(e){if(e instanceof Tt){return e.getValue()}if(e instanceof He&&e.operator=="void"&&e.expression instanceof Tt){return}return e}function is_undefined(e,t){return kn(e,yn)||e instanceof Lt||e instanceof He&&e.operator=="void"&&!e.expression.has_side_effects(t)}(function(e){F.DEFMETHOD("may_throw_on_access",function(e){return!e.option("pure_getters")||this._dot_throw(e)});function is_strict(e){return/strict/.test(e.option("pure_getters"))}e(F,is_strict);e(Pt,return_true);e(Lt,return_true);e(Tt,return_false);e(Xe,return_false);e(Je,function(e){if(!is_strict(e))return false;for(var t=this.properties.length;--t>=0;)if(this.properties[t]._dot_throw(e))return true;return false});e(tt,return_false);e(Ye,return_false);e($e,return_true);e(Z,function(e){return this.expression._dot_throw(e)});e(te,return_false);e(ne,return_false);e(Ve,return_false);e(He,function(){return this.operator=="void"});e(Ge,function(e){return(this.operator=="&&"||this.operator=="||"||this.operator=="??")&&(this.left._dot_throw(e)||this.right._dot_throw(e))});e(We,function(e){return this.operator=="="&&this.right._dot_throw(e)});e(qe,function(e){return this.consequent._dot_throw(e)||this.alternative._dot_throw(e)});e(Be,function(e){if(!is_strict(e))return false;if(this.expression instanceof te&&this.property=="prototype")return false;return true});e(Ue,function(e){return this.expression._dot_throw(e)});e(Ne,function(e){return this.tail_node()._dot_throw(e)});e(St,function(e){if(this.name==="arguments")return false;if(kn(this,yn))return true;if(!is_strict(e))return false;if(is_undeclared_ref(this)&&this.is_declared(e))return false;if(this.is_immutable())return false;var t=this.fixed_value();return!t||t._dot_throw(e)})})(function(e,t){e.DEFMETHOD("_dot_throw",t)});(function(e){const t=makePredicate("! delete");const n=makePredicate("in instanceof == != === !== < <= >= >");e(F,return_false);e(He,function(){return t.has(this.operator)});e(Ge,function(){return n.has(this.operator)||Tn.has(this.operator)&&this.left.is_boolean()&&this.right.is_boolean()});e(qe,function(){return this.consequent.is_boolean()&&this.alternative.is_boolean()});e(We,function(){return this.operator=="="&&this.right.is_boolean()});e(Ne,function(){return this.tail_node().is_boolean()});e(Ht,return_true);e(zt,return_true)})(function(e,t){e.DEFMETHOD("is_boolean",t)});(function(e){e(F,return_false);e(Ot,return_true);var t=makePredicate("+ - ~ ++ --");e(ze,function(){return t.has(this.operator)});var n=makePredicate("- * / % & | ^ << >> >>>");e(Ge,function(e){return n.has(this.operator)||this.operator=="+"&&this.left.is_number(e)&&this.right.is_number(e)});e(We,function(e){return n.has(this.operator.slice(0,-1))||this.operator=="="&&this.right.is_number(e)});e(Ne,function(e){return this.tail_node().is_number(e)});e(qe,function(e){return this.consequent.is_number(e)&&this.alternative.is_number(e)})})(function(e,t){e.DEFMETHOD("is_number",t)});(function(e){e(F,return_false);e(Mt,return_true);e(oe,return_true);e(He,function(){return this.operator=="typeof"});e(Ge,function(e){return this.operator=="+"&&(this.left.is_string(e)||this.right.is_string(e))});e(We,function(e){return(this.operator=="="||this.operator=="+=")&&this.right.is_string(e)});e(Ne,function(e){return this.tail_node().is_string(e)});e(qe,function(e){return this.consequent.is_string(e)&&this.alternative.is_string(e)})})(function(e,t){e.DEFMETHOD("is_string",t)});var Tn=makePredicate("&& || ??");var Mn=makePredicate("delete ++ --");function is_lhs(e,t){if(t instanceof ze&&Mn.has(t.operator))return t.expression;if(t instanceof We&&t.left===e)return e}(function(e){function to_node(e,t){if(e instanceof F)return make_node(e.CTOR,t,e);if(Array.isArray(e))return make_node(Xe,t,{elements:e.map(function(e){return to_node(e,t)})});if(e&&typeof e=="object"){var n=[];for(var r in e)if(HOP(e,r)){n.push(make_node(Qe,t,{key:r,value:to_node(e[r],t)}))}return make_node(Je,t,{properties:n})}return make_node_from_constant(e,t)}Q.DEFMETHOD("resolve_defines",function(e){if(!e.option("global_defs"))return this;this.figure_out_scope({ie8:e.option("ie8")});return this.transform(new TreeTransformer(function(t){var n=t._find_defs(e,"");if(!n)return;var r=0,i=t,s;while(s=this.parent(r++)){if(!(s instanceof Le))break;if(s.expression!==i)break;i=s}if(is_lhs(i,s)){return}return n}))});e(F,noop);e(Ue,function(e,t){return this.expression._find_defs(e,t)});e(Be,function(e,t){return this.expression._find_defs(e,"."+this.property+t)});e(at,function(){if(!this.global())return});e(St,function(e,t){if(!this.global())return;var n=e.option("global_defs");var r=this.name+t;if(HOP(n,r))return to_node(n[r],this)})})(function(e,t){e.DEFMETHOD("_find_defs",t)});function best_of_expression(e,t){return e.size()>t.size()?t:e}function best_of_statement(e,t){return best_of_expression(make_node(N,e,{body:e}),make_node(N,t,{body:t})).body}function best_of(e,t,n){return(first_in_statement(e)?best_of_statement:best_of_expression)(t,n)}function convert_to_predicate(e){const t=new Map;for(var n of Object.keys(e)){t.set(n,makePredicate(e[n]))}return t}var On=["constructor","toString","valueOf"];var Fn=convert_to_predicate({Array:["indexOf","join","lastIndexOf","slice"].concat(On),Boolean:On,Function:On,Number:["toExponential","toFixed","toPrecision"].concat(On),Object:On,RegExp:["test"].concat(On),String:["charAt","charCodeAt","concat","indexOf","italics","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","trim"].concat(On)});var In=convert_to_predicate({Array:["isArray"],Math:["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan","atan2","pow","max","min"],Number:["isFinite","isNaN"],Object:["create","getOwnPropertyDescriptor","getOwnPropertyNames","getPrototypeOf","isExtensible","isFrozen","isSealed","keys"],String:["fromCharCode"]});(function(e){F.DEFMETHOD("evaluate",function(e){if(!e.option("evaluate"))return this;var t=this._eval(e,1);if(!t||t instanceof RegExp)return t;if(typeof t=="function"||typeof t=="object")return this;return t});var t=makePredicate("! ~ - + void");F.DEFMETHOD("is_constant",function(){if(this instanceof Tt){return!(this instanceof It)}else{return this instanceof He&&this.expression instanceof Tt&&t.has(this.operator)}});e(I,function(){throw new Error(string_template("Cannot evaluate a statement [{file}:{line},{col}]",this.start))});e($,return_this);e(tt,return_this);e(F,return_this);e(Tt,function(){return this.getValue()});e(Ft,return_this);e(It,function(e){let t=e.evaluated_regexps.get(this);if(t===undefined){try{t=(0,eval)(this.print_to_string())}catch(e){t=null}e.evaluated_regexps.set(this,t)}return t||this});e(oe,function(){if(this.segments.length!==1)return this;return this.segments[0].value});e(te,function(e){if(e.option("unsafe")){var t=function(){};t.node=this;t.toString=function(){return this.node.print_to_string()};return t}return this});e(Xe,function(e,t){if(e.option("unsafe")){var n=[];for(var r=0,i=this.elements.length;rtypeof e==="object"||typeof e==="function"||typeof e==="symbol";e(Ge,function(e,t){if(!r.has(this.operator))t++;var n=this.left._eval(e,t);if(n===this.left)return this;var o=this.right._eval(e,t);if(o===this.right)return this;var a;if(n!=null&&o!=null&&i.has(this.operator)&&s(n)&&s(o)&&typeof n===typeof o){return this}switch(this.operator){case"&&":a=n&&o;break;case"||":a=n||o;break;case"??":a=n!=null?n:o;break;case"|":a=n|o;break;case"&":a=n&o;break;case"^":a=n^o;break;case"+":a=n+o;break;case"*":a=n*o;break;case"**":a=Math.pow(n,o);break;case"/":a=n/o;break;case"%":a=n%o;break;case"-":a=n-o;break;case"<<":a=n<>":a=n>>o;break;case">>>":a=n>>>o;break;case"==":a=n==o;break;case"===":a=n===o;break;case"!=":a=n!=o;break;case"!==":a=n!==o;break;case"<":a=n":a=n>o;break;case">=":a=n>=o;break;default:return this}if(isNaN(a)&&e.find_parent(J)){return this}return a});e(qe,function(e,t){var n=this.condition._eval(e,t);if(n===this.condition)return this;var r=n?this.consequent:this.alternative;var i=r._eval(e,t);return i===r?this:i});const o=new Set;e(St,function(e,t){if(o.has(this))return this;var n=this.fixed_value();if(!n)return this;o.add(this);const r=n._eval(e,t);o.delete(this);if(r===n)return this;if(r&&typeof r=="object"){var i=this.definition().escaped;if(i&&t>i)return this}return r});var a={Array:Array,Math:Math,Number:Number,Object:Object,String:String};var c=convert_to_predicate({Math:["E","LN10","LN2","LOG2E","LOG10E","PI","SQRT1_2","SQRT2"],Number:["MAX_VALUE","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"]});e(Le,function(e,t){if(this.optional){const n=this.expression._eval(e,t);if(n==null)return undefined}if(e.option("unsafe")){var n=this.property;if(n instanceof F){n=n._eval(e,t);if(n===this.property)return this}var r=this.expression;var i;if(is_undeclared_ref(r)){var s;var o=r.name==="hasOwnProperty"&&n==="call"&&(s=e.parent()&&e.parent().args)&&(s&&s[0]&&s[0].evaluate(e));o=o instanceof Be?o.expression:o;if(o==null||o.thedef&&o.thedef.undeclared){return this.clone()}var u=c.get(r.name);if(!u||!u.has(n))return this;i=a[r.name]}else{i=r._eval(e,t+1);if(!i||i===r||!HOP(i,n))return this;if(typeof i=="function")switch(n){case"name":return i.node.name?i.node.name.name:"";case"length":return i.node.argnames.length;default:return this}}return i[n]}return this});e(Ue,function(e,t){return this.expression._eval(e,t)});e(Re,function(e,t){var n=this.expression;if(this.optional){const n=this.expression._eval(e,t);if(n==null)return undefined}if(e.option("unsafe")&&n instanceof Le){var r=n.property;if(r instanceof F){r=r._eval(e,t);if(r===n.property)return this}var i;var s=n.expression;if(is_undeclared_ref(s)){var o=s.name==="hasOwnProperty"&&r==="call"&&(this.args[0]&&this.args[0].evaluate(e));o=o instanceof Be?o.expression:o;if(o==null||o.thedef&&o.thedef.undeclared){return this.clone()}var c=In.get(s.name);if(!c||!c.has(r))return this;i=a[s.name]}else{i=s._eval(e,t+1);if(i===s||!i)return this;var u=Fn.get(i.constructor.name);if(!u||!u.has(r))return this}var l=[];for(var f=0,p=this.args.length;f";return n;case"<":n.operator=">=";return n;case">=":n.operator="<";return n;case">":n.operator="<=";return n}}switch(r){case"==":n.operator="!=";return n;case"!=":n.operator="==";return n;case"===":n.operator="!==";return n;case"!==":n.operator="===";return n;case"&&":n.operator="||";n.left=n.left.negate(e,t);n.right=n.right.negate(e);return best(this,n,t);case"||":n.operator="&&";n.left=n.left.negate(e,t);n.right=n.right.negate(e);return best(this,n,t);case"??":n.right=n.right.negate(e);return best(this,n,t)}return basic_negation(this)})})(function(e,t){e.DEFMETHOD("negate",function(e,n){return t.call(this,e,n)})});var Rn=makePredicate("Boolean decodeURI decodeURIComponent Date encodeURI encodeURIComponent Error escape EvalError isFinite isNaN Number Object parseFloat parseInt RangeError ReferenceError String SyntaxError TypeError unescape URIError");Re.DEFMETHOD("is_expr_pure",function(e){if(e.option("unsafe")){var t=this.expression;var n=this.args&&this.args[0]&&this.args[0].evaluate(e);if(t.expression&&t.expression.name==="hasOwnProperty"&&(n==null||n.thedef&&n.thedef.undeclared)){return false}if(is_undeclared_ref(t)&&Rn.has(t.name))return true;let r;if(t instanceof Be&&is_undeclared_ref(t.expression)&&(r=In.get(t.expression.name))&&r.has(t.property)){return true}}return!!has_annotation(this,Gt)||!e.pure_funcs(this)});F.DEFMETHOD("is_call_pure",return_false);Be.DEFMETHOD("is_call_pure",function(e){if(!e.option("unsafe"))return;const t=this.expression;let n;if(t instanceof Xe){n=Fn.get("Array")}else if(t.is_boolean()){n=Fn.get("Boolean")}else if(t.is_number(e)){n=Fn.get("Number")}else if(t instanceof It){n=Fn.get("RegExp")}else if(t.is_string(e)){n=Fn.get("String")}else if(!this.may_throw_on_access(e)){n=Fn.get("Object")}return n&&n.has(this.property)});const Pn=new Set(["Number","String","Array","Object","Function","Promise"]);(function(e){e(F,return_true);e(j,return_false);e(Tt,return_false);e(Ct,return_false);function any(e,t){for(var n=e.length;--n>=0;)if(e[n].has_side_effects(t))return true;return false}e(L,function(e){return any(this.body,e)});e(Re,function(e){if(!this.is_expr_pure(e)&&(!this.expression.is_call_pure(e)||this.expression.has_side_effects(e))){return true}return any(this.args,e)});e(ve,function(e){return this.expression.has_side_effects(e)||any(this.body,e)});e(Ee,function(e){return this.expression.has_side_effects(e)||any(this.body,e)});e(we,function(e){return any(this.body,e)||this.bcatch&&this.bcatch.has_side_effects(e)||this.bfinally&&this.bfinally.has_side_effects(e)});e(ye,function(e){return this.condition.has_side_effects(e)||this.body&&this.body.has_side_effects(e)||this.alternative&&this.alternative.has_side_effects(e)});e(z,function(e){return this.body.has_side_effects(e)});e(N,function(e){return this.body.has_side_effects(e)});e($,return_false);e(tt,function(e){if(this.extends&&this.extends.has_side_effects(e)){return true}return any(this.properties,e)});e(Ge,function(e){return this.left.has_side_effects(e)||this.right.has_side_effects(e)});e(We,return_true);e(qe,function(e){return this.condition.has_side_effects(e)||this.consequent.has_side_effects(e)||this.alternative.has_side_effects(e)});e(ze,function(e){return Mn.has(this.operator)||this.expression.has_side_effects(e)});e(St,function(e){return!this.is_declared(e)&&!Pn.has(this.name)});e(mt,return_false);e(at,return_false);e(Je,function(e){return any(this.properties,e)});e(Ye,function(e){return this.computed_key()&&this.key.has_side_effects(e)||this.value.has_side_effects(e)});e(nt,function(e){return this.computed_key()&&this.key.has_side_effects(e)||this.static&&this.value&&this.value.has_side_effects(e)});e(et,function(e){return this.computed_key()&&this.key.has_side_effects(e)});e($e,function(e){return this.computed_key()&&this.key.has_side_effects(e)});e(Ze,function(e){return this.computed_key()&&this.key.has_side_effects(e)});e(Xe,function(e){return any(this.elements,e)});e(Be,function(e){return!this.optional&&this.expression.may_throw_on_access(e)||this.expression.has_side_effects(e)});e(je,function(e){if(this.optional&&is_nullish(this.expression)){return false}return!this.optional&&this.expression.may_throw_on_access(e)||this.expression.has_side_effects(e)||this.property.has_side_effects(e)});e(Ue,function(e){return this.expression.has_side_effects(e)});e(Ne,function(e){return any(this.expressions,e)});e(De,function(e){return any(this.definitions,e)});e(Te,function(){return this.value});e(ae,return_false);e(oe,function(e){return any(this.segments,e)})})(function(e,t){e.DEFMETHOD("has_side_effects",t)});(function(e){e(F,return_true);e(Tt,return_false);e(j,return_false);e($,return_false);e(at,return_false);e(Ct,return_false);function any(e,t){for(var n=e.length;--n>=0;)if(e[n].may_throw(t))return true;return false}e(tt,function(e){if(this.extends&&this.extends.may_throw(e))return true;return any(this.properties,e)});e(Xe,function(e){return any(this.elements,e)});e(We,function(e){if(this.right.may_throw(e))return true;if(!e.has_directive("use strict")&&this.operator=="="&&this.left instanceof St){return false}return this.left.may_throw(e)});e(Ge,function(e){return this.left.may_throw(e)||this.right.may_throw(e)});e(L,function(e){return any(this.body,e)});e(Re,function(e){if(this.optional&&is_nullish(this.expression))return false;if(any(this.args,e))return true;if(this.is_expr_pure(e))return false;if(this.expression.may_throw(e))return true;return!(this.expression instanceof $)||any(this.expression.body,e)});e(Ee,function(e){return this.expression.may_throw(e)||any(this.body,e)});e(qe,function(e){return this.condition.may_throw(e)||this.consequent.may_throw(e)||this.alternative.may_throw(e)});e(De,function(e){return any(this.definitions,e)});e(ye,function(e){return this.condition.may_throw(e)||this.body&&this.body.may_throw(e)||this.alternative&&this.alternative.may_throw(e)});e(z,function(e){return this.body.may_throw(e)});e(Je,function(e){return any(this.properties,e)});e(Ye,function(e){return this.value.may_throw(e)});e(nt,function(e){return this.computed_key()&&this.key.may_throw(e)||this.static&&this.value&&this.value.may_throw(e)});e(et,function(e){return this.computed_key()&&this.key.may_throw(e)});e($e,function(e){return this.computed_key()&&this.key.may_throw(e)});e(Ze,function(e){return this.computed_key()&&this.key.may_throw(e)});e(le,function(e){return this.value&&this.value.may_throw(e)});e(Ne,function(e){return any(this.expressions,e)});e(N,function(e){return this.body.may_throw(e)});e(Be,function(e){return!this.optional&&this.expression.may_throw_on_access(e)||this.expression.may_throw(e)});e(je,function(e){if(this.optional&&is_nullish(this.expression))return false;return!this.optional&&this.expression.may_throw_on_access(e)||this.expression.may_throw(e)||this.property.may_throw(e)});e(Ue,function(e){return this.expression.may_throw(e)});e(ve,function(e){return this.expression.may_throw(e)||any(this.body,e)});e(St,function(e){return!this.is_declared(e)&&!Pn.has(this.name)});e(mt,return_false);e(we,function(e){return this.bcatch?this.bcatch.may_throw(e):any(this.body,e)||this.bfinally&&this.bfinally.may_throw(e)});e(ze,function(e){if(this.operator=="typeof"&&this.expression instanceof St)return false;return this.expression.may_throw(e)});e(Te,function(e){if(!this.value)return false;return this.value.may_throw(e)})})(function(e,t){e.DEFMETHOD("may_throw",t)});(function(e){function all_refs_local(e){let t=true;walk(this,n=>{if(n instanceof St){if(kn(this,vn)){t=false;return Vt}var r=n.definition();if(member(r,this.enclosed)&&!this.variables.has(r.name)){if(e){var i=e.find_variable(n);if(r.undeclared?!i:i===r){t="f";return true}}t=false;return Vt}return true}if(n instanceof Ct&&this instanceof ne){t=false;return Vt}});return t}e(F,return_false);e(Tt,return_true);e(tt,function(e){if(this.extends&&!this.extends.is_constant_expression(e)){return false}for(const t of this.properties){if(t.computed_key()&&!t.key.is_constant_expression(e)){return false}if(t.static&&t.value&&!t.value.is_constant_expression(e)){return false}}return all_refs_local.call(this,e)});e($,all_refs_local);e(ze,function(){return this.expression.is_constant_expression()});e(Ge,function(){return this.left.is_constant_expression()&&this.right.is_constant_expression()});e(Xe,function(){return this.elements.every(e=>e.is_constant_expression())});e(Je,function(){return this.properties.every(e=>e.is_constant_expression())});e(Ye,function(){return!(this.key instanceof F)&&this.value.is_constant_expression()})})(function(e,t){e.DEFMETHOD("is_constant_expression",t)});function aborts(e){return e&&e.aborts()}(function(e){e(I,return_null);e(ce,return_this);function block_aborts(){for(var e=0;e{if(e instanceof at){const n=e.definition();if((t||n.global)&&!o.has(n.id)){o.set(n.id,n)}}})}if(n.value){if(n.name instanceof ie){n.walk(f)}else{var r=n.name.definition();map_add(u,r.id,n.value);if(!r.chained&&n.name.fixed_value()===n.value){a.set(r.id,n)}}if(n.value.has_side_effects(e)){n.value.walk(f)}}});return true}return scan_ref_scoped(r,s)});t.walk(f);f=new TreeWalker(scan_ref_scoped);o.forEach(function(e){var t=u.get(e.id);if(t)t.forEach(function(e){e.walk(f)})});var p=new TreeTransformer(function before(u,f,d){var h=p.parent();if(i){const e=s(u);if(e instanceof St){var m=e.definition();var g=o.has(m.id);if(u instanceof We){if(!g||a.has(m.id)&&a.get(m.id)!==u){return maintain_this_binding(h,u,u.right.transform(p))}}else if(!g)return d?r.skip:make_node(Ot,u,{value:0})}}if(l!==t)return;var m;if(u.name&&(u instanceof it&&!keep_name(e.option("keep_classnames"),(m=u.name.definition()).name)||u instanceof te&&!keep_name(e.option("keep_fnames"),(m=u.name.definition()).name))){if(!o.has(m.id)||m.orig.length>1)u.name=null}if(u instanceof $&&!(u instanceof ee)){var y=!e.option("keep_fargs");for(var v=u.argnames,_=v.length;--_>=0;){var b=v[_];if(b instanceof Z){b=b.expression}if(b instanceof Ke){b=b.left}if(!(b instanceof ie)&&!o.has(b.definition().id)){Dn(b,hn);if(y){v.pop()}}else{y=false}}}if((u instanceof re||u instanceof rt)&&u!==t){const t=u.name.definition();let i=t.global&&!n||o.has(t.id);if(!i){t.eliminated++;if(u instanceof rt){const t=u.drop_side_effect_free(e);if(t){return make_node(N,u,{body:t})}}return d?r.skip:make_node(j,u)}}if(u instanceof De&&!(h instanceof K&&h.init===u)){var E=!(h instanceof Q)&&!(u instanceof xe);var w=[],S=[],k=[];var D=[];u.definitions.forEach(function(t){if(t.value)t.value=t.value.transform(p);var n=t.name instanceof ie;var r=n?new SymbolDef(null,{name:""}):t.name.definition();if(E&&r.global)return k.push(t);if(!(i||E)||n&&(t.name.names.length||t.name.is_array||e.option("pure_getters")!=true)||o.has(r.id)){if(t.value&&a.has(r.id)&&a.get(r.id)!==t){t.value=t.value.drop_side_effect_free(e)}if(t.name instanceof ct){var s=c.get(r.id);if(s.length>1&&(!t.value||r.orig.indexOf(t.name)>r.eliminated)){if(t.value){var l=make_node(St,t.name,t.name);r.references.push(l);var f=make_node(We,t,{operator:"=",left:l,right:t.value});if(a.get(r.id)===t){a.set(r.id,f)}D.push(f.transform(p))}remove(s,t);r.eliminated++;return}}if(t.value){if(D.length>0){if(k.length>0){D.push(t.value);t.value=make_sequence(t.value,D)}else{w.push(make_node(N,u,{body:make_sequence(u,D)}))}D=[]}k.push(t)}else{S.push(t)}}else if(r.orig[0]instanceof _t){var d=t.value&&t.value.drop_side_effect_free(e);if(d)D.push(d);t.value=null;S.push(t)}else{var d=t.value&&t.value.drop_side_effect_free(e);if(d){D.push(d)}r.eliminated++}});if(S.length>0||k.length>0){u.definitions=S.concat(k);w.push(u)}if(D.length>0){w.push(make_node(N,u,{body:make_sequence(u,D)}))}switch(w.length){case 0:return d?r.skip:make_node(j,u);case 1:return w[0];default:return d?r.splice(w):make_node(B,u,{body:w})}}if(u instanceof W){f(u,this);var x;if(u.init instanceof B){x=u.init;u.init=x.body.pop();x.body.push(u)}if(u.init instanceof N){u.init=u.init.body}else if(is_empty(u.init)){u.init=null}return!x?u:d?r.splice(x.body):x}if(u instanceof z&&u.body instanceof W){f(u,this);if(u.body instanceof B){var x=u.body;u.body=x.body.pop();x.body.push(u);return d?r.splice(x.body):x}return u}if(u instanceof B){f(u,this);if(d&&u.body.every(can_be_evicted_from_block)){return r.splice(u.body)}return u}if(u instanceof Y){const e=l;l=u;f(u,this);l=e;return u}});t.transform(p);function scan_ref_scoped(e,n){var r;const i=s(e);if(i instanceof St&&!is_ref_of(e.left,ut)&&t.variables.get(i.name)===(r=i.definition())){if(e instanceof We){e.right.walk(f);if(!r.chained&&e.left.fixed_value()===e.right){a.set(r.id,e)}}return true}if(e instanceof St){r=e.definition();if(!o.has(r.id)){o.set(r.id,r);if(r.orig[0]instanceof _t){const e=r.scope.is_block_scope()&&r.scope.get_defun_scope().variables.get(r.name);if(e)o.set(e.id,e)}}return true}if(e instanceof Y){var c=l;l=e;n();l=c;return true}}});Y.DEFMETHOD("hoist_declarations",function(e){var t=this;if(e.has_directive("use asm"))return t;if(!Array.isArray(t.body))return t;var n=e.option("hoist_funs");var r=e.option("hoist_vars");if(n||r){var i=[];var s=[];var o=new Map,a=0,c=0;walk(t,e=>{if(e instanceof Y&&e!==t)return true;if(e instanceof xe){++c;return true}});r=r&&c>1;var u=new TreeTransformer(function before(c){if(c!==t){if(c instanceof P){i.push(c);return make_node(j,c)}if(n&&c instanceof re&&!(u.parent()instanceof Ie)&&u.parent()===t){s.push(c);return make_node(j,c)}if(r&&c instanceof xe){c.definitions.forEach(function(e){if(e.name instanceof ie)return;o.set(e.name.name,e);++a});var l=c.to_assignments(e);var f=u.parent();if(f instanceof K&&f.init===c){if(l==null){var p=c.definitions[0].name;return make_node(St,p,p)}return l}if(f instanceof W&&f.init===c){return l}if(!l)return make_node(j,c);return make_node(N,c,{body:l})}if(c instanceof Y)return c}});t=t.transform(u);if(a>0){var l=[];const e=t instanceof $;const n=e?t.args_as_names():null;o.forEach((t,r)=>{if(e&&n.some(e=>e.name===t.name.name)){o.delete(r)}else{t=t.clone();t.value=null;l.push(t);o.set(r,t)}});if(l.length>0){for(var f=0;fe.computed_key())){a(o,this);const e=new Map;const n=[];l.properties.forEach(({key:r,value:i})=>{const a=t.create_symbol(c.CTOR,{source:c,scope:find_scope(s),tentative_name:c.name+"_"+r});e.set(String(r),a.definition());n.push(make_node(Te,o,{name:a,value:i}))});i.set(u.id,e);return r.splice(n)}}else if(o instanceof Le&&o.expression instanceof St){const e=i.get(o.expression.definition().id);if(e){const t=e.get(String(get_value(o.property)));const n=make_node(St,o,{name:t.name,scope:o.expression.scope,thedef:t});n.reference({});return n}}});return t.transform(s)});(function(e){function trim(e,t,n){var r=e.length;if(!r)return null;var i=[],s=false;for(var o=0;o0){o[0].body=s.concat(o[0].body)}e.body=o;while(n=o[o.length-1]){var h=n.body[n.body.length-1];if(h instanceof de&&t.loopcontrol_target(h)===e)n.body.pop();if(n.body.length||n instanceof Ee&&(a||n.expression.has_side_effects(t)))break;if(o.pop()===a)a=null}if(o.length==0){return make_node(B,e,{body:s.concat(make_node(N,e.expression,{body:e.expression}))}).optimize(t)}if(o.length==1&&(o[0]===c||o[0]===a)){var m=false;var g=new TreeWalker(function(t){if(m||t instanceof $||t instanceof N)return true;if(t instanceof de&&g.loopcontrol_target(t)===e)m=true});e.walk(g);if(!m){var y=o[0].body.slice();var f=o[0].expression;if(f)y.unshift(make_node(N,f,{body:f}));y.unshift(make_node(N,e.expression,{body:e.expression}));return make_node(B,e,{body:y}).optimize(t)}}return e;function eliminate_branch(e,n){if(n&&!aborts(n)){n.body=n.body.concat(e.body)}else{trim_unreachable_code(t,e,s)}}});def_optimize(we,function(e,t){tighten_body(e.body,t);if(e.bcatch&&e.bfinally&&e.bfinally.body.every(is_empty))e.bfinally=null;if(t.option("dead_code")&&e.body.every(is_empty)){var n=[];if(e.bcatch){trim_unreachable_code(t,e.bcatch,n)}if(e.bfinally)n.push(...e.bfinally.body);return make_node(B,e,{body:n}).optimize(t)}return e});De.DEFMETHOD("remove_initializers",function(){var e=[];this.definitions.forEach(function(t){if(t.name instanceof at){t.value=null;e.push(t)}else{walk(t.name,n=>{if(n instanceof at){e.push(make_node(Te,t,{name:n,value:null}))}})}});this.definitions=e});De.DEFMETHOD("to_assignments",function(e){var t=e.option("reduce_vars");var n=this.definitions.reduce(function(e,n){if(n.value&&!(n.name instanceof ie)){var r=make_node(St,n.name,n.name);e.push(make_node(We,n,{operator:"=",left:r,right:n.value}));if(t)r.definition().fixed=false}else if(n.value){var i=make_node(Te,n,{name:n.name,value:n.value});var s=make_node(xe,n,{definitions:[i]});e.push(s)}n=n.name.definition();n.eliminated++;n.replaced--;return e},[]);if(n.length==0)return null;return make_sequence(this,n)});def_optimize(De,function(e){if(e.definitions.length==0)return make_node(j,e);return e});def_optimize(Oe,function(e){return e});function retain_top_func(e,t){return t.top_retain&&e instanceof re&&kn(e,wn)&&e.name&&t.top_retain(e.name)}def_optimize(Re,function(e,t){var n=e.expression;var r=n;inline_array_like_spread(e,t,e.args);var i=e.args.every(e=>!(e instanceof Z));if(t.option("reduce_vars")&&r instanceof St&&!has_annotation(e,Wt)){const e=r.fixed_value();if(!retain_top_func(e,t)){r=e}}if(e.optional&&is_nullish(r)){return make_node(Lt,e)}var s=r instanceof $;if(s&&r.pinned())return e;if(t.option("unused")&&i&&s&&!r.uses_arguments){var o=0,a=0;for(var c=0,u=e.args.length;c=r.argnames.length;if(f||kn(r.argnames[c],hn)){var l=e.args[c].drop_side_effect_free(t);if(l){e.args[o++]=l}else if(!f){e.args[o++]=make_node(Ot,e.args[c],{value:0});continue}}else{e.args[o++]=e.args[c]}a=o}e.args.length=a}if(t.option("unsafe")){if(is_undeclared_ref(n))switch(n.name){case"Array":if(e.args.length!=1){return make_node(Xe,e,{elements:e.args}).optimize(t)}else if(e.args[0]instanceof Ot&&e.args[0].value<=11){const t=[];for(let n=0;n=1&&e.args.length<=2&&e.args.every(e=>{var n=e.evaluate(t);p.push(n);return e!==n})){let[n,r]=p;n=regexp_source_fix(new RegExp(n).source);const i=make_node(It,e,{value:{source:n,flags:r}});if(i._eval(t)!==i){return i}}break}else if(n instanceof Be)switch(n.property){case"toString":if(e.args.length==0&&!n.expression.may_throw_on_access(t)){return make_node(Ge,e,{left:make_node(Mt,e,{value:""}),operator:"+",right:n.expression}).optimize(t)}break;case"join":if(n.expression instanceof Xe)e:{var d;if(e.args.length>0){d=e.args[0].evaluate(t);if(d===e.args[0])break e}var h=[];var m=[];for(var c=0,u=n.expression.elements.length;c0){h.push(make_node(Mt,e,{value:m.join(d)}));m.length=0}h.push(g)}}if(m.length>0){h.push(make_node(Mt,e,{value:m.join(d)}))}if(h.length==0)return make_node(Mt,e,{value:""});if(h.length==1){if(h[0].is_string(t)){return h[0]}return make_node(Ge,h[0],{operator:"+",left:make_node(Mt,e,{value:""}),right:h[0]})}if(d==""){var v;if(h[0].is_string(t)||h[1].is_string(t)){v=h.shift()}else{v=make_node(Mt,e,{value:""})}return h.reduce(function(e,t){return make_node(Ge,t,{operator:"+",left:e,right:t})},v).optimize(t)}var l=e.clone();l.expression=l.expression.clone();l.expression.expression=l.expression.expression.clone();l.expression.expression.elements=h;return best_of(t,e,l)}break;case"charAt":if(n.expression.is_string(t)){var _=e.args[0];var b=_?_.evaluate(t):0;if(b!==_){return make_node(je,n,{expression:n.expression,property:make_node_from_constant(b|0,_||n)}).optimize(t)}}break;case"apply":if(e.args.length==2&&e.args[1]instanceof Xe){var E=e.args[1].elements.slice();E.unshift(e.args[0]);return make_node(Re,e,{expression:make_node(Be,n,{expression:n.expression,optional:false,property:"call"}),args:E}).optimize(t)}break;case"call":var w=n.expression;if(w instanceof St){w=w.fixed_value()}if(w instanceof $&&!w.contains_this()){return(e.args.length?make_sequence(this,[e.args[0],make_node(Re,e,{expression:n.expression,args:e.args.slice(1)})]):make_node(Re,e,{expression:n.expression,args:[]})).optimize(t)}break}}if(t.option("unsafe_Function")&&is_undeclared_ref(n)&&n.name=="Function"){if(e.args.length==0)return make_node(te,e,{argnames:[],body:[]}).optimize(t);if(e.args.every(e=>e instanceof Mt)){try{var S="n(function("+e.args.slice(0,-1).map(function(e){return e.value}).join(",")+"){"+e.args[e.args.length-1].value+"})";var k=parse(S);var D={ie8:t.option("ie8")};k.figure_out_scope(D);var x=new Compressor(t.options,{mangle_options:t.mangle_options});k=k.transform(x);k.figure_out_scope(D);an.reset();k.compute_char_frequency(D);k.mangle_names(D);var C;walk(k,e=>{if(is_func_expr(e)){C=e;return Vt}});var S=OutputStream();B.prototype._codegen.call(C,C,S);e.args=[make_node(Mt,e,{value:C.argnames.map(function(e){return e.print_to_string()}).join(",")}),make_node(Mt,e.args[e.args.length-1],{value:S.get().replace(/^{|}$/g,"")})];return e}catch(e){if(!(e instanceof JS_Parse_Error)){throw e}}}}var A=s&&r.body[0];var T=s&&!r.is_generator&&!r.async;var M=T&&t.option("inline")&&!e.is_expr_pure(t);if(M&&A instanceof le){let n=A.value;if(!n||n.is_constant_expression()){if(n){n=n.clone(true)}else{n=make_node(Lt,e)}const r=e.args.concat(n);return make_sequence(e,r).optimize(t)}if(r.argnames.length===1&&r.argnames[0]instanceof pt&&e.args.length<2&&n instanceof St&&n.name===r.argnames[0].name){const n=(e.args[0]||make_node(Lt)).optimize(t);let r;if(n instanceof Le&&(r=t.parent())instanceof Re&&r.expression===e){return make_sequence(e,[make_node(Ot,e,{value:0}),n])}return n}}if(M){var O,F,I=-1;let s;let o;let a;if(i&&!r.uses_arguments&&!(t.parent()instanceof tt)&&!(r.name&&r instanceof te)&&(o=can_flatten_body(A))&&(n===r||has_annotation(e,qt)||t.option("unused")&&(s=n.definition()).references.length==1&&!recursive_ref(t,s)&&r.is_constant_expression(n.scope))&&!has_annotation(e,Gt|Wt)&&!r.contains_this()&&can_inject_symbols()&&(a=find_scope(t))&&!scope_encloses_variables_in_this_scope(a,r)&&!function in_default_assign(){let e=0;let n;while(n=t.parent(e++)){if(n instanceof Ke)return true;if(n instanceof L)break}return false}()&&!(O instanceof tt)){Dn(r,bn);a.add_child_scope(r);return make_sequence(e,flatten_fn(o)).optimize(t)}}if(M&&has_annotation(e,qt)){Dn(r,bn);r=make_node(r.CTOR===re?te:r.CTOR,r,r);r.figure_out_scope({},{parent_scope:find_scope(t),toplevel:t.get_toplevel()});return make_node(Re,e,{expression:r,args:e.args}).optimize(t)}const R=T&&t.option("side_effects")&&r.body.every(is_empty);if(R){var E=e.args.concat(make_node(Lt,e));return make_sequence(e,E).optimize(t)}if(t.option("negate_iife")&&t.parent()instanceof N&&is_iife_call(e)){return e.negate(t,true)}var P=e.evaluate(t);if(P!==e){P=make_node_from_constant(P,e).optimize(t);return best_of(t,P,e)}return e;function return_value(t){if(!t)return make_node(Lt,e);if(t instanceof le){if(!t.value)return make_node(Lt,e);return t.value.clone(true)}if(t instanceof N){return make_node(He,t,{operator:"void",expression:t.body.clone(true)})}}function can_flatten_body(e){var n=r.body;var i=n.length;if(t.option("inline")<3){return i==1&&return_value(e)}e=null;for(var s=0;s!e.value)){return false}}else if(e){return false}else if(!(o instanceof j)){e=o}}return return_value(e)}function can_inject_args(e,t){for(var n=0,i=r.argnames.length;n=0;){var a=s.definitions[o].name;if(a instanceof ie||e.has(a.name)||An.has(a.name)||O.conflicting_def(a.name)){return false}if(F)F.push(a.definition())}}return true}function can_inject_symbols(){var e=new Set;do{O=t.parent(++I);if(O.is_block_scope()&&O.block_scope){O.block_scope.variables.forEach(function(t){e.add(t.name)})}if(O instanceof Se){if(O.argname){e.add(O.argname.name)}}else if(O instanceof H){F=[]}else if(O instanceof St){if(O.fixed_value()instanceof Y)return false}}while(!(O instanceof Y));var n=!(O instanceof Q)||t.toplevel.vars;var i=t.option("inline");if(!can_inject_vars(e,i>=3&&n))return false;if(!can_inject_args(e,i>=2&&n))return false;return!F||F.length==0||!is_reachable(r,F)}function append_var(t,n,r,i){var s=r.definition();const o=O.variables.has(r.name);if(!o){O.variables.set(r.name,s);O.enclosed.push(s);t.push(make_node(Te,r,{name:r,value:null}))}var a=make_node(St,r,r);s.references.push(a);if(i)n.push(make_node(We,e,{operator:"=",left:a,right:i.clone()}))}function flatten_args(t,n){var i=r.argnames.length;for(var s=e.args.length;--s>=i;){n.push(e.args[s])}for(s=i;--s>=0;){var o=r.argnames[s];var a=e.args[s];if(kn(o,hn)||!o.name||O.conflicting_def(o.name)){if(a)n.push(a)}else{var c=make_node(ct,o,o);o.definition().orig.push(c);if(!a&&F)a=make_node(Lt,e);append_var(t,n,c,a)}}t.reverse();n.reverse()}function flatten_vars(e,t){var n=t.length;for(var i=0,s=r.body.length;ie.name!=l.name)){var f=r.variables.get(l.name);var p=make_node(St,l,l);f.references.push(p);t.splice(n++,0,make_node(We,u,{operator:"=",left:p,right:make_node(Lt,l)}))}}}}function flatten_fn(e){var n=[];var i=[];flatten_args(n,i);flatten_vars(n,i);i.push(e);if(n.length){const e=O.body.indexOf(t.parent(I-1))+1;O.body.splice(e,0,make_node(xe,r,{definitions:n}))}return i.map(e=>e.clone(true))}});def_optimize(Pe,function(e,t){if(t.option("unsafe")&&is_undeclared_ref(e.expression)&&["Object","RegExp","Function","Error","Array"].includes(e.expression.name))return make_node(Re,e,e).transform(t);return e});def_optimize(Ne,function(e,t){if(!t.option("side_effects"))return e;var n=[];filter_for_side_effects();var r=n.length-1;trim_right_for_undefined();if(r==0){e=maintain_this_binding(t.parent(),t.self(),n[0]);if(!(e instanceof Ne))e=e.optimize(t);return e}e.expressions=n;return e;function filter_for_side_effects(){var r=first_in_statement(t);var i=e.expressions.length-1;e.expressions.forEach(function(e,s){if(s0&&is_undefined(n[r],t))r--;if(r0){var n=this.clone();n.right=make_sequence(this.right,t.slice(s));t=t.slice(0,s);t.push(n);return make_sequence(this,t).optimize(e)}}}return this});var Bn=makePredicate("== === != !== * & | ^");function is_object(e){return e instanceof Xe||e instanceof $||e instanceof Je||e instanceof tt}def_optimize(Ge,function(e,t){function reversible(){return e.left.is_constant()||e.right.is_constant()||!e.left.has_side_effects(t)&&!e.right.has_side_effects(t)}function reverse(t){if(reversible()){if(t)e.operator=t;var n=e.left;e.left=e.right;e.right=n}}if(Bn.has(e.operator)){if(e.right.is_constant()&&!e.left.is_constant()){if(!(e.left instanceof Ge&&T[e.left.operator]>=T[e.operator])){reverse()}}}e=e.lift_sequences(t);if(t.option("comparisons"))switch(e.operator){case"===":case"!==":var n=true;if(e.left.is_string(t)&&e.right.is_string(t)||e.left.is_number(t)&&e.right.is_number(t)||e.left.is_boolean()&&e.right.is_boolean()||e.left.equivalent_to(e.right)){e.operator=e.operator.substr(0,2)}case"==":case"!=":if(!n&&is_undefined(e.left,t)){e.left=make_node(Pt,e.left)}else if(t.option("typeofs")&&e.left instanceof Mt&&e.left.value=="undefined"&&e.right instanceof He&&e.right.operator=="typeof"){var r=e.right.expression;if(r instanceof St?r.is_declared(t):!(r instanceof Le&&t.option("ie8"))){e.right=r;e.left=make_node(Lt,e.left).optimize(t);if(e.operator.length==2)e.operator+="="}}else if(e.left instanceof St&&e.right instanceof St&&e.left.definition()===e.right.definition()&&is_object(e.left.fixed_value())){return make_node(e.operator[0]=="="?Ht:zt,e)}break;case"&&":case"||":var i=e.left;if(i.operator==e.operator){i=i.right}if(i instanceof Ge&&i.operator==(e.operator=="&&"?"!==":"===")&&e.right instanceof Ge&&i.operator==e.right.operator&&(is_undefined(i.left,t)&&e.right.left instanceof Pt||i.left instanceof Pt&&is_undefined(e.right.left,t))&&!i.right.has_side_effects(t)&&i.right.equivalent_to(e.right.right)){var s=make_node(Ge,e,{operator:i.operator.slice(0,-1),left:make_node(Pt,e),right:i.right});if(i!==e.left){s=make_node(Ge,e,{operator:e.operator,left:e.left.left,right:s})}return s}break}if(e.operator=="+"&&t.in_boolean_context()){var o=e.left.evaluate(t);var a=e.right.evaluate(t);if(o&&typeof o=="string"){return make_sequence(e,[e.right,make_node(Ht,e)]).optimize(t)}if(a&&typeof a=="string"){return make_sequence(e,[e.left,make_node(Ht,e)]).optimize(t)}}if(t.option("comparisons")&&e.is_boolean()){if(!(t.parent()instanceof Ge)||t.parent()instanceof We){var c=make_node(He,e,{operator:"!",expression:e.negate(t,first_in_statement(t))});e=best_of(t,e,c)}if(t.option("unsafe_comps")){switch(e.operator){case"<":reverse(">");break;case"<=":reverse(">=");break}}}if(e.operator=="+"){if(e.right instanceof Mt&&e.right.getValue()==""&&e.left.is_string(t)){return e.left}if(e.left instanceof Mt&&e.left.getValue()==""&&e.right.is_string(t)){return e.right}if(e.left instanceof Ge&&e.left.operator=="+"&&e.left.left instanceof Mt&&e.left.left.getValue()==""&&e.right.is_string(t)){e.left=e.left.right;return e.transform(t)}}if(t.option("evaluate")){switch(e.operator){case"&&":var o=kn(e.left,mn)?true:kn(e.left,gn)?false:e.left.evaluate(t);if(!o){return maintain_this_binding(t.parent(),t.self(),e.left).optimize(t)}else if(!(o instanceof F)){return make_sequence(e,[e.left,e.right]).optimize(t)}var a=e.right.evaluate(t);if(!a){if(t.in_boolean_context()){return make_sequence(e,[e.left,make_node(zt,e)]).optimize(t)}else{Dn(e,gn)}}else if(!(a instanceof F)){var u=t.parent();if(u.operator=="&&"&&u.left===t.self()||t.in_boolean_context()){return e.left.optimize(t)}}if(e.left.operator=="||"){var l=e.left.right.evaluate(t);if(!l)return make_node(qe,e,{condition:e.left.left,consequent:e.right,alternative:e.left.right}).optimize(t)}break;case"||":var o=kn(e.left,mn)?true:kn(e.left,gn)?false:e.left.evaluate(t);if(!o){return make_sequence(e,[e.left,e.right]).optimize(t)}else if(!(o instanceof F)){return maintain_this_binding(t.parent(),t.self(),e.left).optimize(t)}var a=e.right.evaluate(t);if(!a){var u=t.parent();if(u.operator=="||"&&u.left===t.self()||t.in_boolean_context()){return e.left.optimize(t)}}else if(!(a instanceof F)){if(t.in_boolean_context()){return make_sequence(e,[e.left,make_node(Ht,e)]).optimize(t)}else{Dn(e,mn)}}if(e.left.operator=="&&"){var l=e.left.right.evaluate(t);if(l&&!(l instanceof F))return make_node(qe,e,{condition:e.left.left,consequent:e.left.right,alternative:e.right}).optimize(t)}break;case"??":if(is_nullish(e.left)){return e.right}var o=e.left.evaluate(t);if(!(o instanceof F)){return o==null?e.right:e.left}if(t.in_boolean_context()){const n=e.right.evaluate(t);if(!(n instanceof F)&&!n){return e.left}}}var f=true;switch(e.operator){case"+":if(e.left instanceof Tt&&e.right instanceof Ge&&e.right.operator=="+"&&e.right.is_string(t)){var p=make_node(Ge,e,{operator:"+",left:e.left,right:e.right.left});var d=p.optimize(t);if(p!==d){e=make_node(Ge,e,{operator:"+",left:d,right:e.right.right})}}if(e.right instanceof Tt&&e.left instanceof Ge&&e.left.operator=="+"&&e.left.is_string(t)){var p=make_node(Ge,e,{operator:"+",left:e.left.right,right:e.right});var h=p.optimize(t);if(p!==h){e=make_node(Ge,e,{operator:"+",left:e.left.left,right:h})}}if(e.left instanceof Ge&&e.left.operator=="+"&&e.left.is_string(t)&&e.right instanceof Ge&&e.right.operator=="+"&&e.right.is_string(t)){var p=make_node(Ge,e,{operator:"+",left:e.left.right,right:e.right.left});var m=p.optimize(t);if(p!==m){e=make_node(Ge,e,{operator:"+",left:make_node(Ge,e.left,{operator:"+",left:e.left.left,right:m}),right:e.right.right})}}if(e.right instanceof He&&e.right.operator=="-"&&e.left.is_number(t)){e=make_node(Ge,e,{operator:"-",left:e.left,right:e.right.expression});break}if(e.left instanceof He&&e.left.operator=="-"&&reversible()&&e.right.is_number(t)){e=make_node(Ge,e,{operator:"-",left:e.right,right:e.left.expression});break}if(e.left instanceof oe){var d=e.left;var h=e.right.evaluate(t);if(h!=e.right){d.segments[d.segments.length-1].value+=h.toString();return d}}if(e.right instanceof oe){var h=e.right;var d=e.left.evaluate(t);if(d!=e.left){h.segments[0].value=d.toString()+h.segments[0].value;return h}}if(e.left instanceof oe&&e.right instanceof oe){var d=e.left;var g=d.segments;var h=e.right;g[g.length-1].value+=h.segments[0].value;for(var y=1;y=T[e.operator])){var v=make_node(Ge,e,{operator:e.operator,left:e.right,right:e.left});if(e.right instanceof Tt&&!(e.left instanceof Tt)){e=best_of(t,v,e)}else{e=best_of(t,e,v)}}if(f&&e.is_number(t)){if(e.right instanceof Ge&&e.right.operator==e.operator){e=make_node(Ge,e,{operator:e.operator,left:make_node(Ge,e.left,{operator:e.operator,left:e.left,right:e.right.left,start:e.left.start,end:e.right.left.end}),right:e.right.right})}if(e.right instanceof Tt&&e.left instanceof Ge&&e.left.operator==e.operator){if(e.left.left instanceof Tt){e=make_node(Ge,e,{operator:e.operator,left:make_node(Ge,e.left,{operator:e.operator,left:e.left.left,right:e.right,start:e.left.left.start,end:e.right.end}),right:e.left.right})}else if(e.left.right instanceof Tt){e=make_node(Ge,e,{operator:e.operator,left:make_node(Ge,e.left,{operator:e.operator,left:e.left.right,right:e.right,start:e.left.right.start,end:e.right.end}),right:e.left.left})}}if(e.left instanceof Ge&&e.left.operator==e.operator&&e.left.right instanceof Tt&&e.right instanceof Ge&&e.right.operator==e.operator&&e.right.left instanceof Tt){e=make_node(Ge,e,{operator:e.operator,left:make_node(Ge,e.left,{operator:e.operator,left:make_node(Ge,e.left.left,{operator:e.operator,left:e.left.right,right:e.right.left,start:e.left.right.start,end:e.right.left.end}),right:e.left.left}),right:e.right.right})}}}}if(e.right instanceof Ge&&e.right.operator==e.operator&&(Tn.has(e.operator)||e.operator=="+"&&(e.right.left.is_string(t)||e.left.is_string(t)&&e.right.right.is_string(t)))){e.left=make_node(Ge,e.left,{operator:e.operator,left:e.left,right:e.right.left});e.right=e.right.right;return e.transform(t)}var _=e.evaluate(t);if(_!==e){_=make_node_from_constant(_,e).optimize(t);return best_of(t,_,e)}return e});def_optimize(kt,function(e){return e});function recursive_ref(e,t){var n;for(var r=0;n=e.parent(r);r++){if(n instanceof $||n instanceof tt){var i=n.name;if(i&&i.definition()===t)break}}return n}function within_array_or_object_literal(e){var t,n=0;while(t=e.parent(n++)){if(t instanceof I)return false;if(t instanceof Xe||t instanceof Qe||t instanceof Je){return true}}return false}def_optimize(St,function(e,t){if(!t.option("ie8")&&is_undeclared_ref(e)&&!t.find_parent(J)){switch(e.name){case"undefined":return make_node(Lt,e).optimize(t);case"NaN":return make_node(Nt,e).optimize(t);case"Infinity":return make_node(jt,e).optimize(t)}}const n=t.parent();if(t.option("reduce_vars")&&is_lhs(e,n)!==e){const s=e.definition();const o=find_scope(t);if(t.top_retain&&s.global&&t.top_retain(s)){s.fixed=false;s.single_use=false;return e}let a=e.fixed_value();let c=s.single_use&&!(n instanceof Re&&n.is_expr_pure(t)||has_annotation(n,Wt));if(c&&(a instanceof $||a instanceof tt)){if(retain_top_func(a,t)){c=false}else if(s.scope!==e.scope&&(s.escaped==1||kn(a,vn)||within_array_or_object_literal(t))){c=false}else if(recursive_ref(t,s)){c=false}else if(s.scope!==e.scope||s.orig[0]instanceof pt){c=a.is_constant_expression(e.scope);if(c=="f"){var r=e.scope;do{if(r instanceof re||is_func_expr(r)){Dn(r,vn)}}while(r=r.parent_scope)}}}if(c&&a instanceof $){c=s.scope===e.scope&&!scope_encloses_variables_in_this_scope(o,a)||n instanceof Re&&n.expression===e&&!scope_encloses_variables_in_this_scope(o,a)}if(c&&a instanceof tt){const e=!a.extends||!a.extends.may_throw(t)&&!a.extends.has_side_effects(t);c=e&&!a.properties.some(e=>e.may_throw(t)||e.has_side_effects(t))}if(c&&a){if(a instanceof rt){Dn(a,bn);a=make_node(it,a,a)}if(a instanceof re){Dn(a,bn);a=make_node(te,a,a)}if(s.recursive_refs>0&&a.name instanceof dt){const e=a.name.definition();let t=a.variables.get(a.name.name);let n=t&&t.orig[0];if(!(n instanceof gt)){n=make_node(gt,a.name,a.name);n.scope=a;a.name=n;t=a.def_function(n)}walk(a,n=>{if(n instanceof St&&n.definition()===e){n.thedef=t;t.references.push(n)}})}if((a instanceof $||a instanceof tt)&&a.parent_scope!==o){a=a.clone(true,t.get_toplevel());o.add_child_scope(a)}return a.optimize(t)}if(a){let n;if(a instanceof Ct){if(!(s.orig[0]instanceof pt)&&s.references.every(e=>s.scope===e.scope)){n=a}}else{var i=a.evaluate(t);if(i!==a&&(t.option("unsafe_regexp")||!(i instanceof RegExp))){n=make_node_from_constant(i,a)}}if(n){const r=e.size(t);const i=n.size(t);let o=0;if(t.option("unused")&&!t.exposed(s)){o=(r+2+i)/(s.references.length-s.assignments)}if(i<=r+o){return n}}}}return e});function scope_encloses_variables_in_this_scope(e,t){for(const n of t.enclosed){if(t.variables.has(n.name)){continue}const r=e.find_variable(n.name);if(r){if(r===n)continue;return true}}return false}function is_atomic(e,t){return e instanceof St||e.TYPE===t.TYPE}def_optimize(Lt,function(e,t){if(t.option("unsafe_undefined")){var n=find_variable(t,"undefined");if(n){var r=make_node(St,e,{name:"undefined",scope:n.scope,thedef:n});Dn(r,yn);return r}}var i=is_lhs(t.self(),t.parent());if(i&&is_atomic(i,e))return e;return make_node(He,e,{operator:"void",expression:make_node(Ot,e,{value:0})})});def_optimize(jt,function(e,t){var n=is_lhs(t.self(),t.parent());if(n&&is_atomic(n,e))return e;if(t.option("keep_infinity")&&!(n&&!is_atomic(n,e))&&!find_variable(t,"Infinity")){return e}return make_node(Ge,e,{operator:"/",left:make_node(Ot,e,{value:1}),right:make_node(Ot,e,{value:0})})});def_optimize(Nt,function(e,t){var n=is_lhs(t.self(),t.parent());if(n&&!is_atomic(n,e)||find_variable(t,"NaN")){return make_node(Ge,e,{operator:"/",left:make_node(Ot,e,{value:0}),right:make_node(Ot,e,{value:0})})}return e});function is_reachable(e,t){const n=e=>{if(e instanceof St&&member(e.definition(),t)){return Vt}};return walk_parent(e,(t,r)=>{if(t instanceof Y&&t!==e){var i=r.parent();if(i instanceof Re&&i.expression===t)return;if(walk(t,n))return Vt;return true}})}const jn=makePredicate("+ - / * % >> << >>> | ^ &");const Un=makePredicate("* | ^ &");def_optimize(We,function(e,t){var n;if(t.option("dead_code")&&e.left instanceof St&&(n=e.left.definition()).scope===t.find_parent($)){var r=0,i,s=e;do{i=s;s=t.parent(r++);if(s instanceof ue){if(in_try(r,s))break;if(is_reachable(n.scope,[n]))break;if(e.operator=="=")return e.right;n.fixed=false;return make_node(Ge,e,{operator:e.operator.slice(0,-1),left:e.left,right:e.right}).optimize(t)}}while(s instanceof Ge&&s.right===i||s instanceof Ne&&s.tail_node()===i)}e=e.lift_sequences(t);if(e.operator=="="&&e.left instanceof St&&e.right instanceof Ge){if(e.right.left instanceof St&&e.right.left.name==e.left.name&&jn.has(e.right.operator)){e.operator=e.right.operator+"=";e.right=e.right.right}else if(e.right.right instanceof St&&e.right.right.name==e.left.name&&Un.has(e.right.operator)&&!e.right.left.has_side_effects(t)){e.operator=e.right.operator+"=";e.right=e.right.left}}return e;function in_try(n,r){var i=e.right;e.right=make_node(Pt,i);var s=r.may_throw(t);e.right=i;var o=e.left.definition().scope;var a;while((a=t.parent(n++))!==o){if(a instanceof we){if(a.bfinally)return true;if(s&&a.bcatch)return true}}}});def_optimize(Ke,function(e,t){if(!t.option("evaluate")){return e}var n=e.right.evaluate(t);if(n===undefined){e=e.left}else if(n!==e.right){n=make_node_from_constant(n,e.right);e.right=best_of_expression(n,e.right)}return e});function is_nullish(e){let t;return e instanceof Pt||is_undefined(e)||e instanceof St&&(t=e.definition().fixed)instanceof F&&is_nullish(t)||e instanceof Le&&e.optional&&is_nullish(e.expression)||e instanceof Re&&e.optional&&is_nullish(e.expression)||e instanceof Ue&&is_nullish(e.expression)}function is_nullish_check(e,t,n){if(t.may_throw(n))return false;let r;if(e instanceof Ge&&e.operator==="=="&&((r=is_nullish(e.left)&&e.left)||(r=is_nullish(e.right)&&e.right))&&(r===e.left?e.right:e.left).equivalent_to(t)){return true}if(e instanceof Ge&&e.operator==="||"){let n;let r;const i=e=>{if(!(e instanceof Ge&&(e.operator==="==="||e.operator==="=="))){return false}let i=0;let s;if(e.left instanceof Pt){i++;n=e;s=e.right}if(e.right instanceof Pt){i++;n=e;s=e.left}if(is_undefined(e.left)){i++;r=e;s=e.right}if(is_undefined(e.right)){i++;r=e;s=e.left}if(i!==1){return false}if(!s.equivalent_to(t)){return false}return true};if(!i(e.left))return false;if(!i(e.right))return false;if(n&&r&&n!==r){return true}}return false}def_optimize(qe,function(e,t){if(!t.option("conditionals"))return e;if(e.condition instanceof Ne){var n=e.condition.expressions.slice();e.condition=n.pop();n.push(e);return make_sequence(e,n)}var r=e.condition.evaluate(t);if(r!==e.condition){if(r){return maintain_this_binding(t.parent(),t.self(),e.consequent)}else{return maintain_this_binding(t.parent(),t.self(),e.alternative)}}var i=r.negate(t,first_in_statement(t));if(best_of(t,r,i)===i){e=make_node(qe,e,{condition:i,consequent:e.alternative,alternative:e.consequent})}var s=e.condition;var o=e.consequent;var a=e.alternative;if(s instanceof St&&o instanceof St&&s.definition()===o.definition()){return make_node(Ge,e,{operator:"||",left:s,right:a})}if(o instanceof We&&a instanceof We&&o.operator==a.operator&&o.left.equivalent_to(a.left)&&(!e.condition.has_side_effects(t)||o.operator=="="&&!o.left.has_side_effects(t))){return make_node(We,e,{operator:o.operator,left:o.left,right:make_node(qe,e,{condition:e.condition,consequent:o.right,alternative:a.right})})}var c;if(o instanceof Re&&a.TYPE===o.TYPE&&o.args.length>0&&o.args.length==a.args.length&&o.expression.equivalent_to(a.expression)&&!e.condition.has_side_effects(t)&&!o.expression.has_side_effects(t)&&typeof(c=single_arg_diff())=="number"){var u=o.clone();u.args[c]=make_node(qe,e,{condition:e.condition,consequent:o.args[c],alternative:a.args[c]});return u}if(a instanceof qe&&o.equivalent_to(a.consequent)){return make_node(qe,e,{condition:make_node(Ge,e,{operator:"||",left:s,right:a.condition}),consequent:o,alternative:a.alternative}).optimize(t)}if(t.option("ecma")>=2020&&is_nullish_check(s,a,t)){return make_node(Ge,e,{operator:"??",left:a,right:o}).optimize(t)}if(a instanceof Ne&&o.equivalent_to(a.expressions[a.expressions.length-1])){return make_sequence(e,[make_node(Ge,e,{operator:"||",left:s,right:make_sequence(e,a.expressions.slice(0,-1))}),o]).optimize(t)}if(a instanceof Ge&&a.operator=="&&"&&o.equivalent_to(a.right)){return make_node(Ge,e,{operator:"&&",left:make_node(Ge,e,{operator:"||",left:s,right:a.left}),right:o}).optimize(t)}if(o instanceof qe&&o.alternative.equivalent_to(a)){return make_node(qe,e,{condition:make_node(Ge,e,{left:e.condition,operator:"&&",right:o.condition}),consequent:o.consequent,alternative:a})}if(o.equivalent_to(a)){return make_sequence(e,[e.condition,o]).optimize(t)}if(o instanceof Ge&&o.operator=="||"&&o.right.equivalent_to(a)){return make_node(Ge,e,{operator:"||",left:make_node(Ge,e,{operator:"&&",left:e.condition,right:o.left}),right:a}).optimize(t)}var l=t.in_boolean_context();if(is_true(e.consequent)){if(is_false(e.alternative)){return booleanize(e.condition)}return make_node(Ge,e,{operator:"||",left:booleanize(e.condition),right:e.alternative})}if(is_false(e.consequent)){if(is_true(e.alternative)){return booleanize(e.condition.negate(t))}return make_node(Ge,e,{operator:"&&",left:booleanize(e.condition.negate(t)),right:e.alternative})}if(is_true(e.alternative)){return make_node(Ge,e,{operator:"||",left:booleanize(e.condition.negate(t)),right:e.consequent})}if(is_false(e.alternative)){return make_node(Ge,e,{operator:"&&",left:booleanize(e.condition),right:e.consequent})}return e;function booleanize(e){if(e.is_boolean())return e;return make_node(He,e,{operator:"!",expression:e.negate(t)})}function is_true(e){return e instanceof Ht||l&&e instanceof Tt&&e.getValue()||e instanceof He&&e.operator=="!"&&e.expression instanceof Tt&&!e.expression.getValue()}function is_false(e){return e instanceof zt||l&&e instanceof Tt&&!e.getValue()||e instanceof He&&e.operator=="!"&&e.expression instanceof Tt&&e.expression.getValue()}function single_arg_diff(){var e=o.args;var t=a.args;for(var n=0,r=e.length;n=2015;var r=this.expression;if(r instanceof Je){var i=r.properties;for(var s=i.length;--s>=0;){var o=i[s];if(""+(o instanceof et?o.key.name:o.key)==e){if(!i.every(e=>{return e instanceof Qe||n&&e instanceof et&&!e.is_generator}))break;if(!safe_to_flatten(o.value,t))break;return make_node(je,this,{expression:make_node(Xe,r,{elements:i.map(function(e){var t=e.value;if(t instanceof ee)t=make_node(te,t,t);var n=e.key;if(n instanceof F&&!(n instanceof ht)){return make_sequence(e,[n,t])}return t})}),property:make_node(Ot,this,{value:s})})}}}});def_optimize(je,function(e,t){var n=e.expression;var r=e.property;if(t.option("properties")){var i=r.evaluate(t);if(i!==r){if(typeof i=="string"){if(i=="undefined"){i=undefined}else{var s=parseFloat(i);if(s.toString()==i){i=s}}}r=e.property=best_of_expression(r,make_node_from_constant(i,r).transform(t));var o=""+i;if(is_basic_identifier_string(o)&&o.length<=r.size()+1){return make_node(Be,e,{expression:n,optional:e.optional,property:o,quote:r.quote}).optimize(t)}}}var a;e:if(t.option("arguments")&&n instanceof St&&n.name=="arguments"&&n.definition().orig.length==1&&(a=n.scope)instanceof $&&a.uses_arguments&&!(a instanceof ne)&&r instanceof Ot){var c=r.getValue();var u=new Set;var l=a.argnames;for(var f=0;f1){d=null}}else if(!d&&!t.option("keep_fargs")&&c=a.argnames.length){d=a.create_symbol(pt,{source:a,scope:a,tentative_name:"argument_"+a.argnames.length});a.argnames.push(d)}}if(d){var m=make_node(St,e,d);m.reference({});xn(d,hn);return m}}if(is_lhs(e,t.parent()))return e;if(i!==r){var g=e.flatten_object(o,t);if(g){n=e.expression=g.expression;r=e.property=g.property}}if(t.option("properties")&&t.option("side_effects")&&r instanceof Ot&&n instanceof Xe){var c=r.getValue();var y=n.elements;var v=y[c];e:if(safe_to_flatten(v,t)){var _=true;var b=[];for(var E=y.length;--E>c;){var s=y[E].drop_side_effect_free(t);if(s){b.unshift(s);if(_&&s.has_side_effects(t))_=false}}if(v instanceof Z)break e;v=v instanceof Bt?make_node(Lt,v):v;if(!_)b.unshift(v);while(--E>=0){var s=y[E];if(s instanceof Z)break e;s=s.drop_side_effect_free(t);if(s)b.unshift(s);else c--}if(_){b.push(v);return make_sequence(e,b).optimize(t)}else return make_node(je,e,{expression:make_node(Xe,n,{elements:b}),property:make_node(Ot,r,{value:c})})}}var w=e.evaluate(t);if(w!==e){w=make_node_from_constant(w,e).optimize(t);return best_of(t,w,e)}if(e.optional&&is_nullish(e.expression)){return make_node(Lt,e)}return e});def_optimize(Ue,function(e,t){e.expression=e.expression.optimize(t);return e});$.DEFMETHOD("contains_this",function(){return walk(this,e=>{if(e instanceof Ct)return Vt;if(e!==this&&e instanceof Y&&!(e instanceof ne)){return true}})});def_optimize(Be,function(e,t){const n=t.parent();if(is_lhs(e,n))return e;if(t.option("unsafe_proto")&&e.expression instanceof Be&&e.expression.property=="prototype"){var r=e.expression.expression;if(is_undeclared_ref(r))switch(r.name){case"Array":e.expression=make_node(Xe,e.expression,{elements:[]});break;case"Function":e.expression=make_node(te,e.expression,{argnames:[],body:[]});break;case"Number":e.expression=make_node(Ot,e.expression,{value:0});break;case"Object":e.expression=make_node(Je,e.expression,{properties:[]});break;case"RegExp":e.expression=make_node(It,e.expression,{value:{source:"t",flags:""}});break;case"String":e.expression=make_node(Mt,e.expression,{value:""});break}}if(!(n instanceof Re)||!has_annotation(n,Wt)){const n=e.flatten_object(e.property,t);if(n)return n.optimize(t)}let i=e.evaluate(t);if(i!==e){i=make_node_from_constant(i,e).optimize(t);return best_of(t,i,e)}if(e.optional&&is_nullish(e.expression)){return make_node(Lt,e)}return e});function literals_in_boolean_context(e,t){if(t.in_boolean_context()){return best_of(t,e,make_sequence(e,[e,make_node(Ht,e)]).optimize(t))}return e}function inline_array_like_spread(e,t,n){for(var r=0;r=2015&&!e.name&&!e.is_generator&&!e.uses_arguments&&!e.pinned()){const n=walk(e,e=>{if(e instanceof Ct)return Vt});if(!n)return make_node(ne,e,e).optimize(t)}return e});def_optimize(tt,function(e){return e});def_optimize(ge,function(e,t){if(e.expression&&!e.is_star&&is_undefined(e.expression,t)){e.expression=null}return e});def_optimize(oe,function(e,t){if(!t.option("evaluate")||t.parent()instanceof se)return e;var n=[];for(var r=0;r=2015&&(!(n instanceof RegExp)||n.test(e.key+""))){var r=e.key;var i=e.value;var s=i instanceof ne&&Array.isArray(i.body)&&!i.contains_this();if((s||i instanceof te)&&!i.name){return make_node(et,e,{async:i.async,is_generator:i.is_generator,key:r instanceof F?r:make_node(ht,e,{name:r}),value:make_node(ee,i,i),quote:e.quote})}}return e});def_optimize(ie,function(e,t){if(t.option("pure_getters")==true&&t.option("unused")&&!e.is_array&&Array.isArray(e.names)&&!is_destructuring_export_decl(t)){var n=[];for(var r=0;r1)throw new Error("inline source map only works with singular input");t.sourceMap.content=read_source_map(e[s])}}i=t.parse.toplevel}if(r&&t.mangle.properties.keep_quoted!=="strict"){reserve_quoted_keys(i,r)}if(t.wrap){i=i.wrap_commonjs(t.wrap)}if(t.enclose){i=i.wrap_enclose(t.enclose)}if(n)n.rename=Date.now();if(n)n.compress=Date.now();if(t.compress){i=new Compressor(t.compress,{mangle_options:t.mangle}).compress(i)}if(n)n.scope=Date.now();if(t.mangle)i.figure_out_scope(t.mangle);if(n)n.mangle=Date.now();if(t.mangle){an.reset();i.compute_char_frequency(t.mangle);i.mangle_names(t.mangle)}if(n)n.properties=Date.now();if(t.mangle&&t.mangle.properties){i=mangle_properties(i,t.mangle.properties)}if(n)n.format=Date.now();var o={};if(t.format.ast){o.ast=i}if(!HOP(t.format,"code")||t.format.code){if(t.sourceMap){if(typeof t.sourceMap.content=="string"){t.sourceMap.content=JSON.parse(t.sourceMap.content)}t.format.source_map=SourceMap({file:t.sourceMap.filename,orig:t.sourceMap.content,root:t.sourceMap.root});if(t.sourceMap.includeSources){if(e instanceof Q){throw new Error("original source content unavailable")}else for(var s in e)if(HOP(e,s)){t.format.source_map.get().setSourceContent(s,e[s])}}}delete t.format.ast;delete t.format.code;var a=OutputStream(t.format);i.print(a);o.code=a.get();if(t.sourceMap){if(t.sourceMap.asObject){o.map=t.format.source_map.get().toJSON()}else{o.map=t.format.source_map.toString()}if(t.sourceMap.url=="inline"){var c=typeof o.map==="object"?JSON.stringify(o.map):o.map;o.code+="\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,"+Vn(c)}else if(t.sourceMap.url){o.code+="\n//# sourceMappingURL="+t.sourceMap.url}}}if(t.nameCache&&t.mangle){if(t.mangle.cache)t.nameCache.vars=cache_to_json(t.mangle.cache);if(t.mangle.properties&&t.mangle.properties.cache){t.nameCache.props=cache_to_json(t.mangle.properties.cache)}}if(n){n.end=Date.now();o.timings={parse:.001*(n.rename-n.parse),rename:.001*(n.compress-n.rename),compress:.001*(n.scope-n.compress),scope:.001*(n.mangle-n.scope),mangle:.001*(n.properties-n.mangle),properties:.001*(n.format-n.properties),format:.001*(n.end-n.format),total:.001*(n.end-n.start)}}return o}async function run_cli({program:e,packageJson:t,fs:r,path:i}){const s=new Set(["cname","parent_scope","scope","uses_eval","uses_with"]);var o={};var a={compress:false,mangle:false};const c=await _default_options();e.version(t.name+" "+t.version);e.parseArgv=e.parse;e.parse=undefined;if(process.argv.includes("ast"))e.helpInformation=describe_ast;else if(process.argv.includes("options"))e.helpInformation=function(){var e=[];for(var t in c){e.push("--"+(t==="sourceMap"?"source-map":t)+" options:");e.push(format_object(c[t]));e.push("")}return e.join("\n")};e.option("-p, --parse ","Specify parser options.",parse_js());e.option("-c, --compress [options]","Enable compressor/specify compressor options.",parse_js());e.option("-m, --mangle [options]","Mangle names/specify mangler options.",parse_js());e.option("--mangle-props [options]","Mangle properties/specify mangler options.",parse_js());e.option("-f, --format [options]","Format options.",parse_js());e.option("-b, --beautify [options]","Alias for --format beautify=true.",parse_js());e.option("-o, --output ","Output file (default STDOUT).");e.option("--comments [filter]","Preserve copyright comments in the output.");e.option("--config-file ","Read minify() options from JSON file.");e.option("-d, --define [=value]","Global definitions.",parse_js("define"));e.option("--ecma ","Specify ECMAScript release: 5, 2015, 2016 or 2017...");e.option("-e, --enclose [arg[,...][:value[,...]]]","Embed output in a big function with configurable arguments and values.");e.option("--ie8","Support non-standard Internet Explorer 8.");e.option("--keep-classnames","Do not mangle/drop class names.");e.option("--keep-fnames","Do not mangle/drop function names. Useful for code relying on Function.prototype.name.");e.option("--module","Input is an ES6 module");e.option("--name-cache ","File to hold mangled name mappings.");e.option("--rename","Force symbol expansion.");e.option("--no-rename","Disable symbol expansion.");e.option("--safari10","Support non-standard Safari 10.");e.option("--source-map [options]","Enable source map/specify source map options.",parse_js());e.option("--timings","Display operations run time on STDERR.");e.option("--toplevel","Compress and/or mangle variables in toplevel scope.");e.option("--wrap ","Embed everything as a function with “exports” corresponding to “name” globally.");e.arguments("[files...]").parseArgv(process.argv);if(e.configFile){a=JSON.parse(read_file(e.configFile))}if(!e.output&&e.sourceMap&&e.sourceMap.url!="inline"){fatal("ERROR: cannot write source map to STDOUT")}["compress","enclose","ie8","mangle","module","safari10","sourceMap","toplevel","wrap"].forEach(function(t){if(t in e){a[t]=e[t]}});if("ecma"in e){if(e.ecma!=(e.ecma|0))fatal("ERROR: ecma must be an integer");const t=e.ecma|0;if(t>5&&t<2015)a.ecma=t+2009;else a.ecma=t}if(e.beautify||e.format){if(e.beautify&&e.format){fatal("Please only specify one of --beautify or --format")}if(e.beautify){a.format=typeof e.beautify=="object"?e.beautify:{};if(!("beautify"in a.format)){a.format.beautify=true}}if(e.format){a.format=typeof e.format=="object"?e.format:{}}}if(e.comments){if(typeof a.format!="object")a.format={};a.format.comments=typeof e.comments=="string"?e.comments=="false"?false:e.comments:"some"}if(e.define){if(typeof a.compress!="object")a.compress={};if(typeof a.compress.global_defs!="object")a.compress.global_defs={};for(var u in e.define){a.compress.global_defs[u]=e.define[u]}}if(e.keepClassnames){a.keep_classnames=true}if(e.keepFnames){a.keep_fnames=true}if(e.mangleProps){if(e.mangleProps.domprops){delete e.mangleProps.domprops}else{if(typeof e.mangleProps!="object")e.mangleProps={};if(!Array.isArray(e.mangleProps.reserved))e.mangleProps.reserved=[]}if(typeof a.mangle!="object")a.mangle={};a.mangle.properties=e.mangleProps}if(e.nameCache){a.nameCache=JSON.parse(read_file(e.nameCache,"{}"))}if(e.output=="ast"){a.format={ast:true,code:false}}if(e.parse){if(!e.parse.acorn&&!e.parse.spidermonkey){a.parse=e.parse}else if(e.sourceMap&&e.sourceMap.content=="inline"){fatal("ERROR: inline source map only works with built-in parser")}}if(~e.rawArgs.indexOf("--rename")){a.rename=true}else if(!e.rename){a.rename=false}let l=e=>e;if(typeof e.sourceMap=="object"&&"base"in e.sourceMap){l=function(){var t=e.sourceMap.base;delete a.sourceMap.base;return function(e){return i.relative(t,e)}}()}let f;if(a.files&&a.files.length){f=a.files;delete a.files}else if(e.args.length){f=e.args}if(f){simple_glob(f).forEach(function(e){o[l(e)]=read_file(e)})}else{await new Promise(e=>{var t=[];process.stdin.setEncoding("utf8");process.stdin.on("data",function(e){t.push(e)}).on("end",function(){o=[t.join("")];e()});process.stdin.resume()})}await run_cli();function convert_ast(e){return F.from_mozilla_ast(Object.keys(o).reduce(e,null))}async function run_cli(){var t=e.sourceMap&&e.sourceMap.content;if(t&&t!=="inline"){a.sourceMap.content=read_file(t,t)}if(e.timings)a.timings=true;try{if(e.parse){if(e.parse.acorn){o=convert_ast(function(t,r){return n(20976).parse(o[r],{ecmaVersion:2018,locations:true,program:t,sourceFile:r,sourceType:a.module||e.parse.module?"module":"script"})})}else if(e.parse.spidermonkey){o=convert_ast(function(e,t){var n=JSON.parse(o[t]);if(!e)return n;e.body=e.body.concat(n.body);return e})}}}catch(e){fatal(e)}let i;try{i=await minify(o,a)}catch(e){if(e.name=="SyntaxError"){print_error("Parse error at "+e.filename+":"+e.line+","+e.col);var c=e.col;var u=o[e.filename].split(/\r?\n/);var l=u[e.line-1];if(!l&&!c){l=u[e.line-2];c=l.length}if(l){var f=70;if(c>f){l=l.slice(c-f);c=f}print_error(l.slice(0,80));print_error(l.slice(0,c).replace(/\S/g," ")+"^")}}if(e.defs){print_error("Supported options:");print_error(format_object(e.defs))}fatal(e);return}if(e.output=="ast"){if(!a.compress&&!a.mangle){i.ast.figure_out_scope({})}console.log(JSON.stringify(i.ast,function(e,t){if(t)switch(e){case"thedef":return symdef(t);case"enclosed":return t.length?t.map(symdef):undefined;case"variables":case"functions":case"globals":return t.size?collect_from_map(t,symdef):undefined}if(s.has(e))return;if(t instanceof O)return;if(t instanceof Map)return;if(t instanceof F){var n={_class:"AST_"+t.TYPE};if(t.block_scope){n.variables=t.block_scope.variables;n.functions=t.block_scope.functions;n.enclosed=t.block_scope.enclosed}t.CTOR.PROPS.forEach(function(e){n[e]=t[e]});return n}return t},2))}else if(e.output=="spidermonkey"){try{const e=await minify(i.code,{compress:false,mangle:false,format:{ast:true,code:false}});console.log(JSON.stringify(e.ast.to_mozilla_ast(),null,2))}catch(e){fatal(e);return}}else if(e.output){r.writeFileSync(e.output,i.code);if(a.sourceMap&&a.sourceMap.url!=="inline"&&i.map){r.writeFileSync(e.output+".map",i.map)}}else{console.log(i.code)}if(e.nameCache){r.writeFileSync(e.nameCache,JSON.stringify(a.nameCache))}if(i.timings)for(var p in i.timings){print_error("- "+p+": "+i.timings[p].toFixed(3)+"s")}}function fatal(e){if(e instanceof Error)e=e.stack.replace(/^\S*?Error:/,"ERROR:");print_error(e);process.exit(1)}function simple_glob(e){if(Array.isArray(e)){return[].concat.apply([],e.map(simple_glob))}if(e&&e.match(/[*?]/)){var t=i.dirname(e);try{var n=r.readdirSync(t)}catch(e){}if(n){var s="^"+i.basename(e).replace(/[.+^$[\]\\(){}]/g,"\\$&").replace(/\*/g,"[^/\\\\]*").replace(/\?/g,"[^/\\\\]")+"$";var o=process.platform==="win32"?"i":"";var a=new RegExp(s,o);var c=n.filter(function(e){return a.test(e)}).map(function(e){return i.join(t,e)});if(c.length)return c}}return[e]}function read_file(e,t){try{return r.readFileSync(e,"utf8")}catch(e){if((e.code=="ENOENT"||e.code=="ENAMETOOLONG")&&t!=null)return t;fatal(e)}}function parse_js(e){return function(t,n){n=n||{};try{walk(parse(t,{expression:true}),t=>{if(t instanceof We){var r=t.left.print_to_string();var i=t.right;if(e){n[r]=i}else if(i instanceof Xe){n[r]=i.elements.map(to_string)}else if(i instanceof It){i=i.value;n[r]=new RegExp(i.source,i.flags)}else{n[r]=to_string(i)}return true}if(t instanceof st||t instanceof Le){var r=t.print_to_string();n[r]=true;return true}if(!(t instanceof Ne))throw t;function to_string(e){return e instanceof Tt?e.getValue():e.print_to_string({quote_keys:true})}})}catch(r){if(e){fatal("Error parsing arguments for '"+e+"': "+t)}else{n[t]=null}}return n}}function symdef(e){var t=1e6+e.id+" "+e.name;if(e.mangled_name)t+=" "+e.mangled_name;return t}function collect_from_map(e,t){var n=[];e.forEach(function(e){n.push(t(e))});return n}function format_object(e){var t=[];var n="";Object.keys(e).map(function(t){if(n.length!/^\$/.test(e));if(n.length>0){e.space();e.with_parens(function(){n.forEach(function(t,n){if(n)e.space();e.print(t)})})}if(t.documentation){e.space();e.print_string(t.documentation)}if(t.SUBCLASSES.length>0){e.space();e.with_block(function(){t.SUBCLASSES.forEach(function(t){e.indent();doitem(t);e.newline()})})}}doitem(F);return e+"\n"}}async function _default_options(){const e={};Object.keys(infer_options({0:0})).forEach(t=>{const n=infer_options({[t]:{0:0}});if(n)e[t]=n});return e}async function infer_options(e){try{await minify("",e)}catch(e){return e.defs}}e._default_options=_default_options;e._run_cli=run_cli;e.minify=minify})},38033:(n,h,S)=>{!function(O){"use strict";function e(e){return e.split("")}function t(e,t){return t.indexOf(e)>=0}function i(e,t){for(var n=0,r=t.length;n=0&&!f(););c.reverse(),u.reverse()}else for(a=0;a=0;)e[n]===t&&e.splice(n,1)}function D(e,t){if(e.length<2)return e.slice();return function n(e){if(e.length<=1)return e;var r=Math.floor(e.length/2),i=e.slice(0,r),s=e.slice(r);return function(e,n){for(var r=[],i=0,s=0,o=0;i3){n.sort(function(e,t){return t.length-e.length}),t+="switch(str.length){";for(r=0;r=0;)if(!t(e[n]))return!1;return!0}function y(){this._values=Object.create(null),this._size=0}function b(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function E(e){for(var t,n=e.parent(-1),r=0;t=e.parent(r);r++){if(t instanceof W&&t.body===n)return!0;if(!(t instanceof Ht&&t.expressions[0]===n||"Call"==t.TYPE&&t.expression===n||t instanceof Gt&&t.expression===n||t instanceof qt&&t.expression===n||t instanceof Yt&&t.condition===n||t instanceof Jt&&t.left===n||t instanceof Xt&&t.expression===n))return!1;n=t}}function w(e,t){return!0===e||e instanceof RegExp&&e.test(t)}function F(e,t,n,r){arguments.length<4&&(r=q);var i=t=t?t.split(/\s+/):[];r&&r.PROPS&&(t=t.concat(r.PROPS));for(var s="return function AST_"+e+"(props){ if (props) { ",o=t.length;--o>=0;)s+="this."+t[o]+" = props."+t[o]+";";var a=r&&new r;(a&&a.initialize||n&&n.initialize)&&(s+="this.initialize();"),s+="}}";var c=new Function(s)();if(a&&(c.prototype=a,c.BASE=r),r&&r.SUBCLASSES.push(c),c.prototype.CTOR=c,c.PROPS=t||null,c.SELF_PROPS=i,c.SUBCLASSES=[],e&&(c.prototype.TYPE=c.TYPE=e),n)for(o in n)b(n,o)&&(/^\$/.test(o)?c[o.substr(1)]=n[o]:c.prototype[o]=n[o]);return c.DEFMETHOD=function(e,t){this.prototype[e]=t},void 0!==O&&(O["AST_"+e]=c),c}y.prototype={set:function(e,t){return this.has(e)||++this._size,this._values["$"+e]=t,this},add:function(e,t){return this.has(e)?this.get(e).push(t):this.set(e,[t]),this},get:function(e){return this._values["$"+e]},del:function(e){return this.has(e)&&(--this._size,delete this._values["$"+e]),this},has:function(e){return"$"+e in this._values},each:function(e){for(var t in this._values)e(this._values[t],t.substr(1))},size:function(){return this._size},map:function(e){var t=[];for(var n in this._values)t.push(e(this._values[n],n.substr(1)));return t},clone:function(){var e=new y;for(var t in this._values)e._values[t]=this._values[t];return e._size=this._size,e},toObject:function(){return this._values}},y.fromObject=function(e){var t=new y;return t._size=u(t._values,e),t},O.Dictionary=y;var P=F("Token","type value line col pos endline endcol endpos nlb comments_before comments_after file raw",{},null),q=F("Node","start end",{_clone:function(e){if(e){var t=this.clone();return t.transform(new _t(function(e){if(e!==t)return e.clone(!0)}))}return new this.CTOR(this)},clone:function(e){return this._clone(e)},$documentation:"Base class of all AST nodes",$propdoc:{start:"[AST_Token] The first token of this node",end:"[AST_Token] The last token of this node"},_walk:function(e){return e._visit(this)},walk:function(e){return this._walk(e)}},null);q.warn_function=null,q.warn=function(e,t){q.warn_function&&q.warn_function(m(e,t))};var W=F("Statement",null,{$documentation:"Base class of all statements"}),K=F("Debugger",null,{$documentation:"Represents a debugger statement"},W),X=F("Directive","value quote",{$documentation:'Represents a directive, like "use strict";',$propdoc:{value:"[string] The value of this directive as a plain string (it's not an AST_String!)",quote:"[string] the original quote character"}},W),J=F("SimpleStatement","body",{$documentation:"A statement consisting of an expression, i.e. a = 1 + 2",$propdoc:{body:"[AST_Node] an expression node (should not be instanceof AST_Statement)"},_walk:function(e){return e._visit(this,function(){this.body._walk(e)})}},W);function $(e,t){var n=e.body;if(n instanceof q)n._walk(t);else for(var r=0,i=n.length;r SymbolDef for all variables/functions defined in this scope",functions:"[Object/S] like `variables`, but only lists function declarations",uses_with:"[boolean/S] tells whether this scope uses the `with` statement",uses_eval:"[boolean/S] tells whether this scope contains a direct call to the global `eval`",parent_scope:"[AST_Scope?/S] link to the parent scope",enclosed:"[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes",cname:"[integer/S] current index for mangling variables (used internally by the mangler)"},get_defun_scope:function(){for(var e=this;e.is_block_scope();)e=e.parent_scope;return e},clone:function(e){var t=this._clone(e);return this.variables&&(t.variables=this.variables.clone()),this.functions&&(t.functions=this.functions.clone()),this.enclosed&&(t.enclosed=this.enclosed.slice()),t},pinned:function(){return this.uses_eval||this.uses_with}},te),ge=F("Toplevel","globals",{$documentation:"The toplevel scope",$propdoc:{globals:"[Object/S] a map of name -> SymbolDef for all undeclared names"},wrap_commonjs:function(e){var t=this.body,n="(function(exports){'$ORIG';})(typeof "+e+"=='undefined'?("+e+"={}):"+e+");";return n=(n=gt(n)).transform(new _t(function(e){if(e instanceof X&&"$ORIG"==e.value)return I.splice(t)}))},wrap_enclose:function(e){"string"!=typeof e&&(e="");var t=e.indexOf(":");t<0&&(t=e.length);var n=this.body;return gt(["(function(",e.slice(0,t),'){"$ORIG"})(',e.slice(t+1),")"].join("")).transform(new _t(function(e){if(e instanceof X&&"$ORIG"==e.value)return I.splice(n)}))}},me),ye=F("Expansion","expression",{$documentation:"An expandible argument, such as ...rest, a splat, such as [1,2,...all], or an expansion in a variable declaration, such as var [first, ...rest] = list",$propdoc:{expression:"[AST_Node] the thing to be expanded"},_walk:function(e){var t=this;return e._visit(this,function(){t.expression.walk(e)})}}),be=F("Lambda","name argnames uses_arguments is_generator async",{$documentation:"Base class for functions",$propdoc:{name:"[AST_SymbolDeclaration?] the name of this function",argnames:"[AST_SymbolFunarg|AST_Destructuring|AST_Expansion|AST_DefaultAssign*] array of function arguments, destructurings, or expanding arguments",uses_arguments:"[boolean/S] tells whether this function accesses the arguments array",is_generator:"[boolean] is this a generator method",async:"[boolean] is this method async"},args_as_names:function(){for(var e=[],t=0;t b)"},be),xe=F("Defun","inlined",{$documentation:"A function definition"},be),Ce=F("Destructuring","names is_array",{$documentation:"A destructuring of several names. Used in destructuring assignment and with destructuring function argument names",$propdoc:{names:"[AST_Node*] Array of properties or elements",is_array:"[Boolean] Whether the destructuring represents an object or array"},_walk:function(e){return e._visit(this,function(){this.names.forEach(function(t){t._walk(e)})})},all_symbols:function(){var e=[];return this.walk(new Te(function(t){t instanceof Sn&&e.push(t),t instanceof ye&&e.push(t.expression)})),e}}),Me=F("PrefixedTemplateString","template_string prefix",{$documentation:"A templatestring with a prefix, such as String.raw`foobarbaz`",$propdoc:{template_string:"[AST_TemplateString] The template string",prefix:"[AST_SymbolRef|AST_PropAccess] The prefix, which can be a symbol such as `foo` or a dotted expression such as `String.raw`."},_walk:function(e){this.prefix._walk(e),this.template_string._walk(e)}}),Oe=F("TemplateString","segments",{$documentation:"A template string literal",$propdoc:{segments:"[AST_Node*] One or more segments, starting with AST_TemplateSegment. AST_Node may follow AST_TemplateSegment, but each AST_Node must be followed by AST_TemplateSegment."},_walk:function(e){return e._visit(this,function(){this.segments.forEach(function(t){t._walk(e)})})}}),Ne=F("TemplateSegment","value raw",{$documentation:"A segment of a template string literal",$propdoc:{value:"Content of the segment",raw:"Raw content of the segment"}}),Be=F("Jump",null,{$documentation:"Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)"},W),ze=F("Exit","value",{$documentation:"Base class for “exits” (`return` and `throw`)",$propdoc:{value:"[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return"},_walk:function(e){return e._visit(this,this.value&&function(){this.value._walk(e)})}},Be),Ve=F("Return",null,{$documentation:"A `return` statement"},ze),qe=F("Throw",null,{$documentation:"A `throw` statement"},ze),Ke=F("LoopControl","label",{$documentation:"Base class for loop control statements (`break` and `continue`)",$propdoc:{label:"[AST_LabelRef?] the label, or null if none"},_walk:function(e){return e._visit(this,this.label&&function(){this.label._walk(e)})}},Be),Xe=F("Break",null,{$documentation:"A `break` statement"},Ke),$e=F("Continue",null,{$documentation:"A `continue` statement"},Ke),lt=F("If","condition alternative",{$documentation:"A `if` statement",$propdoc:{condition:"[AST_Node] the `if` condition",alternative:"[AST_Statement?] the `else` part, or null if not present"},_walk:function(e){return e._visit(this,function(){this.condition._walk(e),this.body._walk(e),this.alternative&&this.alternative._walk(e)})}},se),dt=F("Switch","expression",{$documentation:"A `switch` statement",$propdoc:{expression:"[AST_Node] the `switch` “discriminant”"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e),$(this,e)})}},te),ht=F("SwitchBranch",null,{$documentation:"Base class for `switch` branches"},te),mt=F("Default",null,{$documentation:"A `default` switch branch"},ht),vt=F("Case","expression",{$documentation:"A `case` switch branch",$propdoc:{expression:"[AST_Node] the `case` expression"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e),$(this,e)})}},ht),bt=F("Try","bcatch bfinally",{$documentation:"A `try` statement",$propdoc:{bcatch:"[AST_Catch?] the catch block, or null if not present",bfinally:"[AST_Finally?] the finally block, or null if not present"},_walk:function(e){return e._visit(this,function(){$(this,e),this.bcatch&&this.bcatch._walk(e),this.bfinally&&this.bfinally._walk(e)})}},te),Et=F("Catch","argname",{$documentation:"A `catch` node; only makes sense as part of a `try` statement",$propdoc:{argname:"[AST_SymbolCatch|AST_Destructuring|AST_Expansion|AST_DefaultAssign] symbol for the exception"},_walk:function(e){return e._visit(this,function(){this.argname&&this.argname._walk(e),$(this,e)})}},te),Dt=F("Finally",null,{$documentation:"A `finally` node; only makes sense as part of a `try` statement"},te),Ct=F("Definitions","definitions",{$documentation:"Base class for `var` or `const` nodes (variable declarations/initializations)",$propdoc:{definitions:"[AST_VarDef*] array of variable definitions"},_walk:function(e){return e._visit(this,function(){for(var t=this.definitions,n=0,r=t.length;n a`"},Jt),nn=F("Array","elements",{$documentation:"An array literal",$propdoc:{elements:"[AST_Node*] array of elements"},_walk:function(e){return e._visit(this,function(){for(var t=this.elements,n=0,r=t.length;n=0;){var r=t[n];if(r instanceof e)return r}},has_directive:function(e){var t=this.directives[e];if(t)return t;var n=this.stack[this.stack.length-1];if(n instanceof me&&n.body)for(var r=0;r=0;){if((r=t[n])instanceof oe&&r.label.name==e.label.name)return r.body}else for(n=t.length;--n>=0;){var r;if((r=t[n])instanceof ae||e instanceof Xe&&r instanceof dt)return r}}};var fr="break case catch class const continue debugger default delete do else export extends finally for function if in instanceof let new return switch throw try typeof var void while with",pr="false null true",dr="enum implements import interface package private protected public static super this "+pr+" "+fr,hr="return new delete throw else case yield await";fr=g(fr),dr=g(dr),hr=g(hr),pr=g(pr);var mr=g(e("+-*&%=<>!?|~^")),gr=/[0-9a-f]/i,yr=/^0x[0-9a-f]+$/i,vr=/^0[0-7]+$/,_r=/^0o[0-7]+$/i,br=/^0b[01]+$/i,Er=/^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i,wr=g(["in","instanceof","typeof","new","void","delete","++","--","+","-","!","~","&","|","^","*","**","/","%",">>","<<",">>>","<",">","<=",">=","==","===","!=","!==","?","=","+=","-=","/=","*=","**=","%=",">>=","<<=",">>>=","|=","^=","&=","&&","||"]),Sr=g(e("  \n\r\t\f\v​           \u2028\u2029   \ufeff")),kr=g(e("\n\r\u2028\u2029")),Dr=g(e(";]),:")),xr=g(e("[{(,;:")),Cr=g(e("[]{}(),;:")),Ar={ID_Start:/[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};function nt(e,t){var n=e.charAt(t);if(et(n)){var r=e.charAt(t+1);if(tt(r))return n+r}if(tt(n)){var i=e.charAt(t-1);if(et(i))return i+n}return n}function et(e){return"string"==typeof e&&(e=e.charCodeAt(0)),e>=55296&&e<=56319}function tt(e){return"string"==typeof e&&(e=e.charCodeAt(0)),e>=56320&&e<=57343}function it(e){return e>=48&&e<=57}function rt(e){return"string"==typeof e&&!dr(e)}function ot(e){var t=e.charCodeAt(0);return Ar.ID_Start.test(e)||36==t||95==t}function at(e){var t=e.charCodeAt(0);return Ar.ID_Continue.test(e)||36==t||95==t||8204==t||8205==t}function ut(e){return/^[a-z_$][a-z0-9_$]*$/i.test(e)}function st(e,t,n,r,i){this.message=e,this.filename=t,this.line=n,this.col=r,this.pos=i}function ct(e,t,n,r,i){throw new st(e,t,n,r,i)}function ft(e,t,n){return e.type==t&&(null==n||e.value==n)}st.prototype=Object.create(Error.prototype),st.prototype.constructor=st,st.prototype.name="SyntaxError",r(st);var Tr={};function pt(e,t,r,i){var l={text:e,filename:t,pos:0,tokpos:0,line:1,tokline:0,col:0,tokcol:0,newline_before:!1,regex_allowed:!1,brace_counter:0,template_braces:[],comments_before:[],directives:{},directive_stack:[]};function o(){return nt(l.text,l.pos)}function a(e,t){var n=nt(l.text,l.pos++);if(e&&!n)throw Tr;return kr(n)?(l.newline_before=l.newline_before||!t,++l.line,l.col=0,t||"\r"!=n||"\n"!=o()||(++l.pos,n="\n")):(n.length>1&&(++l.pos,++l.col),++l.col),n}function u(e){for(;e-- >0;)a()}function s(e){return l.text.substr(l.pos,e.length)==e}function c(e,t){var n=l.text.indexOf(e,l.pos);if(t&&-1==n)throw Tr;return n}function f(){l.tokline=l.line,l.tokcol=l.col,l.tokpos=l.pos}var p=!1,y=null;function h(n,r,i){l.regex_allowed="operator"==n&&!Or(r)||"keyword"==n&&hr(r)||"punc"==n&&xr(r)||"arrow"==n,"punc"==n&&"."==r?p=!0:i||(p=!1);var s={type:n,value:r,line:l.tokline,col:l.tokcol,pos:l.tokpos,endline:l.line,endcol:l.col,endpos:l.pos,nlb:l.newline_before,file:t};return/^(?:num|string|regexp)$/i.test(n)&&(s.raw=e.substring(s.pos,s.endpos)),i||(s.comments_before=l.comments_before,s.comments_after=l.comments_before=[]),l.newline_before=!1,s=new P(s),i||(y=s),s}function d(){for(;Sr(o());)a()}function m(e){ct(e,t,l.tokline,l.tokcol,l.tokpos)}function v(e){var t=!1,n=!1,r=!1,i="."==e,s=function(e){for(var t,n="",r=0;(t=o())&&e(t,r++);)n+=a();return n}(function(s,o){switch(s.charCodeAt(0)){case 98:case 66:return r=!0;case 111:case 79:case 120:case 88:return!r&&(r=!0);case 101:case 69:return!!r||!t&&(t=n=!0);case 45:return n||0==o&&!e;case 43:return n;case n=!1,46:return!(i||r||t)&&(i=!0)}return gr.test(s)});e&&(s=e+s),vr.test(s)&&B.has_directive("use strict")&&m("Legacy octal literals are not allowed in strict mode");var c=function(e){if(yr.test(e))return parseInt(e.substr(2),16);if(vr.test(e))return parseInt(e.substr(1),8);if(_r.test(e))return parseInt(e.substr(2),8);if(br.test(e))return parseInt(e.substr(2),2);if(Er.test(e))return parseFloat(e);var t=parseFloat(e);return t==e?t:void 0}(s);if(!isNaN(c))return h("num",c);m("Invalid syntax: "+s)}function D(e,t,n){var r,i=a(!0,e);switch(i.charCodeAt(0)){case 110:return"\n";case 114:return"\r";case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 120:return String.fromCharCode(g(2,t));case 117:if("{"==o()){for(a(!0),"}"===o()&&m("Expecting hex-character between {}");"0"==o();)a(!0);var s,u=c("}",!0)-l.pos;return(u>6||(s=g(u,t))>1114111)&&m("Unicode reference out of bounds"),a(!0),(r=s)>65535?(r-=65536,String.fromCharCode(55296+(r>>10))+String.fromCharCode(r%1024+56320)):String.fromCharCode(r)}return String.fromCharCode(g(4,t));case 10:return"";case 13:if("\n"==o())return a(!0,e),""}return i>="0"&&i<="7"?(n&&t&&m("Octal escape sequences are not allowed in template strings"),function(e,t){var n=o();n>="0"&&n<="7"&&(e+=a(!0))[0]<="3"&&(n=o())>="0"&&n<="7"&&(e+=a(!0));if("0"===e)return"\0";e.length>0&&B.has_directive("use strict")&&t&&m("Legacy octal escape sequences are not allowed in strict mode");return String.fromCharCode(parseInt(e,8))}(i,t)):i}function g(e,t){for(var n=0;e>0;--e){if(!t&&isNaN(parseInt(o(),16)))return parseInt(n,16)||"";var r=a(!0);isNaN(parseInt(r,16))&&m("Invalid hex-character pattern in string"),n+=r}return parseInt(n,16)}var _=k("Unterminated string constant",function(e){for(var t=a(),n="";;){var r=a(!0,!0);if("\\"==r)r=D(!0,!0);else if(kr(r))m("Unterminated string constant");else if(r==t)break;n+=r}var i=h("string",n);return i.quote=e,i}),E=k("Unterminated template",function(e){e&&l.template_braces.push(l.brace_counter);var t,n,r="",i="";for(a(!0,!0);"`"!=(t=a(!0,!0));){if("\r"==t)"\n"==o()&&++l.pos,t="\n";else if("$"==t&&"{"==o())return a(!0,!0),l.brace_counter++,(n=h(e?"template_head":"template_substitution",r)).begin=e,n.raw=i,n.end=!1,n;if(i+=t,"\\"==t){var s=l.pos;t=D(!0,!("name"===y.type||"punc"===y.type&&(")"===y.value||"]"===y.value)),!0),i+=l.text.substr(s,l.pos-s)}r+=t}return l.template_braces.pop(),(n=h(e?"template_head":"template_substitution",r)).begin=e,n.raw=i,n.end=!0,n});function b(e){var t,n=l.regex_allowed,r=function(){for(var e=l.text,t=l.pos,n=l.text.length;t=0,l.regex_allowed=e,B}),S=k("Unterminated identifier name",function(){var e,t="",n=!1,r=function(){return n=!0,a(),"u"!==o()&&m("Expecting UnicodeEscapeSequence -- uXXXX or u{XXXX}"),D(!1,!0)};if("\\"===(t=o()))ot(t=r())||m("First identifier char is an invalid identifier char");else{if(!ot(t))return"";a()}for(;null!=(e=o());){if("\\"===(e=o()))at(e=r())||m("Invalid escaped identifier char");else{if(!at(e))break;a()}t+=e}return dr(t)&&n&&m("Escaped characters are not allowed in keywords"),t}),C=k("Unterminated regular expression",function(e){for(var t,n=!1,r=!1;t=a(!0);)if(kr(t))m("Unexpected line terminator");else if(n)e+="\\"+t,n=!1;else if("["==t)r=!0,e+=t;else if("]"==t&&r)r=!1,e+=t;else{if("/"==t&&!r)break;"\\"==t?n=!0:e+=t}var i=S();try{var s=new RegExp(e,i);return s.raw_source="/"+e+"/"+i,h("regexp",s)}catch(e){m(e.message)}});function A(e){return h("operator",function n(e){if(!o())return e;var t=e+o();return wr(t)?(a(),n(t)):e}(e||a()))}function x(){switch(a(),o()){case"/":return a(),b("comment1");case"*":return a(),w()}return l.regex_allowed?C(""):A("/")}function k(e,t){return function(n){try{return t(n)}catch(t){if(t!==Tr)throw t;m(e)}}}function B(e){if(null!=e)return C(e);for(i&&0==l.pos&&s("#!")&&(f(),u(2),b("comment5"));;){if(d(),f(),r){if(s("\x3c!--")){u(4),b("comment3");continue}if(s("--\x3e")&&l.newline_before){u(3),b("comment4");continue}}var t=o();if(!t)return h("eof");var n=t.charCodeAt(0);switch(n){case 34:case 39:return _(t);case 46:return a(),it(o().charCodeAt(0))?v("."):"."===o()?(a(),a(),h("expand","...")):h("punc",".");case 47:var c=x();if(c===B)continue;return c;case 61:return a(),">"===o()?(a(),h("arrow","=>")):A("=");case 96:return E(!0);case 123:l.brace_counter++;break;case 125:if(l.brace_counter--,l.template_braces.length>0&&l.template_braces[l.template_braces.length-1]===l.brace_counter)return E(!1)}if(it(n))return v();if(Cr(t))return h("punc",a());if(mr(t))return A();if(92==n||ot(t))return g=void 0,g=S(),p?h("name",g):pr(g)?h("atom",g):fr(g)?wr(g)?h("operator",g):h("keyword",g):h("name",g);break}var g;m("Unexpected character '"+t+"'")}return B.next=a,B.peek=o,B.context=function(e){return e&&(l=e),l},B.add_directive=function(e){l.directive_stack[l.directive_stack.length-1].push(e),void 0===l.directives[e]?l.directives[e]=1:l.directives[e]++},B.push_directives_stack=function(){l.directive_stack.push([])},B.pop_directives_stack=function(){for(var e=l.directive_stack[l.directive_stack.length-1],t=0;t0},B}var Mr=g(["typeof","void","delete","--","++","!","~","-","+"]),Or=g(["--","++"]),Fr=g(["=","+=","-=","/=","*=","**=","%=",">>=","<<=",">>>=","|=","^=","&="]),Ir=function(e,t){for(var n=0;n","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]],{}),Rr=g(["atom","num","string","regexp","name"]);function gt(t,n){n=a(n,{bare_returns:!1,ecma:8,expression:!1,filename:null,html5_comments:!0,module:!1,shebang:!0,strict:!1,toplevel:null},!0);var k={input:"string"==typeof t?pt(t,n.filename,n.html5_comments,n.shebang):t,token:null,prev:null,peeked:null,in_function:0,in_async:-1,in_generator:-1,in_directives:!0,in_loop:0,labels:[]};function r(e,t){return ft(k.token,e,t)}function o(){return k.peeked||(k.peeked=k.input())}function u(){return k.prev=k.token,k.peeked||o(),k.token=k.peeked,k.peeked=null,k.in_directives=k.in_directives&&("string"==k.token.type||r("punc",";")),k.token}function s(){return k.prev}function c(e,t,n,r){var i=k.input.context();ct(e,i.filename,null!=t?t:i.tokline,null!=n?n:i.tokcol,null!=r?r:i.tokpos)}function f(e,t){c(t,e.line,e.col)}function l(e){null==e&&(e=k.token),f(e,"Unexpected token: "+e.type+" ("+e.value+")")}function p(e,t){if(r(e,t))return u();f(k.token,"Unexpected token "+k.token.type+" «"+k.token.value+"», expected "+e+" «"+t+"»")}function h(e){return p("punc",e)}function d(e){return e.nlb||!_(e.comments_before,function(e){return!e.nlb})}function m(){return!n.strict&&(r("eof")||r("punc","}")||d(k.token))}function v(){return k.in_generator===k.in_function}function D(){return k.in_async===k.in_function}function g(e){r("punc",";")?u():e||m()||l()}function y(){h("(");var e=Q(!0);return h(")"),e}function E(e){return function(){var t=k.token,n=e.apply(null,arguments),r=s();return n.start=t,n.end=r,n}}function w(){(r("operator","/")||r("operator","/="))&&(k.peeked=null,k.token=k.input(k.token.value.substr(1)))}k.token=u();var A=E(function(e,t,a){switch(w(),k.token.type){case"string":if(k.in_directives){var v=o();-1==k.token.raw.indexOf("\\")&&(ft(v,"punc",";")||ft(v,"punc","}")||d(v)||ft(v,"eof"))?k.input.add_directive(k.token.value):k.in_directives=!1}var _=k.in_directives,b=C();return _&&b.body instanceof Jn?new X(b.body):b;case"template_head":case"num":case"regexp":case"operator":case"atom":return C();case"name":if("async"==k.token.value&&ft(o(),"keyword","function"))return u(),u(),t&&c("functions are not allowed as the body of a loop"),M(xe,!1,!0,e);if("import"==k.token.value&&!ft(o(),"punc","(")){u();var E=function(){var e,t,n=s();r("name")&&(e=Le(Bn));r("punc",",")&&u();((t=Pe(!0))||e)&&p("name","from");var i=k.token;"string"!==i.type&&l();return u(),new Lt({start:n,imported_name:e,imported_names:t,module_name:new Jn({start:i,value:i.value,quote:i.quote,end:i}),end:k.token})}();return g(),E}return ft(o(),"punc",":")?function(){var e=Le(Un);"await"===e.name&&D()&&f(k.prev,"await cannot be used as label inside async function");i(function(t){return t.name==e.name},k.labels)&&c("Label "+e.name+" defined twice");h(":"),k.labels.push(e);var t=A();k.labels.pop(),t instanceof ae||e.references.forEach(function(t){t instanceof $e&&(t=t.label.start,c("Continue label `"+e.name+"` refers to non-IterationStatement.",t.line,t.col,t.pos))});return new oe({body:t,label:e})}():C();case"punc":switch(k.token.value){case"{":return new ne({start:k.token,body:on(),end:s()});case"[":case"(":return C();case";":return k.in_directives=!1,u(),new re;default:l()}case"keyword":switch(k.token.value){case"break":return u(),x(Xe);case"continue":return u(),x($e);case"debugger":return u(),g(),new K;case"do":u();var T=it(A);p("keyword","while");var R=y();return g(!0),new ue({body:T,condition:R});case"while":return u(),new le({condition:y(),body:it(function(){return A(!1,!0)})});case"for":return u(),function(){var e="`for await` invalid in this context",t=k.token;"name"==t.type&&"await"==t.value?(D()||f(t,e),u()):t=!1;h("(");var n=null;if(r("punc",";"))t&&f(t,e);else{n=r("keyword","var")?(u(),O(!0)):r("keyword","let")?(u(),F(!0)):r("keyword","const")?(u(),I(!0)):Q(!0,!0);var i=r("operator","in"),s=r("name","of");if(t&&!s&&f(t,e),i||s)return n instanceof Ct?n.definitions.length>1&&f(n.start,"Only one variable declaration allowed in for..in loop"):Ge(n)||(n=nt(n))instanceof Ce||f(n.start,"Invalid left-hand side in for..in loop"),u(),i?function(e){var t=Q(!0);return h(")"),new pe({init:e,object:t,body:it(function(){return A(!1,!0)})})}(n):function(e,t){var n=e instanceof Ct?e.definitions[0].name:null,r=Q(!0);return h(")"),new de({await:t,init:e,name:n,object:r,body:it(function(){return A(!1,!0)})})}(n,!!t)}return function(e){h(";");var t=r("punc",";")?null:Q(!0);h(";");var n=r("punc",")")?null:Q(!0);return h(")"),new fe({init:e,condition:t,step:n,body:it(function(){return A(!1,!0)})})}(n)}();case"class":return u(),t&&c("classes are not allowed as the body of a loop"),a&&c("classes are not allowed as the body of an if"),Te(En);case"function":return u(),t&&c("functions are not allowed as the body of a loop"),M(xe,!1,!1,e);case"if":return u(),function(){var e=y(),t=A(!1,!1,!0),n=null;r("keyword","else")&&(u(),n=A(!1,!1,!0));return new lt({condition:e,body:t,alternative:n})}();case"return":0!=k.in_function||n.bare_returns||c("'return' outside of function"),u();var P=null;return r("punc",";")?u():m()||(P=Q(!0),g()),new Ve({value:P});case"switch":return u(),new dt({expression:y(),body:it(an)});case"throw":u(),d(k.token)&&c("Illegal newline after 'throw'");P=Q(!0);return g(),new qe({value:P});case"try":return u(),function(){var e=on(),t=null,n=null;if(r("keyword","catch")){var i=k.token;if(u(),r("punc","{"))var o=null;else{h("(");var o=S(void 0,Ln);h(")")}t=new Et({start:i,argname:o,body:on(),end:s()})}if(r("keyword","finally")){var i=k.token;u(),n=new Dt({start:i,body:on(),end:s()})}t||n||c("Missing catch/finally blocks");return new bt({body:e,bcatch:t,bfinally:n})}();case"var":u();E=O();return g(),E;case"let":u();E=F();return g(),E;case"const":u();E=I();return g(),E;case"with":return k.input.has_directive("use strict")&&c("Strict mode may not include a with statement"),u(),new he({expression:y(),body:A()});case"export":if(!ft(o(),"punc","(")){u();E=function(){var e,t,n,i,a,c=k.token;if(r("keyword","default"))e=!0,u();else if(t=Pe(!1)){if(r("name","from")){u();var f=k.token;return"string"!==f.type&&l(),u(),new Bt({start:c,is_default:e,exported_names:t,module_name:new Jn({start:f,value:f.value,quote:f.quote,end:f}),end:s()})}return new Bt({start:c,is_default:e,exported_names:t,end:s()})}r("punc","{")||e&&(r("keyword","class")||r("keyword","function"))&&ft(o(),"punc")?(i=Q(!1),g()):(n=A(e))instanceof Ct&&e?l(n.start):n instanceof Ct||n instanceof be||n instanceof En?a=n:n instanceof J?i=n.body:l(n.start);return new Bt({start:c,is_default:e,exported_value:i,exported_definition:a,end:s()})}();return r("punc",";")&&g(),E}}}l()});function C(e){return new J({body:(e=Q(!0),g(),e)})}function x(e){var t,n=null;m()||(n=Le(Gn,!0)),null!=n?((t=i(function(e){return e.name==n.name},k.labels))||c("Undefined label "+n.name),n.thedef=t):0==k.in_loop&&c(e.TYPE+" not inside a loop or switch"),g();var r=new e({label:n});return t&&t.references.push(r),r}var T=function(e,t,n){d(k.token)&&c("Unexpected newline before arrow (=>)"),p("arrow","=>");var i=V(r("punc","{"),!1,n),s=i instanceof Array&&i.length?i[i.length-1].end:i instanceof Array?e:i.end;return new ke({start:e,end:s,async:n,argnames:t,body:i})},M=function(e,t,n,i){k.token;var o=e===xe,a=r("operator","*");a&&u();var c=r("name")?Le(o?On:Rn):null;o&&!c&&(i?e=we:l()),!c||e===Ee||c instanceof Dn||l(s());var f=[],p=V(!0,a||t,n,c,f);return new e({start:f.start,end:p.end,is_generator:a,async:n,name:c,argnames:f,body:p})};function z(e,t){var n={},r=!1,i=!1,s=!1,o=!!t,a={add_parameter:function(t){if(void 0!==n["$"+t.value])!1===r&&(r=t),a.check_strict();else if(n["$"+t.value]=!0,e)switch(t.value){case"arguments":case"eval":case"yield":o&&f(t,"Unexpected "+t.value+" identifier as parameter inside strict mode");break;default:dr(t.value)&&l()}},mark_default_assignment:function(e){!1===i&&(i=e)},mark_spread:function(e){!1===s&&(s=e)},mark_strict_mode:function(){o=!0},is_strict:function(){return!1!==i||!1!==s||o},check_strict:function(){a.is_strict()&&!1!==r&&f(r,"Parameter "+r.value+" was used already")}};return a}function S(e,t){var n,i=!1;return void 0===e&&(e=z(!0,k.input.has_directive("use strict"))),r("expand","...")&&(i=k.token,e.mark_spread(k.token),u()),n=H(e,t),r("operator","=")&&!1===i&&(e.mark_default_assignment(k.token),u(),n=new Zt({start:n.start,left:n,operator:"=",right:Q(!1),end:k.token})),!1!==i&&(r("punc",")")||l(),n=new ye({start:i,expression:n,end:i})),e.check_strict(),n}function H(e,t){var n,i=[],a=!0,f=!1,p=k.token;if(void 0===e&&(e=z(!1,k.input.has_directive("use strict"))),t=void 0===t?Mn:t,r("punc","[")){for(u();!r("punc","]");){if(a?a=!1:h(","),r("expand","...")&&(f=!0,n=k.token,e.mark_spread(k.token),u()),r("punc"))switch(k.token.value){case",":i.push(new ir({start:k.token,end:k.token}));continue;case"]":break;case"[":case"{":i.push(H(e,t));break;default:l()}else r("name")?(e.add_parameter(k.token),i.push(Le(t))):c("Invalid function parameter");r("operator","=")&&!1===f&&(e.mark_default_assignment(k.token),u(),i[i.length-1]=new Zt({start:i[i.length-1].start,left:i[i.length-1],operator:"=",right:Q(!1),end:k.token})),f&&(r("punc","]")||c("Rest element must be last element"),i[i.length-1]=new ye({start:n,expression:i[i.length-1],end:n}))}return h("]"),e.check_strict(),new Ce({start:p,names:i,is_array:!0,end:s()})}if(r("punc","{")){for(u();!r("punc","}");){if(a?a=!1:h(","),r("expand","...")&&(f=!0,n=k.token,e.mark_spread(k.token),u()),r("name")&&(ft(o(),"punc")||ft(o(),"operator"))&&-1!==[",","}","="].indexOf(o().value)){e.add_parameter(k.token);var d=s(),m=Le(t);f?i.push(new ye({start:n,expression:m,end:m.end})):i.push(new mn({start:d,key:m.name,value:m,end:m.end}))}else{if(r("punc","}"))continue;var g=k.token,y=Re();null===y?l(s()):"name"!==s().type||r("punc",":")?(h(":"),i.push(new mn({start:g,quote:g.quote,key:y,value:H(e,t),end:s()}))):i.push(new mn({start:s(),key:y,value:new t({start:s(),name:y,end:s()}),end:s()}))}f?r("punc","}")||c("Rest element must be last element"):r("operator","=")&&(e.mark_default_assignment(k.token),u(),i[i.length-1].value=new Zt({start:i[i.length-1].value.start,left:i[i.length-1].value,operator:"=",right:Q(!1),end:k.token}))}return h("}"),e.check_strict(),new Ce({start:p,names:i,is_array:!1,end:s()})}if(r("name"))return e.add_parameter(k.token),Le(t);c("Invalid function parameter")}function V(e,t,i,s,o){var a=k.in_loop,c=k.labels,f=k.in_generator,p=k.in_async;if(++k.in_function,t&&(k.in_generator=k.in_function),i&&(k.in_async=k.in_function),o&&function(e){k.token;var t=z(!0,k.input.has_directive("use strict"));for(h("(");!r("punc",")");){var i=S(t);if(e.push(i),r("punc",")")||(h(","),r("punc",")")&&n.ecma<8&&l()),i instanceof ye)break}u()}(o),e&&(k.in_directives=!0),k.in_loop=0,k.labels=[],e){k.input.push_directives_stack();var d=on();s&&Ue(s),o&&o.forEach(Ue),k.input.pop_directives_stack()}else d=Q(!1);return--k.in_function,k.in_loop=a,k.labels=c,k.in_generator=f,k.in_async=p,d}function on(){h("{");for(var e=[];!r("punc","}");)r("eof")&&l(),e.push(A());return u(),e}function an(){h("{");for(var e,t=[],n=null,i=null;!r("punc","}");)r("eof")&&l(),r("keyword","case")?(i&&(i.end=s()),n=[],i=new vt({start:(e=k.token,u(),e),expression:Q(!0),body:n}),t.push(i),h(":")):r("keyword","default")?(i&&(i.end=s()),n=[],i=new mt({start:(e=k.token,u(),h(":"),e),body:n}),t.push(i)):(n||l(),n.push(A()));return i&&(i.end=s()),u(),t}function cn(e,t){for(var n,i=[];;){var o="var"===t?xn:"const"===t?An:"let"===t?Tn:null;if(r("punc","{")||r("punc","[")?n=new jt({start:k.token,name:H(void 0,o),value:r("operator","=")?(p("operator","="),Q(!1,e)):null,end:s()}):"import"==(n=new jt({start:k.token,name:Le(o),value:r("operator","=")?(u(),Q(!1,e)):e||"const"!==t?null:c("Missing initializer in const declaration"),end:s()})).name.name&&c("Unexpected token: import"),i.push(n),!r("punc",","))break;u()}return i}var O=function(e){return new Ft({start:s(),definitions:cn(e,"var"),end:s()})},F=function(e){return new Rt({start:s(),definitions:cn(e,"let"),end:s()})},I=function(e){return new Pt({start:s(),definitions:cn(e,"const"),end:s()})};function Qn(){var e,t=k.token;switch(t.type){case"name":e=je(zn);break;case"num":e=new Zn({start:t,end:t,value:t.value});break;case"string":e=new Jn({start:t,end:t,value:t.value,quote:t.quote});break;case"regexp":e=new $n({start:t,end:t,value:t.value});break;case"atom":switch(t.value){case"false":e=new ar({start:t,end:t});break;case"true":e=new cr({start:t,end:t});break;case"null":e=new tr({start:t,end:t})}}return u(),e}function ee(e,t,n,r){var i=function(e,t){return t?new Zt({start:e.start,left:e,operator:"=",right:t,end:t.end}):e};return e instanceof pn?i(new Ce({start:e.start,end:e.end,is_array:!1,names:e.properties.map(ee)}),r):e instanceof mn?(e.value=ee(e.value,0,[e.key]),i(e,r)):e instanceof ir?e:e instanceof Ce?(e.names=e.names.map(ee),i(e,r)):e instanceof zn?i(new Mn({name:e.name,start:e.start,end:e.end}),r):e instanceof ye?(e.expression=ee(e.expression),i(e,r)):e instanceof nn?i(new Ce({start:e.start,end:e.end,is_array:!0,names:e.elements.map(ee)}),r):e instanceof Qt?i(ee(e.left,void 0,void 0,e.right),r):e instanceof Zt?(e.left=ee(e.left,0,[e.left]),e):void c("Invalid function parameter",e.start.line,e.start.col)}var R=function(e,t){if(r("operator","new"))return function(e){var t=k.token;if(p("operator","new"),r("punc","."))return u(),p("name","target"),B(new kn({start:t,end:s()}),e);var i,o=R(!1);r("punc","(")?(u(),i=Ae(")",n.ecma>=8)):i=[];var a=new zt({start:t,expression:o,args:i,end:s()});return Ye(a),B(a,e)}(e);var i,a=k.token,c=r("name","async")&&"["!=(i=o()).value&&"arrow"!=i.type&&Qn();if(r("punc")){switch(k.token.value){case"(":if(c&&!e)break;var f=function(e,t){var i,o,a,c=[];for(h("(");!r("punc",")");)i&&l(i),r("expand","...")?(i=k.token,t&&(o=k.token),u(),c.push(new ye({start:s(),expression:Q(),end:k.token}))):c.push(Q()),r("punc",")")||(h(","),r("punc",")")&&(n.ecma<8&&l(),a=s(),t&&(o=a)));return h(")"),e&&r("arrow","=>")?i&&a&&l(a):o&&l(o),c}(t,!c);if(t&&r("arrow","=>"))return T(a,f.map(ee),!!c);var d=c?new Ut({expression:c,args:f}):1==f.length?f[0]:new Ht({expressions:f});if(d.start){var m=a.comments_before.length;if([].unshift.apply(d.start.comments_before,a.comments_before),a.comments_before=d.start.comments_before,a.comments_before_length=m,0==m&&a.comments_before.length>0){var g=a.comments_before[0];g.nlb||(g.nlb=a.nlb,a.nlb=!1)}a.comments_after=d.start.comments_after}d.start=a;var y=s();return d.end&&(y.comments_before=d.end.comments_before,[].push.apply(d.end.comments_after,y.comments_after),y.comments_after=d.end.comments_after),d.end=y,d instanceof Ut&&Ye(d),B(d,e);case"[":return B(P(),e);case"{":return B(L(),e)}c||l()}if(t&&r("name")&&ft(o(),"arrow")){var v=new Mn({name:k.token.value,start:a,end:a});return u(),T(a,[v],!!c)}if(r("keyword","function")){u();var _=M(we,!1,!!c);return _.start=a,_.end=s(),B(_,e)}if(c)return B(c,e);if(r("keyword","class")){u();var b=Te(wn);return b.start=a,b.end=s(),B(b,e)}return r("template_head")?B(Fe(!1),e):Rr(k.token.type)?B(Qn(),e):void l()};function Fe(e){var t=[],n=k.token;for(t.push(new Ne({start:k.token,raw:k.token.raw,value:k.token.value,end:k.token}));!1===k.token.end;)u(),w(),t.push(Q(!0)),ft("template_substitution")||l(),t.push(new Ne({start:k.token,raw:k.token.raw,value:k.token.value,end:k.token}));return u(),new Oe({start:n,segments:t,end:k.token})}function Ae(e,t,n){for(var i=!0,o=[];!r("punc",e)&&(i?i=!1:h(","),!t||!r("punc",e));)r("punc",",")&&n?o.push(new ir({start:k.token,end:k.token})):r("expand","...")?(u(),o.push(new ye({start:s(),expression:Q(),end:k.token}))):o.push(Q(!1));return u(),o}var P=E(function(){return h("["),new nn({elements:Ae("]",!n.strict,!0)})}),N=E(function(e,t){return M(Ee,e,t)}),L=E(function(){var e=k.token,t=!0,i=[];for(h("{");!r("punc","}")&&(t?t=!1:h(","),n.strict||!r("punc","}"));)if("expand"!=(e=k.token).type){var o,a=Re();if(r("punc",":"))null===a?l(s()):(u(),o=Q(!1));else{var c=Se(a,e);if(c){i.push(c);continue}o=new zn({start:s(),name:a,end:s()})}r("operator","=")&&(u(),o=new Qt({start:e,left:o,operator:"=",right:Q(!1),end:s()})),i.push(new mn({start:e,quote:e.quote,key:a instanceof q?a:""+a,value:o,end:s()}))}else u(),i.push(new ye({start:e,expression:Q(!1),end:s()}));return u(),new pn({properties:i})});function Te(e){var t,n,i,o,a=[];for(k.input.push_directives_stack(),k.input.add_directive("use strict"),"name"==k.token.type&&"extends"!=k.token.value&&(i=Le(e===En?Pn:Nn)),e!==En||i||l(),"extends"==k.token.value&&(u(),o=Q(!0)),h("{"),r("punc",";")&&u();!r("punc","}");)t=k.token,(n=Se(Re(),t,!0))||l(),a.push(n),r("punc",";")&&u();return k.input.pop_directives_stack(),u(),new e({start:t,name:i,extends:o,properties:a,end:s()})}function Se(e,t,n){var i=function(e,t){return"string"==typeof e||"number"==typeof e?new In({start:t,name:""+e,end:s()}):(null===e&&l(),e)},o=!1,a=!1,c=!1,u=t;if(n&&"static"===e&&!r("punc","(")&&(a=!0,u=k.token,e=Re()),"async"!==e||r("punc","(")||r("punc",",")||r("punc","}")||(o=!0,u=k.token,e=Re()),null===e&&(c=!0,u=k.token,null===(e=Re())&&l()),r("punc","("))return e=i(e,t),new _n({start:t,static:a,is_generator:c,async:o,key:e,quote:e instanceof In?u.quote:void 0,value:N(c,o),end:s()});if(u=k.token,"get"==e){if(!r("punc")||r("punc","["))return e=i(Re(),t),new vn({start:t,static:a,key:e,quote:e instanceof In?u.quote:void 0,value:N(),end:s()})}else if("set"==e&&(!r("punc")||r("punc","[")))return e=i(Re(),t),new yn({start:t,static:a,key:e,quote:e instanceof In?u.quote:void 0,value:N(),end:s()})}function Ie(t){function e(e){return new e({name:Re(),start:s(),end:s()})}var n,i,o=t?jn:Vn,a=t?Bn:Hn,c=k.token;return t?n=e(o):i=e(a),r("name","as")?(u(),t?i=e(a):n=e(o)):t?i=new a(n):n=new o(i),new Nt({start:c,foreign_name:n,name:i,end:s()})}function He(e,t){var n,r=e?jn:Vn,i=e?Bn:Hn,o=k.token,a=s();return t=t||new i({name:"*",start:o,end:a}),n=new r({name:"*",start:o,end:a}),new Nt({start:o,foreign_name:n,name:t,end:a})}function Pe(e){var t;if(r("punc","{")){for(u(),t=[];!r("punc","}");)t.push(Ie(e)),r("punc",",")&&u();u()}else if(r("operator","*")){var n;u(),e&&r("name","as")&&(u(),n=Le(e?Bn:Vn)),t=[He(e,n)]}return t}function Re(){var e=k.token;switch(e.type){case"punc":if("["===e.value){u();var t=Q(!1);return h("]"),t}l(e);case"operator":if("*"===e.value)return u(),null;-1===["delete","in","instanceof","new","typeof","void"].indexOf(e.value)&&l(e);case"name":"yield"==e.value&&(v()?f(e,"Yield cannot be used as identifier inside generators"):ft(o(),"punc",":")||ft(o(),"punc","(")||!k.input.has_directive("use strict")||f(e,"Unexpected yield identifier inside strict mode"));case"string":case"num":case"keyword":case"atom":return u(),e.value;default:l(e)}}function je(e){var t=k.token.value;return new("this"==t?qn:"super"==t?Wn:e)({name:String(t),start:k.token,end:k.token})}function Ue(e){var t=e.name;v()&&"yield"==t&&f(e.start,"Yield cannot be used as identifier inside generators"),k.input.has_directive("use strict")&&("yield"==t&&f(e.start,"Unexpected yield identifier inside strict mode"),e instanceof Dn&&("arguments"==t||"eval"==t)&&f(e.start,"Unexpected "+t+" in strict mode"))}function Le(e,t){if(!r("name"))return t||c("Name expected"),null;var n=je(e);return Ue(n),u(),n}function Ye(e){for(var t=e.start,n=t.comments_before,r=b(t,"comments_before_length")?t.comments_before_length:n.length;--r>=0;){var i=n[r];if(/[@#]__PURE__/.test(i.value)){e.pure=i;break}}}var B=function(e,t){var n,i=e.start;if(r("punc","."))return u(),B(new Gt({start:i,expression:e,property:(n=k.token,"name"!=n.type&&l(),u(),n.value),end:s()}),t);if(r("punc","[")){u();var o=Q(!0);return h("]"),B(new qt({start:i,expression:e,property:o,end:s()}),t)}if(t&&r("punc","(")){u();var a=new Ut({start:i,expression:e,args:j(),end:s()});return Ye(a),B(a,!0)}return r("template_head")?B(new Me({start:i,prefix:e,template_string:Fe(),end:s()}),t):e},j=E(function(){for(var e=[];!r("punc",")");)r("expand","...")?(u(),e.push(new ye({start:s(),expression:Q(!1),end:s()}))):e.push(Q(!1)),r("punc",")")||(h(","),r("punc",")")&&n.ecma<8&&l());return u(),e}),U=function(e,t){var n=k.token;if("name"==n.type&&"await"==n.value){if(D())return u(),D()||c("Unexpected await expression outside async function",k.prev.line,k.prev.col,k.prev.pos),new ur({start:s(),end:k.token,expression:U(!0)});k.input.has_directive("use strict")&&f(k.token,"Unexpected await identifier inside strict mode")}if(r("operator")&&Mr(n.value)){u(),w();var i=Je(Kt,n,U(e));return i.start=n,i.end=s(),i}for(var o=R(e,t);r("operator")&&Or(k.token.value)&&!d(k.token);)o instanceof ke&&l(),(o=Je(Xt,k.token,o)).start=n,o.end=k.token,u();return o};function Je(e,t,n){var r=t.value;switch(r){case"++":case"--":Ge(n)||c("Invalid use of "+r+" operator",t.line,t.col,t.pos);break;case"delete":n instanceof zn&&k.input.has_directive("use strict")&&c("Calling delete on expression not allowed in strict mode",n.start.line,n.start.col,n.start.pos)}return new e({operator:r,expression:n})}var G=function(e,t,n){var i=r("operator")?k.token.value:null;"in"==i&&n&&(i=null),"**"==i&&e instanceof Kt&&!ft(e.start,"punc","(")&&"--"!==e.operator&&"++"!==e.operator&&l(e.start);var s=null!=i?Ir[i]:null;if(null!=s&&(s>t||"**"===i&&t===s)){u();var o=G(U(!0),s,n);return G(new Jt({start:e.start,left:e,operator:i,right:o,end:o.end}),t,n)}return e};var W=function(e){var t=k.token,n=function(e){return G(U(!0,!0),0,e)}(e);if(r("operator","?")){u();var i=Q(!1);return h(":"),new Yt({start:t,condition:n,consequent:i,alternative:Q(!1,e),end:s()})}return n};function Ge(e){return e instanceof Vt||e instanceof zn}function nt(e){if(e instanceof pn)e=new Ce({start:e.start,names:e.properties.map(nt),is_array:!1,end:e.end});else if(e instanceof nn){for(var t=[],n=0;n=0;){var o=r[s];if(i==(o.mangled_name||o.unmangleable(n)&&o.name))continue e}return i}}}yt.prototype={unmangleable:function(e){return e||(e={}),this.global&&!e.toplevel||this.export&Pr||this.undeclared||!e.eval&&this.scope.pinned()||(this.orig[0]instanceof Rn||this.orig[0]instanceof On)&&w(e.keep_fnames,this.orig[0].name)||this.orig[0]instanceof In||(this.orig[0]instanceof Nn||this.orig[0]instanceof Pn)&&w(e.keep_classnames,this.orig[0].name)},mangle:function(e){var t=e.cache&&e.cache.props;if(this.global&&t&&t.has(this.name))this.mangled_name=t.get(this.name);else if(!this.mangled_name&&!this.unmangleable(e)){var n,r=this.scope,i=this.orig[0];e.ie8&&i instanceof Rn&&(r=r.parent_scope),(n=this.redefined())?this.mangled_name=n.mangled_name||n.name:this.mangled_name=r.next_mangled(e,this),this.global&&t&&t.set(this.name,this.mangled_name)}},redefined:function(){return this.defun&&this.defun.variables.get(this.name)}},ge.DEFMETHOD("figure_out_scope",function(e){e=a(e,{cache:null,ie8:!1,safari10:!1});var t=this,n=t.parent_scope=null,r=new y,i=null,s=null,o=[],c=new Te(function(t,a){if(t.is_block_scope()){var u=n;return t.block_scope=n=new me(t),n.init_scope_vars(u),t instanceof me||(n.uses_with=u.uses_with,n.uses_eval=u.uses_eval,n.directives=u.directives),e.safari10&&(t instanceof fe||t instanceof pe)&&o.push(n),a(),n=u,!0}if(t instanceof Ce)return s=t,a(),s=null,!0;if(t instanceof me){t.init_scope_vars(n);u=n;var l=i,f=r;return i=n=t,r=new y,a(),n=u,i=l,r=f,!0}if(t instanceof oe){var p=t.label;if(r.has(p.name))throw new Error(m("Label {name} defined twice",p));return r.set(p.name,p),a(),r.del(p.name),!0}if(t instanceof he)for(var d=n;d;d=d.parent_scope)d.uses_with=!0;else{if(t instanceof Sn&&(t.scope=n),t instanceof Un&&(t.thedef=t,t.references=[]),t instanceof Rn)i.def_function(t,"arguments"==t.name?void 0:i);else if(t instanceof On)D((t.scope=i.parent_scope.get_defun_scope()).def_function(t,i),1);else if(t instanceof Nn)D(i.def_variable(t,i),1);else if(t instanceof Bn)n.def_variable(t);else if(t instanceof Pn)D((t.scope=i.parent_scope).def_function(t,i),1);else if(t instanceof xn||t instanceof Tn||t instanceof An){if(_((h=t instanceof Cn?n.def_variable(t,null):i.def_variable(t,"SymbolVar"==t.TYPE?null:void 0)).orig,function(e){return e===t||(t instanceof Cn?e instanceof Rn:!(e instanceof Tn||e instanceof An))})||ct(t.name+" redeclared",t.start.file,t.start.line,t.start.col,t.start.pos),t instanceof Mn||D(h,2),h.destructuring=s,i!==n){t.mark_enclosed(e);var h=n.find_variable(t);t.thedef!==h&&(t.thedef=h,t.reference(e))}}else if(t instanceof Ln)n.def_variable(t).defun=i;else if(t instanceof Gn){var g=r.get(t.name);if(!g)throw new Error(m("Undefined label {name} [{line},{col}]",{name:t.name,line:t.start.line,col:t.start.col}));t.thedef=g}n instanceof ge||!(t instanceof Bt||t instanceof Lt)||ct(t.TYPE+" statement may only appear at top level",t.start.file,t.start.line,t.start.col,t.start.pos)}function D(e,t){if(s){var n=0;do{t++}while(c.parent(n++)!==s)}var r=c.parent(t);if(e.export=r instanceof Bt&&Pr){var i=r.exported_definition;(i instanceof xe||i instanceof En)&&r.is_default&&(e.export=Nr)}}});t.walk(c),t.globals=new y;c=new Te(function(n,r){if(n instanceof Ke&&n.label)return n.label.thedef.references.push(n),!0;if(n instanceof zn){var i,s=n.name;if("eval"==s&&c.parent()instanceof Ut)for(var o=n.scope;o&&!o.uses_eval;o=o.parent_scope)o.uses_eval=!0;return c.parent()instanceof Nt&&c.parent(1).module_name||!(i=n.scope.find_variable(s))?(i=t.def_global(n),n instanceof Hn&&(i.export=Pr)):i.scope instanceof be&&"arguments"==s&&(i.scope.uses_arguments=!0),n.thedef=i,n.reference(e),!n.scope.is_block_scope()||i.orig[0]instanceof Cn||(n.scope=n.scope.get_defun_scope()),!0}var a;if(n instanceof Ln&&(a=n.definition().redefined()))for(o=n.scope;o&&(d(o.enclosed,a),o!==a.scope);)o=o.parent_scope});if(t.walk(c),(e.ie8||e.safari10)&&t.walk(new Te(function(n,r){if(n instanceof Ln){var i=n.name,s=n.thedef.references,o=n.thedef.defun,a=o.find_variable(i)||t.globals.get(i)||o.def_variable(n);return s.forEach(function(t){t.thedef=a,t.reference(e)}),n.thedef=a,n.reference(e),!0}})),e.safari10)for(var u=0;u0);return n}return a.consider=function(e,n){for(var r=e.length;--r>=0;)t[e[r]]+=n},a.sort=function(){e=D(n,o).concat(D(i,o))},a.reset=r,r(),a}(),Br=/^$|[;{][\s\n]*$/;function At(e){return"comment2"==e.type&&/@preserve|@license|@cc_on/i.test(e.value)}function xt(e){var t=!e;void 0===(e=a(e,{ascii_only:!1,beautify:!1,braces:!1,comments:!1,ecma:5,ie8:!1,indent_level:4,indent_start:0,inline_script:!0,keep_quoted_props:!1,max_line_len:!1,preamble:null,quote_keys:!1,quote_style:0,safari10:!1,semicolons:!0,shebang:!0,shorthand:void 0,source_map:null,webkit:!1,width:80,wrap_iife:!1},!0)).shorthand&&(e.shorthand=e.ecma>5);var n=c;if(e.comments){var r=e.comments;if("string"==typeof e.comments&&/^\/.*\/[a-zA-Z]*$/.test(e.comments)){var i=e.comments.lastIndexOf("/");r=new RegExp(e.comments.substr(1,i-1),e.comments.substr(i+1))}n=r instanceof RegExp?function(e){return"comment5"!=e.type&&r.test(e.value)}:"function"==typeof r?function(e){return"comment5"!=e.type&&r(this,e)}:"some"===r?At:f}var u=0,l=0,p=1,d=0,h="",y=e.ascii_only?function(t,n){return e.ecma>=6&&(t=t.replace(/[\ud800-\udbff][\udc00-\udfff]/g,function(e){var t,n;return"\\u{"+(t=e,n=0,et(t.charAt(n))?65536+(t.charCodeAt(n)-55296<<10)+t.charCodeAt(n+1)-56320:t.charCodeAt(n)).toString(16)+"}"})),t.replace(/[\u0000-\u001f\u007f-\uffff]/g,function(e){var t=e.charCodeAt(0).toString(16);if(t.length<=2&&!n){for(;t.length<2;)t="0"+t;return"\\x"+t}for(;t.length<4;)t="0"+t;return"\\u"+t})}:function(e){for(var t="",n=0,r=e.length;ni?o():a()}}(t,n);return e.inline_script&&(r=(r=(r=r.replace(/<\x2f(script)([>\/\t\n\f\r ])/gi,"<\\/$1$2")).replace(/\x3c!--/g,"\\x3c!--")).replace(/--\x3e/g,"--\\x3e")),r}function v(t){return function n(e,t){if(t<=0)return"";if(1==t)return e;var r=n(e,t>>1);return r+=r,1&t&&(r+=e),r}(" ",e.indent_start+u-t*e.indent_level)}var b,E,w=!1,S=!1,k=!1,D=0,x=!1,C=!1,A=-1,M="",O=e.source_map&&[],F=O?function(){O.forEach(function(t){try{e.source_map.add(t.token.file,t.line,t.col,t.token.line,t.token.col,t.name||"name"!=t.token.type?t.name:t.token.value)}catch(e){null!=t.token.file&&q.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]",{file:t.token.file,line:t.token.line,col:t.token.col,cline:t.line,ccol:t.col,name:t.name||""})}}),O=[]}:s,I=e.max_line_len?function(){if(l>e.max_line_len){if(D){var t=h.slice(0,D),n=h.slice(D);if(O){var r=n.length-l;O.forEach(function(e){e.line++,e.col+=r})}h=t+"\n"+n,p++,d++,l=n.length}l>e.max_line_len&&q.warn("Output exceeds {max_line_len} characters",e)}D&&(D=0,F())}:s,P=g("( [ + * / - , . `");function T(t){var n=nt(t=String(t),0),r=nt(M,M.length-1);x&&n&&(x=!1,"\n"!=n&&(T("\n"),B())),C&&n&&(C=!1,/[\s;})]/.test(n)||N()),A=-1;r=M.charAt(M.length-1);k&&(k=!1,(":"==r&&"}"==n||(!n||";}".indexOf(n)<0)&&";"!=r)&&(e.semicolons||P(n)?(h+=";",l++,d++):(I(),h+="\n",d++,p++,l=0,/^\s+$/.test(t)&&(k=!0)),e.beautify||(S=!1))),S&&((at(r)&&(at(n)||"\\"==n)||"/"==n&&n==r||("+"==n||"-"==n)&&n==M)&&(h+=" ",l++,d++),S=!1),b&&(O.push({token:b,name:E,line:p,col:l}),b=!1,D||F()),h+=t,w="("==t[t.length-1],d+=t.length;var i=t.split(/\r?\n/),s=i.length-1;p+=s,l+=i[0].length,s>0&&(I(),l=i[s].length),M=t}var N=e.beautify?function(){T(" ")}:function(){S=!0},B=e.beautify?function(t){e.beautify&&T(v(t?.5:0))}:s,z=e.beautify?function(e,t){!0===e&&(e=j());var n=u;u=e;var r=t();return u=n,r}:function(e,t){return t()},H=e.beautify?function(){if(A<0)return T("\n");"\n"!=h[A]&&(h=h.slice(0,A)+"\n"+h.slice(A),d++,p++),A++}:e.max_line_len?function(){I(),D=h.length}:s,V=e.beautify?function(){T(";")}:function(){k=!0};function R(){k=!1,T(";")}function j(){return u+e.indent_level}function U(){return D&&I(),h}function L(){var e=h.lastIndexOf("\n");return/^ *$/.test(h.slice(e+1))}var G=[];return{get:U,toString:U,indent:B,indentation:function(){return u},current_width:function(){return l-u},should_break:function(){return e.width&&this.current_width()>=e.width},has_parens:function(){return w},newline:H,print:T,star:function(){T("*")},space:N,comma:function(){T(","),N()},colon:function(){T(":"),N()},last:function(){return M},semicolon:V,force_semicolon:R,to_utf8:y,print_name:function(e){T(function(e){return e=e.toString(),e=y(e,!0)}(e))},print_string:function(e,t,n){var r=m(e,t);!0===n&&-1===r.indexOf("\\")&&(Br.test(h)||R(),R()),T(r)},print_template_string_chars:function(e){var t=m(e,"`").replace(/\${/g,"\\${");return T(t.substr(1,t.length-2))},encode_string:m,next_indent:j,with_indent:z,with_block:function(e){var t;return T("{"),H(),z(j(),function(){t=e()}),B(),T("}"),t},with_parens:function(e){T("(");var t=e();return T(")"),t},with_square:function(e){T("[");var t=e();return T("]"),t},add_mapping:O?function(e,t){b=e,E=t}:s,option:function(t){return e[t]},prepend_comments:t?s:function(t){var r=this,i=t.start;if(i&&(!i.comments_before||i.comments_before._dumped!==r)){var s=i.comments_before;if(s||(s=i.comments_before=[]),s._dumped=r,t instanceof ze&&t.value){var o=new Te(function(e){var t=o.parent();if(!(t instanceof ze||t instanceof Jt&&t.left===e||"Call"==t.TYPE&&t.expression===e||t instanceof Yt&&t.condition===e||t instanceof Gt&&t.expression===e||t instanceof Ht&&t.expressions[0]===e||t instanceof qt&&t.expression===e||t instanceof Xt))return!0;if(e.start){var n=e.start.comments_before;n&&n._dumped!==r&&(n._dumped=r,s=s.concat(n))}});o.push(t),t.value.walk(o)}if(0==d){s.length>0&&e.shebang&&"comment5"==s[0].type&&(T("#!"+s.shift().value+"\n"),B());var a=e.preamble;a&&T(a.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g,"\n"))}if(0!=(s=s.filter(n,t)).length){var c=L();s.forEach(function(e,t){c||(e.nlb?(T("\n"),B(),c=!0):t>0&&N()),/comment[134]/.test(e.type)?(T("//"+e.value.replace(/[@#]__PURE__/g," ")+"\n"),B(),c=!0):"comment2"==e.type&&(T("/*"+e.value.replace(/[@#]__PURE__/g," ")+"*/"),c=!1)}),c||(i.nlb?(T("\n"),B()):N())}}},append_comments:t||n===c?s:function(e,t){var r=e.end;if(r){var i=r[t?"comments_before":"comments_after"];if(i&&i._dumped!==this&&(e instanceof W||_(i,function(e){return!/comment[134]/.test(e.type)}))){i._dumped=this;var s=h.length;i.filter(n,e).forEach(function(e,n){C=!1,x?(T("\n"),B(),x=!1):e.nlb&&(n>0||!L())?(T("\n"),B()):(n>0||!t)&&N(),/comment[134]/.test(e.type)?(T("//"+e.value.replace(/[@#]__PURE__/g," ")),x=!0):"comment2"==e.type&&(T("/*"+e.value.replace(/[@#]__PURE__/g," ")+"*/"),C=!0)}),h.length>s&&(A=s)}}},line:function(){return p},col:function(){return l},pos:function(){return d},push_node:function(e){G.push(e)},pop_node:function(){return G.pop()},parent:function(e){return G[G.length-2-(e||0)]}}}function kt(e,t){if(!(this instanceof kt))return new kt(e,t);_t.call(this,this.before,this.after),void 0===e.defaults||e.defaults||(t=!0),this.options=a(e,{arguments:!1,arrows:!t,booleans:!t,booleans_as_integers:!1,collapse_vars:!t,comparisons:!t,computed_props:!t,conditionals:!t,dead_code:!t,defaults:!0,directives:!t,drop_console:!1,drop_debugger:!t,ecma:5,evaluate:!t,expression:!1,global_defs:!1,hoist_funs:!1,hoist_props:!t,hoist_vars:!1,ie8:!1,if_return:!t,inline:!t,join_vars:!t,keep_classnames:!1,keep_fargs:!0,keep_fnames:!1,keep_infinity:!1,loops:!t,module:!1,negate_iife:!t,passes:1,properties:!t,pure_getters:!t&&"strict",pure_funcs:null,reduce_funcs:!t,reduce_vars:!t,sequences:!t,side_effects:!t,switches:!t,top_retain:null,toplevel:!(!e||!e.top_retain),typeofs:!t,unsafe:!1,unsafe_arrows:!1,unsafe_comps:!1,unsafe_Function:!1,unsafe_math:!1,unsafe_methods:!1,unsafe_proto:!1,unsafe_regexp:!1,unsafe_undefined:!1,unused:!t,warnings:!1},!0);var n=this.options.global_defs;if("object"==typeof n)for(var r in n)/^@/.test(r)&&b(n,r)&&(n[r.slice(1)]=gt(n[r],{expression:!0}));!0===this.options.inline&&(this.options.inline=3);var i=this.options.pure_funcs;this.pure_funcs="function"==typeof i?i:i?function(e){return i.indexOf(e.expression.print_to_string())<0}:f;var s=this.options.top_retain;s instanceof RegExp?this.top_retain=function(e){return s.test(e.name)}:"function"==typeof s?this.top_retain=s:s&&("string"==typeof s&&(s=s.split(/,/)),this.top_retain=function(e){return s.indexOf(e.name)>=0}),this.options.module&&(this.directives["use strict"]=!0,this.options.toplevel=!0);var o=this.options.toplevel;this.toplevel="string"==typeof o?{funcs:/funcs/.test(o),vars:/vars/.test(o)}:{funcs:o,vars:o};var c=this.options.sequences;this.sequences_limit=1==c?800:0|c,this.warnings_produced={}}!function(){function n(e,t){e.DEFMETHOD("_codegen",t)}var e=!1,i=null,g=null;function r(e,t){Array.isArray(e)?e.forEach(function(e){r(e,t)}):e.DEFMETHOD("needs_parens",t)}function o(t,n,r,i){var s=t.length-1;e=i,t.forEach(function(t,i){!0!==e||t instanceof X||t instanceof re||t instanceof J&&t.body instanceof Jn||(e=!1),t instanceof re||(r.indent(),t.print(r),i==s&&n||(r.newline(),n&&r.newline())),!0===e&&t instanceof J&&t.body instanceof Jn&&(e=!1)}),e=!1}function a(e,t){t.print("{"),t.with_indent(t.next_indent(),function(){t.append_comments(e,!0)}),t.print("}")}function u(e,t,n){e.body.length>0?t.with_block(function(){o(e.body,!1,t,n)}):a(e,t)}function f(e,t,n){var r=!1;n&&e.walk(new Te(function(e){return!!(r||e instanceof me)||(e instanceof Jt&&"in"==e.operator?(r=!0,!0):void 0)})),e.print(t,r)}function l(e,t,n){n.option("quote_keys")?n.print_string(e):""+ +e==e&&e>=0?n.print(d(e)):(dr(e)?!n.option("ie8"):ut(e))?t&&n.option("keep_quoted_props")?n.print_string(e,t):n.print_name(e):n.print_string(e,t)}function p(e,t){t.option("braces")?m(e,t):!e||e instanceof re?t.force_semicolon():e.print(t)}function h(e,t){return e.args.length>0||t.option("beautify")}function d(e){var t,n=e.toString(10),r=[n.replace(/^0\./,".").replace("e+","e")];return Math.floor(e)===e?(e>=0?r.push("0x"+e.toString(16).toLowerCase(),"0"+e.toString(8)):r.push("-0x"+(-e).toString(16).toLowerCase(),"-0"+(-e).toString(8)),(t=/^(.*?)(0+)$/.exec(e))&&r.push(t[1]+"e"+t[2].length)):(t=/^0?\.(0+)(.*)$/.exec(e))&&r.push(t[2]+"e-"+(t[1].length+t[2].length),n.substr(n.indexOf("."))),function(e){for(var t=e[0],n=t.length,r=1;rs||r==s&&(this===t.right||"**"==n))return!0}}),r(lr,function(e){var t=e.parent();return t instanceof Jt&&"="!==t.operator||(t instanceof Ut&&t.expression===this||(t instanceof Yt&&t.condition===this||(t instanceof Wt||(t instanceof Vt&&t.expression===this||void 0))))}),r(Vt,function(e){var t=e.parent();if(t instanceof zt&&t.expression===this){var n=!1;return this.walk(new Te(function(e){return!!(n||e instanceof me)||(e instanceof Ut?(n=!0,!0):void 0)})),n}}),r(Ut,function(e){var t,n=e.parent();return!!(n instanceof zt&&n.expression===this||n instanceof Bt&&n.is_default&&this.expression instanceof we)||this.expression instanceof we&&n instanceof Vt&&n.expression===this&&(t=e.parent(1))instanceof Qt&&t.left===n}),r(zt,function(e){var t=e.parent();if(!h(this,e)&&(t instanceof Vt||t instanceof Ut&&t.expression===this))return!0}),r(Zn,function(e){var t=e.parent();if(t instanceof Vt&&t.expression===this){var n=this.getValue();if(n<0||/^0/.test(d(n)))return!0}}),r([Qt,Yt],function(e){var t=e.parent();return t instanceof Wt||(t instanceof Jt&&!(t instanceof Qt)||(t instanceof Ut&&t.expression===this||(t instanceof Yt&&t.condition===this||(t instanceof Vt&&t.expression===this||(this instanceof Qt&&this.left instanceof Ce&&!1===this.left.is_array||void 0)))))}),n(X,function(e,t){t.print_string(e.value,e.quote),t.semicolon()}),n(ye,function(e,t){t.print("..."),e.expression.print(t)}),n(Ce,function(e,t){t.print(e.is_array?"[":"{");var n=e.names.length;e.names.forEach(function(e,r){r>0&&t.comma(),e.print(t),r==n-1&&e instanceof ir&&t.comma()}),t.print(e.is_array?"]":"}")}),n(K,function(e,t){t.print("debugger"),t.semicolon()}),se.DEFMETHOD("_do_print_body",function(e){p(this.body,e)}),n(W,function(e,t){e.body.print(t),t.semicolon()}),n(ge,function(e,t){o(e.body,!0,t,!0),t.print("")}),n(oe,function(e,t){e.label.print(t),t.colon(),e.body.print(t)}),n(J,function(e,t){e.body.print(t),t.semicolon()}),n(ne,function(e,t){u(e,t)}),n(re,function(e,t){t.semicolon()}),n(ue,function(e,t){t.print("do"),t.space(),m(e.body,t),t.space(),t.print("while"),t.space(),t.with_parens(function(){e.condition.print(t)}),t.semicolon()}),n(le,function(e,t){t.print("while"),t.space(),t.with_parens(function(){e.condition.print(t)}),t.space(),e._do_print_body(t)}),n(fe,function(e,t){t.print("for"),t.space(),t.with_parens(function(){e.init?(e.init instanceof Ct?e.init.print(t):f(e.init,t,!0),t.print(";"),t.space()):t.print(";"),e.condition?(e.condition.print(t),t.print(";"),t.space()):t.print(";"),e.step&&e.step.print(t)}),t.space(),e._do_print_body(t)}),n(pe,function(e,t){t.print("for"),e.await&&(t.space(),t.print("await")),t.space(),t.with_parens(function(){e.init.print(t),t.space(),t.print(e instanceof de?"of":"in"),t.space(),e.object.print(t)}),t.space(),e._do_print_body(t)}),n(he,function(e,t){t.print("with"),t.space(),t.with_parens(function(){e.expression.print(t)}),t.space(),e._do_print_body(t)}),be.DEFMETHOD("_do_print",function(e,t){var n=this;t||(n.async&&(e.print("async"),e.space()),e.print("function"),n.is_generator&&e.star(),n.name&&e.space()),n.name instanceof Sn?n.name.print(e):t&&n.name instanceof q&&e.with_square(function(){n.name.print(e)}),e.with_parens(function(){n.argnames.forEach(function(t,n){n&&e.comma(),t.print(e)})}),e.space(),u(n,e,!0)}),n(be,function(e,t){e._do_print(t)}),n(Me,function(e,t){var n=e.prefix,r=n instanceof ke||n instanceof Jt||n instanceof Yt||n instanceof Ht||n instanceof Wt;r&&t.print("("),e.prefix.print(t),r&&t.print(")"),e.template_string.print(t)}),n(Oe,function(e,t){var n=t.parent()instanceof Me;t.print("`");for(var r=0;r"),e.space(),t.body instanceof q?t.body.print(e):u(t,e),r&&e.print(")")}),ze.DEFMETHOD("_do_print",function(e,t){e.print(t),this.value&&(e.space(),this.value.print(e)),e.semicolon()}),n(Ve,function(e,t){e._do_print(t,"return")}),n(qe,function(e,t){e._do_print(t,"throw")}),n(lr,function(e,t){var n=e.is_star?"*":"";t.print("yield"+n),e.expression&&(t.space(),e.expression.print(t))}),n(ur,function(e,t){t.print("await"),t.space();var n=e.expression,r=!(n instanceof Ut||n instanceof zn||n instanceof Vt||n instanceof Wt||n instanceof Xn);r&&t.print("("),e.expression.print(t),r&&t.print(")")}),Ke.DEFMETHOD("_do_print",function(e,t){e.print(t),this.label&&(e.space(),this.label.print(e)),e.semicolon()}),n(Xe,function(e,t){e._do_print(t,"break")}),n($e,function(e,t){e._do_print(t,"continue")}),n(lt,function(e,t){t.print("if"),t.space(),t.with_parens(function(){e.condition.print(t)}),t.space(),e.alternative?(!function(e,t){var n=e.body;if(""===n.print_to_string()){t.newline();var r=new Array(t.next_indent()).join(" ");return t.print(r+";"),void t.newline()}if(t.option("braces")||t.option("ie8")&&n instanceof ue)return m(n,t);if(!n)return t.force_semicolon();for(;;)if(n instanceof lt){if(!n.alternative)return void m(e.body,t);n=n.alternative}else{if(!(n instanceof se))break;n=n.body}p(e.body,t)}(e,t),""!==e.body.print_to_string()&&t.space(),t.print("else"),t.space(),e.alternative instanceof lt?e.alternative.print(t):p(e.alternative,t)):e._do_print_body(t)}),n(dt,function(e,t){t.print("switch"),t.space(),t.with_parens(function(){e.expression.print(t)}),t.space();var n=e.body.length-1;n<0?a(e,t):t.with_block(function(){e.body.forEach(function(e,r){t.indent(!0),e.print(t),r0&&t.newline()})})}),ht.DEFMETHOD("_do_print_body",function(e){e.newline(),this.body.forEach(function(t){e.indent(),t.print(e),e.newline()})}),n(mt,function(e,t){t.print("default:"),e._do_print_body(t)}),n(vt,function(e,t){t.print("case"),t.space(),e.expression.print(t),t.print(":"),e._do_print_body(t)}),n(bt,function(e,t){t.print("try"),t.space(),u(e,t),e.bcatch&&(t.space(),e.bcatch.print(t)),e.bfinally&&(t.space(),e.bfinally.print(t))}),n(Et,function(e,t){t.print("catch"),e.argname&&(t.space(),t.with_parens(function(){e.argname.print(t)})),t.space(),u(e,t)}),n(Dt,function(e,t){t.print("finally"),t.space(),u(e,t)}),Ct.DEFMETHOD("_do_print",function(e,t){e.print(t),e.space(),this.definitions.forEach(function(t,n){n&&e.comma(),t.print(e)});var n=e.parent();(!(n instanceof fe||n instanceof pe)||n&&n.init!==this)&&e.semicolon()}),n(Rt,function(e,t){e._do_print(t,"let")}),n(Ft,function(e,t){e._do_print(t,"var")}),n(Pt,function(e,t){e._do_print(t,"const")}),n(Lt,function(e,t){t.print("import"),t.space(),e.imported_name&&e.imported_name.print(t),e.imported_name&&e.imported_names&&(t.print(","),t.space()),e.imported_names&&(1===e.imported_names.length&&"*"===e.imported_names[0].foreign_name.name?e.imported_names[0].print(t):(t.print("{"),e.imported_names.forEach(function(n,r){t.space(),n.print(t),r0&&(e.comma(),e.should_break()&&(e.newline(),e.indent())),t.print(e)})}),n(Ht,function(e,t){e._do_print(t)}),n(Gt,function(e,t){var n=e.expression;n.print(t);var r=e.property;t.option("ie8")&&dr(r)?(t.print("["),t.add_mapping(e.end),t.print_string(r),t.print("]")):(n instanceof Zn&&n.getValue()>=0&&(/[xa-f.)]/i.test(t.last())||t.print(".")),t.print("."),t.add_mapping(e.end),t.print_name(r))}),n(qt,function(e,t){e.expression.print(t),t.print("["),e.property.print(t),t.print("]")}),n(Kt,function(e,t){var n=e.operator;t.print(n),(/^[a-z]/i.test(n)||/[+-]$/.test(n)&&e.expression instanceof Kt&&/^[+-]/.test(e.expression.operator))&&t.space(),e.expression.print(t)}),n(Xt,function(e,t){e.expression.print(t),t.print(e.operator)}),n(Jt,function(e,t){var n=e.operator;e.left.print(t),">"==n[0]&&e.left instanceof Xt&&"--"==e.left.operator?t.print(" "):t.space(),t.print(n),("<"==n||"<<"==n)&&e.right instanceof Kt&&"!"==e.right.operator&&e.right.expression instanceof Kt&&"--"==e.right.expression.operator?t.print(" "):t.space(),e.right.print(t)}),n(Yt,function(e,t){e.condition.print(t),t.space(),t.print("?"),t.space(),e.consequent.print(t),t.space(),t.colon(),e.alternative.print(t)}),n(nn,function(e,t){t.with_square(function(){var n=e.elements,r=n.length;r>0&&t.space(),n.forEach(function(e,n){n&&t.comma(),e.print(t),n===r-1&&e instanceof ir&&t.comma()}),r>0&&t.space()})}),n(pn,function(e,t){e.properties.length>0?t.with_block(function(){e.properties.forEach(function(e,n){n&&(t.print(","),t.newline()),t.indent(),e.print(t)}),t.newline()}):a(e,t)}),n(bn,function(e,t){if(t.print("class"),t.space(),e.name&&(e.name.print(t),t.space()),e.extends){var n=!(e.extends instanceof zn||e.extends instanceof Vt||e.extends instanceof wn||e.extends instanceof we);t.print("extends"),n?t.print("("):t.space(),e.extends.print(t),n?t.print(")"):t.space()}e.properties.length>0?t.with_block(function(){e.properties.forEach(function(e,n){n&&t.newline(),t.indent(),e.print(t)}),t.newline()}):t.print("{}")}),n(kn,function(e,t){t.print("new.target")}),n(mn,function(e,n){function t(e){var t=e.definition();return t?t.mangled_name||t.name:e.name}var r=n.option("shorthand");r&&e.value instanceof Sn&&ut(e.key)&&t(e.value)===e.key&&rt(e.key)?l(e.key,e.quote,n):r&&e.value instanceof Zt&&e.value.left instanceof Sn&&ut(e.key)&&t(e.value.left)===e.key?(l(e.key,e.quote,n),n.space(),n.print("="),n.space(),e.value.right.print(n)):(e.key instanceof q?n.with_square(function(){e.key.print(n)}):l(e.key,e.quote,n),n.colon(),e.value.print(n))}),hn.DEFMETHOD("_print_getter_setter",function(e,t){var n=this;n.static&&(t.print("static"),t.space()),e&&(t.print(e),t.space()),n.key instanceof In?l(n.key.name,n.quote,t):t.with_square(function(){n.key.print(t)}),n.value._do_print(t,!0)}),n(yn,function(e,t){e._print_getter_setter("set",t)}),n(vn,function(e,t){e._print_getter_setter("get",t)}),n(_n,function(e,t){var n;e.is_generator&&e.async?n="async*":e.is_generator?n="*":e.async&&(n="async"),e._print_getter_setter(n,t)}),Sn.DEFMETHOD("_do_print",function(e){var t=this.definition();e.print_name(t?t.mangled_name||t.name:this.name)}),n(Sn,function(e,t){e._do_print(t)}),n(ir,s),n(qn,function(e,t){t.print("this")}),n(Wn,function(e,t){t.print("super")}),n(Xn,function(e,t){t.print(e.getValue())}),n(Jn,function(t,n){n.print_string(t.getValue(),t.quote,e)}),n(Zn,function(e,t){g&&e.start&&null!=e.start.raw?t.print(e.start.raw):t.print(d(e.getValue()))}),n($n,function(e,t){var n=e.getValue().toString();n=t.to_utf8(n),t.print(n);var r=t.parent();r instanceof Jt&&/^in/.test(r.operator)&&r.left===e&&t.print(" ")}),v([q,oe,ge],s),v([nn,ne,Et,bn,Xn,K,Ct,X,Dt,Be,be,zt,pn,se,Sn,dt,ht,bt],function(e){e.add_mapping(this.start)}),v([vn,yn],function(e){e.add_mapping(this.start,this.key.name)}),v([hn],function(e){e.add_mapping(this.start,this.key)})}(),kt.prototype=new _t,u(kt.prototype,{option:function(e){return this.options[e]},exposed:function(e){if(e.export)return!0;if(e.global)for(var t=0,n=e.orig.length;t0||this.option("reduce_vars"))&&e.reset_opt_flags(this),e=e.transform(this),t>1){var o=0;if(e.walk(new Te(function(){o++})),this.info("pass "+s+": last_count: "+n+", count: "+o),o=0;){if(!(i[s]instanceof mn))return;n||i[s].key!==t||(n=i[s].value)}}return n instanceof zn&&n.fixed_value()||n}}function r(t,n,i,s,o,a){var c=n.parent(o),u=He(i,c);if(u)return u;if(!a&&c instanceof Ut&&c.expression===i&&!(s instanceof ke)&&!(s instanceof bn)&&!c.is_expr_pure(t)&&(!(s instanceof we)||!(c instanceof zt)&&s.contains_this()))return!0;if(c instanceof nn)return r(t,n,c,c,o+1);if(c instanceof mn&&i===c.value){var l=n.parent(o+1);return r(t,n,l,l,o+2)}if(c instanceof Vt&&c.expression===i){var f=e(s,c.property);return!a&&r(t,n,c,f,o+1)}}function o(e){return e instanceof ke||e instanceof we}function a(e){if(e instanceof qn)return!0;if(e instanceof zn)return e.definition().orig[0]instanceof Rn;if(e instanceof Vt){if((e=e.expression)instanceof zn){if(e.is_immutable())return!1;e=e.fixed_value()}return!e||!(e instanceof $n)&&(e instanceof Xn||a(e))}return!1}function u(e,t){if(!(e instanceof zn))return!1;for(var n=e.definition().orig,r=n.length;--r>=0;)if(n[r]instanceof t)return!0}function d(e,t){for(var n,r=0;(n=e.parent(r++))&&!(n instanceof me);)if(n instanceof Et&&n.argname){n=n.argname.definition().scope;break}return n.find_variable(t)}function D(e,t,n){return n||(n={}),t&&(n.start||(n.start=t.start),n.end||(n.end=t.end)),new e(n)}function F(e,t){return 1==t.length?t[0]:D(Ht,e,{expressions:t.reduce(S,[])})}function C(e,t){switch(typeof e){case"string":return D(Jn,t,{value:e});case"number":return isNaN(e)?D(nr,t):isFinite(e)?1/e<0?D(Kt,t,{operator:"-",expression:D(Zn,t,{value:-e})}):D(Zn,t,{value:e}):e<0?D(Kt,t,{operator:"-",expression:D(sr,t)}):D(sr,t);case"boolean":return D(e?cr:ar,t);case"undefined":return D(rr,t);default:if(null===e)return D(tr,t,{value:null});if(e instanceof RegExp)return D($n,t,{value:e});throw new Error(m("Can't handle constant of type: {type}",{type:typeof e}))}}function M(e,t,n){return e instanceof Kt&&"delete"==e.operator||e instanceof Ut&&e.expression===t&&(n instanceof Vt||n instanceof zn&&"eval"==n.name)?F(t,[D(Zn,t,{value:0}),n]):n}function S(e,t){return t instanceof Ht?e.push.apply(e,t.expressions):e.push(t),e}function L(e){if(null===e)return[];if(e instanceof ne)return e.body;if(e instanceof re)return[];if(e instanceof W)return[e];throw new Error("Can't convert thing to statement array")}function sn(e){return null===e||(e instanceof re||e instanceof ne&&0==e.body.length)}function Fn(e){return!(e instanceof En||e instanceof xe||e instanceof Rt||e instanceof Pt||e instanceof Bt||e instanceof Lt)}function Yn(e){return e instanceof ae&&e.body instanceof ne?e.body:e}function Kn(e){return"Call"==e.TYPE&&(e.expression instanceof we||Kn(e.expression))}function ie(e){return e instanceof zn&&e.definition().undeclared}n(q,function(e,t){return e}),ge.DEFMETHOD("drop_console",function(){return this.transform(new _t(function(e){if("Call"==e.TYPE){var t=e.expression;if(t instanceof Vt){for(var n=t.expression;n.expression;)n=n.expression;if(ie(n)&&"console"==n.name)return D(rr,e)}}}))}),q.DEFMETHOD("equivalent_to",function(e){return this.TYPE==e.TYPE&&this.print_to_string()==e.print_to_string()}),me.DEFMETHOD("process_expression",function(e,t){var n=this,r=new _t(function(i){if(e&&i instanceof J)return D(Ve,i,{value:i.body});if(!e&&i instanceof Ve){if(t){var s=i.value&&i.value.drop_side_effect_free(t,!0);return s?D(J,i,{body:s}):D(re,i)}return D(J,i,{body:i.value||D(Kt,i,{operator:"void",expression:D(Zn,i,{value:0})})})}if(i instanceof bn||i instanceof be&&i!==n)return i;if(i instanceof te){var o=i.body.length-1;o>=0&&(i.body[o]=i.body[o].transform(r))}else i instanceof lt?(i.body=i.body.transform(r),i.alternative&&(i.alternative=i.alternative.transform(r))):i instanceof he&&(i.body=i.body.transform(r));return i});n.transform(r)}),function(n){function t(e,t){t.assignments=0,t.chained=!1,t.direct_access=!1,t.escaped=!1,t.scope.pinned()?t.fixed=!1:t.orig[0]instanceof An||!e.exposed(t)?t.fixed=t.init:t.fixed=!1,t.recursive_refs=0,t.references=[],t.should_replace=void 0,t.single_use=void 0}function i(e,n,r){r.variables.each(function(r){t(n,r),null===r.fixed?(r.safe_ids=e.safe_ids,c(e,r,!0)):r.fixed&&(e.loop_ids[r.id]=e.in_loop,c(e,r,!0))})}function o(e,n){n.block_scope&&n.block_scope.variables.each(function(n){t(e,n)})}function a(e){e.safe_ids=Object.create(e.safe_ids)}function u(e){e.safe_ids=Object.getPrototypeOf(e.safe_ids)}function c(e,t,n){e.safe_ids[t.id]=n}function f(e,t){if("m"==t.single_use)return!1;if(e.safe_ids[t.id]){if(null==t.fixed){var n=t.orig[0];if(n instanceof Mn||"arguments"==n.name)return!1;t.fixed=D(rr,n)}return!0}return t.fixed instanceof xe}function l(e,t,n){return void 0===t.fixed||(null===t.fixed&&t.safe_ids?(t.safe_ids[t.id]=!1,delete t.safe_ids,!0):!!b(e.safe_ids,t.id)&&(!!f(e,t)&&(!1!==t.fixed&&(!(null!=t.fixed&&(!n||t.references.length>t.assignments))&&_(t.orig,function(e){return!(e instanceof An||e instanceof On||e instanceof Rn)})))))}function p(t,n,r,i,s,o,a){var c=t.parent(o);if(s){if(s.is_constant())return;if(s instanceof wn)return}if(c instanceof Qt&&"="==c.operator&&i===c.right||c instanceof Ut&&(i!==c.expression||c instanceof zt)||c instanceof ze&&i===c.value&&i.scope!==n.scope||c instanceof jt&&i===c.value||c instanceof lr&&i===c.value&&i.scope!==n.scope)return!(a>1)||s&&s.is_constant_expression(r)||(a=1),void((!n.escaped||n.escaped>a)&&(n.escaped=a));if(c instanceof nn||c instanceof ur||c instanceof Jt&&P(c.operator)||c instanceof Yt&&i!==c.condition||c instanceof ye||c instanceof Ht&&i===c.tail_node())p(t,n,r,c,c,o+1,a);else if(c instanceof mn&&i===c.value){var u=t.parent(o+1);p(t,n,r,u,u,o+2,a)}else if(c instanceof Vt&&i===c.expression&&(p(t,n,r,c,s=e(s,c.property),o+1,a+1),s))return;o>0||c instanceof Ht&&i!==c.tail_node()||c instanceof J||(n.direct_access=!0)}n(q,s);var h=new Te(function(e){if(e instanceof Sn){var t=e.definition();t&&(e instanceof zn&&t.references.push(e),t.fixed=!1)}});function d(e,t,n){this.inlined=!1;var r=e.safe_ids;return e.safe_ids=Object.create(null),i(e,n,this),t(),e.safe_ids=r,!0}function m(e,t,n){var r,s=this;return s.inlined=!1,a(e),i(e,n,s),!s.name&&(r=e.parent())instanceof Ut&&r.expression===s&&s.argnames.forEach(function(t,n){if(t.definition){var i=t.definition();void 0!==i.fixed||s.uses_arguments&&!e.has_directive("use strict")?i.fixed=!1:(i.fixed=function(){return r.args[n]||D(rr,r)},e.loop_ids[i.id]=e.in_loop,c(e,i,!0))}}),t(),u(e),!0}n(Ee,function(e,t,n){return a(e),i(e,n,this),t(),u(e),!0}),n(ke,m),n(Qt,function(e,t,n){var i=this;if(i.left instanceof Ce)i.left.walk(h);else{var s=i.left;if(s instanceof zn){var o=s.definition(),a=l(e,o,s.scope,i.right);if(o.assignments++,a){var u=o.fixed;if(u||"="==i.operator){var f="="==i.operator,d=f?i.right:i;if(!r(n,e,i,d,0))return o.references.push(s),f||(o.chained=!0),o.fixed=f?function(){return i.right}:function(){return D(Jt,i,{operator:i.operator.slice(0,-1),left:u instanceof q?u:u(),right:i.right})},c(e,o,!1),i.right.walk(e),c(e,o,!0),p(e,o,s.scope,i,d,0,1),!0}}}}}),n(Jt,function(e){if(P(this.operator))return this.left.walk(e),a(e),this.right.walk(e),u(e),!0}),n(te,function(e,t,n){o(n,this)}),n(vt,function(e){return a(e),this.expression.walk(e),u(e),a(e),$(this,e),u(e),!0}),n(wn,function(e,t){return this.inlined=!1,a(e),t(),u(e),!0}),n(Yt,function(e){return this.condition.walk(e),a(e),this.consequent.walk(e),u(e),a(e),this.alternative.walk(e),u(e),!0}),n(mt,function(e,t){return a(e),t(),u(e),!0}),n(En,d),n(xe,d),n(ue,function(e,t,n){o(n,this);var r=e.in_loop;return e.in_loop=this,a(e),this.body.walk(e),Ze(this)&&(u(e),a(e)),this.condition.walk(e),u(e),e.in_loop=r,!0}),n(fe,function(e,t,n){o(n,this),this.init&&this.init.walk(e);var r=e.in_loop;return e.in_loop=this,a(e),this.condition&&this.condition.walk(e),this.body.walk(e),this.step&&(Ze(this)&&(u(e),a(e)),this.step.walk(e)),u(e),e.in_loop=r,!0}),n(pe,function(e,t,n){o(n,this),this.init.walk(h),this.object.walk(e);var r=e.in_loop;return e.in_loop=this,a(e),this.body.walk(e),u(e),e.in_loop=r,!0}),n(we,m),n(lt,function(e){return this.condition.walk(e),a(e),this.body.walk(e),u(e),this.alternative&&(a(e),this.alternative.walk(e),u(e)),!0}),n(oe,function(e){return a(e),this.body.walk(e),u(e),!0}),n(Ln,function(){this.definition().fixed=!1}),n(zn,function(e,t,n){var i,s=this.definition();s.references.push(this),1==s.references.length&&!s.fixed&&s.orig[0]instanceof On&&(e.loop_ids[s.id]=e.in_loop),void 0!==s.fixed&&f(e,s)?s.fixed&&((i=this.fixed_value())instanceof be&&Ge(e,s)?s.recursive_refs++:i&&!n.exposed(s)&&function(e,t,n){return t.option("unused")&&!n.scope.pinned()&&n.references.length-n.recursive_refs==1&&e.loop_ids[n.id]===e.in_loop}(e,n,s)?s.single_use=i instanceof be&&!i.pinned()||i instanceof bn||s.scope===this.scope&&i.is_constant_expression():s.single_use=!1,r(n,e,this,i,0,function(e){return!!e&&(e.is_constant()||e instanceof be||e instanceof qn)}(i))&&(s.single_use?s.single_use="m":s.fixed=!1)):s.fixed=!1,p(e,s,this.scope,this,i,0,1)}),n(ge,function(e,n,r){this.globals.each(function(e){t(r,e)}),i(e,r,this)}),n(bt,function(e,t,n){return o(n,this),a(e),$(this,e),u(e),this.bcatch&&(a(e),this.bcatch.walk(e),u(e)),this.bfinally&&this.bfinally.walk(e),!0}),n(Wt,function(e,t){var n=this;if("++"==n.operator||"--"==n.operator){var r=n.expression;if(r instanceof zn){var i=r.definition(),s=l(e,i,!0);if(i.assignments++,s){var o=i.fixed;if(o)return i.references.push(r),i.chained=!0,i.fixed=function(){return D(Jt,n,{operator:n.operator.slice(0,-1),left:D(Kt,n,{operator:"+",expression:o instanceof q?o:o()}),right:D(Zn,n,{value:1})})},c(e,i,!0),!0}}}}),n(jt,function(e,t){var n=this;if(n.name instanceof Ce)n.name.walk(h);else{var r=n.name.definition();if(n.value){if(l(e,r,n.value))return r.fixed=function(){return n.value},e.loop_ids[r.id]=e.in_loop,c(e,r,!1),t(),c(e,r,!0),!0;r.fixed=!1}}}),n(le,function(e,t,n){o(n,this);var r=e.in_loop;return e.in_loop=this,a(e),t(),u(e),e.in_loop=r,!0})}(function(e,t){e.DEFMETHOD("reduce_vars",t)}),ge.DEFMETHOD("reset_opt_flags",function(e){var t=this,n=e.option("reduce_vars"),r=new Te(function(i,s){if(i._squeezed=!1,i._optimized=!1,n)return e.top_retain&&(r.parent()===t?i._top=!0:delete i._top),i.reduce_vars(r,s,e)});r.safe_ids=Object.create(null),r.in_loop=null,r.loop_ids=Object.create(null),t.walk(r)}),Sn.DEFMETHOD("fixed_value",function(){var e=this.definition().fixed;return!e||e instanceof q?e:e()}),zn.DEFMETHOD("is_immutable",function(){var e=this.definition().orig;return 1==e.length&&e[0]instanceof Rn});var k=g("Array Boolean clearInterval clearTimeout console Date decodeURI decodeURIComponent encodeURI encodeURIComponent Error escape eval EvalError Function isFinite isNaN JSON Math Number parseFloat parseInt RangeError ReferenceError RegExp Object setInterval setTimeout String SyntaxError TypeError unescape URIError");zn.DEFMETHOD("is_declared",function(e){return!this.definition().undeclared||e.option("unsafe")&&k(this.name)});var A,T,O,R=g("Infinity NaN undefined");function ve(e){return e instanceof sr||e instanceof nr||e instanceof rr}function De(e,i){var c,l,f=i.find_parent(me).get_defun_scope();!function(){var e=i.self(),t=0;do{if(e instanceof Et||e instanceof Dt)t++;else if(e instanceof ae)c=!0;else{if(e instanceof me){f=e;break}e instanceof bt&&(l=!0)}}while(e=i.parent(t++))}();var h,k=10;do{h=!1,d(e),i.option("dead_code")&&g(e,i),i.option("if_return")&&m(e,i),i.sequences_limit>0&&(b(e,i),w(e,i)),i.option("join_vars")&&x(e),i.option("collapse_vars")&&p(e,i)}while(h&&k-- >0);function p(e,i){if(f.pinned())return e;for(var s,p=[],d=e.length,m=new _t(function(e,t){if(N)return e;if(!R)return e!==y[v]?e:++v=0;){0==d&&i.option("unused")&&en();var y=[];for(tn(e[d]);p.length>0;){y=p.pop();var v=0,b=y[y.length-1],E=null,w=null,S=null,k=rn(b);if(k&&!a(k)&&!k.has_side_effects(i)){var x=un(b),C=fn(k);k instanceof zn&&(x[k.name]=!1);var A=ln(b),T=dn(),O=b.may_throw(i),F=b.name instanceof Mn,R=F,N=!1,L=0,B=!s||!R;if(!B){for(var j=i.self().argnames.lastIndexOf(b.name)+1;!N&&jL)L=!1;else{N=!1,v=0,R=F;for(U=d;!N&&U=0;){var l=n.argnames[u],f=e.args[u];if(s.unshift(D(jt,l,{name:l,value:f})),!(l.name in c))if(c[l.name]=!0,l instanceof ye){var d=e.args.slice(u);_(d,function(e){return!G(n,e,r)})&&p.unshift([D(jt,l,{name:l.expression,value:D(nn,e,{elements:d})})])}else f?(f instanceof be&&f.pinned()||G(n,f,r))&&(f=null):f=D(rr,l).transform(i),f&&p.unshift([D(jt,l,{name:l,value:f})])}}}function tn(e){if(y.push(e),e instanceof Qt)e.left.has_side_effects(i)||p.push(y.slice()),tn(e.right);else if(e instanceof Jt)tn(e.left),tn(e.right);else if(e instanceof Ut)tn(e.expression),e.args.forEach(tn);else if(e instanceof vt)tn(e.expression);else if(e instanceof Yt)tn(e.condition),tn(e.consequent),tn(e.alternative);else if(!(e instanceof Ct)||!i.option("unused")&&e instanceof Pt)e instanceof ce?(tn(e.condition),e.body instanceof te||tn(e.body)):e instanceof ze?e.value&&tn(e.value):e instanceof fe?(e.init&&tn(e.init),e.condition&&tn(e.condition),e.step&&tn(e.step),e.body instanceof te||tn(e.body)):e instanceof pe?(tn(e.object),e.body instanceof te||tn(e.body)):e instanceof lt?(tn(e.condition),e.body instanceof te||tn(e.body),!e.alternative||e.alternative instanceof te||tn(e.alternative)):e instanceof Ht?e.expressions.forEach(tn):e instanceof J?tn(e.body):e instanceof dt?(tn(e.expression),e.body.forEach(tn)):e instanceof Wt?"++"!=e.operator&&"--"!=e.operator||p.push(y.slice()):e instanceof jt&&e.value&&(p.push(y.slice()),tn(e.value));else{var t=e.definitions.length,n=t-200;for(n<0&&(n=0);n1&&!(e.name instanceof Mn)||(s>1?function(e){var t=e.value;if(t instanceof zn&&"arguments"!=t.name){var n=t.definition();if(!n.undeclared)return E=n}}(e):!i.exposed(r))?D(zn,e.name,e.name):void 0}}function on(e){return e[e instanceof Qt?"right":"value"]}function un(e){var t=Object.create(null);if(e instanceof Wt)return t;var n=new Te(function(e,s){for(var o=e;o instanceof Vt;)o=o.expression;(o instanceof zn||o instanceof qn)&&(t[o.name]=t[o.name]||r(i,n,e,e,0))});return on(e).walk(n),t}function sn(t){if(t.name instanceof Mn){var n=i.parent(),r=i.self().argnames,s=r.indexOf(t.name);if(s<0)n.args.length=Math.min(n.args.length,r.length-1);else{var o=n.args;o[s]&&(o[s]=D(Zn,o[s],{value:0}))}return!0}var a=!1;return e[d].transform(new _t(function(e,n,r){return a?e:e===t||e.body===t?(a=!0,e instanceof jt?(e.value=null,e):r?I.skip:null):void 0},function(e){if(e instanceof Ht)switch(e.expressions.length){case 0:return null;case 1:return e.expressions[0]}}))}function fn(e){for(;e instanceof Vt;)e=e.expression;return e instanceof zn&&e.definition().scope===f&&!(c&&(e.name in x||b instanceof Wt||b instanceof Qt&&"="!=b.operator))}function ln(e){return!(e instanceof Wt)&&on(e).has_side_effects(i)}function dn(){if(A)return!1;if(E)return!0;if(k instanceof zn){var e=k.definition();if(e.references.length-e.replaced==(b instanceof jt?1:2))return!0}return!1}function gn(e){if(!e.definition)return!0;var t=e.definition();return!(1==t.orig.length&&t.orig[0]instanceof On)&&(t.scope.get_defun_scope()!==f||!_(t.references,function(e){var t=e.scope.get_defun_scope();return"Scope"==t.TYPE&&(t=t.parent_scope),t===f}))}}function d(e){for(var t=[],n=0;n=0;){var r=e[n];if(r instanceof lt&&r.body instanceof Ve&&++t>1)return!0}return!1}(e),i=n instanceof be,s=e.length;--s>=0;){var o=e[s],a=_(s),c=e[a];if(i&&!c&&o instanceof Ve){if(!o.value){h=!0,e.splice(s,1);continue}if(o.value instanceof Kt&&"void"==o.value.operator){h=!0,e[s]=D(J,o,{body:o.value.expression});continue}}if(o instanceof lt){var u;if(d(u=We(o.body))){u.label&&v(u.label.thedef.references,u),h=!0,(o=o.clone()).condition=o.condition.negate(t);var l=g(o.body,u);o.body=D(ne,o,{body:L(o.alternative).concat(m())}),o.alternative=D(ne,o,{body:l}),e[s]=o.transform(t);continue}if(d(u=We(o.alternative))){u.label&&v(u.label.thedef.references,u),h=!0,(o=o.clone()).body=D(ne,o.body,{body:L(o.body).concat(m())});l=g(o.alternative,u);o.alternative=D(ne,o.alternative,{body:l}),e[s]=o.transform(t);continue}}if(o instanceof lt&&o.body instanceof Ve){var f=o.body.value;if(!f&&!o.alternative&&(i&&!c||c instanceof Ve&&!c.value)){h=!0,e[s]=D(J,o.condition,{body:o.condition});continue}if(f&&!o.alternative&&c instanceof Ve&&c.value){h=!0,(o=o.clone()).alternative=c,e.splice(s,1,o.transform(t)),e.splice(a,1);continue}if(f&&!o.alternative&&(!c&&i&&r||c instanceof Ve)){h=!0,(o=o.clone()).alternative=c||D(Ve,o,{value:null}),e.splice(s,1,o.transform(t)),c&&e.splice(a,1);continue}var p=e[b(s)];if(t.option("sequences")&&i&&!o.alternative&&p instanceof lt&&p.body instanceof Ve&&_(a)==e.length&&c instanceof J){h=!0,(o=o.clone()).alternative=D(ne,c,{body:[c,D(Ve,c,{value:null})]}),e.splice(s,1,o.transform(t)),e.splice(a,1);continue}}}function d(r){if(!r)return!1;for(var o=s+1,a=e.length;o=0;){var r=e[n];if(!(r instanceof Ft&&y(r)))break}return n}}function g(e,t){for(var n,r=t.self(),i=0,s=0,o=e.length;i=t.sequences_limit&&s();var c=a.body;n.length>0&&(c=c.drop_side_effect_free(t)),c&&S(n,c)}else a instanceof Ct&&y(a)||a instanceof xe?e[r++]=a:(s(),e[r++]=a)}s(),e.length=r,r!=o&&(h=!0)}function s(){if(n.length){var t=F(n[0],n);e[r++]=D(J,t,{body:t}),n=[]}}}function E(e,t){if(!(e instanceof ne))return e;for(var n=null,r=0,i=e.body.length;r0){var f=c.length;c.push(D(lt,o,{condition:o.condition,body:u||D(re,o.body),alternative:l})),c.unshift(i,1),[].splice.apply(e,c),s+=f,i+=f+1,r=null,h=!0;continue}}e[i++]=o,r=o instanceof J?o:null}e.length=i}function C(e,t){if(e instanceof Ct){var n,r=e.definitions[e.definitions.length-1];if(r.value instanceof pn)if(t instanceof Qt?n=[t]:t instanceof Ht&&(n=t.expressions.slice()),n){var s=!1;do{var o=n[0];if(!(o instanceof Qt))break;if("="!=o.operator)break;if(!(o.left instanceof Vt))break;var a=o.left.expression;if(!(a instanceof zn))break;if(r.name.name!=a.name)break;if(!o.right.is_constant_expression(f))break;var c=o.left.property;if(c instanceof q&&(c=c.evaluate(i)),c instanceof q)break;c=""+c;var u=i.option("ecma")<6&&i.has_directive("use strict")?function(e){return e.key!=c&&e.key.name!=c}:function(e){return e.key.name!=c};if(!_(r.value.properties,u))break;var l=r.value.properties.filter(function(e){return e.key===c})[0];l?l.value=new Ht({start:l.start,expressions:[l.value.clone(),o.right.clone()],end:l.end}):r.value.properties.push(D(mn,o,{key:c,value:o.right})),n.shift(),s=!0}while(n.length);return s&&n}}}function x(e){for(var t,n=0,r=-1,i=e.length;n=0;)if(this.properties[n]._dot_throw(t))return!0;return!1}),t(hn,c),t(vn,f),t(ye,function(e){return this.expression._dot_throw(e)}),t(we,c),t(ke,c),t(Xt,c),t(Kt,function(){return"void"==this.operator}),t(Jt,function(e){return("&&"==this.operator||"||"==this.operator)&&(this.left._dot_throw(e)||this.right._dot_throw(e))}),t(Qt,function(e){return"="==this.operator&&this.right._dot_throw(e)}),t(Yt,function(e){return this.consequent._dot_throw(e)||this.alternative._dot_throw(e)}),t(Gt,function(t){return!!e(t)&&!(this.expression instanceof we&&"prototype"==this.property)}),t(Ht,function(e){return this.tail_node()._dot_throw(e)}),t(zn,function(t){if(this.is_undefined)return!0;if(!e(t))return!1;if(ie(this)&&this.is_declared(t))return!1;if(this.is_immutable())return!1;var n=this.fixed_value();return!n||n._dot_throw(t)})}(function(e,t){e.DEFMETHOD("_dot_throw",t)}),T=["!","delete"],O=["in","instanceof","==","!=","===","!==","<","<=",">=",">"],(A=function(e,t){e.DEFMETHOD("is_boolean",t)})(q,c),A(Kt,function(){return t(this.operator,T)}),A(Jt,function(){return t(this.operator,O)||P(this.operator)&&this.left.is_boolean()&&this.right.is_boolean()}),A(Yt,function(){return this.consequent.is_boolean()&&this.alternative.is_boolean()}),A(Qt,function(){return"="==this.operator&&this.right.is_boolean()}),A(Ht,function(){return this.tail_node().is_boolean()}),A(cr,f),A(ar,f),function(e){e(q,c),e(Zn,f);var t=g("+ - ~ ++ --");e(Wt,function(){return t(this.operator)});var n=g("- * / % & | ^ << >> >>>");e(Jt,function(e){return n(this.operator)||"+"==this.operator&&this.left.is_number(e)&&this.right.is_number(e)}),e(Qt,function(e){return n(this.operator.slice(0,-1))||"="==this.operator&&this.right.is_number(e)}),e(Ht,function(e){return this.tail_node().is_number(e)}),e(Yt,function(e){return this.consequent.is_number(e)&&this.alternative.is_number(e)})}(function(e,t){e.DEFMETHOD("is_number",t)}),function(e){e(q,c),e(Jn,f),e(Oe,function(){return 1===this.segments.length}),e(Kt,function(){return"typeof"==this.operator}),e(Jt,function(e){return"+"==this.operator&&(this.left.is_string(e)||this.right.is_string(e))}),e(Qt,function(e){return("="==this.operator||"+="==this.operator)&&this.right.is_string(e)}),e(Ht,function(e){return this.tail_node().is_string(e)}),e(Yt,function(e){return this.consequent.is_string(e)&&this.alternative.is_string(e)})}(function(e,t){e.DEFMETHOD("is_string",t)});var P=g("&& ||"),B=g("delete ++ --");function He(e,t){return t instanceof Wt&&B(t.operator)?t.expression:t instanceof Qt&&t.left===e?e:void 0}function Pe(e,t){return e.print_to_string().length>t.print_to_string().length?t:e}function Re(e,t,n){return(E(e)?function(e,t){return Pe(D(J,e,{body:e}),D(J,t,{body:t})).body}:Pe)(t,n)}function je(e){for(var t in e)e[t]=g(e[t])}!function(t){function e(e,t){e.warn("global_defs "+t.print_to_string()+" redefined [{file}:{line},{col}]",t.start)}ge.DEFMETHOD("resolve_defines",function(t){return t.option("global_defs")?(this.figure_out_scope({ie8:t.option("ie8")}),this.transform(new _t(function(n){var r=n._find_defs(t,"");if(r){for(var i,s=0,o=n;(i=this.parent(s++))&&i instanceof Vt&&i.expression===o;)o=i;if(!He(o,i))return r;e(t,n)}}))):this}),t(q,s),t(Gt,function(e,t){return this.expression._find_defs(e,"."+this.property+t)}),t(Dn,function(t){this.global()&&b(t.option("global_defs"),this.name)&&e(t,this)}),t(zn,function(e,t){if(this.global()){var n=e.option("global_defs"),r=this.name+t;return b(n,r)?function n(e,t){if(e instanceof q)return D(e.CTOR,t,e);if(Array.isArray(e))return D(nn,t,{elements:e.map(function(e){return n(e,t)})});if(e&&"object"==typeof e){var r=[];for(var i in e)b(e,i)&&r.push(D(mn,t,{key:i,value:n(e[i],t)}));return D(pn,t,{properties:r})}return C(e,t)}(n[r],this):void 0}})}(function(e,t){e.DEFMETHOD("_find_defs",t)});var j=["constructor","toString","valueOf"],U={Array:["indexOf","join","lastIndexOf","slice"].concat(j),Boolean:j,Function:j,Number:["toExponential","toFixed","toPrecision"].concat(j),Object:j,RegExp:["test"].concat(j),String:["charAt","charCodeAt","concat","indexOf","italics","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","trim"].concat(j)};je(U);var z={Array:["isArray"],Math:["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan","atan2","pow","max","min"],Number:["isFinite","isNaN"],Object:["create","getOwnPropertyDescriptor","getOwnPropertyNames","getPrototypeOf","isExtensible","isFrozen","isSealed","keys"],String:["fromCharCode"]};je(z),function(e){q.DEFMETHOD("evaluate",function(e){if(!e.option("evaluate"))return this;var t=this._eval(e,1);return!t||t instanceof RegExp?t:"function"==typeof t||"object"==typeof t?this:t});var t=g("! ~ - + void");q.DEFMETHOD("is_constant",function(){return this instanceof Xn?!(this instanceof $n):this instanceof Kt&&this.expression instanceof Xn&&t(this.operator)}),e(W,function(){throw new Error(m("Cannot evaluate a statement [{file}:{line},{col}]",this.start))}),e(be,l),e(bn,l),e(q,l),e(Xn,function(){return this.getValue()}),e(Oe,function(){return 1!==this.segments.length?this:this.segments[0].value}),e(we,function(e){if(e.option("unsafe")){var t=function(){};return t.node=this,t.toString=function(){return this.node.print_to_string()},t}return this}),e(nn,function(e,t){if(e.option("unsafe")){for(var n=[],r=0,i=this.elements.length;r>":i=n>>s;break;case">>>":i=n>>>s;break;case"==":i=n==s;break;case"===":i=n===s;break;case"!=":i=n!=s;break;case"!==":i=n!==s;break;case"<":i=n":i=n>s;break;case">=":i=n>=s;break;default:return this}return isNaN(i)&&e.find_parent(he)?this:i}),e(Yt,function(e,t){var n=this.condition._eval(e,t);if(n===this.condition)return this;var r=n?this.consequent:this.alternative,i=r._eval(e,t);return i===r?this:i}),e(zn,function(e,t){var n,r=this.fixed_value();if(!r)return this;if(b(r,"_eval"))n=r._eval();else{if(this._eval=l,n=r._eval(e,t),delete this._eval,n===r)return this;r._eval=function(){return n}}if(n&&"object"==typeof n){var i=this.definition().escaped;if(i&&t>i)return this}return n});var i={Array:Array,Math:Math,Number:Number,Object:Object,String:String},s={Math:["E","LN10","LN2","LOG2E","LOG10E","PI","SQRT1_2","SQRT2"],Number:["MAX_VALUE","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"]};je(s),e(Vt,function(e,t){if(e.option("unsafe")){var n=this.property;if(n instanceof q&&(n=n._eval(e,t))===this.property)return this;var r,o=this.expression;if(ie(o)){if(!(s[o.name]||c)(n))return this;r=i[o.name]}else{if(!(r=o._eval(e,t+1))||r===o||!b(r,n))return this;if("function"==typeof r)switch(n){case"name":return r.node.name?r.node.name.name:"";case"length":return r.node.argnames.length;default:return this}}return r[n]}return this}),e(Ut,function(e,t){var n=this.expression;if(e.option("unsafe")&&n instanceof Vt){var r,s=n.property;if(s instanceof q&&(s=s._eval(e,t))===n.property)return this;var o=n.expression;if(ie(o)){if(!(z[o.name]||c)(s))return this;r=i[o.name]}else if((r=o._eval(e,t+1))===o||!(r&&U[r.constructor.name]||c)(s))return this;for(var a=[],u=0,l=this.args.length;u=":return i.operator="<",i;case">":return i.operator="<=",i}switch(s){case"==":return i.operator="!=",i;case"!=":return i.operator="==",i;case"===":return i.operator="!==",i;case"!==":return i.operator="===",i;case"&&":return i.operator="||",i.left=i.left.negate(n,r),i.right=i.right.negate(n),t(this,i,r);case"||":return i.operator="&&",i.left=i.left.negate(n,r),i.right=i.right.negate(n),t(this,i,r)}return e(this)})}(function(e,t){e.DEFMETHOD("negate",function(e,n){return t.call(this,e,n)})});var H=g("Boolean decodeURI decodeURIComponent Date encodeURI encodeURIComponent Error escape EvalError isFinite isNaN Number Object parseFloat parseInt RangeError ReferenceError String SyntaxError TypeError unescape URIError");function We(e){return e&&e.aborts()}Ut.DEFMETHOD("is_expr_pure",function(e){if(e.option("unsafe")){var t=this.expression;if(ie(t)&&H(t.name))return!0;if(t instanceof Gt&&ie(t.expression)&&(z[t.expression.name]||c)(t.property))return!0}return this.pure||!e.pure_funcs(this)}),q.DEFMETHOD("is_call_pure",c),Gt.DEFMETHOD("is_call_pure",function(e){if(e.option("unsafe")){var t=this.expression,n=c;return t instanceof nn?n=U.Array:t.is_boolean()?n=U.Boolean:t.is_number(e)?n=U.Number:t instanceof $n?n=U.RegExp:t.is_string(e)?n=U.String:this.may_throw_on_access(e)||(n=U.Object),n(this.property)}}),function(t){function e(e,t){for(var n=e.length;--n>=0;)if(e[n].has_side_effects(t))return!0;return!1}t(q,f),t(re,c),t(Xn,c),t(qn,c),t(te,function(t){return e(this.body,t)}),t(Ut,function(t){return!(this.is_expr_pure(t)||this.expression.is_call_pure(t)&&!this.expression.has_side_effects(t))||e(this.args,t)}),t(dt,function(t){return this.expression.has_side_effects(t)||e(this.body,t)}),t(vt,function(t){return this.expression.has_side_effects(t)||e(this.body,t)}),t(bt,function(t){return e(this.body,t)||this.bcatch&&this.bcatch.has_side_effects(t)||this.bfinally&&this.bfinally.has_side_effects(t)}),t(lt,function(e){return this.condition.has_side_effects(e)||this.body&&this.body.has_side_effects(e)||this.alternative&&this.alternative.has_side_effects(e)}),t(oe,function(e){return this.body.has_side_effects(e)}),t(J,function(e){return this.body.has_side_effects(e)}),t(be,c),t(bn,c),t(En,f),t(Jt,function(e){return this.left.has_side_effects(e)||this.right.has_side_effects(e)}),t(Qt,f),t(Yt,function(e){return this.condition.has_side_effects(e)||this.consequent.has_side_effects(e)||this.alternative.has_side_effects(e)}),t(Wt,function(e){return B(this.operator)||this.expression.has_side_effects(e)}),t(zn,function(e){return!this.is_declared(e)}),t(Dn,c),t(pn,function(t){return e(this.properties,t)}),t(hn,function(e){return!!(this.key instanceof mn&&this.key.has_side_effects(e))||this.value.has_side_effects(e)}),t(nn,function(t){return e(this.elements,t)}),t(Gt,function(e){return this.expression.may_throw_on_access(e)||this.expression.has_side_effects(e)}),t(qt,function(e){return this.expression.may_throw_on_access(e)||this.expression.has_side_effects(e)||this.property.has_side_effects(e)}),t(Ht,function(t){return e(this.expressions,t)}),t(Ct,function(t){return e(this.definitions,t)}),t(jt,function(e){return this.value}),t(Ne,c),t(Oe,function(t){return e(this.segments,t)})}(function(e,t){e.DEFMETHOD("has_side_effects",t)}),function(t){function e(e,t){for(var n=e.length;--n>=0;)if(e[n].may_throw(t))return!0;return!1}t(q,f),t(bn,c),t(Xn,c),t(re,c),t(be,c),t(Dn,c),t(qn,c),t(nn,function(t){return e(this.elements,t)}),t(Qt,function(e){return!!this.right.may_throw(e)||!(!e.has_directive("use strict")&&"="==this.operator&&this.left instanceof zn)&&this.left.may_throw(e)}),t(Jt,function(e){return this.left.may_throw(e)||this.right.may_throw(e)}),t(te,function(t){return e(this.body,t)}),t(Ut,function(t){return!!e(this.args,t)||!this.is_expr_pure(t)&&(!!this.expression.may_throw(t)||(!(this.expression instanceof be)||e(this.expression.body,t)))}),t(vt,function(t){return this.expression.may_throw(t)||e(this.body,t)}),t(Yt,function(e){return this.condition.may_throw(e)||this.consequent.may_throw(e)||this.alternative.may_throw(e)}),t(Ct,function(t){return e(this.definitions,t)}),t(Gt,function(e){return this.expression.may_throw_on_access(e)||this.expression.may_throw(e)}),t(lt,function(e){return this.condition.may_throw(e)||this.body&&this.body.may_throw(e)||this.alternative&&this.alternative.may_throw(e)}),t(oe,function(e){return this.body.may_throw(e)}),t(pn,function(t){return e(this.properties,t)}),t(hn,function(e){return this.value.may_throw(e)}),t(Ve,function(e){return this.value&&this.value.may_throw(e)}),t(Ht,function(t){return e(this.expressions,t)}),t(J,function(e){return this.body.may_throw(e)}),t(qt,function(e){return this.expression.may_throw_on_access(e)||this.expression.may_throw(e)||this.property.may_throw(e)}),t(dt,function(t){return this.expression.may_throw(t)||e(this.body,t)}),t(zn,function(e){return!this.is_declared(e)}),t(bt,function(t){return this.bcatch?this.bcatch.may_throw(t):e(this.body,t)||this.bfinally&&this.bfinally.may_throw(t)}),t(Wt,function(e){return!("typeof"==this.operator&&this.expression instanceof zn)&&this.expression.may_throw(e)}),t(jt,function(e){return!!this.value&&this.value.may_throw(e)})}(function(e,t){e.DEFMETHOD("may_throw",t)}),function(n){function e(e){for(var t=e.length;--t>=0;)if(!e[t].is_constant_expression())return!1;return!0}function i(e){var n=this,r=!0;return n.walk(new Te(function(i){if(!r)return!0;if(i instanceof zn){if(n.inlined)return r=!1,!0;var s=i.definition();if(t(s,n.enclosed)&&!n.variables.has(s.name)){if(e){var o=e.find_variable(i);if(s.undeclared?!o:o===s)return r="f",!0}r=!1}return!0}return i instanceof qn&&n instanceof ke?(r=!1,!0):void 0})),r}n(q,c),n(Xn,f),n(bn,function(e){return!(this.extends&&!this.extends.is_constant_expression(e))&&i.call(this,e)}),n(be,i),n(Wt,function(){return this.expression.is_constant_expression()}),n(Jt,function(){return this.left.is_constant_expression()&&this.right.is_constant_expression()}),n(nn,function(){return e(this.elements)}),n(pn,function(){return e(this.properties)}),n(hn,function(){return!(this.key instanceof q)&&this.value.is_constant_expression()})}(function(e,t){e.DEFMETHOD("is_constant_expression",t)}),function(t){function e(){for(var e=0;e1)||(s.name=null)),s instanceof be&&!(s instanceof Ee))for(var m=!e.option("keep_fargs"),g=s.argnames,y=g.length;--y>=0;){var E;(E=g[y])instanceof ye&&(E=E.expression),E instanceof Zt&&(E=E.left),E instanceof Ce||E.definition().id in o?m=!1:(E.__unused=!0,m&&(g.pop(),e[E.unreferenced()?"warn":"info"]("Dropping unused function argument {name} [{file}:{line},{col}]",N(E))))}if((s instanceof xe||s instanceof En)&&s!==t)if(!((h=s.name.definition()).id in o||!n&&h.global))return e[s.name.unreferenced()?"warn":"info"]("Dropping unused function {name} [{file}:{line},{col}]",N(s.name)),h.eliminated++,D(re,s);if(s instanceof Ct&&!(f instanceof pe&&f.init===s)){var S=!(f instanceof ge||s instanceof Ft),k=[],x=[],C=[],A=[];switch(s.definitions.forEach(function(t){t.value&&(t.value=t.value.transform(b));var n=t.name instanceof Ce,i=n?new yt(null,{name:""}):t.name.definition();if(S&&i.global)return C.push(t);if(!r&&!S||n&&(t.name.names.length||t.name.is_array||1!=e.option("pure_getters"))||i.id in o){if(t.value&&i.id in a&&a[i.id]!==t&&(t.value=t.value.drop_side_effect_free(e)),t.name instanceof xn){var c=l.get(i.id);if(c.length>1&&(!t.value||i.orig.indexOf(t.name)>i.eliminated)){if(e.warn("Dropping duplicated definition of variable {name} [{file}:{line},{col}]",N(t.name)),t.value){var u=D(zn,t.name,t.name);i.references.push(u);var f=D(Qt,t,{operator:"=",left:u,right:t.value});a[i.id]===t&&(a[i.id]=f),A.push(f.transform(b))}return v(c,t),void i.eliminated++}}t.value?(A.length>0&&(C.length>0?(A.push(t.value),t.value=F(t.value,A)):k.push(D(J,s,{body:F(s,A)})),A=[]),C.push(t)):x.push(t)}else if(i.orig[0]instanceof Ln){(p=t.value&&t.value.drop_side_effect_free(e))&&A.push(p),t.value=null,x.push(t)}else{var p;(p=t.value&&t.value.drop_side_effect_free(e))?(n||e.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]",N(t.name)),A.push(p)):n||e[t.name.unreferenced()?"warn":"info"]("Dropping unused variable {name} [{file}:{line},{col}]",N(t.name)),i.eliminated++}}),(x.length>0||C.length>0)&&(s.definitions=x.concat(C),k.push(s)),A.length>0&&k.push(D(J,s,{body:F(s,A)})),k.length){case 0:return u?I.skip:D(re,s);case 1:return k[0];default:return u?I.splice(k):D(ne,s,{body:k})}}if(s instanceof fe)return c(s,this),s.init instanceof ne&&(T=s.init,s.init=T.body.pop(),T.body.push(s)),s.init instanceof J?s.init=s.init.body:sn(s.init)&&(s.init=null),T?u?I.splice(T.body):T:s;if(s instanceof oe&&s.body instanceof fe){if(c(s,this),s.body instanceof ne){var T=s.body;return s.body=T.body.pop(),T.body.push(s),u?I.splice(T.body):T}return s}if(s instanceof ne)return c(s,this),u&&_(s.body,Fn)?I.splice(s.body):s;if(s instanceof me){var O=d;return d=s,c(s,this),d=O,s}}function N(e){return{name:e.name,file:e.start.file,line:e.start.line,col:e.start.col}}});t.transform(b)}}function C(e,n){var r,c=i(e);if(c instanceof zn&&!u(e.left,Cn)&&t.variables.get(c.name)===(r=c.definition()))return e instanceof Qt&&(e.right.walk(h),r.chained||e.left.fixed_value()!==e.right||(a[r.id]=e)),!0;if(e instanceof zn)return(r=e.definition()).id in o||(o[r.id]=!0,s.push(r),(r=r.redefined())&&(o[r.id]=!0,s.push(r))),!0;if(e instanceof me){var l=d;return d=e,n(),d=l,!0}}}),me.DEFMETHOD("hoist_declarations",function(e){var t=this;if(e.has_directive("use asm"))return t;if(!Array.isArray(t.body))return t;var n=e.option("hoist_funs"),r=e.option("hoist_vars");if(n||r){var s=[],o=[],a=new y,c=0,u=0;t.walk(new Te(function(e){return e instanceof me&&e!==t||(e instanceof Ft?(++u,!0):void 0)})),r=r&&u>1;var l=new _t(function(i){if(i!==t){if(i instanceof X)return s.push(i),D(re,i);if(n&&i instanceof xe&&!(l.parent()instanceof Bt)&&l.parent()===t)return o.push(i),D(re,i);if(r&&i instanceof Ft){i.definitions.forEach(function(e){e.name instanceof Ce||(a.set(e.name.name,e),++c)});var u=i.to_assignments(e),f=l.parent();if(f instanceof pe&&f.init===i){if(null==u){var p=i.definitions[0].name;return D(zn,p,p)}return u}return f instanceof fe&&f.init===i?u:u?D(J,i,{body:u}):D(re,i)}if(i instanceof me)return i}});if(t=t.transform(l),c>0){var f=[];if(a.each(function(e,n){t instanceof be&&i(function(t){return t.name==e.name.name},t.args_as_names())?a.del(n):((e=e.clone()).value=null,f.push(e),a.set(n,e))}),f.length>0){for(var p=0;p0&&(c[0].body=a.concat(c[0].body)),e.body=c;n=c[c.length-1];){var d=n.body[n.body.length-1];if(d instanceof Xe&&t.loopcontrol_target(d)===e&&n.body.pop(),n.body.length||n instanceof vt&&(s||n.expression.has_side_effects(t)))break;c.pop()===s&&(s=null)}if(0==c.length)return D(ne,e,{body:a.concat(D(J,e.expression,{body:e.expression}))}).optimize(t);if(1==c.length&&(c[0]===o||c[0]===s)){var h=!1,m=new Te(function(t){if(h||t instanceof be||t instanceof J)return!0;t instanceof Xe&&m.loopcontrol_target(t)===e&&(h=!0)});if(e.walk(m),!h){var g,y=c[0].body.slice();return(g=c[0].expression)&&y.unshift(D(J,g,{body:g})),y.unshift(D(J,e.expression,{body:e.expression})),D(ne,e,{body:y}).optimize(t)}}return e;function _(e,n){n&&!We(n)?n.body=n.body.concat(e.body):_e(t,e,a)}}),n(bt,function(e,t){if(De(e.body,t),e.bcatch&&e.bfinally&&_(e.bfinally.body,sn)&&(e.bfinally=null),t.option("dead_code")&&_(e.body,sn)){var n=[];return e.bcatch&&(_e(t,e.bcatch,n),n.forEach(function(e){e instanceof Ct&&e.definitions.forEach(function(e){var t=e.name.definition().redefined();t&&(e.name=e.name.clone(),e.name.thedef=t)})})),e.bfinally&&(n=n.concat(e.bfinally.body)),D(ne,e,{body:n}).optimize(t)}return e}),Ct.DEFMETHOD("remove_initializers",function(){var e=[];this.definitions.forEach(function(t){t.name instanceof Dn?(t.value=null,e.push(t)):t.name.walk(new Te(function(n){n instanceof Dn&&e.push(D(jt,t,{name:n,value:null}))}))}),this.definitions=e}),Ct.DEFMETHOD("to_assignments",function(e){var t=e.option("reduce_vars"),n=this.definitions.reduce(function(e,n){if(!n.value||n.name instanceof Ce){if(n.value){var r=D(jt,n,{name:n.name,value:n.value}),i=D(Ft,n,{definitions:[r]});e.push(i)}}else{var s=D(zn,n.name,n.name);e.push(D(Qt,n,{operator:"=",left:s,right:n.value})),t&&(s.definition().fixed=!1)}return(n=n.name.definition()).eliminated++,n.replaced--,e},[]);return 0==n.length?null:F(this,n)}),n(Ct,function(e,t){return 0==e.definitions.length?D(re,e):e}),n(Lt,function(e,t){return e}),n(Ut,function(e,t){var n=e.expression,r=n,i=_(e.args,function(e){return!(e instanceof ye)});t.option("reduce_vars")&&r instanceof zn&&Qe(r=r.fixed_value(),t)&&(r=n);var s=r instanceof be;if(t.option("unused")&&i&&s&&!r.uses_arguments&&!r.pinned()){for(var a=0,c=0,u=0,l=e.args.length;u=r.argnames.length;if(f||r.argnames[u].__unused){if(v=e.args[u].drop_side_effect_free(t))e.args[a++]=v;else if(!f){e.args[a++]=D(Zn,e.args[u],{value:0});continue}}else e.args[a++]=e.args[u];c=a}e.args.length=c}if(t.option("unsafe"))if(ie(n))switch(n.name){case"Array":if(1!=e.args.length)return D(nn,e,{elements:e.args}).optimize(t);break;case"Object":if(0==e.args.length)return D(pn,e,{properties:[]});break;case"String":if(0==e.args.length)return D(Jn,e,{value:""});if(e.args.length<=1)return D(Jt,e,{left:e.args[0],operator:"+",right:D(Jn,e,{value:""})}).optimize(t);break;case"Number":if(0==e.args.length)return D(Zn,e,{value:0});if(1==e.args.length)return D(Kt,e,{expression:e.args[0],operator:"+"}).optimize(t);case"Boolean":if(0==e.args.length)return D(ar,e);if(1==e.args.length)return D(Kt,e,{expression:D(Kt,e,{expression:e.args[0],operator:"!"}),operator:"!"}).optimize(t);break;case"RegExp":var p=[];if(_(e.args,function(e){var n=e.evaluate(t);return p.unshift(n),e!==n}))try{return Re(t,e,D($n,e,{value:RegExp.apply(RegExp,p)}))}catch(n){t.warn("Error converting {expr} [{file}:{line},{col}]",{expr:e.print_to_string(),file:e.start.file,line:e.start.line,col:e.start.col})}}else if(n instanceof Gt)switch(n.property){case"toString":if(0==e.args.length&&!n.expression.may_throw_on_access(t))return D(Jt,e,{left:D(Jn,e,{value:""}),operator:"+",right:n.expression}).optimize(t);break;case"join":if(n.expression instanceof nn)e:{var d;if(!(e.args.length>0&&(d=e.args[0].evaluate(t))===e.args[0])){var h,m=[],g=[];for(u=0,l=n.expression.elements.length;u0&&(m.push(D(Jn,e,{value:g.join(d)})),g.length=0),m.push(y))}return g.length>0&&m.push(D(Jn,e,{value:g.join(d)})),0==m.length?D(Jn,e,{value:""}):1==m.length?m[0].is_string(t)?m[0]:D(Jt,m[0],{operator:"+",left:D(Jn,e,{value:""}),right:m[0]}):""==d?(h=m[0].is_string(t)||m[1].is_string(t)?m.shift():D(Jn,e,{value:""}),m.reduce(function(e,t){return D(Jt,t,{operator:"+",left:e,right:t})},h).optimize(t)):((v=e.clone()).expression=v.expression.clone(),v.expression.expression=v.expression.expression.clone(),v.expression.expression.elements=m,Re(t,e,v));var v}}break;case"charAt":if(n.expression.is_string(t)){var b=e.args[0],E=b?b.evaluate(t):0;if(E!==b)return D(qt,n,{expression:n.expression,property:C(0|E,b||n)}).optimize(t)}break;case"apply":if(2==e.args.length&&e.args[1]instanceof nn)return(P=e.args[1].elements.slice()).unshift(e.args[0]),D(Ut,e,{expression:D(Gt,n,{expression:n.expression,property:"call"}),args:P}).optimize(t);break;case"call":var w=n.expression;if(w instanceof zn&&(w=w.fixed_value()),w instanceof be&&!w.contains_this())return(e.args.length?F(this,[e.args[0],D(Ut,e,{expression:n.expression,args:e.args.slice(1)})]):D(Ut,e,{expression:n.expression,args:[]})).optimize(t)}if(t.option("unsafe_Function")&&ie(n)&&"Function"==n.name){if(0==e.args.length)return D(we,e,{argnames:[],body:[]}).optimize(t);if(_(e.args,function(e){return e instanceof Jn}))try{var S=gt(T="n(function("+e.args.slice(0,-1).map(function(e){return e.value}).join(",")+"){"+e.args[e.args.length-1].value+"})"),k={ie8:t.option("ie8")};S.figure_out_scope(k);var x,A=new kt(t.options);(S=S.transform(A)).figure_out_scope(k),Lr.reset(),S.compute_char_frequency(k),S.mangle_names(k),S.walk(new Te(function(e){return!!x||(o(e)?(x=e,!0):void 0)})),x.body instanceof q&&(x.body=[D(Ve,x.body,{value:x.body})]);var T=xt();return ne.prototype._codegen.call(x,x,T),e.args=[D(Jn,e,{value:x.argnames.map(function(e){return e.print_to_string()}).join(",")}),D(Jn,e.args[e.args.length-1],{value:T.get().replace(/^\{|\}$/g,"")})],e}catch(n){if(!(n instanceof st))throw n;t.warn("Error parsing code passed to new Function [{file}:{line},{col}]",e.args[e.args.length-1].start),t.warn(n.toString())}}var M=s&&r.body;M instanceof q?M=D(Ve,M,{value:M}):M&&(M=M[0]);var O=s&&!r.is_generator&&!r.async,I=t.option("inline")&&!e.is_expr_pure(t);if(I&&M instanceof Ve&&O&&(!(L=M.value)||L.is_constant_expression())){L=L?L.clone(!0):D(rr,e);var P=e.args.concat(L);return F(e,P).optimize(t)}if(O){var N,L,B,j,U=-1;if(I&&i&&!r.uses_arguments&&!r.pinned()&&!(t.parent()instanceof bn)&&!(r.name&&r instanceof we)&&(!(t.find_parent(be)instanceof ke)||0==r.argnames.length&&(r.body instanceof q||1==r.body.length))&&(L=function(e){var n=r.body instanceof q?[r.body]:r.body,i=n.length;if(t.option("inline")<3)return 1==i&&Y(e);e=null;for(var s=0;s=0;){var a=s.definitions[o].name;if(a instanceof Ce||e[a.name]||R(a.name)||B.var_names()[a.name])return!1;j&&j.push(a.definition())}}}return!0}(e,i>=3&&n)||!function(e,t){for(var n=0,i=r.argnames.length;n=2&&n)||j&&0!=j.length&&et(r,j))}()&&!(B instanceof bn))return r._squeezed=!0,F(e,function(){var n=[],i=[];(function(t,n){for(var i=r.argnames.length,s=e.args.length;--s>=i;)n.push(e.args[s]);for(s=i;--s>=0;){var o=r.argnames[s],a=e.args[s];if(o.__unused||!o.name||B.var_names()[o.name])a&&n.push(a);else{var c=D(xn,o,o);o.definition().orig.push(c),!a&&j&&(a=D(rr,e)),Z(t,n,c,a)}}t.reverse(),n.reverse()})(n,i),function(e,t){for(var n=t.length,i=0,s=r.body.length;i0&&Se(i[s],t);)s--;s0)return(n=this.clone()).right=F(this.right,t.slice(s)),(t=t.slice(0,s)).push(n),F(this,t).optimize(e)}}return this});var ee=g("== === != !== * & | ^");function Ge(e,t){for(var n,r=0;n=e.parent(r);r++)if(n instanceof be){var i=n.name;if(i&&i.definition()===t)break}return n}function nt(e,t){return e instanceof zn||e.TYPE===t.TYPE}function et(e,n){var r=!1,i=new Te(function(e){return!!r||(e instanceof zn&&t(e.definition(),n)?r=!0:void 0)}),s=new Te(function(t){if(r)return!0;if(t instanceof me&&t!==e){var n=s.parent();if(n instanceof Ut&&n.expression===t)return;return t.walk(i),!0}});return e.walk(s),r}n(Jt,function(e,n){function t(){return e.left.is_constant()||e.right.is_constant()||!e.left.has_side_effects(n)&&!e.right.has_side_effects(n)}function i(n){if(t()){n&&(e.operator=n);var r=e.left;e.left=e.right,e.right=r}}if(ee(e.operator)&&e.right.is_constant()&&!e.left.is_constant()&&(e.left instanceof Jt&&Ir[e.left.operator]>=Ir[e.operator]||i()),e=e.lift_sequences(n),n.option("comparisons"))switch(e.operator){case"===":case"!==":var r=!0;(e.left.is_string(n)&&e.right.is_string(n)||e.left.is_number(n)&&e.right.is_number(n)||e.left.is_boolean()&&e.right.is_boolean()||e.left.equivalent_to(e.right))&&(e.operator=e.operator.substr(0,2));case"==":case"!=":if(!r&&Se(e.left,n))e.left=D(tr,e.left);else if(n.option("typeofs")&&e.left instanceof Jn&&"undefined"==e.left.value&&e.right instanceof Kt&&"typeof"==e.right.operator){var s=e.right.expression;(s instanceof zn?!s.is_declared(n):s instanceof Vt&&n.option("ie8"))||(e.right=s,e.left=D(rr,e.left).optimize(n),2==e.operator.length&&(e.operator+="="))}else if(e.left instanceof zn&&e.right instanceof zn&&e.left.definition()===e.right.definition()&&((c=e.left.fixed_value())instanceof nn||c instanceof be||c instanceof pn||c instanceof bn))return D("="==e.operator[0]?cr:ar,e);break;case"&&":case"||":var o=e.left;if(o.operator==e.operator&&(o=o.right),o instanceof Jt&&o.operator==("&&"==e.operator?"!==":"===")&&e.right instanceof Jt&&o.operator==e.right.operator&&(Se(o.left,n)&&e.right.left instanceof tr||o.left instanceof tr&&Se(e.right.left,n))&&!o.right.has_side_effects(n)&&o.right.equivalent_to(e.right.right)){var a=D(Jt,e,{operator:o.operator.slice(0,-1),left:D(tr,e),right:o.right});return o!==e.left&&(a=D(Jt,e,{operator:e.operator,left:e.left.left,right:a})),a}}var c;if("+"==e.operator&&n.in_boolean_context()){var u=e.left.evaluate(n),l=e.right.evaluate(n);if(u&&"string"==typeof u)return n.warn("+ in boolean context always true [{file}:{line},{col}]",e.start),F(e,[e.right,D(cr,e)]).optimize(n);if(l&&"string"==typeof l)return n.warn("+ in boolean context always true [{file}:{line},{col}]",e.start),F(e,[e.left,D(cr,e)]).optimize(n)}if(n.option("comparisons")&&e.is_boolean()){if(!(n.parent()instanceof Jt)||n.parent()instanceof Qt){var f=D(Kt,e,{operator:"!",expression:e.negate(n,E(n))});e=Re(n,e,f)}if(n.option("unsafe_comps"))switch(e.operator){case"<":i(">");break;case"<=":i(">=")}}if("+"==e.operator){if(e.right instanceof Jn&&""==e.right.getValue()&&e.left.is_string(n))return e.left;if(e.left instanceof Jn&&""==e.left.getValue()&&e.right.is_string(n))return e.right;if(e.left instanceof Jt&&"+"==e.left.operator&&e.left.left instanceof Jn&&""==e.left.left.getValue()&&e.right.is_string(n))return e.left=e.left.right,e.transform(n)}if(n.option("evaluate")){switch(e.operator){case"&&":if(!(u=!!e.left.truthy||!e.left.falsy&&e.left.evaluate(n)))return n.warn("Condition left of && always false [{file}:{line},{col}]",e.start),M(n.parent(),n.self(),e.left).optimize(n);if(!(u instanceof q))return n.warn("Condition left of && always true [{file}:{line},{col}]",e.start),F(e,[e.left,e.right]).optimize(n);if(l=e.right.evaluate(n)){if(!(l instanceof q)){if("&&"==(p=n.parent()).operator&&p.left===n.self()||n.in_boolean_context())return n.warn("Dropping side-effect-free && [{file}:{line},{col}]",e.start),e.left.optimize(n)}}else{if(n.in_boolean_context())return n.warn("Boolean && always false [{file}:{line},{col}]",e.start),F(e,[e.left,D(ar,e)]).optimize(n);e.falsy=!0}if("||"==e.left.operator)if(!(d=e.left.right.evaluate(n)))return D(Yt,e,{condition:e.left.left,consequent:e.right,alternative:e.left.right}).optimize(n);break;case"||":var p,d;if(!(u=!!e.left.truthy||!e.left.falsy&&e.left.evaluate(n)))return n.warn("Condition left of || always false [{file}:{line},{col}]",e.start),F(e,[e.left,e.right]).optimize(n);if(!(u instanceof q))return n.warn("Condition left of || always true [{file}:{line},{col}]",e.start),M(n.parent(),n.self(),e.left).optimize(n);if(l=e.right.evaluate(n)){if(!(l instanceof q)){if(n.in_boolean_context())return n.warn("Boolean || always true [{file}:{line},{col}]",e.start),F(e,[e.left,D(cr,e)]).optimize(n);e.truthy=!0}}else if("||"==(p=n.parent()).operator&&p.left===n.self()||n.in_boolean_context())return n.warn("Dropping side-effect-free || [{file}:{line},{col}]",e.start),e.left.optimize(n);if("&&"==e.left.operator)if((d=e.left.right.evaluate(n))&&!(d instanceof q))return D(Yt,e,{condition:e.left.left,consequent:e.left.right,alternative:e.right}).optimize(n)}var h=!0;switch(e.operator){case"+":if(e.left instanceof Xn&&e.right instanceof Jt&&"+"==e.right.operator&&e.right.left instanceof Xn&&e.right.is_string(n)&&(e=D(Jt,e,{operator:"+",left:D(Jn,e.left,{value:""+e.left.getValue()+e.right.left.getValue(),start:e.left.start,end:e.right.left.end}),right:e.right.right})),e.right instanceof Xn&&e.left instanceof Jt&&"+"==e.left.operator&&e.left.right instanceof Xn&&e.left.is_string(n)&&(e=D(Jt,e,{operator:"+",left:e.left.left,right:D(Jn,e.right,{value:""+e.left.right.getValue()+e.right.getValue(),start:e.left.right.start,end:e.right.end})})),e.left instanceof Jt&&"+"==e.left.operator&&e.left.is_string(n)&&e.left.right instanceof Xn&&e.right instanceof Jt&&"+"==e.right.operator&&e.right.left instanceof Xn&&e.right.is_string(n)&&(e=D(Jt,e,{operator:"+",left:D(Jt,e.left,{operator:"+",left:e.left.left,right:D(Jn,e.left.right,{value:""+e.left.right.getValue()+e.right.left.getValue(),start:e.left.right.start,end:e.right.left.end})}),right:e.right.right})),e.right instanceof Kt&&"-"==e.right.operator&&e.left.is_number(n)){e=D(Jt,e,{operator:"-",left:e.left,right:e.right.expression});break}if(e.left instanceof Kt&&"-"==e.left.operator&&t()&&e.right.is_number(n)){e=D(Jt,e,{operator:"-",left:e.right,right:e.left.expression});break}case"*":h=n.option("unsafe_math");case"&":case"|":case"^":if(e.left.is_number(n)&&e.right.is_number(n)&&t()&&!(e.left instanceof Jt&&e.left.operator!=e.operator&&Ir[e.left.operator]>=Ir[e.operator])){var m=D(Jt,e,{operator:e.operator,left:e.right,right:e.left});e=e.right instanceof Xn&&!(e.left instanceof Xn)?Re(n,m,e):Re(n,e,m)}h&&e.is_number(n)&&(e.right instanceof Jt&&e.right.operator==e.operator&&(e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:e.left,right:e.right.left,start:e.left.start,end:e.right.left.end}),right:e.right.right})),e.right instanceof Xn&&e.left instanceof Jt&&e.left.operator==e.operator&&(e.left.left instanceof Xn?e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:e.left.left,right:e.right,start:e.left.left.start,end:e.right.end}),right:e.left.right}):e.left.right instanceof Xn&&(e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:e.left.right,right:e.right,start:e.left.right.start,end:e.right.end}),right:e.left.left}))),e.left instanceof Jt&&e.left.operator==e.operator&&e.left.right instanceof Xn&&e.right instanceof Jt&&e.right.operator==e.operator&&e.right.left instanceof Xn&&(e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:D(Jt,e.left.left,{operator:e.operator,left:e.left.right,right:e.right.left,start:e.left.right.start,end:e.right.left.end}),right:e.left.left}),right:e.right.right})))}}if(e.right instanceof Jt&&e.right.operator==e.operator&&(P(e.operator)||"+"==e.operator&&(e.right.left.is_string(n)||e.left.is_string(n)&&e.right.right.is_string(n))))return e.left=D(Jt,e.left,{operator:e.operator,left:e.left,right:e.right.left}),e.right=e.right.right,e.transform(n);var g=e.evaluate(n);return g!==e?(g=C(g,e).optimize(n),Re(n,g,e)):e}),n(Hn,function(e,t){return e}),n(zn,function(e,t){if(!t.option("ie8")&&ie(e)&&(!e.scope.uses_with||!t.find_parent(he)))switch(e.name){case"undefined":return D(rr,e).optimize(t);case"NaN":return D(nr,e).optimize(t);case"Infinity":return D(sr,e).optimize(t)}var n=t.parent();if(t.option("reduce_vars")&&He(e,n)!==e){var r=e.definition();if(t.top_retain&&r.global&&t.top_retain(r))return r.fixed=!1,r.should_replace=!1,r.single_use=!1,e;var i=e.fixed_value(),s=r.single_use&&!(n instanceof Ut&&n.is_expr_pure(t));if(s&&(i instanceof be||i instanceof bn))if(Qe(i,t))s=!1;else if(r.scope!==e.scope&&(!t.option("reduce_funcs")&&i instanceof be||1==r.escaped||i.inlined||function(e){for(var t,n=0;t=e.parent(n++);){if(t instanceof W)return!1;if(t instanceof nn||t instanceof mn||t instanceof pn)return!0}return!1}(t)))s=!1;else if(Ge(t,r))s=!1;else if((r.scope!==e.scope||r.orig[0]instanceof Mn)&&"f"==(s=i.is_constant_expression(e.scope))){var a=e.scope;do{(a instanceof xe||o(a))&&(a.inlined=!0)}while(a=a.parent_scope)}if(s&&i){var c;if(i instanceof En&&(i=D(wn,i,i)),i instanceof xe&&(i._squeezed=!0,i=D(we,i,i)),r.recursive_refs>0&&i.name instanceof On){var u=(c=i.clone(!0)).name.definition(),l=c.variables.get(c.name.name),f=l&&l.orig[0];f instanceof Rn||((f=D(Rn,c.name,c.name)).scope=c,c.name=f,l=c.def_function(f)),c.walk(new Te(function(e){e instanceof zn&&e.definition()===u&&(e.thedef=l,l.references.push(e))}))}else(c=i.optimize(t))===i&&(c=i.clone(!0));return c}if(i&&void 0===r.should_replace){var p;if(i instanceof qn)r.orig[0]instanceof Mn||!_(r.references,function(e){return r.scope===e.scope})||(p=i);else{var d=i.evaluate(t);d===i||!t.option("unsafe_regexp")&&d instanceof RegExp||(p=C(d,i))}if(p){var h,m=p.optimize(t).print_to_string().length;!function(e){var t;return e.walk(new Te(function(e){if(e instanceof zn&&(t=!0),t)return!0})),t}(i)?(m=Math.min(m,i.print_to_string().length),h=function(){var e=Pe(p.optimize(t),i);return e===p||e===i?e.clone(!0):e}):h=function(){var e=p.optimize(t);return e===p?e.clone(!0):e};var g=r.name.length,y=0;t.option("unused")&&!t.exposed(r)&&(y=(g+2+m)/(r.references.length-r.assignments)),r.should_replace=m<=g+y&&h}else r.should_replace=!1}if(r.should_replace)return r.should_replace()}return e}),n(rr,function(e,t){if(t.option("unsafe_undefined")){var n=d(t,"undefined");if(n){var r=D(zn,e,{name:"undefined",scope:n.scope,thedef:n});return r.is_undefined=!0,r}}var i=He(t.self(),t.parent());return i&&nt(i,e)?e:D(Kt,e,{operator:"void",expression:D(Zn,e,{value:0})})}),n(sr,function(e,t){var n=He(t.self(),t.parent());return n&&nt(n,e)?e:!t.option("keep_infinity")||n&&!nt(n,e)||d(t,"Infinity")?D(Jt,e,{operator:"/",left:D(Zn,e,{value:1}),right:D(Zn,e,{value:0})}):e}),n(nr,function(e,t){var n=He(t.self(),t.parent());return n&&!nt(n,e)||d(t,"NaN")?D(Jt,e,{operator:"/",left:D(Zn,e,{value:0}),right:D(Zn,e,{value:0})}):e});var se=["+","-","/","*","%",">>","<<",">>>","|","^","&"],de=["*","|","^","&"];function rt(e,t){return e instanceof zn&&(e=e.fixed_value()),!!e&&(!(e instanceof be||e instanceof bn)||t.parent()instanceof zt||!e.contains_this())}function ot(e,t){return t.in_boolean_context()?Re(t,e,F(e,[e,D(cr,e)]).optimize(t)):e}function at(e,t){if(!t.option("computed_props"))return e;if(!(e.key instanceof Xn))return e;if(e.key instanceof Jn||e.key instanceof Zn){if("constructor"==e.key.value&&t.parent()instanceof bn)return e;e.key=e instanceof mn?e.key.value:D(In,e.key,{name:e.key.value})}return e}n(Qt,function(e,n){var r;if(n.option("dead_code")&&e.left instanceof zn&&(r=e.left.definition()).scope===n.find_parent(be)){var i,s=0,o=e;do{if(i=o,(o=n.parent(s++))instanceof ze){if(u(s,o))break;if(et(r.scope,[r]))break;return"="==e.operator?e.right:(r.fixed=!1,D(Jt,e,{operator:e.operator.slice(0,-1),left:e.left,right:e.right}).optimize(n))}}while(o instanceof Jt&&o.right===i||o instanceof Ht&&o.tail_node()===i)}return"="==(e=e.lift_sequences(n)).operator&&e.left instanceof zn&&e.right instanceof Jt&&(e.right.left instanceof zn&&e.right.left.name==e.left.name&&t(e.right.operator,se)?(e.operator=e.right.operator+"=",e.right=e.right.right):e.right.right instanceof zn&&e.right.right.name==e.left.name&&t(e.right.operator,de)&&!e.right.left.has_side_effects(n)&&(e.operator=e.right.operator+"=",e.right=e.right.left)),e;function u(t,r){var i=e.right;e.right=D(tr,i);var s=r.may_throw(n);e.right=i;for(var o,a=e.left.definition().scope;(o=n.parent(t++))!==a;)if(o instanceof bt){if(o.bfinally)return!0;if(s&&o.bcatch)return!0}}}),n(Zt,function(e,t){if(!t.option("evaluate"))return e;var n=e.right.evaluate(t);return void 0===n?e=e.left:n!==e.right&&(n=C(n,e.right),e.right=Pe(n,e.right)),e}),n(Yt,function(e,t){if(!t.option("conditionals"))return e;if(e.condition instanceof Ht){var n=e.condition.expressions.slice();return e.condition=n.pop(),n.push(e),F(e,n)}var r=e.condition.evaluate(t);if(r!==e.condition)return r?(t.warn("Condition always true [{file}:{line},{col}]",e.start),M(t.parent(),t.self(),e.consequent)):(t.warn("Condition always false [{file}:{line},{col}]",e.start),M(t.parent(),t.self(),e.alternative));var i=r.negate(t,E(t));Re(t,r,i)===i&&(e=D(Yt,e,{condition:i,consequent:e.alternative,alternative:e.consequent}));var s,o=e.condition,a=e.consequent,c=e.alternative;if(o instanceof zn&&a instanceof zn&&o.definition()===a.definition())return D(Jt,e,{operator:"||",left:o,right:c});if(a instanceof Qt&&c instanceof Qt&&a.operator==c.operator&&a.left.equivalent_to(c.left)&&(!e.condition.has_side_effects(t)||"="==a.operator&&!a.left.has_side_effects(t)))return D(Qt,e,{operator:a.operator,left:a.left,right:D(Yt,e,{condition:e.condition,consequent:a.right,alternative:c.right})});if(a instanceof Ut&&c.TYPE===a.TYPE&&a.args.length>0&&a.args.length==c.args.length&&a.expression.equivalent_to(c.expression)&&!e.condition.has_side_effects(t)&&!a.expression.has_side_effects(t)&&"number"==typeof(s=function(){for(var e=a.args,t=c.args,n=0,r=e.length;n1)&&(p=null)}else if(!p&&!t.option("keep_fargs")&&a=n.argnames.length;)p=D(Mn,n,{name:n.make_var_name("argument_"+n.argnames.length),scope:n}),n.argnames.push(p),n.enclosed.push(n.def_variable(p));if(p){var h=D(zn,e,p);return h.reference({}),delete p.__unused,h}}if(He(e,t.parent()))return e;if(s!==i){var m=e.flatten_object(o,t);m&&(r=e.expression=m.expression,i=e.property=m.property)}if(t.option("properties")&&t.option("side_effects")&&i instanceof Zn&&r instanceof nn){a=i.getValue();var g=r.elements,y=g[a];e:if(rt(y,t)){for(var v=!0,_=[],b=g.length;--b>a;){(E=g[b].drop_side_effect_free(t))&&(_.unshift(E),v&&E.has_side_effects(t)&&(v=!1))}if(y instanceof ye)break e;for(y=y instanceof ir?D(rr,y):y,v||_.unshift(y);--b>=0;){var E;if((E=g[b])instanceof ye)break e;(E=E.drop_side_effect_free(t))?_.unshift(E):a--}return v?(_.push(y),F(e,_).optimize(t)):D(qt,e,{expression:D(nn,r,{elements:_}),property:D(Zn,i,{value:a})})}}var w=e.evaluate(t);return w!==e?Re(t,w=C(w,e).optimize(t),e):e}),be.DEFMETHOD("contains_this",function(){var e,t=this;return t.walk(new Te(function(n){return!!e||(n instanceof qn?e=!0:n!==t&&n instanceof me&&!(n instanceof ke)||void 0)})),e}),Vt.DEFMETHOD("flatten_object",function(e,t){if(t.option("properties")){var n=t.option("unsafe_arrows")&&t.option("ecma")>=6,r=this.expression;if(r instanceof pn)for(var i=r.properties,s=i.length;--s>=0;){var o=i[s];if(""+(o instanceof _n?o.key.name:o.key)==e){if(!_(i,function(e){return e instanceof mn||n&&e instanceof _n&&!e.is_generator}))break;if(!rt(o.value,t))break;return D(qt,this,{expression:D(nn,r,{elements:i.map(function(e){var t=e.value;t instanceof Ee&&(t=D(we,t,t));var n=e.key;return n instanceof q&&!(n instanceof In)?F(e,[n,t]):t})}),property:D(Zn,this,{value:s})})}}}}),n(Gt,function(e,t){if("arguments"!=e.property&&"caller"!=e.property||t.warn("Function.protoype.{prop} not supported [{file}:{line},{col}]",{prop:e.property,file:e.start.file,line:e.start.line,col:e.start.col}),He(e,t.parent()))return e;if(t.option("unsafe_proto")&&e.expression instanceof Gt&&"prototype"==e.expression.property){var n=e.expression.expression;if(ie(n))switch(n.name){case"Array":e.expression=D(nn,e.expression,{elements:[]});break;case"Function":e.expression=D(we,e.expression,{argnames:[],body:[]});break;case"Number":e.expression=D(Zn,e.expression,{value:0});break;case"Object":e.expression=D(pn,e.expression,{properties:[]});break;case"RegExp":e.expression=D($n,e.expression,{value:/t/});break;case"String":e.expression=D(Jn,e.expression,{value:""})}}var r=e.flatten_object(e.property,t);if(r)return r.optimize(t);var i=e.evaluate(t);return i!==e?Re(t,i=C(i,e).optimize(t),e):e}),n(nn,ot),n(pn,ot),n($n,ot),n(Ve,function(e,t){return e.value&&Se(e.value,t)&&(e.value=null),e}),n(ke,function(e,t){if(e.body instanceof q||(e=Je(e,t)),t.option("arrows")&&1==e.body.length&&e.body[0]instanceof Ve){var n=e.body[0].value;e.body=n||[]}return e}),n(we,function(e,t){if(e=Je(e,t),t.option("unsafe_arrows")&&t.option("ecma")>=6&&!e.name&&!e.is_generator&&!e.uses_arguments&&!e.pinned()){var n=!1;if(e.walk(new Te(function(e){return!!n||(e instanceof qn?(n=!0,!0):void 0)})),!n)return D(ke,e,e).optimize(t)}return e}),n(bn,function(e,t){return e}),n(lr,function(e,t){return e.expression&&!e.is_star&&Se(e.expression,t)&&(e.expression=null),e}),n(Oe,function(e,t){if(!t.option("evaluate")||t.parent()instanceof Me)return e;for(var n=[],r=0;r=6&&(!(n instanceof RegExp)||n.test(e.key+""))){var r=e.key,i=e.value;if((i instanceof ke&&Array.isArray(i.body)&&!i.contains_this()||i instanceof we)&&!i.name)return D(_n,e,{async:i.async,is_generator:i.is_generator,key:r instanceof q?r:D(In,e,{name:r}),value:D(Ee,i,i),quote:e.quote})}return e}),n(Ce,function(e,t){if(1==t.option("pure_getters")&&t.option("unused")&&!e.is_array&&Array.isArray(e.names)&&!function(e){for(var t=[/^VarDef$/,/^(Const|Let|Var)$/,/^Export$/],n=0,r=0,i=t.length;n|%)([a-z0-9$_]+)/i.exec(e);if(!t)throw new Error("Can't understand property map: "+e);var n=t[1],r=t[2],i=t[3];switch(a+=",\n"+i+": ",u+=",\n"+n+": ",r){case"@":a+="M."+n+".map(from_moz)",u+="M."+i+".map(to_moz)";break;case">":a+="from_moz(M."+n+")",u+="to_moz(M."+i+")";break;case"=":a+="M."+n,u+="M."+i;break;case"%":a+="from_moz(M."+n+").body",u+="to_moz_block(M)";break;default:throw new Error("Can't understand operator in propmap: "+e)}}),a+="\n})\n}",u+="\n}\n}",a=new Function("U2","my_start_token","my_end_token","from_moz","return("+a+")")(O,r,o,s),u=new Function("to_moz","to_moz_block","to_moz_scope","return("+u+")")(l,h,d),t[e]=a,c(n,u)}t.UpdateExpression=t.UnaryExpression=function(e){return new(("prefix"in e?e.prefix:"UnaryExpression"==e.type)?Kt:Xt)({start:r(e),end:o(e),operator:e.operator,expression:s(e.argument)})},t.ClassDeclaration=t.ClassExpression=function(e){return new("ClassDeclaration"===e.type?En:wn)({start:r(e),end:o(e),name:s(e.id),extends:s(e.superClass),properties:e.body.body.map(s)})},a("EmptyStatement",re),a("BlockStatement",ne,"body@body"),a("IfStatement",lt,"test>condition, consequent>body, alternate>alternative"),a("LabeledStatement",oe,"label>label, body>body"),a("BreakStatement",Xe,"label>label"),a("ContinueStatement",$e,"label>label"),a("WithStatement",he,"object>expression, body>body"),a("SwitchStatement",dt,"discriminant>expression, cases@body"),a("ReturnStatement",Ve,"argument>value"),a("ThrowStatement",qe,"argument>value"),a("WhileStatement",le,"test>condition, body>body"),a("DoWhileStatement",ue,"test>condition, body>body"),a("ForStatement",fe,"init>init, test>condition, update>step, body>body"),a("ForInStatement",pe,"left>init, right>object, body>body"),a("ForOfStatement",de,"left>init, right>object, body>body, await=await"),a("AwaitExpression",ur,"argument>expression"),a("YieldExpression",lr,"argument>expression, delegate=is_star"),a("DebuggerStatement",K),a("VariableDeclarator",jt,"id>name, init>value"),a("CatchClause",Et,"param>argname, body%body"),a("ThisExpression",qn),a("Super",Wn),a("BinaryExpression",Jt,"operator=operator, left>left, right>right"),a("LogicalExpression",Jt,"operator=operator, left>left, right>right"),a("AssignmentExpression",Qt,"operator=operator, left>left, right>right"),a("ConditionalExpression",Yt,"test>condition, consequent>consequent, alternate>alternative"),a("NewExpression",zt,"callee>expression, arguments@args"),a("CallExpression",Ut,"callee>expression, arguments@args"),c(ge,function(e){return d("Program",e)}),c(ye,function(e,t){return{type:p()?"RestElement":"SpreadElement",argument:l(e.expression)}}),c(Me,function(e){return{type:"TaggedTemplateExpression",tag:l(e.prefix),quasi:l(e.template_string)}}),c(Oe,function(e){for(var t=[],n=[],r=0;r=0)&&(!(n.indexOf(e)>=0)&&(t.only_cache?r.has(e):!/^-?[0-9]+(\.[0-9]+)?(e[+-][0-9]+)?$/.test(e)))}function p(e){return!(o&&!o.test(e))&&(!(n.indexOf(e)>=0)&&(r.has(e)||u.indexOf(e)>=0))}function h(e){l(e)&&d(u,e),p(e)||d(f,e)}function m(e){if(!p(e))return e;var t=r.get(e);if(!t){if(c){var n="_$"+e+"$"+s+"_";l(n)&&(t=n)}if(!t)do{t=Lr(++i)}while(!l(t));r.set(e,t)}return t}function v(e){return e.transform(new _t(function(e){if(e instanceof Ht){var t=e.expressions.length-1;e.expressions[t]=v(e.expressions[t])}else e instanceof Jn?e.value=m(e.value):e instanceof Yt&&(e.consequent=v(e.consequent),e.alternative=v(e.alternative));return e}))}}var Ur="undefined"==typeof atob?function(e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,"base64").toString();if("string"!=typeof e)throw new Errror('"b64" must be a string');return new Buffer(e,"base64").toString()}:atob,zr="undefined"==typeof btoa?function(e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e).toString("base64");if("string"!=typeof e)throw new Errror('"str" must be a string');return new Buffer(e).toString("base64")}:btoa;function Tt(e,t,n){t[e]&&n.forEach(function(n){t[n]&&("object"!=typeof t[n]&&(t[n]={}),e in t[n]||(t[n][e]=t[e]))})}function St(e){e&&("props"in e?e.props instanceof y||(e.props=y.fromObject(e.props)):e.props=new y)}function It(e){return{props:e.props.toObject()}}O.Dictionary=y,O.minify=function(e,t){var n,r,i=q.warn_function;try{var s,o=(t=a(t,{compress:{},ecma:void 0,enclose:!1,ie8:!1,keep_classnames:void 0,keep_fnames:!1,mangle:{},module:!1,nameCache:null,output:{},parse:{},rename:void 0,safari10:!1,sourceMap:!1,timings:!1,toplevel:!1,warnings:!1,wrap:!1},!0)).timings&&{start:Date.now()};void 0===t.keep_classnames&&(t.keep_classnames=t.keep_fnames),void 0===t.rename&&(t.rename=t.compress&&t.mangle),Tt("ecma",t,["parse","compress","output"]),Tt("ie8",t,["compress","mangle","output"]),Tt("keep_classnames",t,["compress","mangle"]),Tt("keep_fnames",t,["compress","mangle"]),Tt("module",t,["parse","compress","mangle"]),Tt("safari10",t,["mangle","output"]),Tt("toplevel",t,["compress","mangle"]),Tt("warnings",t,["compress"]),t.mangle&&(t.mangle=a(t.mangle,{cache:t.nameCache&&(t.nameCache.vars||{}),eval:!1,ie8:!1,keep_classnames:!1,keep_fnames:!1,module:!1,properties:!1,reserved:[],safari10:!1,toplevel:!1},!0),t.mangle.properties&&("object"!=typeof t.mangle.properties&&(t.mangle.properties={}),t.mangle.properties.keep_quoted&&(s=t.mangle.properties.reserved,Array.isArray(s)||(s=[]),t.mangle.properties.reserved=s),!t.nameCache||"cache"in t.mangle.properties||(t.mangle.properties.cache=t.nameCache.props||{})),St(t.mangle.cache),St(t.mangle.properties.cache)),t.sourceMap&&(t.sourceMap=a(t.sourceMap,{content:null,filename:null,includeSources:!1,root:null,url:null},!0));var c,u=[];if(t.warnings&&!q.warn_function&&(q.warn_function=function(e){u.push(e)}),o&&(o.parse=Date.now()),e instanceof ge)c=e;else{for(var l in"string"==typeof e&&(e=[e]),t.parse=t.parse||{},t.parse.toplevel=null,e)if(b(e,l)&&(t.parse.filename=l,t.parse.toplevel=gt(e[l],t.parse),t.sourceMap&&"inline"==t.sourceMap.content)){if(Object.keys(e).length>1)throw new Error("inline source map only works with singular input");t.sourceMap.content=(n=e[l],r=void 0,(r=/\n\/\/# sourceMappingURL=data:application\/json(;.*?)?;base64,(.*)/.exec(n))?Ur(r[2]):(q.warn("inline source map not found"),null))}c=t.parse.toplevel}s&&Ot(c,s),t.wrap&&(c=c.wrap_commonjs(t.wrap)),t.enclose&&(c=c.wrap_enclose(t.enclose)),o&&(o.rename=Date.now()),o&&(o.compress=Date.now()),t.compress&&(c=new kt(t.compress).compress(c)),o&&(o.scope=Date.now()),t.mangle&&c.figure_out_scope(t.mangle),o&&(o.mangle=Date.now()),t.mangle&&(Lr.reset(),c.compute_char_frequency(t.mangle),c.mangle_names(t.mangle)),o&&(o.properties=Date.now()),t.mangle&&t.mangle.properties&&(c=Mt(c,t.mangle.properties)),o&&(o.output=Date.now());var f={};if(t.output.ast&&(f.ast=c),!b(t.output,"code")||t.output.code){if(t.sourceMap&&("string"==typeof t.sourceMap.content&&(t.sourceMap.content=JSON.parse(t.sourceMap.content)),t.output.source_map=function(e){e=a(e,{file:null,root:null,orig:null,orig_line_diff:0,dest_line_diff:0});var t=new(S(99596).SourceMapGenerator)({file:e.file,sourceRoot:e.root}),n=e.orig&&new(S(99596).SourceMapConsumer)(e.orig);return n&&Array.isArray(e.orig.sources)&&n._sources.toArray().forEach(function(e){var r=n.sourceContentFor(e,!0);r&&t.setSourceContent(e,r)}),{add:function(r,i,s,o,a,c){if(n){var u=n.originalPositionFor({line:o,column:a});if(null===u.source)return;r=u.source,o=u.line,a=u.column,c=u.name||c}t.addMapping({generated:{line:i+e.dest_line_diff,column:s},original:{line:o+e.orig_line_diff,column:a},source:r,name:c})},get:function(){return t},toString:function(){return JSON.stringify(t.toJSON())}}}({file:t.sourceMap.filename,orig:t.sourceMap.content,root:t.sourceMap.root}),t.sourceMap.includeSources)){if(e instanceof ge)throw new Error("original source content unavailable");for(var l in e)b(e,l)&&t.output.source_map.get().setSourceContent(l,e[l])}delete t.output.ast,delete t.output.code;var p=xt(t.output);c.print(p),f.code=p.get(),t.sourceMap&&(f.map=t.output.source_map.toString(),"inline"==t.sourceMap.url?f.code+="\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,"+zr(f.map):t.sourceMap.url&&(f.code+="\n//# sourceMappingURL="+t.sourceMap.url))}return t.nameCache&&t.mangle&&(t.mangle.cache&&(t.nameCache.vars=It(t.mangle.cache)),t.mangle.properties&&t.mangle.properties.cache&&(t.nameCache.props=It(t.mangle.properties.cache))),o&&(o.end=Date.now(),f.timings={parse:.001*(o.rename-o.parse),rename:.001*(o.compress-o.rename),compress:.001*(o.scope-o.compress),scope:.001*(o.mangle-o.scope),mangle:.001*(o.properties-o.mangle),properties:.001*(o.output-o.properties),output:.001*(o.end-o.output),total:.001*(o.end-o.start)}),u.length&&(f.warnings=u),f}catch(e){return{error:e}}finally{q.warn_function=i}},O.parse=gt,O.push_uniq=d,O.OutputStream=xt,O.TreeTransformer=_t,O.TreeWalker=Te,O.string_template=m,O.Compressor=kt,O.defaults=a,O.base54=Lr,O.mangle_properties=Mt,O.reserve_quoted_keys=Ot,O.to_ascii=Ur}(true?n.exports:0)},96217:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(2895);t.TsconfigPathsPlugin=r.TsconfigPathsPlugin;const i=n(2895);t.default=i.TsconfigPathsPlugin;const s=n(2895).TsconfigPathsPlugin;s.TsconfigPathsPlugin=i.TsconfigPathsPlugin;s.default=i.TsconfigPathsPlugin;e.exports=s},96028:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const r=n(57082);var i;(function(e){e[e["INFO"]=1]="INFO";e[e["WARN"]=2]="WARN";e[e["ERROR"]=3]="ERROR"})(i||(i={}));const s=new r.Console(process.stderr);const o=new r.Console(process.stdout);const a=e=>{};const c=e=>e.silent?(e,t)=>{}:(e,t)=>console.log.call(e,t);const u=(e,t)=>n=>t(e.logInfoToStdOut?o:s,n);const l=(e,t,n)=>i[e.logLevel]<=i.INFO?r=>t(e.logInfoToStdOut?o:s,n(r)):a;const f=(e,t,n)=>i[e.logLevel]<=i.ERROR?e=>t(s,n(e)):a;const p=(e,t,n)=>i[e.logLevel]<=i.WARN?e=>t(s,n(e)):a;function makeLogger(e,t){const n=c(e);return{log:u(e,n),logInfo:l(e,n,t.green),logWarning:p(e,n,t.yellow),logError:f(e,n,t.red)}}t.makeLogger=makeLogger},59929:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=["configFile","extensions","baseUrl","silent","logLevel","logInfoToStdOut","context","mainFields"];function getOptions(e){validateOptions(e);const t=makeOptions(e);return t}t.getOptions=getOptions;function validateOptions(e){const t=Object.keys(e);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:true});const r=n(90801);const i=n(46543);const s=n(85622);const o=n(59929);const a=n(96028);const c=n(22471);class TsconfigPathsPlugin{constructor(e={}){this.source="described-resolve";this.target="resolve";const t=o.getOptions(e);this.extensions=t.extensions;const n=new r.default.constructor({enabled:t.colors});this.log=a.makeLogger(t,n);const c=t.context||process.cwd();const u=t.configFile||c;const l=i.loadConfig(u);if(l.resultType==="failed"){this.log.logError(`Failed to load tsconfig.json: ${l.message}`)}else{this.log.logInfo(`tsconfig-paths-webpack-plugin: Using config file at ${l.configFileAbsolutePath}`);this.baseUrl=t.baseUrl||l.baseUrl;this.absoluteBaseUrl=t.baseUrl?s.resolve(t.baseUrl):l.absoluteBaseUrl;this.matchPath=i.createMatchPathAsync(this.absoluteBaseUrl,l.paths,t.mainFields)}}apply(e){const{baseUrl:t}=this;if(!t){this.log.logWarning("tsconfig-paths-webpack-plugin: Found no baseUrl in tsconfig.json, not applying tsconfig-paths-webpack-plugin");return}if(!e.fileSystem){this.log.logWarning("tsconfig-paths-webpack-plugin: No file system found on resolver."+" Please make sure you've placed the plugin in the correct part of the configuration."+" This plugin is a resolver plugin and should be placed in the resolve part of the Webpack configuration.");return}if(e.getHook&&typeof e.getHook==="function"){e.getHook(this.source).tapAsync({name:"TsconfigPathsPlugin"},createPluginCallback(this.matchPath,e,this.absoluteBaseUrl,e.getHook(this.target),this.extensions))}else{e.plugin(this.source,createPluginLegacy(this.matchPath,e,this.absoluteBaseUrl,this.target,this.extensions))}}}t.TsconfigPathsPlugin=TsconfigPathsPlugin;function createPluginCallback(e,t,r,i,s){const o=createFileExistAsync(t.fileSystem);const a=createReadJsonAsync(t.fileSystem);return(u,l,f)=>{const p=c(t,u);if(!p||(p.startsWith(".")||p.startsWith(".."))){return f()}e(p,a,o,s,(e,s)=>{if(e){return f(e)}if(!s){return f()}const o=Object.assign({},u,{request:s,path:r});const a=n(52227);return t.doResolve(i,o,`Resolved request '${p}' to '${s}' using tsconfig.json paths mapping`,a(Object.assign({},l)),(e,t)=>{if(e){return f(e)}if(t===undefined){return f(null,null)}f(null,t)})})}}function createPluginLegacy(e,t,r,i,s){const o=createFileExistAsync(t.fileSystem);const a=createReadJsonAsync(t.fileSystem);return(u,l)=>{const f=c(t,u);if(!f||(f.startsWith(".")||f.startsWith(".."))){return l()}e(f,a,o,s,(e,s)=>{if(e){return l(e)}if(!s){return l()}const o=Object.assign({},u,{request:s,path:r});const a=n(49616);return t.doResolve(i,o,`Resolved request '${f}' to '${s}' using tsconfig.json paths mapping`,a(function(e,t){if(arguments.length>0){return l(e,t)}l(null,null)},l))})}}function createReadJsonAsync(e){return(t,n)=>{e.readJson(t,(e,t)=>{if(e||!t){n();return}n(undefined,t)})}}function createFileExistAsync(e){return(t,n)=>{e.stat(t,(e,t)=>{if(e){n(undefined,false);return}n(undefined,t?t.isFile():false)})}}},73346:(e,t,n)=>{"use strict";e=n.nmd(e);const r=n(88215);const i=(e,t)=>(function(){const n=e.apply(r,arguments);return`[${n+t}m`});const s=(e,t)=>(function(){const n=e.apply(r,arguments);return`[${38+t};5;${n}m`});const o=(e,t)=>(function(){const n=e.apply(r,arguments);return`[${38+t};2;${n[0]};${n[1]};${n[2]}m`});function assembleStyles(){const e=new Map;const t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const n of Object.keys(t)){const r=t[n];for(const n of Object.keys(r)){const i=r[n];t[n]={open:`[${i[0]}m`,close:`[${i[1]}m`};r[n]=t[n];e.set(i[0],i[1])}Object.defineProperty(t,n,{value:r,enumerable:false});Object.defineProperty(t,"codes",{value:e,enumerable:false})}const n=e=>e;const a=(e,t,n)=>[e,t,n];t.color.close="";t.bgColor.close="";t.color.ansi={ansi:i(n,0)};t.color.ansi256={ansi256:s(n,0)};t.color.ansi16m={rgb:o(a,0)};t.bgColor.ansi={ansi:i(n,10)};t.bgColor.ansi256={ansi256:s(n,10)};t.bgColor.ansi16m={rgb:o(a,10)};for(let e of Object.keys(r)){if(typeof r[e]!=="object"){continue}const n=r[e];if(e==="ansi16"){e="ansi"}if("ansi16"in n){t.color.ansi[e]=i(n.ansi16,0);t.bgColor.ansi[e]=i(n.ansi16,10)}if("ansi256"in n){t.color.ansi256[e]=s(n.ansi256,0);t.bgColor.ansi256[e]=s(n.ansi256,10)}if("rgb"in n){t.color.ansi16m[e]=o(n.rgb,0);t.bgColor.ansi16m[e]=o(n.rgb,10)}}return t}Object.defineProperty(e,"exports",{enumerable:true,get:assembleStyles})},90801:(e,t,n)=>{"use strict";const r=n(58732);const i=n(73346);const s=n(24374).stdout;const o=n(33392);const a=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm");const c=["ansi","ansi","ansi256","ansi16m"];const u=new Set(["gray"]);const l=Object.create(null);function applyOptions(e,t){t=t||{};const n=s?s.level:0;e.level=t.level===undefined?n:t.level;e.enabled="enabled"in t?t.enabled:e.level>0}function Chalk(e){if(!this||!(this instanceof Chalk)||this.template){const t={};applyOptions(t,e);t.template=function(){const e=[].slice.call(arguments);return chalkTag.apply(null,[t.template].concat(e))};Object.setPrototypeOf(t,Chalk.prototype);Object.setPrototypeOf(t.template,t);t.template.constructor=Chalk;return t.template}applyOptions(this,e)}if(a){i.blue.open=""}for(const e of Object.keys(i)){i[e].closeRe=new RegExp(r(i[e].close),"g");l[e]={get(){const t=i[e];return build.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}}l.visible={get(){return build.call(this,this._styles||[],true,"visible")}};i.color.closeRe=new RegExp(r(i.color.close),"g");for(const e of Object.keys(i.color.ansi)){if(u.has(e)){continue}l[e]={get(){const t=this.level;return function(){const n=i.color[c[t]][e].apply(null,arguments);const r={open:n,close:i.color.close,closeRe:i.color.closeRe};return build.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}}}i.bgColor.closeRe=new RegExp(r(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi)){if(u.has(e)){continue}const t="bg"+e[0].toUpperCase()+e.slice(1);l[t]={get(){const t=this.level;return function(){const n=i.bgColor[c[t]][e].apply(null,arguments);const r={open:n,close:i.bgColor.close,closeRe:i.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}}}const f=Object.defineProperties(()=>{},l);function build(e,t,n){const r=function(){return applyStyle.apply(r,arguments)};r._styles=e;r._empty=t;const i=this;Object.defineProperty(r,"level",{enumerable:true,get(){return i.level},set(e){i.level=e}});Object.defineProperty(r,"enabled",{enumerable:true,get(){return i.enabled},set(e){i.enabled=e}});r.hasGrey=this.hasGrey||n==="gray"||n==="grey";r.__proto__=f;return r}function applyStyle(){const e=arguments;const t=e.length;let n=String(arguments[0]);if(t===0){return""}if(t>1){for(let r=1;r{"use strict";const t=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;const n=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;const r=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;const i=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;const s=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function unescape(e){if(e[0]==="u"&&e.length===5||e[0]==="x"&&e.length===3){return String.fromCharCode(parseInt(e.slice(1),16))}return s.get(e)||e}function parseArguments(e,t){const n=[];const s=t.trim().split(/\s*,\s*/g);let o;for(const t of s){if(!isNaN(t)){n.push(Number(t))}else if(o=t.match(r)){n.push(o[2].replace(i,(e,t,n)=>t?unescape(t):n))}else{throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`)}}return n}function parseStyle(e){n.lastIndex=0;const t=[];let r;while((r=n.exec(e))!==null){const e=r[1];if(r[2]){const n=parseArguments(e,r[2]);t.push([e].concat(n))}else{t.push([e])}}return t}function buildStyle(e,t){const n={};for(const e of t){for(const t of e.styles){n[t[0]]=e.inverse?null:t.slice(1)}}let r=e;for(const e of Object.keys(n)){if(Array.isArray(n[e])){if(!(e in r)){throw new Error(`Unknown Chalk style: ${e}`)}if(n[e].length>0){r=r[e].apply(r,n[e])}else{r=r[e]}}}return r}e.exports=((e,n)=>{const r=[];const i=[];let s=[];n.replace(t,(t,n,o,a,c,u)=>{if(n){s.push(unescape(n))}else if(a){const t=s.join("");s=[];i.push(r.length===0?t:buildStyle(e,r)(t));r.push({inverse:o,styles:parseStyle(a)})}else if(c){if(r.length===0){throw new Error("Found extraneous } in Chalk template literal")}i.push(buildStyle(e,r)(s.join("")));s=[];r.pop()}else{s.push(u)}});i.push(s.join(""));if(r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")})},21763:e=>{"use strict";e.exports=((e,t)=>{t=t||process.argv;const n=e.startsWith("-")?"":e.length===1?"-":"--";const r=t.indexOf(n+e);const i=t.indexOf("--");return r!==-1&&(i===-1?true:r{"use strict";const r=n(12087);const i=n(21763);const s=process.env;let o;if(i("no-color")||i("no-colors")||i("color=false")){o=false}else if(i("color")||i("colors")||i("color=true")||i("color=always")){o=true}if("FORCE_COLOR"in s){o=s.FORCE_COLOR.length===0||parseInt(s.FORCE_COLOR,10)!==0}function translateLevel(e){if(e===0){return false}return{level:e,hasBasic:true,has256:e>=2,has16m:e>=3}}function supportsColor(e){if(o===false){return 0}if(i("color=16m")||i("color=full")||i("color=truecolor")){return 3}if(i("color=256")){return 2}if(e&&!e.isTTY&&o!==true){return 0}const t=o?1:0;if(process.platform==="win32"){const e=r.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in s){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in s)||s.CI_NAME==="codeship"){return 1}return t}if("TEAMCITY_VERSION"in s){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(s.TEAMCITY_VERSION)?1:0}if(s.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in s){const e=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(s.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)){return 1}if("COLORTERM"in s){return 1}if(s.TERM==="dumb"){return t}return t}function getSupportLevel(e){const t=supportsColor(e);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},36674:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(9492);var i=n(85622);var s=n(26872);function loadConfig(e){if(e===void 0){e=s.options.cwd}return configLoader({cwd:e})}t.loadConfig=loadConfig;function configLoader(e){var t=e.cwd,n=e.explicitParams,s=e.tsConfigLoader,o=s===void 0?r.tsConfigLoader:s;if(n){var a=i.isAbsolute(n.baseUrl)?n.baseUrl:i.join(t,n.baseUrl);return{resultType:"success",configFileAbsolutePath:"",baseUrl:n.baseUrl,absoluteBaseUrl:a,paths:n.paths}}var c=o({cwd:t,getEnv:function(e){return process.env[e]}});if(!c.tsConfigPath){return{resultType:"failed",message:"Couldn't find tsconfig.json"}}if(!c.baseUrl){return{resultType:"failed",message:"Missing baseUrl in compilerOptions"}}var u=i.dirname(c.tsConfigPath);var l=i.join(u,c.baseUrl);return{resultType:"success",configFileAbsolutePath:c.tsConfigPath,baseUrl:c.baseUrl,absoluteBaseUrl:l,paths:c.paths||{}}}t.configLoader=configLoader},89711:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(35747);function fileExistsSync(e){try{var t=r.statSync(e);return t.isFile()}catch(e){return false}}t.fileExistsSync=fileExistsSync;function readJsonFromDiskSync(e){if(!r.existsSync(e)){return undefined}return require(e)}t.readJsonFromDiskSync=readJsonFromDiskSync;function readJsonFromDiskAsync(e,t){r.readFile(e,"utf8",function(e,n){if(e||!n){return t()}var r=JSON.parse(n);return t(undefined,r)})}t.readJsonFromDiskAsync=readJsonFromDiskAsync;function fileExistsAsync(e,t){r.stat(e,function(e,n){if(e){return t(undefined,false)}t(undefined,n?n.isFile():false)})}t.fileExistsAsync=fileExistsAsync;function removeExtension(e){return e.substring(0,e.lastIndexOf("."))||e}t.removeExtension=removeExtension},46543:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(12317);t.createMatchPath=r.createMatchPath;t.matchFromAbsolutePaths=r.matchFromAbsolutePaths;var i=n(5339);t.createMatchPathAsync=i.createMatchPathAsync;t.matchFromAbsolutePathsAsync=i.matchFromAbsolutePathsAsync;var s=n(7897);t.register=s.register;var o=n(36674);t.loadConfig=o.loadConfig},98191:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(85622);function getAbsoluteMappingEntries(e,t){var n=sortByLongestPrefix(Object.keys(t));var i=[];for(var s=0,o=n;s{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(85622);var i=n(58455);var s=n(98191);var o=n(89711);function createMatchPathAsync(e,t,n){if(n===void 0){n=["main"]}var r=s.getAbsoluteMappingEntries(e,t);return function(e,t,i,s,o){return matchFromAbsolutePathsAsync(r,e,t,i,s,o,n)}}t.createMatchPathAsync=createMatchPathAsync;function matchFromAbsolutePathsAsync(e,t,n,r,s,a,c){if(n===void 0){n=o.readJsonFromDiskAsync}if(r===void 0){r=o.fileExistsAsync}if(s===void 0){s=Object.keys(require.extensions)}if(c===void 0){c=["main"]}var u=i.getPathsToTry(s,e,t);if(!u){return a()}findFirstExistingPath(u,n,r,a,0,c)}t.matchFromAbsolutePathsAsync=matchFromAbsolutePathsAsync;function findFirstExistingMainFieldMappedFile(e,t,n,i,s,o){if(o===void 0){o=0}if(o>=t.length){return s(undefined,undefined)}var a=function(){return findFirstExistingMainFieldMappedFile(e,t,n,i,s,o+1)};var c=e[t[o]];if(typeof c!=="string"){return a()}var u=r.join(r.dirname(n),c);i(u,function(e,t){if(e){return s(e)}if(t){return s(undefined,u)}return a()})}function findFirstExistingPath(e,t,n,r,s,a){if(s===void 0){s=0}if(a===void 0){a=["main"]}var c=e[s];if(c.type==="file"||c.type==="extension"||c.type==="index"){n(c.path,function(o,u){if(o){return r(o)}if(u){return r(undefined,i.getStrippedPath(c))}if(s===e.length-1){return r()}return findFirstExistingPath(e,t,n,r,s+1,a)})}else if(c.type==="package"){t(c.path,function(i,u){if(i){return r(i)}if(u){return findFirstExistingMainFieldMappedFile(u,a,c.path,n,function(i,c){if(i){return r(i)}if(c){return r(undefined,o.removeExtension(c))}return findFirstExistingPath(e,t,n,r,s+1,a)})}return findFirstExistingPath(e,t,n,r,s+1,a)})}else{i.exhaustiveTypeException(c.type)}}},12317:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(85622);var i=n(89711);var s=n(98191);var o=n(58455);function createMatchPath(e,t,n){if(n===void 0){n=["main"]}var r=s.getAbsoluteMappingEntries(e,t);return function(e,t,i,s){return matchFromAbsolutePaths(r,e,t,i,s,n)}}t.createMatchPath=createMatchPath;function matchFromAbsolutePaths(e,t,n,r,s,a){if(n===void 0){n=i.readJsonFromDiskSync}if(r===void 0){r=i.fileExistsSync}if(s===void 0){s=Object.keys(require.extensions)}if(a===void 0){a=["main"]}var c=o.getPathsToTry(s,e,t);if(!c){return undefined}return findFirstExistingPath(c,n,r,a)}t.matchFromAbsolutePaths=matchFromAbsolutePaths;function findFirstExistingMainFieldMappedFile(e,t,n,i){for(var s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(40535);var i=r(process.argv.slice(2),{string:["project"],alias:{project:["P"]}});var s=i&&i.project;t.options={cwd:s||process.cwd()}},7897:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(12317);var i=n(36674);var s=n(26872);var o=function(){return void 0};function getCoreModules(e){e=e||["assert","buffer","child_process","cluster","crypto","dgram","dns","domain","events","fs","http","https","net","os","path","punycode","querystring","readline","stream","string_decoder","tls","tty","url","util","v8","vm","zlib"];var t={};for(var n=0,r=e;n{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(85622);var i=n(85622);var s=n(89711);function getPathsToTry(e,t,n){if(n[0]==="."||n[0]===r.sep||!t||!n){return undefined}var i=[];for(var s=0,o=t;s{"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(85622);var i=n(35747);var s=n(96487);var o=n(5278);var a=n(72679);function tsConfigLoader(e){var t=e.getEnv,n=e.cwd,r=e.loadSync,i=r===void 0?loadSyncDefault:r;var s=t("TS_NODE_PROJECT");var o=i(n,s);return o}t.tsConfigLoader=tsConfigLoader;function loadSyncDefault(e,t){var n=resolveConfigPath(e,t);if(!n){return{tsConfigPath:undefined,baseUrl:undefined,paths:undefined}}var r=loadTsconfig(n);return{tsConfigPath:n,baseUrl:r&&r.compilerOptions&&r.compilerOptions.baseUrl,paths:r&&r.compilerOptions&&r.compilerOptions.paths}}function resolveConfigPath(e,t){if(t){var n=i.lstatSync(t).isDirectory()?r.resolve(t,"./tsconfig.json"):r.resolve(e,t);return n}if(i.statSync(e).isFile()){return r.resolve(e)}var s=walkForTsConfig(e);return s?r.resolve(s):undefined}function walkForTsConfig(e,t){if(t===void 0){t=i.existsSync}var n=r.join(e,"./tsconfig.json");if(t(n)){return n}var s=r.join(e,"../");if(e===s){return undefined}return walkForTsConfig(s,t)}t.walkForTsConfig=walkForTsConfig;function loadTsconfig(e,t,n){if(t===void 0){t=i.existsSync}if(n===void 0){n=function(e){return i.readFileSync(e,"utf8")}}if(!t(e)){return undefined}var c=n(e);var u=a(c);var l=o.parse(u);var f=l.extends;if(f){if(typeof f==="string"&&f.indexOf(".json")===-1){f+=".json"}var p=r.dirname(e);var d=loadTsconfig(r.join(p,f),t,n)||{};if(d&&d.compilerOptions&&d.compilerOptions.baseUrl){var h=r.dirname(f);d.compilerOptions.baseUrl=r.join(h,d.compilerOptions.baseUrl)}return s(d,l)}return l}t.loadTsconfig=loadTsconfig},5115:e=>{var t;var n;var r;var i;var s;var o;var a;var c;var u;var l;var f;var p;var d;var h;var m;var g;var y;var v;var _;(function(t){var n=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],function(e){t(createExporter(n,createExporter(e)))})}else if(true&&typeof e.exports==="object"){t(createExporter(n,createExporter(e.exports)))}else{t(createExporter(n))}function createExporter(e,t){if(e!==n){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(n,r){return e[n]=t?t(n,r):r}}})(function(e){var b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)if(t.hasOwnProperty(n))e[n]=t[n]};t=function(e,t){b(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;a--)if(o=e[a])s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s;return i>3&&s&&Object.defineProperty(t,n,s),s};s=function(e,t){return function(n,r){t(n,r,e)}};o=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};a=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};c=function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function verb(e){return function(t){return step([e,t])}}function step(o){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,i&&(s=o[0]&2?i["return"]:o[0]?i["throw"]||((s=i["return"])&&s.call(i),0):i.next)&&!(s=s.call(i,o[1])).done)return s;if(i=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:n.label++;return{value:o[1],done:false};case 5:n.label++;i=o[1];o=[0];continue;case 7:o=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};f=function(e,t){var n=typeof Symbol==="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{while((t===void 0||t-- >0)&&!(i=r.next()).done)s.push(i.value)}catch(e){o={error:e}}finally{try{if(i&&!i.done&&(n=r["return"]))n.call(r)}finally{if(o)throw o.error}}return s};p=function(){for(var e=[],t=0;t1||resume(e,t)})}}function resume(e,t){try{step(r[e](t))}catch(e){settle(s[0][3],e)}}function step(e){e.value instanceof d?Promise.resolve(e.value.v).then(fulfill,reject):settle(s[0][2],e)}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){if(e(t),s.shift(),s.length)resume(s[0][0],s[0][1])}};m=function(e){var t,n;return t={},verb("next"),verb("throw",function(e){throw e}),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:d(e[r](t)),done:r==="return"}:i?i(t):t}:i}};g=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof l==="function"?l(e):e[Symbol.iterator](),n={},verb("next"),verb("throw"),verb("return"),n[Symbol.asyncIterator]=function(){return this},n);function verb(t){n[t]=e[t]&&function(n){return new Promise(function(r,i){n=e[t](n),settle(r,i,n.done,n.value)})}}function settle(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}};y=function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};v=function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(Object.hasOwnProperty.call(e,n))t[n]=e[n];t["default"]=e;return t};_=function(e){return e&&e.__esModule?e:{default:e}};e("__extends",t);e("__assign",n);e("__rest",r);e("__decorate",i);e("__param",s);e("__metadata",o);e("__awaiter",a);e("__generator",c);e("__exportStar",u);e("__values",l);e("__read",f);e("__spread",p);e("__await",d);e("__asyncGenerator",h);e("__asyncDelegator",m);e("__asyncValues",g);e("__makeTemplateObject",y);e("__importStar",v);e("__importDefault",_)})},43751:(e,t,n)=>{"use strict";var r=n(85622);var i=n(13979);e.exports=function(e,t,n){return r.join(e,(t?t+"-":"")+i(n))}},13979:(e,t,n)=>{"use strict";var r=n(76417);var i=n(32763);e.exports=function(e){if(e){var t=new i(e);return("00000000"+t.result().toString(16)).substr(-8)}else{return r.pseudoRandomBytes(4).toString("hex")}}},30823:function(e,t){(function(e,n){true?n(t):0})(this,function(e){"use strict";function merge(){for(var e=arguments.length,t=Array(e),n=0;n1){t[0]=t[0].slice(0,-1);var r=t.length-1;for(var i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"};var v=o-a;var _=Math.floor;var b=String.fromCharCode;function error$1(e){throw new RangeError(y[e])}function map(e,t){var n=[];var r=e.length;while(r--){n[r]=t(e[r])}return n}function mapDomain(e,t){var n=e.split("@");var r="";if(n.length>1){r=n[0]+"@";e=n[1]}e=e.replace(g,".");var i=e.split(".");var s=map(i,t).join(".");return r+s}function ucs2decode(e){var t=[];var n=0;var r=e.length;while(n=55296&&i<=56319&&n>1;e+=_(e/t);for(;e>v*c>>1;r+=o){e=_(e/v)}return _(r+(v+1)*e/(e+u))};var D=function decode(e){var t=[];var n=e.length;var r=0;var i=p;var u=f;var l=e.lastIndexOf(d);if(l<0){l=0}for(var h=0;h=128){error$1("not-basic")}t.push(e.charCodeAt(h))}for(var m=l>0?l+1:0;m=n){error$1("invalid-input")}var b=w(e.charCodeAt(m++));if(b>=o||b>_((s-r)/y)){error$1("overflow")}r+=b*y;var E=v<=u?a:v>=u+c?c:v-u;if(b_(s/S)){error$1("overflow")}y*=S}var D=t.length+1;u=k(r-g,D,g==0);if(_(r/D)>s-i){error$1("overflow")}i+=_(r/D);r%=D;t.splice(r++,0,i)}return String.fromCodePoint.apply(String,t)};var x=function encode(e){var t=[];e=ucs2decode(e);var n=e.length;var r=p;var i=0;var u=f;var l=true;var h=false;var m=undefined;try{for(var g=e[Symbol.iterator](),y;!(l=(y=g.next()).done);l=true){var v=y.value;if(v<128){t.push(b(v))}}}catch(e){h=true;m=e}finally{try{if(!l&&g.return){g.return()}}finally{if(h){throw m}}}var E=t.length;var w=E;if(E){t.push(d)}while(w=r&&O_((s-i)/F)){error$1("overflow")}i+=(D-r)*F;r=D;var I=true;var R=false;var P=undefined;try{for(var N=e[Symbol.iterator](),L;!(I=(L=N.next()).done);I=true){var B=L.value;if(Bs){error$1("overflow")}if(B==r){var j=i;for(var U=o;;U+=o){var z=U<=u?a:U>=u+c?c:U-u;if(j>6|192).toString(16).toUpperCase()+"%"+(t&63|128).toString(16).toUpperCase();else n="%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(t&63|128).toString(16).toUpperCase();return n}function pctDecChars(e){var t="";var n=0;var r=e.length;while(n=194&&i<224){if(r-n>=6){var s=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((i&31)<<6|s&63)}else{t+=e.substr(n,6)}n+=6}else if(i>=224){if(r-n>=9){var o=parseInt(e.substr(n+4,2),16);var a=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((i&15)<<12|(o&63)<<6|a&63)}else{t+=e.substr(n,9)}n+=9}else{t+=e.substr(n,3);n+=3}}return t}function _normalizeComponentEncoding(e,t){function decodeUnreserved(e){var n=pctDecChars(e);return!n.match(t.UNRESERVED)?e:n}if(e.scheme)e.scheme=String(e.scheme).replace(t.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(t.NOT_SCHEME,"");if(e.userinfo!==undefined)e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,decodeUnreserved).replace(t.NOT_USERINFO,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.host!==undefined)e.host=String(e.host).replace(t.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(t.NOT_HOST,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.path!==undefined)e.path=String(e.path).replace(t.PCT_ENCODED,decodeUnreserved).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.query!==undefined)e.query=String(e.query).replace(t.PCT_ENCODED,decodeUnreserved).replace(t.NOT_QUERY,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.fragment!==undefined)e.fragment=String(e.fragment).replace(t.PCT_ENCODED,decodeUnreserved).replace(t.NOT_FRAGMENT,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);return e}function _stripLeadingZeros(e){return e.replace(/^0*(.*)/,"$1")||"0"}function _normalizeIPv4(e,t){var n=e.match(t.IPV4ADDRESS)||[];var i=r(n,2),s=i[1];if(s){return s.split(".").map(_stripLeadingZeros).join(".")}else{return e}}function _normalizeIPv6(e,t){var n=e.match(t.IPV6ADDRESS)||[];var i=r(n,3),s=i[1],o=i[2];if(s){var a=s.toLowerCase().split("::").reverse(),c=r(a,2),u=c[0],l=c[1];var f=l?l.split(":").map(_stripLeadingZeros):[];var p=u.split(":").map(_stripLeadingZeros);var d=t.IPV4ADDRESS.test(p[p.length-1]);var h=d?7:8;var m=p.length-h;var g=Array(h);for(var y=0;y1){var E=g.slice(0,_.index);var w=g.slice(_.index+_.length);b=E.join(":")+"::"+w.join(":")}else{b=g.join(":")}if(o){b+="%"+o}return b}else{return e}}var O=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i;var F="".match(/(){0}/)[1]===undefined;function parse(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var i={};var s=r.iri!==false?n:t;if(r.reference==="suffix")e=(r.scheme?r.scheme+":":"")+"//"+e;var o=e.match(O);if(o){if(F){i.scheme=o[1];i.userinfo=o[3];i.host=o[4];i.port=parseInt(o[5],10);i.path=o[6]||"";i.query=o[7];i.fragment=o[8];if(isNaN(i.port)){i.port=o[5]}}else{i.scheme=o[1]||undefined;i.userinfo=e.indexOf("@")!==-1?o[3]:undefined;i.host=e.indexOf("//")!==-1?o[4]:undefined;i.port=parseInt(o[5],10);i.path=o[6]||"";i.query=e.indexOf("?")!==-1?o[7]:undefined;i.fragment=e.indexOf("#")!==-1?o[8]:undefined;if(isNaN(i.port)){i.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:undefined}}if(i.host){i.host=_normalizeIPv6(_normalizeIPv4(i.host,s),s)}if(i.scheme===undefined&&i.userinfo===undefined&&i.host===undefined&&i.port===undefined&&!i.path&&i.query===undefined){i.reference="same-document"}else if(i.scheme===undefined){i.reference="relative"}else if(i.fragment===undefined){i.reference="absolute"}else{i.reference="uri"}if(r.reference&&r.reference!=="suffix"&&r.reference!==i.reference){i.error=i.error||"URI is not a "+r.reference+" reference."}var a=M[(r.scheme||i.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)){if(i.host&&(r.domainHost||a&&a.domainHost)){try{i.host=T.toASCII(i.host.replace(s.PCT_ENCODED,pctDecChars).toLowerCase())}catch(e){i.error=i.error||"Host's domain name can not be converted to ASCII via punycode: "+e}}_normalizeComponentEncoding(i,t)}else{_normalizeComponentEncoding(i,s)}if(a&&a.parse){a.parse(i,r)}}else{i.error=i.error||"URI can not be parsed."}return i}function _recomposeAuthority(e,r){var i=r.iri!==false?n:t;var s=[];if(e.userinfo!==undefined){s.push(e.userinfo);s.push("@")}if(e.host!==undefined){s.push(_normalizeIPv6(_normalizeIPv4(String(e.host),i),i).replace(i.IPV6ADDRESS,function(e,t,n){return"["+t+(n?"%25"+n:"")+"]"}))}if(typeof e.port==="number"){s.push(":");s.push(e.port.toString(10))}return s.length?s.join(""):undefined}var I=/^\.\.?\//;var R=/^\/\.(\/|$)/;var P=/^\/\.\.(\/|$)/;var N=/^\/?(?:.|\n)*?(?=\/|$)/;function removeDotSegments(e){var t=[];while(e.length){if(e.match(I)){e=e.replace(I,"")}else if(e.match(R)){e=e.replace(R,"/")}else if(e.match(P)){e=e.replace(P,"/");t.pop()}else if(e==="."||e===".."){e=""}else{var n=e.match(N);if(n){var r=n[0];e=e.slice(r.length);t.push(r)}else{throw new Error("Unexpected dot segment condition")}}}return t.join("")}function serialize(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var i=r.iri?n:t;var s=[];var o=M[(r.scheme||e.scheme||"").toLowerCase()];if(o&&o.serialize)o.serialize(e,r);if(e.host){if(i.IPV6ADDRESS.test(e.host)){}else if(r.domainHost||o&&o.domainHost){try{e.host=!r.iri?T.toASCII(e.host.replace(i.PCT_ENCODED,pctDecChars).toLowerCase()):T.toUnicode(e.host)}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(!r.iri?"ASCII":"Unicode")+" via punycode: "+t}}}_normalizeComponentEncoding(e,i);if(r.reference!=="suffix"&&e.scheme){s.push(e.scheme);s.push(":")}var a=_recomposeAuthority(e,r);if(a!==undefined){if(r.reference!=="suffix"){s.push("//")}s.push(a);if(e.path&&e.path.charAt(0)!=="/"){s.push("/")}}if(e.path!==undefined){var c=e.path;if(!r.absolutePath&&(!o||!o.absolutePath)){c=removeDotSegments(c)}if(a===undefined){c=c.replace(/^\/\//,"/%2F")}s.push(c)}if(e.query!==undefined){s.push("?");s.push(e.query)}if(e.fragment!==undefined){s.push("#");s.push(e.fragment)}return s.join("")}function resolveComponents(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var r=arguments[3];var i={};if(!r){e=parse(serialize(e,n),n);t=parse(serialize(t,n),n)}n=n||{};if(!n.tolerant&&t.scheme){i.scheme=t.scheme;i.userinfo=t.userinfo;i.host=t.host;i.port=t.port;i.path=removeDotSegments(t.path||"");i.query=t.query}else{if(t.userinfo!==undefined||t.host!==undefined||t.port!==undefined){i.userinfo=t.userinfo;i.host=t.host;i.port=t.port;i.path=removeDotSegments(t.path||"");i.query=t.query}else{if(!t.path){i.path=e.path;if(t.query!==undefined){i.query=t.query}else{i.query=e.query}}else{if(t.path.charAt(0)==="/"){i.path=removeDotSegments(t.path)}else{if((e.userinfo!==undefined||e.host!==undefined||e.port!==undefined)&&!e.path){i.path="/"+t.path}else if(!e.path){i.path=t.path}else{i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path}i.path=removeDotSegments(i.path)}i.query=t.query}i.userinfo=e.userinfo;i.host=e.host;i.port=e.port}i.scheme=e.scheme}i.fragment=t.fragment;return i}function resolve(e,t,n){var r=assign({scheme:"null"},n);return serialize(resolveComponents(parse(e,r),parse(t,r),r,true),r)}function normalize(e,t){if(typeof e==="string"){e=serialize(parse(e,t),t)}else if(typeOf(e)==="object"){e=parse(serialize(e,t),t)}return e}function equal(e,t,n){if(typeof e==="string"){e=serialize(parse(e,n),n)}else if(typeOf(e)==="object"){e=serialize(e,n)}if(typeof t==="string"){t=serialize(parse(t,n),n)}else if(typeOf(t)==="object"){t=serialize(t,n)}return e===t}function escapeComponent(e,r){return e&&e.toString().replace(!r||!r.iri?t.ESCAPE:n.ESCAPE,pctEncChar)}function unescapeComponent(e,r){return e&&e.toString().replace(!r||!r.iri?t.PCT_ENCODED:n.PCT_ENCODED,pctDecChars)}var L={scheme:"http",domainHost:true,parse:function parse(e,t){if(!e.host){e.error=e.error||"HTTP URIs must have a host."}return e},serialize:function serialize(e,t){if(e.port===(String(e.scheme).toLowerCase()!=="https"?80:443)||e.port===""){e.port=undefined}if(!e.path){e.path="/"}return e}};var B={scheme:"https",domainHost:L.domainHost,parse:L.parse,serialize:L.serialize};var j={};var U=true;var z="[A-Za-z0-9\\-\\.\\_\\~"+(U?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]";var H="[0-9A-Fa-f]";var V=subexp(subexp("%[EFef]"+H+"%"+H+H+"%"+H+H)+"|"+subexp("%[89A-Fa-f]"+H+"%"+H+H)+"|"+subexp("%"+H+H));var G="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]";var q="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]";var W=merge(q,'[\\"\\\\]');var K="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]";var X=new RegExp(z,"g");var J=new RegExp(V,"g");var Y=new RegExp(merge("[^]",G,"[\\.]",'[\\"]',W),"g");var Q=new RegExp(merge("[^]",z,K),"g");var Z=Q;function decodeUnreserved(e){var t=pctDecChars(e);return!t.match(X)?e:t}var $={scheme:"mailto",parse:function parse$$1(e,t){var n=e;var r=n.to=n.path?n.path.split(","):[];n.path=undefined;if(n.query){var i=false;var s={};var o=n.query.split("&");for(var a=0,c=o.length;a{e.exports=n(31669).deprecate},56755:(e,t,n)=>{"use strict";const r=n(28614).EventEmitter;const i=n(15808);const s=n(85622);const o=n(68862);const a=Object.freeze({});let c=1e3;const u=n(12087).platform()==="darwin";const l=process.env.WATCHPACK_POLLING;const f=`${+l}`===l?+l:!!l&&l!=="false";function withoutCase(e){return e.toLowerCase()}function needCalls(e,t){return function(){if(--e===0){return t()}}}class Watcher extends r{constructor(e,t,n){super();this.directoryWatcher=e;this.path=t;this.startTime=n&&+n;this._cachedTimeInfoEntries=undefined}checkStartTime(e,t){const n=this.startTime;if(typeof n!=="number")return!t;return n<=e}close(){this.emit("closed")}}class DirectoryWatcher extends r{constructor(e,t,n){super();if(f){n.poll=f}this.watcherManager=e;this.options=n;this.path=t;this.files=new Map;this.filesWithoutCase=new Map;this.directories=new Map;this.lastWatchEvent=0;this.initialScan=true;this.ignored=n.ignored;this.nestedWatching=false;this.polledWatching=typeof n.poll==="number"?n.poll:n.poll?5007:false;this.timeout=undefined;this.initialScanRemoved=new Set;this.initialScanFinished=undefined;this.watchers=new Map;this.parentWatcher=null;this.refs=0;this._activeEvents=new Map;this.closed=false;this.scanning=false;this.scanAgain=false;this.scanAgainInitial=false;this.createWatcher();this.doScan(true)}checkIgnore(e){if(!this.ignored)return false;e=e.replace(/\\/g,"/");return this.ignored.test(e)}createWatcher(){try{if(this.polledWatching){this.watcher={close:()=>{if(this.timeout){clearTimeout(this.timeout);this.timeout=undefined}}}}else{if(u){this.watchInParentDirectory()}this.watcher=o.watch(this.path);this.watcher.on("change",this.onWatchEvent.bind(this));this.watcher.on("error",this.onWatcherError.bind(this))}}catch(e){this.onWatcherError(e)}}forEachWatcher(e,t){const n=this.watchers.get(withoutCase(e));if(n!==undefined){for(const e of n){t(e)}}}setMissing(e,t,n){this._cachedTimeInfoEntries=undefined;if(this.initialScan){this.initialScanRemoved.add(e)}const r=this.directories.get(e);if(r){if(this.nestedWatching)r.close();this.directories.delete(e);this.forEachWatcher(e,e=>e.emit("remove",n));if(!t){this.forEachWatcher(this.path,r=>r.emit("change",e,null,n,t))}}const i=this.files.get(e);if(i){this.files.delete(e);const r=withoutCase(e);const i=this.filesWithoutCase.get(r)-1;if(i<=0){this.filesWithoutCase.delete(r);this.forEachWatcher(e,e=>e.emit("remove",n))}else{this.filesWithoutCase.set(r,i)}if(!t){this.forEachWatcher(this.path,r=>r.emit("change",e,null,n,t))}}}setFileTime(e,t,n,r,i){const s=Date.now();if(this.checkIgnore(e))return;const o=this.files.get(e);let a,u;if(n){a=Math.min(s,t)+c;u=c}else{a=s;u=0;if(o&&o.timestamp===t&&t+c{if(!n||e.checkStartTime(a,n)){e.emit("change",t,i)}})}else if(!n){this.forEachWatcher(e,e=>e.emit("change",t,i))}this.forEachWatcher(this.path,t=>{if(!n||t.checkStartTime(a,n)){t.emit("change",e,a,i,n)}})}setDirectory(e,t,n,r){if(this.checkIgnore(e))return;if(e===this.path){if(!n){this.forEachWatcher(this.path,i=>i.emit("change",e,t,r,n))}}else{const i=this.directories.get(e);if(!i){const i=Date.now();this._cachedTimeInfoEntries=undefined;if(this.nestedWatching){this.createNestedWatcher(e)}else{this.directories.set(e,true)}let s;if(n){s=Math.min(i,t)+c}else{s=i}this.forEachWatcher(e,e=>{if(!n||e.checkStartTime(s,false)){e.emit("change",t,r)}});this.forEachWatcher(this.path,t=>{if(!n||t.checkStartTime(s,n)){t.emit("change",e,s,r,n)}})}}}createNestedWatcher(e){const t=this.watcherManager.watchDirectory(e,1);t.on("change",(e,t,n,r)=>{this._cachedTimeInfoEntries=undefined;this.forEachWatcher(this.path,i=>{if(!r||i.checkStartTime(t,r)){i.emit("change",e,t,n,r)}})});this.directories.set(e,t)}setNestedWatching(e){if(this.nestedWatching!==!!e){this.nestedWatching=!!e;this._cachedTimeInfoEntries=undefined;if(this.nestedWatching){for(const e of this.directories.keys()){this.createNestedWatcher(e)}}else{for(const[e,t]of this.directories){t.close();this.directories.set(e,true)}}}}watch(e,t){const n=withoutCase(e);let r=this.watchers.get(n);if(r===undefined){r=new Set;this.watchers.set(n,r)}this.refs++;const i=new Watcher(this,e,t);i.on("closed",()=>{if(--this.refs<=0){this.close();return}r.delete(i);if(r.size===0){this.watchers.delete(n);if(this.path===e)this.setNestedWatching(false)}});r.add(i);let s;if(e===this.path){this.setNestedWatching(true);s=this.lastWatchEvent;for(const e of this.files.values()){fixupEntryAccuracy(e);s=Math.max(s,e.safeTime)}}else{const t=this.files.get(e);if(t){fixupEntryAccuracy(t);s=t.safeTime}else{s=0}}if(s){if(s>=t){process.nextTick(()=>{if(this.closed)return;i.emit("change",s)})}}else if(this.initialScan){if(this.initialScanRemoved.has(e)){process.nextTick(()=>{if(this.closed)return;i.emit("remove")})}}else if(!this.directories.has(e)&&i.checkStartTime(this.initialScanFinished,false)){process.nextTick(()=>{if(this.closed)return;i.emit("initial-missing","watch (missing on attach)")})}return i}onWatchEvent(e,t){if(this.closed)return;if(!t){this.doScan(false);return}const n=s.join(this.path,t);if(this.checkIgnore(n))return;if(this._activeEvents.get(t)===undefined){this._activeEvents.set(t,false);const r=()=>{if(this.closed)return;this._activeEvents.set(t,false);i.lstat(n,(o,a)=>{if(this.closed)return;if(this._activeEvents.get(t)===true){process.nextTick(r);return}this._activeEvents.delete(t);if(o){if(o.code!=="ENOENT"&&o.code!=="EPERM"&&o.code!=="EBUSY"){this.onStatsError(o)}else{if(t===s.basename(this.path)){if(!i.existsSync(this.path)){this.onDirectoryRemoved("stat failed")}}}}this.lastWatchEvent=Date.now();this._cachedTimeInfoEntries=undefined;if(!a){this.setMissing(n,false,e)}else if(a.isDirectory()){this.setDirectory(n,+a.mtime||+a.ctime||1,false,e)}else if(a.isFile()||a.isSymbolicLink()){if(a.mtime){ensureFsAccuracy(a.mtime)}this.setFileTime(n,+a.mtime||+a.ctime||1,false,false,e)}})};process.nextTick(r)}else{this._activeEvents.set(t,true)}}onWatcherError(e){if(this.closed)return;if(e){if(e.code!=="EPERM"&&e.code!=="ENOENT"){console.error("Watchpack Error (watcher): "+e)}this.onDirectoryRemoved("watch error")}}onStatsError(e){if(e){console.error("Watchpack Error (stats): "+e)}}onScanError(e){if(e){console.error("Watchpack Error (initial scan): "+e)}this.onScanFinished()}onScanFinished(){if(this.polledWatching){this.timeout=setTimeout(()=>{if(this.closed)return;this.doScan(false)},this.polledWatching)}}onDirectoryRemoved(e){if(this.watcher){this.watcher.close();this.watcher=null}this.watchInParentDirectory();const t=`directory-removed (${e})`;for(const e of this.directories.keys()){this.setMissing(e,null,t)}for(const e of this.files.keys()){this.setMissing(e,null,t)}}watchInParentDirectory(){if(!this.parentWatcher){const e=s.dirname(this.path);if(s.dirname(e)===e)return;this.parentWatcher=this.watcherManager.watchFile(this.path,1);this.parentWatcher.on("change",(e,t)=>{if(this.closed)return;if((!u||this.polledWatching)&&this.parentWatcher){this.parentWatcher.close();this.parentWatcher=null}if(!this.watcher){this.createWatcher();this.doScan(false);this.forEachWatcher(this.path,n=>n.emit("change",this.path,e,t,false))}});this.parentWatcher.on("remove",()=>{this.onDirectoryRemoved("parent directory removed")})}}doScan(e){if(this.scanning){if(this.scanAgain){if(!e)this.scanAgainInitial=false}else{this.scanAgain=true;this.scanAgainInitial=e}return}this.scanning=true;if(this.timeout){clearTimeout(this.timeout);this.timeout=undefined}process.nextTick(()=>{if(this.closed)return;i.readdir(this.path,(t,n)=>{if(this.closed)return;if(t){if(t.code==="ENOENT"||t.code==="EPERM"){this.onDirectoryRemoved("scan readdir failed")}else{this.onScanError(t)}this.initialScan=false;this.initialScanFinished=Date.now();if(e){for(const e of this.watchers.values()){for(const t of e){if(t.checkStartTime(this.initialScanFinished,false)){t.emit("initial-missing","scan (parent directory missing in initial scan)")}}}}if(this.scanAgain){this.scanAgain=false;this.doScan(this.scanAgainInitial)}else{this.scanning=false}return}const r=new Set(n.map(e=>s.join(this.path,e.normalize("NFC"))));for(const t of this.files.keys()){if(!r.has(t)){this.setMissing(t,e,"scan (missing)")}}for(const t of this.directories.keys()){if(!r.has(t)){this.setMissing(t,e,"scan (missing)")}}if(this.scanAgain){this.scanAgain=false;this.doScan(e);return}const o=needCalls(r.size+1,()=>{if(this.closed)return;this.initialScan=false;this.initialScanRemoved=null;this.initialScanFinished=Date.now();if(e){const e=new Map(this.watchers);e.delete(withoutCase(this.path));for(const t of r){e.delete(withoutCase(t))}for(const t of e.values()){for(const e of t){if(e.checkStartTime(this.initialScanFinished,false)){e.emit("initial-missing","scan (missing in initial scan)")}}}}if(this.scanAgain){this.scanAgain=false;this.doScan(this.scanAgainInitial)}else{this.scanning=false;this.onScanFinished()}});for(const t of r){i.lstat(t,(n,r)=>{if(this.closed)return;if(n){if(n.code==="ENOENT"||n.code==="EPERM"||n.code==="EBUSY"){this.setMissing(t,e,"scan ("+n.code+")")}else{this.onScanError(n)}o();return}if(r.isFile()||r.isSymbolicLink()){if(r.mtime){ensureFsAccuracy(r.mtime)}this.setFileTime(t,+r.mtime||+r.ctime||1,e,true,"scan (file)")}else if(r.isDirectory()){if(!e||!this.directories.has(t))this.setDirectory(t,+r.mtime||+r.ctime||1,e,"scan (dir)")}o()})}o()})})}getTimes(){const e=Object.create(null);let t=this.lastWatchEvent;for(const[n,r]of this.files){fixupEntryAccuracy(r);t=Math.max(t,r.safeTime);e[n]=Math.max(r.safeTime,r.timestamp)}if(this.nestedWatching){for(const n of this.directories.values()){const r=n.directoryWatcher.getTimes();for(const n of Object.keys(r)){const i=r[n];t=Math.max(t,i);e[n]=i}}e[this.path]=t}if(!this.initialScan){for(const t of this.watchers.values()){for(const n of t){const t=n.path;if(!Object.prototype.hasOwnProperty.call(e,t)){e[t]=null}}}}return e}getTimeInfoEntries(){if(this._cachedTimeInfoEntries!==undefined)return this._cachedTimeInfoEntries;const e=new Map;let t=this.lastWatchEvent;for(const[n,r]of this.files){fixupEntryAccuracy(r);t=Math.max(t,r.safeTime);e.set(n,r)}if(this.nestedWatching){for(const n of this.directories.values()){const r=n.directoryWatcher.getTimeInfoEntries();for(const[n,i]of r){if(i){t=Math.max(t,i.safeTime)}e.set(n,i)}}e.set(this.path,{safeTime:t})}else{for(const t of this.directories.keys()){e.set(t,a)}e.set(this.path,a)}if(!this.initialScan){for(const t of this.watchers.values()){for(const n of t){const t=n.path;if(!e.has(t)){e.set(t,null)}}}this._cachedTimeInfoEntries=e}return e}close(){this.closed=true;this.initialScan=false;if(this.watcher){this.watcher.close();this.watcher=null}if(this.nestedWatching){for(const e of this.directories.values()){e.close()}this.directories.clear()}if(this.parentWatcher){this.parentWatcher.close();this.parentWatcher=null}this.emit("closed")}}e.exports=DirectoryWatcher;e.exports.EXISTANCE_ONLY_TIME_ENTRY=a;function fixupEntryAccuracy(e){if(e.accuracy>c){e.safeTime=e.safeTime-e.accuracy+c;e.accuracy=c}}function ensureFsAccuracy(e){if(!e)return;if(c>1&&e%1!==0)c=1;else if(c>10&&e%10!==0)c=10;else if(c>100&&e%100!==0)c=100}},99181:(e,t,n)=>{"use strict";const r=n(35747);const i=n(85622);const s=new Set(process.platform==="win32"?["EINVAL","ENOENT","UNKNOWN"]:["EINVAL"]);class LinkResolver{constructor(){this.cache=new Map}resolve(e){const t=this.cache.get(e);if(t!==undefined){return t}const n=i.dirname(e);if(n===e){const t=Object.freeze([e]);this.cache.set(e,t);return t}const o=this.resolve(n);let a=e;if(o[0]!==n){const t=i.basename(e);a=i.resolve(o[0],t)}try{const t=r.readlinkSync(a);const n=i.resolve(o[0],t);const c=this.resolve(n);let u;if(c.length>1&&o.length>1){const e=new Set(c);e.add(a);for(let t=1;t1){u=o.slice();u[0]=c[0];u.push(a);Object.freeze(u)}else if(c.length>1){u=c.slice();u.push(a);Object.freeze(u)}else{u=Object.freeze([c[0],a])}this.cache.set(e,u);return u}catch(t){if(!s.has(t.code)){throw t}const n=o.slice();n[0]=a;Object.freeze(n);this.cache.set(e,n);return n}}}e.exports=LinkResolver},53982:(e,t,n)=>{"use strict";const r=n(85622);const i=n(56755);class WatcherManager{constructor(e){this.options=e;this.directoryWatchers=new Map}getDirectoryWatcher(e){const t=this.directoryWatchers.get(e);if(t===undefined){const t=new i(this,e,this.options);this.directoryWatchers.set(e,t);t.on("closed",()=>{this.directoryWatchers.delete(e)});return t}return t}watchFile(e,t){const n=r.dirname(e);if(n===e)return null;return this.getDirectoryWatcher(n).watch(e,t)}watchDirectory(e,t){return this.getDirectoryWatcher(e).watch(e,t)}}const s=new WeakMap;e.exports=(e=>{const t=s.get(e);if(t!==undefined)return t;const n=new WatcherManager(e);s.set(e,n);return n});e.exports.WatcherManager=WatcherManager},27601:(e,t,n)=>{"use strict";const r=n(85622);e.exports=((e,t)=>{const n=new Map;for(const[t,r]of e){n.set(t,{filePath:t,parent:undefined,children:undefined,entries:1,active:true,value:r})}let i=n.size;for(const e of n.values()){const t=r.dirname(e.filePath);if(t!==e.filePath){let r=n.get(t);if(r===undefined){r={filePath:t,parent:undefined,children:[e],entries:e.entries,active:false,value:undefined};n.set(t,r)}else{if(r.children===undefined){r.children=[e]}else{r.children.push(e)}do{r.entries+=e.entries;r=r.parent}while(r)}}}while(i>t){const e=t-i;let r=undefined;let s=Infinity;for(const i of n.values()){if(i.entries<=1||!i.children)continue;if(i.children.length<=1)continue;const n=i.entries-1>=e?i.entries-1-e:e-i.entries+1+t*.3;if(n{"use strict";const r=n(35747);const i=n(85622);const{EventEmitter:s}=n(28614);const o=n(27601);const a=n(12087).platform()==="darwin";const c=n(12087).platform()==="win32";const u=a||c;const l=+process.env.WATCHPACK_WATCHER_LIMIT||(a?2e3:1e4);let f=false;let p=0;const d=new Map;const h=new Map;const m=new Map;const g=new Map;class DirectWatcher{constructor(e){this.filePath=e;this.watchers=new Set;this.watcher=undefined;try{const t=r.watch(e);this.watcher=t;t.on("change",(e,t)=>{for(const n of this.watchers){n.emit("change",e,t)}});t.on("error",e=>{for(const t of this.watchers){t.emit("error",e)}})}catch(e){process.nextTick(()=>{for(const t of this.watchers){t.emit("error",e)}})}p++}add(e){g.set(e,this);this.watchers.add(e)}remove(e){this.watchers.delete(e);if(this.watchers.size===0){m.delete(this.filePath);p--;if(this.watcher)this.watcher.close()}}getWatchers(){return this.watchers}}class RecursiveWatcher{constructor(e){this.rootPath=e;this.mapWatcherToPath=new Map;this.mapPathToWatchers=new Map;this.watcher=undefined;try{const t=r.watch(e,{recursive:true});this.watcher=t;t.on("change",(e,t)=>{if(!t){for(const t of this.mapWatcherToPath.keys()){t.emit("change",e)}}else{const n=i.dirname(t);const r=this.mapPathToWatchers.get(n);if(r===undefined)return;for(const n of r){n.emit("change",e,i.basename(t))}}});t.on("error",e=>{for(const t of this.mapWatcherToPath.keys()){t.emit("error",e)}})}catch(e){process.nextTick(()=>{for(const t of this.mapWatcherToPath.keys()){t.emit("error",e)}})}p++}add(e,t){g.set(t,this);const n=e.slice(this.rootPath.length+1)||".";this.mapWatcherToPath.set(t,n);const r=this.mapPathToWatchers.get(n);if(r===undefined){const e=new Set;e.add(t);this.mapPathToWatchers.set(n,e)}else{r.add(t)}}remove(e){const t=this.mapWatcherToPath.get(e);if(!t)return;this.mapWatcherToPath.delete(e);const n=this.mapPathToWatchers.get(t);n.delete(e);if(n.size===0){this.mapPathToWatchers.delete(t)}if(this.mapWatcherToPath.size===0){h.delete(this.rootPath);p--;if(this.watcher)this.watcher.close()}}getWatchers(){return this.mapWatcherToPath}}class Watcher extends s{close(){if(d.has(this)){d.delete(this);return}const e=g.get(this);e.remove(this);g.delete(this)}}const y=e=>{const t=m.get(e);if(t!==undefined)return t;const n=new DirectWatcher(e);m.set(e,n);return n};const v=e=>{const t=h.get(e);if(t!==undefined)return t;const n=new RecursiveWatcher(e);h.set(e,n);return n};const _=()=>{const e=new Map;const t=(t,n)=>{const r=e.get(n);if(r===undefined){e.set(n,t)}else if(Array.isArray(r)){r.push(t)}else{e.set(n,[r,t])}};for(const[e,n]of d){t(e,n)}d.clear();if(!u||l-p>=e.size){for(const[t,n]of e){const e=y(t);if(Array.isArray(n)){for(const t of n)e.add(t)}else{e.add(n)}}return}for(const e of h.values()){for(const[n,r]of e.getWatchers()){t(n,i.join(e.rootPath,r))}}for(const e of m.values()){for(const n of e.getWatchers()){t(n,e.filePath)}}const n=o(e,l*.9);for(const[e,t]of n){if(t.size===1){for(const[e,n]of t){const t=y(n);const r=g.get(e);if(r===t)continue;t.add(e);if(r!==undefined)r.remove(e)}}else{const n=new Set(t.values());if(n.size>1){const n=v(e);for(const[e,r]of t){const t=g.get(e);if(t===n)continue;n.add(r,e);if(t!==undefined)t.remove(e)}}else{for(const e of n){const n=y(e);for(const e of t.keys()){const t=g.get(e);if(t===n)continue;n.add(e);if(t!==undefined)t.remove(e)}}}}}};t.watch=(e=>{const t=new Watcher;const n=m.get(e);if(n!==undefined){n.add(t);return t}let r=e;for(;;){const n=h.get(r);if(n!==undefined){n.add(e,t);return t}const s=i.dirname(r);if(s===r)break;r=s}d.set(t,e);if(!f)_();return t});t.batch=(e=>{f=true;try{e()}finally{f=false;_()}});t.getNumberOfWatchers=(()=>{return p})},92512:(e,t,n)=>{"use strict";const r=n(53982);const i=n(99181);const s=n(28614).EventEmitter;const o=n(70554);const a=n(68862);let c;const u=[];const l={};function addWatchersToSet(e,t){for(const n of e){if(n!==true&&!t.has(n.directoryWatcher)){t.add(n.directoryWatcher);addWatchersToSet(n.directoryWatcher.directories.values(),t)}}}const f=e=>{const t=o(e,{globstar:true,extended:true}).source;const n=t.slice(0,t.length-1)+"(?:$|\\/)";return n};const p=e=>{if(Array.isArray(e)){return new RegExp(e.map(e=>f(e)).join("|"))}else if(typeof e==="string"){return new RegExp(f(e))}else if(e instanceof RegExp){return e}else if(e){throw new Error(`Invalid option for 'ignored': ${e}`)}else{return undefined}};const d=e=>{return{followSymlinks:!!e.followSymlinks,ignored:p(e.ignored),poll:e.poll}};const h=new WeakMap;const m=e=>{const t=h.get(e);if(t!==undefined)return t;const n=d(e);h.set(e,n);return n};class Watchpack extends s{constructor(e){super();if(!e)e=l;this.options=e;this.aggregateTimeout=typeof e.aggregateTimeout==="number"?e.aggregateTimeout:200;this.watcherOptions=m(e);this.watcherManager=r(this.watcherOptions);this.fileWatchers=new Map;this.directoryWatchers=new Map;this.startTime=undefined;this.paused=false;this.aggregatedChanges=new Set;this.aggregatedRemovals=new Set;this.aggregateTimer=undefined;this._onTimeout=this._onTimeout.bind(this)}watch(e,t,n){let r,s,o,c;if(!t){({files:r=u,directories:s=u,missing:o=u,startTime:c}=e)}else{r=e;s=t;o=u;c=n}this.paused=false;const l=this.fileWatchers;const f=this.directoryWatchers;const p=this.watcherOptions.ignored;const d=p?e=>!p.test(e.replace(/\\/g,"/")):()=>true;const h=(e,t,n)=>{const r=e.get(t);if(r===undefined){e.set(t,[n])}else{r.push(n)}};const m=new Map;const g=new Map;const y=new Set;if(this.watcherOptions.followSymlinks){const e=new i;for(const t of r){if(d(t)){for(const n of e.resolve(t)){if(t===n||d(n)){h(m,n,t)}}}}for(const t of o){if(d(t)){for(const n of e.resolve(t)){if(t===n||d(n)){y.add(t);h(m,n,t)}}}}for(const t of s){if(d(t)){let n=true;for(const r of e.resolve(t)){if(d(r)){h(n?g:m,r,t)}n=false}}}}else{for(const e of r){if(d(e)){h(m,e,e)}}for(const e of o){if(d(e)){y.add(e);h(m,e,e)}}for(const e of s){if(d(e)){h(g,e,e)}}}const v=new Map;const _=new Map;const b=(e,t,n)=>{e.on("initial-missing",e=>{for(const t of n){if(!y.has(t))this._onRemove(t,t,e)}});e.on("change",(e,t)=>{for(const r of n){this._onChange(r,e,r,t)}});e.on("remove",e=>{for(const t of n){this._onRemove(t,t,e)}});v.set(t,e)};const E=(e,t,n)=>{e.on("initial-missing",e=>{for(const t of n){this._onRemove(t,t,e)}});e.on("change",(e,t,r)=>{for(const i of n){this._onChange(i,t,e,r)}});e.on("remove",e=>{for(const t of n){this._onRemove(t,t,e)}});_.set(t,e)};const w=[];const S=[];for(const[e,t]of l){if(!m.has(e)){t.close()}else{w.push(t)}}for(const[e,t]of f){if(!g.has(e)){t.close()}else{S.push(t)}}a.batch(()=>{for(const[e,t]of m){const n=this.watcherManager.watchFile(e,c);if(n){b(n,e,t)}}for(const[e,t]of g){const n=this.watcherManager.watchDirectory(e,c);if(n){E(n,e,t)}}});for(const e of w)e.close();for(const e of S)e.close();this.fileWatchers=v;this.directoryWatchers=_;this.startTime=c}close(){this.paused=true;if(this.aggregateTimer)clearTimeout(this.aggregateTimer);for(const e of this.fileWatchers.values())e.close();for(const e of this.directoryWatchers.values())e.close();this.fileWatchers.clear();this.directoryWatchers.clear()}pause(){this.paused=true;if(this.aggregateTimer)clearTimeout(this.aggregateTimer)}getTimes(){const e=new Set;addWatchersToSet(this.fileWatchers.values(),e);addWatchersToSet(this.directoryWatchers.values(),e);const t=Object.create(null);for(const n of e){const e=n.getTimes();for(const n of Object.keys(e))t[n]=e[n]}return t}getTimeInfoEntries(){if(c===undefined){c=n(56755).EXISTANCE_ONLY_TIME_ENTRY}const e=new Set;addWatchersToSet(this.fileWatchers.values(),e);addWatchersToSet(this.directoryWatchers.values(),e);const t=new Map;for(const n of e){const e=n.getTimeInfoEntries();for(const[n,r]of e){if(t.has(n)){if(r===c)continue;const e=t.get(n);if(e===r)continue;if(e!==c){t.set(n,Object.assign({},e,r));continue}}t.set(n,r)}}return t}_missingWatcher(e,t){if(t){t.on("change",(t,n)=>{this._onChange(e,t,e,n)});t.on("remove",t=>{this._onRemove(e,e,t)})}return t}_fileWatcher(e,t){if(t){t.on("initial-missing",t=>{this._onRemove(e,e,t)});t.on("change",(t,n)=>{this._onChange(e,t,e,n)});t.on("remove",t=>{this._onRemove(e,e,t)})}return t}_dirWatcher(e,t){t.on("initial-missing",t=>{this._onRemove(e,e,t)});t.on("change",(t,n,r)=>{this._onChange(e,n,t,r)});t.on("remove",t=>{this._onRemove(e,e,t)});return t}_onChange(e,t,n,r){n=n||e;if(this.paused)return;this.emit("change",n,t,r);if(this.aggregateTimer)clearTimeout(this.aggregateTimer);this.aggregatedRemovals.delete(e);this.aggregatedChanges.add(e);this.aggregateTimer=setTimeout(this._onTimeout,this.aggregateTimeout)}_onRemove(e,t,n){t=t||e;if(this.paused)return;this.emit("remove",t,n);if(this.aggregateTimer)clearTimeout(this.aggregateTimer);this.aggregatedChanges.delete(e);this.aggregatedRemovals.add(e);this.aggregateTimer=setTimeout(this._onTimeout,this.aggregateTimeout)}_onTimeout(){this.aggregateTimer=undefined;const e=this.aggregatedChanges;const t=this.aggregatedRemovals;this.aggregatedChanges=new Set;this.aggregatedRemovals=new Set;this.emit("aggregated",e,t)}}e.exports=Watchpack},70417:(e,t,n)=>{"use strict";const r=n(12112);class CachedSource extends r{constructor(e){super();this._source=e;this._cachedSource=undefined;this._cachedSize=undefined;this._cachedMaps={};if(e.node)this.node=function(e){return this._source.node(e)};if(e.listMap)this.listMap=function(e){return this._source.listMap(e)}}source(){if(typeof this._cachedSource!=="undefined")return this._cachedSource;return this._cachedSource=this._source.source()}size(){if(typeof this._cachedSize!=="undefined")return this._cachedSize;if(typeof this._cachedSource!=="undefined"){if(Buffer.from.length===1)return new Buffer(this._cachedSource).length;return this._cachedSize=Buffer.byteLength(this._cachedSource)}return this._cachedSize=this._source.size()}sourceAndMap(e){const t=JSON.stringify(e);if(typeof this._cachedSource!=="undefined"&&t in this._cachedMaps)return{source:this._cachedSource,map:this._cachedMaps[t]};else if(typeof this._cachedSource!=="undefined"){return{source:this._cachedSource,map:this._cachedMaps[t]=this._source.map(e)}}else if(t in this._cachedMaps){return{source:this._cachedSource=this._source.source(),map:this._cachedMaps[t]}}const n=this._source.sourceAndMap(e);this._cachedSource=n.source;this._cachedMaps[t]=n.map;return{source:this._cachedSource,map:this._cachedMaps[t]}}map(e){if(!e)e={};const t=JSON.stringify(e);if(t in this._cachedMaps)return this._cachedMaps[t];return this._cachedMaps[t]=this._source.map()}updateHash(e){this._source.updateHash(e)}}e.exports=CachedSource},52388:(e,t,n)=>{"use strict";const r=n(99596).SourceNode;const i=n(6900).SourceListMap;const s=n(12112);class ConcatSource extends s{constructor(){super();this.children=[];for(var e=0;e{"use strict";var r=n(99596).SourceNode;var i=n(99596).SourceMapConsumer;var s=n(6900).SourceListMap;var o=n(12112);class LineToLineMappedSource extends o{constructor(e,t,n){super();this._value=e;this._name=t;this._originalSource=n}source(){return this._value}node(e){var t=this._value;var n=this._name;var i=t.split("\n");var s=new r(null,null,null,i.map(function(e,t){return new r(t+1,0,n,e+(t!=i.length-1?"\n":""))}));s.setSourceContent(n,this._originalSource);return s}listMap(e){return new s(this._value,this._name,this._originalSource)}updateHash(e){e.update(this._value);e.update(this._originalSource)}}n(93020)(LineToLineMappedSource.prototype);e.exports=LineToLineMappedSource},57579:(e,t,n)=>{"use strict";var r=n(99596).SourceNode;var i=n(99596).SourceMapConsumer;var s=n(6900).SourceListMap;var o=n(12112);var a=/(?!$)[^\n\r;{}]*[\n\r;{}]*/g;function _splitCode(e){return e.match(a)||[]}class OriginalSource extends o{constructor(e,t){super();this._value=e;this._name=t}source(){return this._value}node(e){e=e||{};var t=this._sourceMap;var n=this._value;var i=this._name;var s=n.split("\n");var o=new r(null,null,null,s.map(function(t,n){var o=0;if(e.columns===false){var a=t+(n!=s.length-1?"\n":"");return new r(n+1,0,i,a)}return new r(null,null,null,_splitCode(t+(n!=s.length-1?"\n":"")).map(function(e){if(/^\s*$/.test(e)){o+=e.length;return e}var t=new r(n+1,o,i,e);o+=e.length;return t}))}));o.setSourceContent(i,n);return o}listMap(e){return new s(this._value,this._name,this._value)}updateHash(e){e.update(this._value)}}n(93020)(OriginalSource.prototype);e.exports=OriginalSource},69852:(e,t,n)=>{"use strict";var r=n(12112);var i=n(99596).SourceNode;var s=/\n(?=.|\s)/g;function cloneAndPrefix(e,t,n){if(typeof e==="string"){var r=e.replace(s,"\n"+t);if(n.length>0)r=n.pop()+r;if(/\n$/.test(e))n.push(t);return r}else{var o=new i(e.line,e.column,e.source,e.children.map(function(e){return cloneAndPrefix(e,t,n)}),e.name);o.sourceContents=e.sourceContents;return o}}class PrefixSource extends r{constructor(e,t){super();this._source=t;this._prefix=e}source(){var e=typeof this._source==="string"?this._source:this._source.source();var t=this._prefix;return t+e.replace(s,"\n"+t)}node(e){var t=this._source.node(e);var n=this._prefix;var r=[];var s=new i;t.walkSourceContents(function(e,t){s.setSourceContent(e,t)});var o=true;t.walk(function(e,t){var s=e.split(/(\n)/);for(var a=0;a{"use strict";var r=n(12112);var i=n(99596).SourceNode;var s=n(6900).SourceListMap;class RawSource extends r{constructor(e){super();this._value=e}source(){return this._value}map(e){return null}node(e){return new i(null,null,null,this._value)}listMap(e){return new s(this._value)}updateHash(e){e.update(this._value)}}e.exports=RawSource},1324:(e,t,n)=>{"use strict";var r=n(12112);var i=n(99596).SourceNode;class Replacement{constructor(e,t,n,r,i){this.start=e;this.end=t;this.content=n;this.insertIndex=r;this.name=i}}class ReplaceSource extends r{constructor(e,t){super();this._source=e;this._name=t;this.replacements=[]}replace(e,t,n,r){if(typeof n!=="string")throw new Error("insertion must be a string, but is a "+typeof n);this.replacements.push(new Replacement(e,t,n,this.replacements.length,r))}insert(e,t,n){if(typeof t!=="string")throw new Error("insertion must be a string, but is a "+typeof t+": "+t);this.replacements.push(new Replacement(e,e-1,t,this.replacements.length,n))}source(e){return this._replaceString(this._source.source())}original(){return this._source}_sortReplacements(){this.replacements.sort(function(e,t){var n=t.end-e.end;if(n!==0)return n;n=t.start-e.start;if(n!==0)return n;return t.insertIndex-e.insertIndex})}_replaceString(e){if(typeof e!=="string")throw new Error("str must be a string, but is a "+typeof e+": "+e);this._sortReplacements();var t=[e];this.replacements.forEach(function(e){var n=t.pop();var r=this._splitString(n,Math.floor(e.end+1));var i=this._splitString(r[0],Math.floor(e.start));t.push(r[1],e.content,i[0])},this);let n="";for(let e=t.length-1;e>=0;--e){n+=t[e]}return n}node(e){var t=this._source.node(e);if(this.replacements.length===0){return t}this._sortReplacements();var n=new ReplacementEnumerator(this.replacements);var r=[];var s=0;var o=Object.create(null);var a=Object.create(null);var c=new i;t.walkSourceContents(function(e,t){c.setSourceContent(e,t);o["$"+e]=t});var u=this._replaceInStringNode.bind(this,r,n,function getOriginalSource(e){var t="$"+e.source;var n=a[t];if(!n){var r=o[t];if(!r)return null;n=r.split("\n").map(function(e){return e+"\n"});a[t]=n}if(e.line>n.length)return null;var i=n[e.line-1];return i.substr(e.column)});t.walk(function(e,t){s=u(e,s,t)});var l=n.footer();if(l){r.push(l)}c.add(r);return c}listMap(e){this._sortReplacements();var t=this._source.listMap(e);var n=0;var r=this.replacements;var i=r.length-1;var s=0;t=t.mapGeneratedCode(function(e){var t=n+e.length;if(s>e.length){s-=e.length;e=""}else{if(s>0){e=e.substr(s);n+=s;s=0}var o="";while(i>=0&&r[i].start=0){o+=r[i].content;i--}if(o){t.add(o)}return t}_splitString(e,t){return t<=0?["",e]:[e.substr(0,t),e.substr(t)]}_replaceInStringNode(e,t,n,r,s,o){var a=undefined;do{var c=t.position-s;if(c<0){c=0}if(c>=r.length||t.done){if(t.emit){var u=new i(o.line,o.column,o.source,r,o.name);e.push(u)}return s+r.length}var l=o.column;var f;if(c>0){f=r.slice(0,c);if(a===undefined){a=n(o)}if(a&&a.length>=c&&a.startsWith(f)){o.column+=c;a=a.substr(c)}}var p=t.next();if(!p){if(c>0){var d=new i(o.line,l,o.source,f,o.name);e.push(d)}if(t.value){e.push(new i(o.line,o.column,o.source,t.value,o.name||t.name))}}r=r.substr(c);s+=c}while(true)}}class ReplacementEnumerator{constructor(e){this.replacements=e||[];this.index=this.replacements.length;this.done=false;this.emit=false;this.next()}next(){if(this.done)return true;if(this.emit){var e=this.replacements[this.index];var t=Math.floor(e.end+1);this.position=t;this.value=e.content;this.name=e.name}else{this.index--;if(this.index<0){this.done=true}else{var n=this.replacements[this.index];var r=Math.floor(n.start);this.position=r}}if(this.position<0)this.position=0;this.emit=!this.emit;return this.emit}footer(){if(!this.done&&!this.emit)this.next();if(this.done){return[]}else{var e="";for(var t=this.index;t>=0;t--){var n=this.replacements[t];e+=n.content}return e}}}n(93020)(ReplaceSource.prototype);e.exports=ReplaceSource},12112:(e,t,n)=>{"use strict";var r=n(99596).SourceNode;var i=n(99596).SourceMapConsumer;class Source{source(){throw new Error("Abstract")}size(){if(Buffer.from.length===1)return new Buffer(this.source()).length;return Buffer.byteLength(this.source())}map(e){return null}sourceAndMap(e){return{source:this.source(),map:this.map()}}node(){throw new Error("Abstract")}listNode(){throw new Error("Abstract")}updateHash(e){var t=this.source();e.update(t||"")}}e.exports=Source},93020:e=>{"use strict";e.exports=function mixinSourceAndMap(e){e.map=function(e){e=e||{};if(e.columns===false){return this.listMap(e).toStringWithSourceMap({file:"x"}).map}return this.node(e).toStringWithSourceMap({file:"x"}).map.toJSON()};e.sourceAndMap=function(e){e=e||{};if(e.columns===false){return this.listMap(e).toStringWithSourceMap({file:"x"})}var t=this.node(e).toStringWithSourceMap({file:"x"});return{source:t.code,map:t.map.toJSON()}}}},84172:(e,t,n)=>{"use strict";var r=n(99596).SourceNode;var i=n(99596).SourceMapConsumer;var s=n(99596).SourceMapGenerator;var o=n(6900).SourceListMap;var a=n(6900).fromStringWithSourceMap;var c=n(12112);var u=n(22368);class SourceMapSource extends c{constructor(e,t,n,r,i,s){super();this._value=e;this._name=t;this._sourceMap=n;this._originalSource=r;this._innerSourceMap=i;this._removeOriginalSource=s}source(){return this._value}node(e){var t=this._sourceMap;var n=r.fromStringWithSourceMap(this._value,new i(t));n.setSourceContent(this._name,this._originalSource);var s=this._innerSourceMap;if(s){n=u(n,new i(s),this._name,this._removeOriginalSource)}return n}listMap(e){e=e||{};if(e.module===false)return new o(this._value,this._name,this._value);return a(this._value,typeof this._sourceMap==="string"?JSON.parse(this._sourceMap):this._sourceMap)}updateHash(e){e.update(this._value);if(this._originalSource)e.update(this._originalSource)}}n(93020)(SourceMapSource.prototype);e.exports=SourceMapSource},22368:(e,t,n)=>{"use strict";var r=n(99596).SourceNode;var i=n(99596).SourceMapConsumer;var s=function(e,t,n,s){var o=new r;var a=[];var c={};var u={};var l={};var f={};t.eachMapping(function(e){(u[e.generatedLine]=u[e.generatedLine]||[]).push(e)},null,i.GENERATED_ORDER);e.walkSourceContents(function(e,t){c["$"+e]=t});var p=c["$"+n];var d=p?p.split("\n"):undefined;e.walk(function(e,i){var p;if(i.source===n&&i.line&&u[i.line]){var h;var m=u[i.line];for(var g=0;g0){var k=v.slice(h.generatedColumn,i.column);var D=w.slice(h.originalColumn,h.originalColumn+S);if(k===D){h=Object.assign({},h,{originalColumn:h.originalColumn+S,generatedColumn:i.column})}}if(!h.name&&i.name){y=w.slice(h.originalColumn,h.originalColumn+i.name.length)===i.name}}}p=h.source;a.push(new r(h.originalLine,h.originalColumn,p,e,y?i.name:h.name));if(!("$"+p in l)){l["$"+p]=true;var x=t.sourceContentFor(p,true);if(x){o.setSourceContent(p,x)}}return}}if(s&&i.source===n||!i.source){a.push(e);return}p=i.source;a.push(new r(i.line,i.column,p,e,i.name));if("$"+p in c){if(!("$"+p in l)){o.setSourceContent(p,c["$"+p]);delete c["$"+p]}}});o.add(a);return o};e.exports=s},2991:(e,t,n)=>{t.Source=n(12112);t.RawSource=n(57902);t.OriginalSource=n(57579);t.SourceMapSource=n(84172);t.LineToLineMappedSource=n(32631);t.CachedSource=n(70417);t.ConcatSource=n(52388);t.ReplaceSource=n(1324);t.PrefixSource=n(69852)},32323:(e,t,n)=>{"use strict";const r=n(76150);const i=n(81627);const s=n(66298);const{toConstantDependency:o,evaluateToString:a}=n(48472);const c=n(64255);const u=n(75948);const l={__webpack_require__:{expr:r.require,req:[r.require],type:"function",assign:false},__webpack_public_path__:{expr:r.publicPath,req:[r.publicPath],type:"string",assign:true},__webpack_modules__:{expr:r.moduleFactories,req:[r.moduleFactories],type:"object",assign:false},__webpack_chunk_load__:{expr:r.ensureChunk,req:[r.ensureChunk],type:"function",assign:true},__non_webpack_require__:{expr:"require",req:null,type:undefined,assign:true},__webpack_nonce__:{expr:r.scriptNonce,req:[r.scriptNonce],type:"string",assign:true},__webpack_hash__:{expr:`${r.getFullHash}()`,req:[r.getFullHash],type:"string",assign:false},__webpack_chunkname__:{expr:r.chunkName,req:[r.chunkName],type:"string",assign:false},__webpack_get_script_filename__:{expr:r.getChunkScriptFilename,req:[r.getChunkScriptFilename],type:"function",assign:true},"require.onError":{expr:r.uncaughtErrorHandler,req:[r.uncaughtErrorHandler],type:undefined,assign:true},__system_context__:{expr:r.systemContext,req:[r.systemContext],type:"object",assign:false},__webpack_share_scopes__:{expr:r.shareScopeMap,req:[r.shareScopeMap],type:"object",assign:false},__webpack_init_sharing__:{expr:r.initializeSharing,req:[r.initializeSharing],type:"function",assign:true}};class APIPlugin{apply(e){e.hooks.compilation.tap("APIPlugin",(e,{normalModuleFactory:t})=>{e.dependencyTemplates.set(s,new s.Template);e.hooks.runtimeRequirementInTree.for(r.chunkName).tap("APIPlugin",t=>{e.addRuntimeModule(t,new c(t.name));return true});e.hooks.runtimeRequirementInTree.for(r.getFullHash).tap("APIPlugin",(t,n)=>{const r=new u;e.addRuntimeModule(t,r);e.chunkGraph.addFullHashModuleToChunk(t,r);return true});const n=e=>{Object.keys(l).forEach(t=>{const n=l[t];e.hooks.expression.for(t).tap("APIPlugin",o(e,n.expr,n.req));if(n.assign===false){e.hooks.assign.for(t).tap("APIPlugin",e=>{const n=new i(`${t} must not be assigned`);n.loc=e.loc;throw n})}if(n.type){e.hooks.evaluateTypeof.for(t).tap("APIPlugin",a(n.type))}})};t.hooks.parser.for("javascript/auto").tap("APIPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("APIPlugin",n);t.hooks.parser.for("javascript/esm").tap("APIPlugin",n)})}}e.exports=APIPlugin},75884:(e,t,n)=>{"use strict";const r=n(81627);const i=/at ([a-zA-Z0-9_.]*)/;function createMessage(e){return`Abstract method${e?" "+e:""}. Must be overridden.`}function Message(){this.stack=undefined;Error.captureStackTrace(this);const e=this.stack.split("\n")[3].match(i);this.message=e&&e[1]?createMessage(e[1]):createMessage()}class AbstractMethodError extends r{constructor(){super((new Message).message);this.name="AbstractMethodError"}}e.exports=AbstractMethodError},98221:(e,t,n)=>{"use strict";const r=n(32448);const i=n(56202);class AsyncDependenciesBlock extends r{constructor(e,t,n){super();if(typeof e==="string"){e={name:e}}else if(!e){e={name:undefined}}this.groupOptions=e;this.loc=t;this.request=n;this.parent=undefined}get chunkName(){return this.groupOptions.name}set chunkName(e){this.groupOptions.name=e}updateHash(e,t){const{chunkGraph:n}=t;e.update(JSON.stringify(this.groupOptions));const r=n.getBlockChunkGroup(this);e.update(r?r.id:"");super.updateHash(e,t)}isAsync(e){return true}serialize(e){const{write:t}=e;t(this.groupOptions);t(this.loc);t(this.request);super.serialize(e)}deserialize(e){const{read:t}=e;this.groupOptions=t();this.loc=t();this.request=t();super.deserialize(e)}}i(AsyncDependenciesBlock,"webpack/lib/AsyncDependenciesBlock");Object.defineProperty(AsyncDependenciesBlock.prototype,"module",{get(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")},set(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")}});e.exports=AsyncDependenciesBlock},21357:(e,t,n)=>{"use strict";const r=n(81627);class AsyncDependencyToInitialChunkError extends r{constructor(e,t,n){super(`It's not allowed to load an initial chunk on demand. The chunk name "${e}" is already used by an entrypoint.`);this.name="AsyncDependencyToInitialChunkError";this.module=t;this.loc=n;Error.captureStackTrace(this,this.constructor)}}e.exports=AsyncDependencyToInitialChunkError},20383:(e,t,n)=>{"use strict";const r=n(62355);const i=n(53520);const s=n(88281);class AutomaticPrefetchPlugin{apply(e){e.hooks.compilation.tap("AutomaticPrefetchPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,t)});let t=null;e.hooks.afterCompile.tap("AutomaticPrefetchPlugin",e=>{t=Array.from(e.modules).filter(e=>e instanceof i).map(e=>({context:e.context,request:e.request}))});e.hooks.make.tapAsync("AutomaticPrefetchPlugin",(n,i)=>{if(!t)return i();r.forEach(t,(t,r)=>{n.addModuleChain(t.context||e.context,new s(t.request),r)},i)})}}e.exports=AutomaticPrefetchPlugin},58779:(e,t,n)=>{"use strict";const r=n(15235);const{ConcatSource:i}=n(48135);const s=n(3080);const o=n(70354);const a=n(58159);const c=n(4837);const u=e=>{if(!e.includes("\n")){return a.toComment(e)}return`/*!\n * ${e.replace(/\*\//g,"* /").split("\n").join("\n * ").replace(/\s+\n/g,"\n").trimRight()}\n */`};class BannerPlugin{constructor(e){if(typeof e==="string"||typeof e==="function"){e={banner:e}}r(c,e,{name:"Banner Plugin",baseDataPath:"options"});this.options=e;const t=e.banner;if(typeof t==="function"){const e=t;this.banner=this.options.raw?e:t=>u(e(t))}else{const e=this.options.raw?t:u(t);this.banner=(()=>e)}}apply(e){const t=this.options;const n=this.banner;const r=o.matchObject.bind(undefined,t);e.hooks.compilation.tap("BannerPlugin",e=>{e.hooks.processAssets.tap({name:"BannerPlugin",stage:s.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{for(const s of e.chunks){if(t.entryOnly&&!s.canBeInitial()){continue}for(const t of s.files){if(!r(t)){continue}const o={chunk:s,filename:t};const a=e.getPath(n,o);e.updateAsset(t,e=>new i(a,"\n",e))}}})})}}e.exports=BannerPlugin},54725:(e,t,n)=>{"use strict";const{AsyncParallelHook:r,AsyncSeriesBailHook:i,SyncHook:s}=n(92960);const{makeWebpackError:o,makeWebpackErrorCallback:a}=n(3728);const c=(e,t)=>{return n=>{if(--e===0){return t(n)}if(n&&e>0){e=0;return t(n)}}};class Cache{constructor(){this.hooks={get:new i(["identifier","etag","gotHandlers"]),store:new r(["identifier","etag","data"]),storeBuildDependencies:new r(["dependencies"]),beginIdle:new s([]),endIdle:new r([]),shutdown:new r([])}}get(e,t,n){const r=[];this.hooks.get.callAsync(e,t,r,(e,t)=>{if(e){n(o(e,"Cache.hooks.get"));return}if(t===null){t=undefined}if(r.length>1){const e=c(r.length,()=>n(null,t));for(const n of r){n(t,e)}}else if(r.length===1){r[0](t,()=>n(null,t))}else{n(null,t)}})}store(e,t,n,r){this.hooks.store.callAsync(e,t,n,a(r,"Cache.hooks.store"))}storeBuildDependencies(e,t){this.hooks.storeBuildDependencies.callAsync(e,a(t,"Cache.hooks.storeBuildDependencies"))}beginIdle(){this.hooks.beginIdle.call()}endIdle(e){this.hooks.endIdle.callAsync(a(e,"Cache.hooks.endIdle"))}shutdown(e){this.hooks.shutdown.callAsync(a(e,"Cache.hooks.shutdown"))}}Cache.STAGE_MEMORY=-10;Cache.STAGE_DEFAULT=0;Cache.STAGE_DISK=10;Cache.STAGE_NETWORK=20;e.exports=Cache},6503:(e,t,n)=>{"use strict";const r=n(62355);const i=n(77034);const s=n(10168);class MultiItemCache{constructor(e){this._items=e}get(e){const t=n=>{this._items[n].get((r,i)=>{if(r)return e(r);if(i!==undefined)return e(null,i);if(++n>=this._items.length)return e();t(n)})};t(0)}getPromise(){const e=t=>{return this._items[t].getPromise().then(n=>{if(n!==undefined)return n;if(++tt.store(e,n),t)}storePromise(e){return Promise.all(this._items.map(t=>t.storePromise(e))).then(()=>{})}}class ItemCacheFacade{constructor(e,t,n){this._cache=e;this._name=t;this._etag=n}get(e){this._cache.get(this._name,this._etag,e)}getPromise(){return new Promise((e,t)=>{this._cache.get(this._name,this._etag,(n,r)=>{if(n){t(n)}else{e(r)}})})}store(e,t){this._cache.store(this._name,this._etag,e,t)}storePromise(e){return new Promise((t,n)=>{this._cache.store(this._name,this._etag,e,e=>{if(e){n(e)}else{t()}})})}provide(e,t){this.get((n,r)=>{if(n)return t(n);if(r!==undefined)return r;e((e,n)=>{if(e)return t(e);this.store(n,e=>{if(e)return t(e);t(null,n)})})})}async providePromise(e){const t=await this.getPromise();if(t!==undefined)return t;const n=await e();await this.storePromise(n);return n}}class CacheFacade{constructor(e,t){this._cache=e;this._name=t}getChildCache(e){return new CacheFacade(this._cache,`${this._name}|${e}`)}getItemCache(e,t){return new ItemCacheFacade(this._cache,`${this._name}|${e}`,t)}getLazyHashedEtag(e){return i(e)}mergeEtags(e,t){return s(e,t)}get(e,t,n){this._cache.get(`${this._name}|${e}`,t,n)}getPromise(e,t){return new Promise((n,r)=>{this._cache.get(`${this._name}|${e}`,t,(e,t)=>{if(e){r(e)}else{n(t)}})})}store(e,t,n,r){this._cache.store(`${this._name}|${e}`,t,n,r)}storePromise(e,t,n){return new Promise((r,i)=>{this._cache.store(`${this._name}|${e}`,t,n,e=>{if(e){i(e)}else{r()}})})}provide(e,t,n,r){this.get(e,t,(i,s)=>{if(i)return r(i);if(s!==undefined)return s;n((n,i)=>{if(n)return r(n);this.store(e,t,i,e=>{if(e)return r(e);r(null,i)})})})}async providePromise(e,t,n){const r=await this.getPromise(e,t);if(r!==undefined)return r;const i=await n();await this.storePromise(e,t,i);return i}}e.exports=CacheFacade;e.exports.ItemCacheFacade=ItemCacheFacade;e.exports.MultiItemCache=MultiItemCache},41673:(e,t,n)=>{"use strict";const r=n(81627);const i=e=>{return e.slice().sort((e,t)=>{const n=e.identifier();const r=t.identifier();if(nr)return 1;return 0})};const s=(e,t)=>{return e.map(e=>{let n=`* ${e.identifier()}`;const r=Array.from(t.getIncomingConnections(e)).filter(e=>e.originModule);if(r.length>0){n+=`\n Used by ${r.length} module(s), i. e.`;n+=`\n ${r[0].originModule.identifier()}`}return n}).join("\n")};class CaseSensitiveModulesWarning extends r{constructor(e,t){const n=i(e);const r=s(n,t);super(`There are multiple modules with names that only differ in casing.\nThis can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\nUse equal casing. Compare these module identifiers:\n${r}`);this.name="CaseSensitiveModulesWarning";this.module=n[0];Error.captureStackTrace(this,this.constructor)}}e.exports=CaseSensitiveModulesWarning},62433:(e,t,n)=>{"use strict";const r=n(45137);const i=n(71452);const{intersect:s}=n(26221);const o=n(16102);const a=n(14146);const{compareModulesByIdentifier:c,compareChunkGroupsByIndex:u,compareModulesById:l}=n(68673);const{createArrayToSetDeprecationSet:f}=n(16595);const{mergeRuntime:p}=n(37416);const d=f("chunk.files");let h=1e3;class Chunk{constructor(e){this.id=null;this.ids=null;this.debugId=h++;this.name=e;this.idNameHints=new o;this.preventIntegration=false;this.filenameTemplate=undefined;this._groups=new o(undefined,u);this.runtime=undefined;this.files=new d;this.auxiliaryFiles=new Set;this.rendered=false;this.hash=undefined;this.contentHash=Object.create(null);this.renderedHash=undefined;this.chunkReason=undefined;this.extraAsync=false}get entryModule(){const e=Array.from(r.getChunkGraphForChunk(this,"Chunk.entryModule","DEP_WEBPACK_CHUNK_ENTRY_MODULE").getChunkEntryModulesIterable(this));if(e.length===0){return undefined}else if(e.length===1){return e[0]}else{throw new Error("Module.entryModule: Multiple entry modules are not supported by the deprecated API (Use the new ChunkGroup API)")}}hasEntryModule(){return r.getChunkGraphForChunk(this,"Chunk.hasEntryModule","DEP_WEBPACK_CHUNK_HAS_ENTRY_MODULE").getNumberOfEntryModules(this)>0}addModule(e){const t=r.getChunkGraphForChunk(this,"Chunk.addModule","DEP_WEBPACK_CHUNK_ADD_MODULE");if(t.isModuleInChunk(e,this))return false;t.connectChunkAndModule(this,e);return true}removeModule(e){r.getChunkGraphForChunk(this,"Chunk.removeModule","DEP_WEBPACK_CHUNK_REMOVE_MODULE").disconnectChunkAndModule(this,e)}getNumberOfModules(){return r.getChunkGraphForChunk(this,"Chunk.getNumberOfModules","DEP_WEBPACK_CHUNK_GET_NUMBER_OF_MODULES").getNumberOfChunkModules(this)}get modulesIterable(){const e=r.getChunkGraphForChunk(this,"Chunk.modulesIterable","DEP_WEBPACK_CHUNK_MODULES_ITERABLE");return e.getOrderedChunkModulesIterable(this,c)}compareTo(e){const t=r.getChunkGraphForChunk(this,"Chunk.compareTo","DEP_WEBPACK_CHUNK_COMPARE_TO");return t.compareChunks(this,e)}containsModule(e){return r.getChunkGraphForChunk(this,"Chunk.containsModule","DEP_WEBPACK_CHUNK_CONTAINS_MODULE").isModuleInChunk(e,this)}getModules(){return r.getChunkGraphForChunk(this,"Chunk.getModules","DEP_WEBPACK_CHUNK_GET_MODULES").getChunkModules(this)}remove(){const e=r.getChunkGraphForChunk(this,"Chunk.remove","DEP_WEBPACK_CHUNK_REMOVE");e.disconnectChunk(this);this.disconnectFromGroups()}moveModule(e,t){const n=r.getChunkGraphForChunk(this,"Chunk.moveModule","DEP_WEBPACK_CHUNK_MOVE_MODULE");n.disconnectChunkAndModule(this,e);n.connectChunkAndModule(t,e)}integrate(e){const t=r.getChunkGraphForChunk(this,"Chunk.integrate","DEP_WEBPACK_CHUNK_INTEGRATE");if(t.canChunksBeIntegrated(this,e)){t.integrateChunks(this,e);return true}else{return false}}canBeIntegrated(e){const t=r.getChunkGraphForChunk(this,"Chunk.canBeIntegrated","DEP_WEBPACK_CHUNK_CAN_BE_INTEGRATED");return t.canChunksBeIntegrated(this,e)}isEmpty(){const e=r.getChunkGraphForChunk(this,"Chunk.isEmpty","DEP_WEBPACK_CHUNK_IS_EMPTY");return e.getNumberOfChunkModules(this)===0}modulesSize(){const e=r.getChunkGraphForChunk(this,"Chunk.modulesSize","DEP_WEBPACK_CHUNK_MODULES_SIZE");return e.getChunkModulesSize(this)}size(e={}){const t=r.getChunkGraphForChunk(this,"Chunk.size","DEP_WEBPACK_CHUNK_SIZE");return t.getChunkSize(this,e)}integratedSize(e,t){const n=r.getChunkGraphForChunk(this,"Chunk.integratedSize","DEP_WEBPACK_CHUNK_INTEGRATED_SIZE");return n.getIntegratedChunksSize(this,e,t)}getChunkModuleMaps(e){const t=r.getChunkGraphForChunk(this,"Chunk.getChunkModuleMaps","DEP_WEBPACK_CHUNK_GET_CHUNK_MODULE_MAPS");const n=Object.create(null);const i=Object.create(null);for(const r of this.getAllAsyncChunks()){let s;for(const o of t.getOrderedChunkModulesIterable(r,l(t))){if(e(o)){if(s===undefined){s=[];n[r.id]=s}const e=t.getModuleId(o);s.push(e);i[e]=t.getRenderedModuleHash(o,undefined)}}}return{id:n,hash:i}}hasModuleInGraph(e,t){const n=r.getChunkGraphForChunk(this,"Chunk.hasModuleInGraph","DEP_WEBPACK_CHUNK_HAS_MODULE_IN_GRAPH");return n.hasModuleInGraph(this,e,t)}getChunkMaps(e){const t=Object.create(null);const n=Object.create(null);const r=Object.create(null);for(const i of this.getAllAsyncChunks()){t[i.id]=e?i.hash:i.renderedHash;for(const e of Object.keys(i.contentHash)){if(!n[e]){n[e]=Object.create(null)}n[e][i.id]=i.contentHash[e]}if(i.name){r[i.id]=i.name}}return{hash:t,contentHash:n,name:r}}hasRuntime(){for(const e of this._groups){if(e.isInitial()&&e instanceof i&&e.getRuntimeChunk()===this){return true}}return false}canBeInitial(){for(const e of this._groups){if(e.isInitial())return true}return false}isOnlyInitial(){if(this._groups.size<=0)return false;for(const e of this._groups){if(!e.isInitial())return false}return true}addGroup(e){this._groups.add(e)}removeGroup(e){this._groups.delete(e)}isInGroup(e){return this._groups.has(e)}getNumberOfGroups(){return this._groups.size}get groupsIterable(){this._groups.sort();return this._groups}disconnectFromGroups(){for(const e of this._groups){e.removeChunk(this)}}split(e){for(const t of this._groups){t.insertChunk(e,this);e.addGroup(t)}for(const t of this.idNameHints){e.idNameHints.add(t)}e.runtime=p(e.runtime,this.runtime)}updateHash(e,t){e.update(`${this.id} `);e.update(this.ids?this.ids.join(","):"");e.update(`${this.name||""} `);const n=new a;for(const e of t.getChunkModulesIterable(this)){n.add(t.getModuleHash(e,this.runtime))}n.updateHash(e);const r=t.getChunkEntryModulesWithChunkGroupIterable(this);for(const[n,i]of r){e.update("entry");e.update(`${t.getModuleId(n)}`);e.update(i.id)}}getAllAsyncChunks(){const e=new Set;const t=new Set;const n=s(Array.from(this.groupsIterable,e=>new Set(e.chunks)));for(const t of this.groupsIterable){for(const n of t.childrenIterable){e.add(n)}}for(const r of e){for(const e of r.chunks){if(!n.has(e)){t.add(e)}}for(const t of r.childrenIterable){e.add(t)}}return t}getAllInitialChunks(){return s(Array.from(this.groupsIterable,e=>new Set(e.chunks)))}getAllReferencedChunks(){const e=new Set(this.groupsIterable);const t=new Set;for(const n of e){for(const e of n.chunks){t.add(e)}for(const t of n.childrenIterable){e.add(t)}}return t}hasAsyncChunks(){const e=new Set;const t=s(Array.from(this.groupsIterable,e=>new Set(e.chunks)));for(const t of this.groupsIterable){for(const n of t.childrenIterable){e.add(n)}}for(const n of e){for(const e of n.chunks){if(!t.has(e)){return true}}for(const t of n.childrenIterable){e.add(t)}}return false}getChildIdsByOrders(e,t){const n=new Map;for(const e of this.groupsIterable){if(e.chunks[e.chunks.length-1]===this){for(const t of e.childrenIterable){for(const e of Object.keys(t.options)){if(e.endsWith("Order")){const r=e.substr(0,e.length-"Order".length);let i=n.get(r);if(i===undefined){i=[];n.set(r,i)}i.push({order:t.options[e],group:t})}}}}}const r=Object.create(null);for(const[i,s]of n){s.sort((t,n)=>{const r=n.order-t.order;if(r!==0)return r;return t.group.compareTo(e,n.group)});const n=new Set;for(const r of s){for(const i of r.group.chunks){if(t&&!t(i,e))continue;n.add(i.id)}}if(n.size>0){r[i]=Array.from(n)}}return r}getChildIdsByOrdersMap(e,t,n){const r=Object.create(null);const i=t=>{const i=t.getChildIdsByOrders(e,n);for(const e of Object.keys(i)){let n=r[e];if(n===undefined){r[e]=n=Object.create(null)}n[t.id]=i[e]}};if(t){const e=new Set;for(const t of this.groupsIterable){for(const n of t.chunks){e.add(n)}}for(const t of e){i(t)}}for(const e of this.getAllAsyncChunks()){i(e)}return r}}e.exports=Chunk},45137:(e,t,n)=>{"use strict";const r=n(31669);const i=n(16102);const{compareModulesById:s,compareIterables:o,compareModulesByIdentifier:a,concatComparators:c,compareSelect:u,compareIds:l}=n(68673);const f=n(62598);const{RuntimeSpecMap:p,RuntimeSpecSet:d,runtimeToString:h,mergeRuntime:m}=n(37416);const g=new Set;const y=o(a);const v=e=>{return Array.from(e)};const _=e=>{const t=new Map;for(const n of e){for(const e of n.getSourceTypes()){let r=t.get(e);if(r===undefined){r=new i;t.set(e,r)}r.add(n)}}for(const[n,r]of t){if(r.size===e.size){t.set(n,e)}}return t};const b=new WeakMap;const E=e=>{let t=b.get(e);if(t!==undefined)return t;t=(t=>{t.sortWith(e);return Array.from(t)});b.set(e,t);return t};const w=e=>{let t=0;for(const n of e){for(const e of n.getSourceTypes()){t+=n.size(e)}}return t};const S=e=>{let t=Object.create(null);for(const n of e){for(const e of n.getSourceTypes()){t[e]=(t[e]||0)+n.size(e)}}return t};const k=(e,t)=>{const n=new Set(t.groupsIterable);for(const t of n){if(e.isInGroup(t))continue;if(t.isInitial())return false;for(const e of t.parentsIterable){n.add(e)}}return true};class ChunkGraphModule{constructor(){this.chunks=new i;this.entryInChunks=undefined;this.runtimeInChunks=undefined;this.hashes=undefined;this.id=null;this.runtimeRequirements=undefined}}class ChunkGraphChunk{constructor(){this.modules=new i;this.entryModules=new Map;this.runtimeModules=new i;this.fullHashModules=undefined;this.runtimeRequirements=undefined;this.runtimeRequirementsInTree=new Set}}class ChunkGraph{constructor(e){this._modules=new WeakMap;this._chunks=new WeakMap;this._blockChunkGroups=new WeakMap;this.moduleGraph=e;this._getGraphRoots=this._getGraphRoots.bind(this);this._cacheChunkGraphModuleKey1=undefined;this._cacheChunkGraphModuleValue1=undefined;this._cacheChunkGraphModuleKey2=undefined;this._cacheChunkGraphModuleValue2=undefined;this._cacheChunkGraphChunkKey1=undefined;this._cacheChunkGraphChunkValue1=undefined;this._cacheChunkGraphChunkKey2=undefined;this._cacheChunkGraphChunkValue2=undefined}_getChunkGraphModule(e){if(this._cacheChunkGraphModuleKey1===e)return this._cacheChunkGraphModuleValue1;if(this._cacheChunkGraphModuleKey2===e)return this._cacheChunkGraphModuleValue2;let t=this._modules.get(e);if(t===undefined){t=new ChunkGraphModule;this._modules.set(e,t)}this._cacheChunkGraphModuleKey2=this._cacheChunkGraphModuleKey1;this._cacheChunkGraphModuleValue2=this._cacheChunkGraphModuleValue1;this._cacheChunkGraphModuleKey1=e;this._cacheChunkGraphModuleValue1=t;return t}_getChunkGraphChunk(e){if(this._cacheChunkGraphChunkKey1===e)return this._cacheChunkGraphChunkValue1;if(this._cacheChunkGraphChunkKey2===e)return this._cacheChunkGraphChunkValue2;let t=this._chunks.get(e);if(t===undefined){t=new ChunkGraphChunk;this._chunks.set(e,t)}this._cacheChunkGraphChunkKey2=this._cacheChunkGraphChunkKey1;this._cacheChunkGraphChunkValue2=this._cacheChunkGraphChunkValue1;this._cacheChunkGraphChunkKey1=e;this._cacheChunkGraphChunkValue1=t;return t}_getGraphRoots(e){const{moduleGraph:t}=this;return Array.from(f(e,e=>{const n=new Set;for(const r of t.getOutgoingConnections(e)){if(!r.module)continue;if(r.conditional){if(n.has(r.module))continue;if(!r.isActive(undefined))continue}n.add(r.module)}return n})).sort(a)}connectChunkAndModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);n.chunks.add(e);r.modules.add(t)}disconnectChunkAndModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);r.modules.delete(t);n.chunks.delete(e)}disconnectChunk(e){const t=this._getChunkGraphChunk(e);for(const n of t.modules){const t=this._getChunkGraphModule(n);t.chunks.delete(e)}t.modules.clear();e.disconnectFromGroups()}attachModules(e,t){const n=this._getChunkGraphChunk(e);for(const e of t){n.modules.add(e)}}attachRuntimeModules(e,t){const n=this._getChunkGraphChunk(e);for(const e of t){n.runtimeModules.add(e)}}attachFullHashModules(e,t){const n=this._getChunkGraphChunk(e);if(n.fullHashModules===undefined)n.fullHashModules=new Set;for(const e of t){n.fullHashModules.add(e)}}replaceModule(e,t){const n=this._getChunkGraphModule(e);const r=this._getChunkGraphModule(t);for(const i of n.chunks){const n=this._getChunkGraphChunk(i);n.modules.delete(e);n.modules.add(t);r.chunks.add(i)}n.chunks.clear();if(n.entryInChunks!==undefined){if(r.entryInChunks===undefined){r.entryInChunks=new Set}for(const i of n.entryInChunks){const n=this._getChunkGraphChunk(i);const s=n.entryModules.get(e);const o=new Map;for(const[r,i]of n.entryModules){if(r===e){o.set(t,s)}else{o.set(r,i)}}n.entryModules=o;r.entryInChunks.add(i)}n.entryInChunks=undefined}if(n.runtimeInChunks!==undefined){if(r.runtimeInChunks===undefined){r.runtimeInChunks=new Set}for(const i of n.runtimeInChunks){const n=this._getChunkGraphChunk(i);n.runtimeModules.delete(e);n.runtimeModules.add(t);r.runtimeInChunks.add(i);if(n.fullHashModules!==undefined&&n.fullHashModules.has(e)){n.fullHashModules.delete(e);n.fullHashModules.add(t)}}n.runtimeInChunks=undefined}}isModuleInChunk(e,t){const n=this._getChunkGraphChunk(t);return n.modules.has(e)}isModuleInChunkGroup(e,t){for(const n of t.chunks){if(this.isModuleInChunk(e,n))return true}return false}isEntryModule(e){const t=this._getChunkGraphModule(e);return t.entryInChunks!==undefined}getModuleChunksIterable(e){const t=this._getChunkGraphModule(e);return t.chunks}getOrderedModuleChunksIterable(e,t){const n=this._getChunkGraphModule(e);n.chunks.sortWith(t);return n.chunks}getModuleChunks(e){const t=this._getChunkGraphModule(e);return t.chunks.getFromCache(v)}getNumberOfModuleChunks(e){const t=this._getChunkGraphModule(e);return t.chunks.size}getModuleRuntimes(e){const t=this._getChunkGraphModule(e);const n=new d;for(const e of t.chunks){n.add(e.runtime)}return n}getNumberOfChunkModules(e){const t=this._getChunkGraphChunk(e);return t.modules.size}getChunkModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.modules}getChunkModulesIterableBySourceType(e,t){const n=this._getChunkGraphChunk(e);const r=n.modules.getFromUnorderedCache(_).get(t);return r}getOrderedChunkModulesIterable(e,t){const n=this._getChunkGraphChunk(e);n.modules.sortWith(t);return n.modules}getOrderedChunkModulesIterableBySourceType(e,t,n){const r=this._getChunkGraphChunk(e);const i=r.modules.getFromUnorderedCache(_).get(t);if(i===undefined)return undefined;i.sortWith(n);return i}getChunkModules(e){const t=this._getChunkGraphChunk(e);return t.modules.getFromUnorderedCache(v)}getOrderedChunkModules(e,t){const n=this._getChunkGraphChunk(e);const r=E(t);return n.modules.getFromUnorderedCache(r)}getChunkModuleIdMap(e,t,n=false){const r=Object.create(null);for(const i of n?e.getAllReferencedChunks():e.getAllAsyncChunks()){let e;for(const n of this.getOrderedChunkModulesIterable(i,s(this))){if(t(n)){if(e===undefined){e=[];r[i.id]=e}const t=this.getModuleId(n);e.push(t)}}}return r}getChunkModuleRenderedHashMap(e,t,n=0,r=false){const i=Object.create(null);for(const o of r?e.getAllReferencedChunks():e.getAllAsyncChunks()){let e;for(const r of this.getOrderedChunkModulesIterable(o,s(this))){if(t(r)){if(e===undefined){e=Object.create(null);i[o.id]=e}const t=this.getModuleId(r);const s=this.getRenderedModuleHash(r,o.runtime);e[t]=n?s.slice(0,n):s}}}return i}getChunkConditionMap(e,t){const n=Object.create(null);for(const r of e.getAllAsyncChunks()){n[r.id]=t(r,this)}for(const r of this.getChunkEntryDependentChunksIterable(e)){n[r.id]=t(r,this)}return n}hasModuleInGraph(e,t,n){const r=new Set(e.groupsIterable);const i=new Set;for(const e of r){for(const r of e.chunks){if(!i.has(r)){i.add(r);if(!n||n(r,this)){for(const e of this.getChunkModulesIterable(r)){if(t(e)){return true}}}}}for(const t of e.childrenIterable){r.add(t)}}return false}compareChunks(e,t){const n=this._getChunkGraphChunk(e);const r=this._getChunkGraphChunk(t);if(n.modules.size>r.modules.size)return-1;if(n.modules.size0||this.getNumberOfEntryModules(t)>0){return false}return true}integrateChunks(e,t){if(e.name&&t.name){if(this.getNumberOfEntryModules(e)>0===this.getNumberOfEntryModules(t)>0){if(e.name.length!==t.name.length){e.name=e.name.length0){e.name=t.name}}else if(t.name){e.name=t.name}for(const n of t.idNameHints){e.idNameHints.add(n)}e.runtime=m(e.runtime,t.runtime);for(const n of this.getChunkModules(t)){this.disconnectChunkAndModule(t,n);this.connectChunkAndModule(e,n)}for(const[n,r]of Array.from(this.getChunkEntryModulesWithChunkGroupIterable(t))){this.disconnectChunkAndEntryModule(t,n);this.connectChunkAndEntryModule(e,n,r)}for(const n of t.groupsIterable){n.replaceChunk(t,e);e.addGroup(n);t.removeGroup(n)}}isEntryModuleInChunk(e,t){const n=this._getChunkGraphChunk(t);return n.entryModules.has(e)}connectChunkAndEntryModule(e,t,n){const r=this._getChunkGraphModule(t);const i=this._getChunkGraphChunk(e);if(r.entryInChunks===undefined){r.entryInChunks=new Set}r.entryInChunks.add(e);i.entryModules.set(t,n)}connectChunkAndRuntimeModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);if(n.runtimeInChunks===undefined){n.runtimeInChunks=new Set}n.runtimeInChunks.add(e);r.runtimeModules.add(t)}addFullHashModuleToChunk(e,t){const n=this._getChunkGraphChunk(e);if(n.fullHashModules===undefined)n.fullHashModules=new Set;n.fullHashModules.add(t)}disconnectChunkAndEntryModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);n.entryInChunks.delete(e);if(n.entryInChunks.size===0){n.entryInChunks=undefined}r.entryModules.delete(t)}disconnectChunkAndRuntimeModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);n.runtimeInChunks.delete(e);if(n.runtimeInChunks.size===0){n.runtimeInChunks=undefined}r.runtimeModules.delete(t)}disconnectEntryModule(e){const t=this._getChunkGraphModule(e);for(const n of t.entryInChunks){const t=this._getChunkGraphChunk(n);t.entryModules.delete(e)}t.entryInChunks=undefined}disconnectEntries(e){const t=this._getChunkGraphChunk(e);for(const n of t.entryModules.keys()){const t=this._getChunkGraphModule(n);t.entryInChunks.delete(e);if(t.entryInChunks.size===0){t.entryInChunks=undefined}}t.entryModules.clear()}getNumberOfEntryModules(e){const t=this._getChunkGraphChunk(e);return t.entryModules.size}getNumberOfRuntimeModules(e){const t=this._getChunkGraphChunk(e);return t.runtimeModules.size}getChunkEntryModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.entryModules.keys()}getChunkEntryDependentChunksIterable(e){const t=this._getChunkGraphChunk(e);const n=new Set;for(const r of t.entryModules.values()){for(const t of r.chunks){if(t!==e){n.add(t)}}}return n}hasChunkEntryDependentChunks(e){const t=this._getChunkGraphChunk(e);for(const n of t.entryModules.values()){for(const t of n.chunks){if(t!==e){return true}}}return false}getChunkRuntimeModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.runtimeModules}getChunkRuntimeModulesInOrder(e){const t=this._getChunkGraphChunk(e);const n=Array.from(t.runtimeModules);n.sort(c(u(e=>e.stage,l),a));return n}getChunkFullHashModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.fullHashModules}getChunkEntryModulesWithChunkGroupIterable(e){const t=this._getChunkGraphChunk(e);return t.entryModules}getBlockChunkGroup(e){return this._blockChunkGroups.get(e)}connectBlockAndChunkGroup(e,t){this._blockChunkGroups.set(e,t);t.addBlock(e)}disconnectChunkGroup(e){for(const t of e.blocksIterable){this._blockChunkGroups.delete(t)}e._blocks.clear()}getModuleId(e){const t=this._getChunkGraphModule(e);return t.id}setModuleId(e,t){const n=this._getChunkGraphModule(e);n.id=t}_getModuleHashInfo(e,t){const n=this._getChunkGraphModule(e);const r=n.hashes;if(r&&t===undefined){const t=new Set(r.values());if(t.size!==1){throw new Error(`No unique hash info entry for unspecified runtime for ${e.identifier()} (existing runtimes: ${Array.from(r.keys(),e=>h(e)).join(", ")}).\nCaller might not support runtime-dependent code generation (opt-out via optimization.usedExports: "global").`)}return t.values().next().value}else{const n=r&&r.get(t);if(!n){throw new Error(`Module ${e.identifier()} has no hash info for runtime ${h(t)} (available runtimes ${r&&Array.from(r.keys(),h).join(", ")})`)}return n}}hasModuleHashes(e,t){const n=this._getChunkGraphModule(e);const r=n.hashes;return r&&r.has(t)}getModuleHash(e,t){return this._getModuleHashInfo(e,t).hash}getRenderedModuleHash(e,t){return this._getModuleHashInfo(e,t).renderedHash}setModuleHashes(e,t,n,r){const i=this._getChunkGraphModule(e);if(i.hashes===undefined){i.hashes=new p}i.hashes.set(t,{hash:n,renderedHash:r})}addModuleRuntimeRequirements(e,t,n){const r=this._getChunkGraphModule(e);const i=r.runtimeRequirements;if(i===undefined){const e=new p;e.set(t,n);r.runtimeRequirements=e;return}i.update(t,e=>{if(e===undefined){return n}else if(e.size>=n.size){for(const t of n)e.add(t);return e}else{for(const t of e)n.add(t);return n}})}addChunkRuntimeRequirements(e,t){const n=this._getChunkGraphChunk(e);const r=n.runtimeRequirements;if(r===undefined){n.runtimeRequirements=t}else if(r.size>=t.size){for(const e of t)r.add(e)}else{for(const e of r)t.add(e);n.runtimeRequirements=t}}addTreeRuntimeRequirements(e,t){const n=this._getChunkGraphChunk(e);const r=n.runtimeRequirementsInTree;for(const e of t)r.add(e)}getModuleRuntimeRequirements(e,t){const n=this._getChunkGraphModule(e);const r=n.runtimeRequirements&&n.runtimeRequirements.get(t);return r===undefined?g:r}getChunkRuntimeRequirements(e){const t=this._getChunkGraphChunk(e);const n=t.runtimeRequirements;return n===undefined?g:n}getTreeRuntimeRequirements(e){const t=this._getChunkGraphChunk(e);return t.runtimeRequirementsInTree}static getChunkGraphForModule(e,t,n){const i=C.get(t);if(i)return i(e);const s=r.deprecate(e=>{const n=D.get(e);if(!n)throw new Error(t+": There was no ChunkGraph assigned to the Module for backward-compat (Use the new API)");return n},t+": Use new ChunkGraph API",n);C.set(t,s);return s(e)}static setChunkGraphForModule(e,t){D.set(e,t)}static getChunkGraphForChunk(e,t,n){const i=A.get(t);if(i)return i(e);const s=r.deprecate(e=>{const n=x.get(e);if(!n)throw new Error(t+"There was no ChunkGraph assigned to the Chunk for backward-compat (Use the new API)");return n},t+": Use new ChunkGraph API",n);A.set(t,s);return s(e)}static setChunkGraphForChunk(e,t){x.set(e,t)}}const D=new WeakMap;const x=new WeakMap;const C=new Map;const A=new Map;e.exports=ChunkGraph},84558:(e,t,n)=>{"use strict";const r=n(31669);const i=n(16102);const{compareLocations:s,compareChunks:o,compareIterables:a}=n(68673);let c=5e3;const u=e=>Array.from(e);const l=(e,t)=>{if(e.id{const n=e.module?e.module.identifier():"";const r=t.module?t.module.identifier():"";if(nr)return 1;return s(e.loc,t.loc)};class ChunkGroup{constructor(e){if(typeof e==="string"){e={name:e}}else if(!e){e={name:undefined}}this.groupDebugId=c++;this.options=e;this._children=new i(undefined,l);this._parents=new i(undefined,l);this._blocks=new i;this.chunks=[];this.origins=[];this._modulePreOrderIndices=new Map;this._modulePostOrderIndices=new Map;this.index=undefined}addOptions(e){for(const t of Object.keys(e)){if(this.options[t]===undefined){this.options[t]=e[t]}else if(this.options[t]!==e[t]){if(t.endsWith("Order")){this.options[t]=Math.max(this.options[t],e[t])}else{throw new Error(`ChunkGroup.addOptions: No option merge strategy for ${t}`)}}}}get name(){return this.options.name}set name(e){this.options.name=e}get debugId(){return Array.from(this.chunks,e=>e.debugId).join("+")}get id(){return Array.from(this.chunks,e=>e.id).join("+")}unshiftChunk(e){const t=this.chunks.indexOf(e);if(t>0){this.chunks.splice(t,1);this.chunks.unshift(e)}else if(t<0){this.chunks.unshift(e);return true}return false}insertChunk(e,t){const n=this.chunks.indexOf(e);const r=this.chunks.indexOf(t);if(r<0){throw new Error("before chunk not found")}if(n>=0&&n>r){this.chunks.splice(n,1);this.chunks.splice(r,0,e)}else if(n<0){this.chunks.splice(r,0,e);return true}return false}pushChunk(e){const t=this.chunks.indexOf(e);if(t>=0){return false}this.chunks.push(e);return true}replaceChunk(e,t){const n=this.chunks.indexOf(e);if(n<0)return false;const r=this.chunks.indexOf(t);if(r<0){this.chunks[n]=t;return true}if(r=0){this.chunks.splice(t,1);return true}return false}isInitial(){return false}addChild(e){if(this._children.has(e)){return false}this._children.add(e);return true}getChildren(){return this._children.getFromCache(u)}getNumberOfChildren(){return this._children.size}get childrenIterable(){return this._children}removeChild(e){if(!this._children.has(e)){return false}this._children.delete(e);e.removeParent(this);return true}addParent(e){if(!this._parents.has(e)){this._parents.add(e);return true}return false}getParents(){return this._parents.getFromCache(u)}getNumberOfParents(){return this._parents.size}hasParent(e){return this._parents.has(e)}get parentsIterable(){return this._parents}removeParent(e){if(this._parents.delete(e)){e.removeChild(this);return true}return false}getBlocks(){return this._blocks.getFromCache(u)}getNumberOfBlocks(){return this._blocks.size}hasBlock(e){return this._blocks.has(e)}get blocksIterable(){return this._blocks}addBlock(e){if(!this._blocks.has(e)){this._blocks.add(e);return true}return false}addOrigin(e,t,n){this.origins.push({module:e,loc:t,request:n})}getFiles(){const e=new Set;for(const t of this.chunks){for(const n of t.files){e.add(n)}}return Array.from(e)}remove(){for(const e of this._parents){e._children.delete(this);for(const t of this._children){t.addParent(e);e.addChild(t)}}for(const e of this._children){e._parents.delete(this)}for(const e of this.chunks){e.removeGroup(this)}}sortItems(){this.origins.sort(f)}compareTo(e,t){if(this.chunks.length>t.chunks.length)return-1;if(this.chunks.length{const r=n.order-e.order;if(r!==0)return r;return e.group.compareTo(t,n.group)});r[e]=i.map(e=>e.group)}return r}setModulePreOrderIndex(e,t){this._modulePreOrderIndices.set(e,t)}getModulePreOrderIndex(e){return this._modulePreOrderIndices.get(e)}setModulePostOrderIndex(e,t){this._modulePostOrderIndices.set(e,t)}getModulePostOrderIndex(e){return this._modulePostOrderIndices.get(e)}checkConstraints(){const e=this;for(const t of e._children){if(!t._parents.has(e)){throw new Error(`checkConstraints: child missing parent ${e.debugId} -> ${t.debugId}`)}}for(const t of e._parents){if(!t._children.has(e)){throw new Error(`checkConstraints: parent missing child ${t.debugId} <- ${e.debugId}`)}}}}ChunkGroup.prototype.getModuleIndex=r.deprecate(ChunkGroup.prototype.getModulePreOrderIndex,"ChunkGroup.getModuleIndex was renamed to getModulePreOrderIndex","DEP_WEBPACK_CHUNK_GROUP_GET_MODULE_INDEX");ChunkGroup.prototype.getModuleIndex2=r.deprecate(ChunkGroup.prototype.getModulePostOrderIndex,"ChunkGroup.getModuleIndex2 was renamed to getModulePostOrderIndex","DEP_WEBPACK_CHUNK_GROUP_GET_MODULE_INDEX_2");e.exports=ChunkGroup},44445:(e,t,n)=>{"use strict";const r=n(81627);class ChunkRenderError extends r{constructor(e,t,n){super();this.name="ChunkRenderError";this.error=n;this.message=n.message;this.details=n.stack;this.file=t;this.chunk=e;Error.captureStackTrace(this,this.constructor)}}e.exports=ChunkRenderError},13454:(e,t,n)=>{"use strict";const r=n(31669);const i=n(27503);const s=i(()=>n(18161));class ChunkTemplate{constructor(e,t){this._outputOptions=e||{};this.hooks=Object.freeze({renderManifest:{tap:r.deprecate((e,n)=>{t.hooks.renderManifest.tap(e,(e,t)=>{if(t.chunk.hasRuntime())return e;return n(e,t)})},"ChunkTemplate.hooks.renderManifest is deprecated (use Compilation.hooks.renderManifest instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER_MANIFEST")},modules:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).renderChunk.tap(e,(e,r)=>n(e,t.moduleTemplates.javascript,r))},"ChunkTemplate.hooks.modules is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderChunk instead)","DEP_WEBPACK_CHUNK_TEMPLATE_MODULES")},render:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).renderChunk.tap(e,(e,r)=>n(e,t.moduleTemplates.javascript,r))},"ChunkTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderChunk instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER")},renderWithEntry:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).render.tap(e,(e,t)=>{if(t.chunkGraph.getNumberOfEntryModules(t.chunk)===0||t.chunk.hasRuntime()){return e}return n(e,t.chunk)})},"ChunkTemplate.hooks.renderWithEntry is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER_WITH_ENTRY")},hash:{tap:r.deprecate((e,n)=>{t.hooks.fullHash.tap(e,n)},"ChunkTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_WEBPACK_CHUNK_TEMPLATE_HASH")},hashForChunk:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).chunkHash.tap(e,(e,t,r)=>{if(e.hasRuntime())return;n(t,e,r)})},"ChunkTemplate.hooks.hashForChunk is deprecated (use JavascriptModulesPlugin.getCompilationHooks().chunkHash instead)","DEP_WEBPACK_CHUNK_TEMPLATE_HASH_FOR_CHUNK")}})}}Object.defineProperty(ChunkTemplate.prototype,"outputOptions",{get:r.deprecate(function(){return this._outputOptions},"ChunkTemplate.outputOptions is deprecated (use Compilation.outputOptions instead)","DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS")});e.exports=ChunkTemplate},93010:(e,t,n)=>{"use strict";const r=n(81627);class CodeGenerationError extends r{constructor(e,t){super();this.name="CodeGenerationError";this.error=t;this.message=t.message;this.details=t.stack;this.module=e;Error.captureStackTrace(this,this.constructor)}}e.exports=CodeGenerationError},53840:(e,t,n)=>{"use strict";const{runtimeToString:r,RuntimeSpecMap:i}=n(37416);class CodeGenerationResults{constructor(){this.map=new Map}get(e,t){const n=this.map.get(e);if(n===undefined){throw new Error(`No code generation entry for ${e.identifier()} (existing entries: ${Array.from(this.map.keys(),e=>e.identifier()).join(", ")})`)}if(t===undefined){const t=new Set(n.values());if(t.size!==1){throw new Error(`No unique code generation entry for unspecified runtime for ${e.identifier()} (existing runtimes: ${Array.from(n.keys(),e=>r(e)).join(", ")}).\nCaller might not support runtime-dependent code generation (opt-out via optimization.usedExports: "global").`)}return t.values().next().value}else{const i=n.get(t);if(i===undefined){throw new Error(`No code generation entry for runtime ${r(t)} for ${e.identifier()} (existing runtimes: ${Array.from(n.keys(),e=>r(e)).join(", ")})`)}return i}}getSource(e,t,n){return this.get(e,t).sources.get(n)}getRuntimeRequirements(e,t){return this.get(e,t).runtimeRequirements}getData(e,t,n){const r=this.get(e,t).data;return r===undefined?undefined:r.get(n)}add(e,t,n){const r=this.map.get(e);if(r!==undefined){r.set(t,n)}else{const r=new i;r.set(t,n);this.map.set(e,r)}}}e.exports=CodeGenerationResults},47207:(e,t,n)=>{"use strict";const r=n(81627);const i=n(56202);class CommentCompilationWarning extends r{constructor(e,t){super(e);this.name="CommentCompilationWarning";this.loc=t;Error.captureStackTrace(this,this.constructor)}}i(CommentCompilationWarning,"webpack/lib/CommentCompilationWarning");e.exports=CommentCompilationWarning},97489:(e,t,n)=>{"use strict";const r=n(66298);const i=Symbol("nested __webpack_require__");class CompatibilityPlugin{apply(e){e.hooks.compilation.tap("CompatibilityPlugin",(e,{normalModuleFactory:t})=>{e.dependencyTemplates.set(r,new r.Template);t.hooks.parser.for("javascript/auto").tap("CompatibilityPlugin",(e,t)=>{if(t.browserify!==undefined&&!t.browserify)return;e.hooks.call.for("require").tap("CompatibilityPlugin",t=>{if(t.arguments.length!==2)return;const n=e.evaluateExpression(t.arguments[1]);if(!n.isBoolean())return;if(n.asBool()!==true)return;const i=new r("require",t.callee.range);i.loc=t.loc;if(e.state.current.dependencies.length>0){const t=e.state.current.dependencies[e.state.current.dependencies.length-1];if(t.critical&&t.options&&t.options.request==="."&&t.userRequest==="."&&t.options.recursive)e.state.current.dependencies.pop()}e.state.module.addPresentationalDependency(i);return true})});const n=e=>{e.hooks.preStatement.tap("CompatibilityPlugin",t=>{if(t.type==="FunctionDeclaration"&&t.id&&t.id.name==="__webpack_require__"){const n=`__nested_webpack_require_${t.range[0]}__`;const s=new r(n,t.id.range);s.loc=t.id.loc;e.state.module.addPresentationalDependency(s);e.tagVariable(t.id.name,i,n);return true}});e.hooks.pattern.for("__webpack_require__").tap("CompatibilityPlugin",t=>{const n=`__nested_webpack_require_${t.range[0]}__`;const s=new r(n,t.range);s.loc=t.loc;e.state.module.addPresentationalDependency(s);e.tagVariable(t.name,i,n);return true});e.hooks.expression.for(i).tap("CompatibilityPlugin",t=>{const n=e.currentTagData;const i=new r(n,t.range);i.loc=t.loc;e.state.module.addPresentationalDependency(i);return true})};t.hooks.parser.for("javascript/auto").tap("CompatibilityPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("CompatibilityPlugin",n);t.hooks.parser.for("javascript/esm").tap("CompatibilityPlugin",n)})}}e.exports=CompatibilityPlugin},3080:(e,t,n)=>{"use strict";const r=n(62355);const{HookMap:i,SyncHook:s,SyncBailHook:o,SyncWaterfallHook:a,AsyncSeriesHook:c,AsyncSeriesBailHook:u}=n(92960);const l=n(31669);const{CachedSource:f}=n(48135);const{MultiItemCache:p}=n(6503);const d=n(62433);const h=n(45137);const m=n(84558);const g=n(44445);const y=n(13454);const v=n(93010);const _=n(53840);const b=n(46828);const E=n(71452);const w=n(50717);const S=n(22996);const{connectChunkGroupAndChunk:k,connectChunkGroupParentAndChild:D}=n(4642);const{makeWebpackError:x}=n(3728);const C=n(73694);const A=n(53453);const T=n(82811);const M=n(23280);const O=n(75412);const F=n(54032);const I=n(99869);const R=n(2210);const P=n(31467);const N=n(68661);const L=n(76150);const B=n(37130);const j=n(10140);const U=n(81627);const z=n(25457);const H=n(44547);const{Logger:V,LogType:G}=n(78539);const q=n(87279);const W=n(30533);const K=n(9738);const X=n(83379);const{cachedCleverMerge:J}=n(90149);const{compareLocations:Y,concatComparators:Q,compareSelect:Z,compareIds:$,compareStringsNumeric:ee,compareModulesByIdentifier:te}=n(68673);const ne=n(35891);const{arrayToSetDeprecation:re,soonFrozenObjectDeprecation:ie,createFakeHook:se}=n(16595);const{getRuntimeKey:oe}=n(37416);const ae=Object.freeze({});const ce="esm";const ue=l.deprecate(e=>{return n(53520).getCompilationHooks(e).loader},"Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader","DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK");const le=Z(e=>e.id,$);const fe=Q(Z(e=>e.name,$),Z(e=>e.fullHash,$));const pe=Z(e=>`${e.message}`,ee);const de=Z(e=>e.module&&e.module.identifier()||"",ee);const he=Z(e=>e.loc,Y);const me=Q(de,he,pe);const ge=(e,t)=>{if(e===t)return true;let n=e.source();let r=t.source();if(n===r)return true;if(typeof n==="string"&&typeof r==="string")return false;if(!Buffer.isBuffer(n))n=Buffer.from(n,"utf-8");if(!Buffer.isBuffer(r))r=Buffer.from(r,"utf-8");return n.equals(r)};class Compilation{constructor(e){const t=()=>ue(this);const n=new c(["assets"]);const r=new s(["assets"]);const f=(e,t,r,i)=>{const s=t=>`Can't automatically convert plugin using Compilation.hooks.${e} to Compilation.hooks.processAssets because ${t}.\nBREAKING CHANGE: Asset processing hooks in Compilation has been merged into a single Compilation.hooks.processAssets hook.`;const o=e=>{if(typeof e==="string")e={name:e};if(e.stage){throw new Error(s("it's using the 'stage' option"))}return{...e,stage:t}};return se({name:e,intercept(e){throw new Error(s("it's using 'intercept'"))},tap:(e,t)=>{n.tap(o(e),()=>t(...r()))},tapAsync:(e,t)=>{n.tapAsync(o(e),(e,n)=>t(...r(),n))},tapPromise:(e,t)=>{n.tapPromise(o(e),()=>t(...r()))}},`${e} is deprecated (use Compilation.hook.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)`,i)};this.hooks=Object.freeze({buildModule:new s(["module"]),rebuildModule:new s(["module"]),failedModule:new s(["module","error"]),succeedModule:new s(["module"]),stillValidModule:new s(["module"]),addEntry:new s(["entry","options"]),failedEntry:new s(["entry","options","error"]),succeedEntry:new s(["entry","options","module"]),dependencyReferencedExports:new a(["referencedExports","dependency","runtime"]),finishModules:new c(["modules"]),finishRebuildingModule:new c(["module"]),unseal:new s([]),seal:new s([]),beforeChunks:new s([]),afterChunks:new s(["chunks"]),optimizeDependencies:new o(["modules"]),afterOptimizeDependencies:new s(["modules"]),optimize:new s([]),optimizeModules:new o(["modules"]),afterOptimizeModules:new s(["modules"]),optimizeChunks:new o(["chunks","chunkGroups"]),afterOptimizeChunks:new s(["chunks","chunkGroups"]),optimizeTree:new c(["chunks","modules"]),afterOptimizeTree:new s(["chunks","modules"]),optimizeChunkModules:new u(["chunks","modules"]),afterOptimizeChunkModules:new s(["chunks","modules"]),shouldRecord:new o([]),additionalChunkRuntimeRequirements:new s(["chunk","runtimeRequirements"]),runtimeRequirementInChunk:new i(()=>new o(["chunk","runtimeRequirements"])),additionalModuleRuntimeRequirements:new s(["module","runtimeRequirements"]),runtimeRequirementInModule:new i(()=>new o(["module","runtimeRequirements"])),additionalTreeRuntimeRequirements:new s(["chunk","runtimeRequirements"]),runtimeRequirementInTree:new i(()=>new o(["chunk","runtimeRequirements"])),runtimeModule:new s(["module","chunk"]),reviveModules:new s(["modules","records"]),beforeModuleIds:new s(["modules"]),moduleIds:new s(["modules"]),optimizeModuleIds:new s(["modules"]),afterOptimizeModuleIds:new s(["modules"]),reviveChunks:new s(["chunks","records"]),beforeChunkIds:new s(["chunks"]),chunkIds:new s(["chunks"]),optimizeChunkIds:new s(["chunks"]),afterOptimizeChunkIds:new s(["chunks"]),recordModules:new s(["modules","records"]),recordChunks:new s(["chunks","records"]),optimizeCodeGeneration:new s(["modules"]),beforeModuleHash:new s([]),afterModuleHash:new s([]),beforeCodeGeneration:new s([]),afterCodeGeneration:new s([]),beforeRuntimeRequirements:new s([]),afterRuntimeRequirements:new s([]),beforeHash:new s([]),contentHash:new s(["chunk"]),afterHash:new s([]),recordHash:new s(["records"]),record:new s(["compilation","records"]),beforeModuleAssets:new s([]),shouldGenerateChunkAssets:new o([]),beforeChunkAssets:new s([]),additionalChunkAssets:f("additionalChunkAssets",Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,()=>[this.chunks],"DEP_WEBPACK_COMPILATION_ADDITIONAL_CHUNK_ASSETS"),additionalAssets:f("additionalAssets",Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,()=>[]),optimizeChunkAssets:f("optimizeChunkAssets",Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,()=>[this.chunks],"DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS"),afterOptimizeChunkAssets:f("afterOptimizeChunkAssets",Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE+1,()=>[this.chunks],"DEP_WEBPACK_COMPILATION_AFTER_OPTIMIZE_CHUNK_ASSETS"),optimizeAssets:n,afterOptimizeAssets:r,processAssets:n,afterProcessAssets:r,needAdditionalSeal:new o([]),afterSeal:new c([]),renderManifest:new a(["result","options"]),fullHash:new s(["hash"]),chunkHash:new s(["chunk","chunkHash","ChunkHashContext"]),moduleAsset:new s(["module","filename"]),chunkAsset:new s(["chunk","filename"]),assetPath:new a(["path","options","assetInfo"]),needAdditionalPass:new o([]),childCompiler:new s(["childCompiler","compilerName","compilerIndex"]),log:new o(["origin","logEntry"]),statsPreset:new i(()=>new s(["options","context"])),statsNormalize:new s(["options","context"]),statsFactory:new s(["statsFactory","options"]),statsPrinter:new s(["statsPrinter","options"]),get normalModuleLoader(){return t()}});this.name=undefined;this.compiler=e;this.resolverFactory=e.resolverFactory;this.inputFileSystem=e.inputFileSystem;this.fileSystemInfo=new S(this.inputFileSystem,{managedPaths:e.managedPaths,immutablePaths:e.immutablePaths,logger:this.getLogger("webpack.FileSystemInfo")});if(e.fileTimestamps){this.fileSystemInfo.addFileTimestamps(e.fileTimestamps)}if(e.contextTimestamps){this.fileSystemInfo.addContextTimestamps(e.contextTimestamps)}this.requestShortener=e.requestShortener;this.compilerPath=e.compilerPath;this.logger=this.getLogger("webpack.Compilation");const p=e.options;this.options=p;this.outputOptions=p&&p.output;this.bail=p&&p.bail||false;this.profile=p&&p.profile||false;this.mainTemplate=new C(this.outputOptions,this);this.chunkTemplate=new y(this.outputOptions,this);this.runtimeTemplate=new B(this.outputOptions,this.requestShortener);this.moduleTemplates={javascript:new N(this.runtimeTemplate,this)};Object.defineProperties(this.moduleTemplates,{asset:{enumerable:false,configurable:false,get(){throw new U("Compilation.moduleTemplates.asset has been removed")}},webassembly:{enumerable:false,configurable:false,get(){throw new U("Compilation.moduleTemplates.webassembly has been removed")}}});this.moduleGraph=new O;this.chunkGraph=undefined;this.codeGenerationResults=undefined;this.factorizeQueue=new K({name:"factorize",parallelism:p.parallelism||100,processor:this._factorizeModule.bind(this)});this.addModuleQueue=new K({name:"addModule",parallelism:p.parallelism||100,getKey:e=>e.identifier(),processor:this._addModule.bind(this)});this.buildQueue=new K({name:"build",parallelism:p.parallelism||100,processor:this._buildModule.bind(this)});this.rebuildQueue=new K({name:"rebuild",parallelism:p.parallelism||100,processor:this._rebuildModule.bind(this)});this.processDependenciesQueue=new K({name:"processDependencies",parallelism:p.parallelism||100,processor:this._processModuleDependencies.bind(this)});this.creatingModuleDuringBuild=new WeakMap;this.entries=new Map;this.globalEntry={dependencies:[],includeDependencies:[],options:{name:undefined}};this.entrypoints=new Map;this.chunks=new Set;re(this.chunks,"Compilation.chunks");this.chunkGroups=[];this.namedChunkGroups=new Map;this.namedChunks=new Map;this.modules=new Set;re(this.modules,"Compilation.modules");this._modules=new Map;this.records=null;this.additionalChunkAssets=[];this.assets={};this.assetsInfo=new Map;this._assetsRelatedIn=new Map;this.errors=[];this.warnings=[];this.children=[];this.logging=new Map;this.dependencyFactories=new Map;this.dependencyTemplates=new b;this.childrenCounters={};this.usedChunkIds=null;this.usedModuleIds=null;this.needAdditionalPass=false;this.builtModules=new WeakSet;this._rebuildingModules=new Map;this.emittedAssets=new Set;this.comparedForEmitAssets=new Set;this.fileDependencies=new X;this.contextDependencies=new X;this.missingDependencies=new X;this.buildDependencies=new X;this.compilationDependencies={add:l.deprecate(e=>this.fileDependencies.add(e),"Compilation.compilationDependencies is deprecated (used Compilation.fileDependencies instead)","DEP_WEBPACK_COMPILATION_COMPILATION_DEPENDENCIES")};this._modulesCache=this.getCache("Compilation/modules");this._assetsCache=this.getCache("Compilation/assets");this._codeGenerationCache=this.getCache("Compilation/codeGeneration")}getStats(){return new j(this)}createStatsOptions(e,t={}){if(typeof e==="boolean"||typeof e==="string"){e={preset:e}}if(typeof e==="object"&&e!==null){const n={};for(const t in e){n[t]=e[t]}if(n.preset!==undefined){this.hooks.statsPreset.for(n.preset).call(n,t)}this.hooks.statsNormalize.call(n,t);return n}else{const e={};this.hooks.statsNormalize.call(e,t);return e}}createStatsFactory(e){const t=new q;this.hooks.statsFactory.call(t,e);return t}createStatsPrinter(e){const t=new W;this.hooks.statsPrinter.call(t,e);return t}getCache(e){return this.compiler.getCache(e)}getLogger(e){if(!e){throw new TypeError("Compilation.getLogger(name) called without a name")}let t;return new V((n,r)=>{if(typeof e==="function"){e=e();if(!e){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}let i;switch(n){case G.warn:case G.error:case G.trace:i=w.cutOffLoaderExecution(new Error("Trace").stack).split("\n").slice(3);break}const s={time:Date.now(),type:n,args:r,trace:i};if(this.hooks.log.call(e,s)===undefined){if(s.type===G.profileEnd){if(typeof console.profileEnd==="function"){console.profileEnd(`[${e}] ${s.args[0]}`)}}if(t===undefined){t=this.logging.get(e);if(t===undefined){t=[];this.logging.set(e,t)}}t.push(s);if(s.type===G.profile){if(typeof console.profile==="function"){console.profile(`[${e}] ${s.args[0]}`)}}}},t=>{if(typeof e==="function"){if(typeof t==="function"){return this.getLogger(()=>{if(typeof e==="function"){e=e();if(!e){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}if(typeof t==="function"){t=t();if(!t){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${e}/${t}`})}else{return this.getLogger(()=>{if(typeof e==="function"){e=e();if(!e){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}return`${e}/${t}`})}}else{if(typeof t==="function"){return this.getLogger(()=>{if(typeof t==="function"){t=t();if(!t){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${e}/${t}`})}else{return this.getLogger(`${e}/${t}`)}}})}addModule(e,t){this.addModuleQueue.add(e,t)}_addModule(e,t){const n=e.identifier();const r=this._modules.get(n);if(r){return t(null,r)}const i=this.profile?this.moduleGraph.getProfile(e):undefined;if(i!==undefined){i.markRestoringStart()}this._modulesCache.get(n,null,(r,s)=>{if(r)return t(new R(e,r));if(i!==undefined){i.markRestoringEnd();i.markIntegrationStart()}if(s){s.updateCacheModule(e);e=s}this._modules.set(n,e);this.modules.add(e);O.setModuleGraphForModule(e,this.moduleGraph);if(i!==undefined){i.markIntegrationEnd()}t(null,e)})}getModule(e){const t=e.identifier();return this._modules.get(t)}findModule(e){return this._modules.get(e)}buildModule(e,t){this.buildQueue.add(e,t)}_buildModule(e,t){const n=this.profile?this.moduleGraph.getProfile(e):undefined;if(n!==undefined){n.markBuildingStart()}e.needBuild({fileSystemInfo:this.fileSystemInfo},(r,i)=>{if(r)return t(r);if(!i){if(n!==undefined){n.markBuildingEnd()}this.hooks.stillValidModule.call(e);return t()}this.hooks.buildModule.call(e);this.builtModules.add(e);e.build(this.options,this,this.resolverFactory.get("normal",e.resolveOptions),this.inputFileSystem,r=>{if(n!==undefined){n.markBuildingEnd()}if(r){this.hooks.failedModule.call(e,r);return t(r)}if(n!==undefined){n.markStoringStart()}this._modulesCache.store(e.identifier(),null,e,r=>{if(n!==undefined){n.markStoringEnd()}if(r){this.hooks.failedModule.call(e,r);return t(new P(e,r))}this.hooks.succeedModule.call(e);return t()})})})}processModuleDependencies(e,t){this.processDependenciesQueue.add(e,t)}processModuleDependenciesNonRecursive(e){const t=n=>{if(n.dependencies){for(const t of n.dependencies){this.moduleGraph.setParents(t,n,e)}}if(n.blocks){for(const e of n.blocks)t(e)}};t(e)}_processModuleDependencies(e,t){const n=new Map;const i=[];let s=e;let o;let a;let c;let u;let l;const f=t=>{this.moduleGraph.setParents(t,s,e);const r=t.getResourceIdentifier();if(r){const s=t.category;const f=s===ce?r:`${s}${r}`;const p=t.constructor;let d;let h;if(o===p){d=a;if(u===f){l.push(t);return}}else{h=this.dependencyFactories.get(t.constructor);if(h===undefined){throw new Error(`No module factory available for dependency type: ${t.constructor.name}`)}d=n.get(h);if(d===undefined){n.set(h,d=new Map)}o=p;a=d;c=h}let m=d.get(f);if(m===undefined){d.set(f,m=[]);i.push({factory:c,dependencies:m,originModule:e})}m.push(t);u=f;l=m}};const p=e=>{if(e.dependencies){s=e;for(const t of e.dependencies)f(t)}if(e.blocks){for(const t of e.blocks)p(t)}};try{p(e)}catch(e){return t(e)}if(i.length===0){t();return}this.processDependenciesQueue.increaseParallelism();r.forEach(i,(e,t)=>{this.handleModuleCreation(e,e=>{if(e&&this.bail){e.stack=e.stack;return t(e)}t()})},e=>{this.processDependenciesQueue.decreaseParallelism();return t(e)})}handleModuleCreation({factory:e,dependencies:t,originModule:n,context:r,recursive:i=true},s){const o=this.moduleGraph;const a=this.profile?new I:undefined;this.factorizeModule({currentProfile:a,factory:e,dependencies:t,originModule:n,context:r},(e,r)=>{if(e){if(t.every(e=>e.optional)){this.warnings.push(e)}else{this.errors.push(e)}return s(e)}if(!r){return s()}if(a!==undefined){o.setProfile(r,a)}this.addModule(r,(e,c)=>{if(e){if(!e.module){e.module=c}this.errors.push(e);return s(e)}for(let e=0;e{if(u!==undefined){u.delete(c)}if(e){if(!e.module){e.module=c}this.errors.push(e);return s(e)}if(!i){this.processModuleDependenciesNonRecursive(c);s(null,c);return}if(this.processDependenciesQueue.isProcessing(c)){return s()}this.processModuleDependencies(c,e=>{if(e){return s(e)}s(null,c)})})})})}factorizeModule(e,t){this.factorizeQueue.add(e,t)}_factorizeModule({currentProfile:e,factory:t,dependencies:n,originModule:r,context:i},s){if(e!==undefined){e.markFactoryStart()}t.create({contextInfo:{issuer:r?r.nameForCondition():"",compiler:this.compiler.name},resolveOptions:r?r.resolveOptions:undefined,context:i?i:r?r.context:this.compiler.context,dependencies:n},(t,i)=>{if(i){if(i.module===undefined&&i instanceof A){i={module:i}}const{fileDependencies:e,contextDependencies:t,missingDependencies:n}=i;if(e&&e.size>0){this.fileDependencies.addAll(e)}if(t&&t.size>0){this.contextDependencies.addAll(t)}if(n&&n.size>0){this.missingDependencies.addAll(n)}}if(t){const e=new F(r,t,n.map(e=>e.loc).filter(Boolean)[0]);return s(e)}if(!i){return s()}const o=i.module;if(!o){return s()}if(e!==undefined){e.markFactoryEnd()}s(null,o)})}addModuleChain(e,t,n){if(typeof t!=="object"||t===null||!t.constructor){return n(new U("Parameter 'dependency' must be a Dependency"))}const r=t.constructor;const i=this.dependencyFactories.get(r);if(!i){return n(new U(`No dependency factory available for this dependency type: ${t.constructor.name}`))}this.handleModuleCreation({factory:i,dependencies:[t],originModule:null,context:e},e=>{if(e&&this.bail){n(e);this.buildQueue.stop();this.rebuildQueue.stop();this.processDependenciesQueue.stop();this.factorizeQueue.stop()}else{n()}})}addEntry(e,t,n,r){const i=typeof n==="object"?n:{name:n};this._addEntryItem(e,t,"dependencies",i,r)}addInclude(e,t,n,r){this._addEntryItem(e,t,"includeDependencies",n,r)}_addEntryItem(e,t,n,r,i){const{name:s}=r;let o=s!==undefined?this.entries.get(s):this.globalEntry;if(o===undefined){o={dependencies:[],includeDependencies:[],options:{name:undefined,...r}};o[n].push(t);this.entries.set(s,o)}else{o[n].push(t);for(const e of Object.keys(r)){if(r[e]===undefined)continue;if(o.options[e]===r[e])continue;if(o.options[e]===undefined){o.options[e]=r[e]}else{return i(new U(`Conflicting entry option ${e} = ${o.options[e]} vs ${r[e]}`))}}}this.hooks.addEntry.call(t,r);this.addModuleChain(e,t,(e,n)=>{if(e){this.hooks.failedEntry.call(t,r,e);return i(e)}this.hooks.succeedEntry.call(t,r,n);return i(null,n)})}rebuildModule(e,t){this.rebuildQueue.add(e,t)}_rebuildModule(e,t){this.hooks.rebuildModule.call(e);const n=e.dependencies.slice();const r=e.blocks.slice();e.invalidateBuild();this.buildQueue.invalidate(e);this.buildModule(e,i=>{if(i){return this.hooks.finishRebuildingModule.callAsync(e,e=>{if(e){t(x(e,"Compilation.hooks.finishRebuildingModule"));return}t(i)})}this.processModuleDependencies(e,i=>{if(i)return t(i);this.removeReasonsOfDependencyBlock(e,{dependencies:n,blocks:r});this.hooks.finishRebuildingModule.callAsync(e,n=>{if(n){t(x(n,"Compilation.hooks.finishRebuildingModule"));return}t(null,e)})})})}finish(e){this.logger.time("finish modules");const{modules:t}=this;this.hooks.finishModules.callAsync(t,n=>{this.logger.timeEnd("finish modules");if(n)return e(n);this.logger.time("report dependency errors and warnings");for(const e of t){this.reportDependencyErrorsAndWarnings(e,[e]);const t=e.getErrors();if(t!==undefined){for(const n of t){if(!n.module){n.module=e}this.errors.push(n)}}const n=e.getWarnings();if(n!==undefined){for(const t of n){if(!t.module){t.module=e}this.warnings.push(t)}}}this.logger.timeEnd("report dependency errors and warnings");e()})}unseal(){this.hooks.unseal.call();this.chunks.clear();this.chunkGroups.length=0;this.namedChunks.clear();this.namedChunkGroups.clear();this.entrypoints.clear();this.additionalChunkAssets.length=0;this.assets={};this.assetsInfo.clear();this.moduleGraph.removeAllModuleAttributes()}seal(e){const t=new h(this.moduleGraph);this.chunkGraph=t;for(const e of this.modules){h.setChunkGraphForModule(e,t)}this.hooks.seal.call();this.logger.time("optimize dependencies");while(this.hooks.optimizeDependencies.call(this.modules)){}this.hooks.afterOptimizeDependencies.call(this.modules);this.logger.timeEnd("optimize dependencies");this.logger.time("create chunks");this.hooks.beforeChunks.call();const n=new Map;for(const[e,{dependencies:r,includeDependencies:i,options:s}]of this.entries){const o=this.addChunk(e);o.name=e;if(s.filename){o.filenameTemplate=s.filename}const a=new E(e);if(!s.dependOn&&!s.runtime){a.setRuntimeChunk(o)}a.setEntrypointChunk(o);this.namedChunkGroups.set(e,a);this.entrypoints.set(e,a);this.chunkGroups.push(a);k(a,o);for(const i of[...this.globalEntry.dependencies,...r]){a.addOrigin(null,{name:e},i.request);const r=this.moduleGraph.getModule(i);if(r){t.connectChunkAndEntryModule(o,r,a);this.assignDepth(r);const e=n.get(a);if(e===undefined){n.set(a,[r])}else{e.push(r)}}}const c=e=>e.map(e=>this.moduleGraph.getModule(e)).filter(Boolean).sort(te);const u=[...c(this.globalEntry.includeDependencies),...c(i)];for(const e of u){this.assignDepth(e);const t=n.get(a);if(t===undefined){n.set(a,[e])}else{t.push(e)}}}const r=new Set;e:for(const[e,{options:{dependOn:t,runtime:n}}]of this.entries){if(t&&n){const t=new U(`Entrypoint '${e}' has 'dependOn' and 'runtime' specified. This is not valid.\nEntrypoints that depend on other entrypoints do not have their own runtime.\nThey will use the runtime(s) from referenced entrypoints instead.\nRemove the 'runtime' option from the entrypoint.`);const n=this.entrypoints.get(e);t.chunk=n.getEntrypointChunk();this.errors.push(t)}if(t){const n=this.entrypoints.get(e);const r=n.getEntrypointChunk().getAllReferencedChunks();const i=[];for(const s of t){const t=this.entrypoints.get(s);if(!t){throw new Error(`Entry ${e} depends on ${s}, but this entry was not found`)}if(r.has(t.getEntrypointChunk())){const t=new U(`Entrypoints '${e}' and '${s}' use 'dependOn' to depend on each other in a circular way.`);const r=n.getEntrypointChunk();t.chunk=r;this.errors.push(t);n.setRuntimeChunk(r);continue e}i.push(t)}for(const e of i){D(e,n)}}else if(n){const t=this.entrypoints.get(e);let i=this.namedChunks.get(n);if(i){if(!r.has(i)){const r=new U(`Entrypoint '${e}' has a 'runtime' option which points to another entrypoint named '${n}'.\nIt's not valid to use other entrypoints as runtime chunk.\nDid you mean to use 'dependOn: ${JSON.stringify(n)}' instead to allow using entrypoint '${e}' within the runtime of entrypoint '${n}'? For this '${n}' must always be loaded when '${e}' is used.\nOr do you want to use the entrypoints '${e}' and '${n}' independently on the same page with a shared runtime? In this case give them both the same value for the 'runtime' option. It must be a name not already used by an entrypoint.`);const i=t.getEntrypointChunk();r.chunk=i;this.errors.push(r);t.setRuntimeChunk(i);continue}}else{i=this.addChunk(n);i.preventIntegration=true;r.add(i)}t.unshiftChunk(i);i.addGroup(t);t.setRuntimeChunk(i)}}z(this,n);this.hooks.afterChunks.call(this.chunks);this.logger.timeEnd("create chunks");this.logger.time("optimize");this.hooks.optimize.call();while(this.hooks.optimizeModules.call(this.modules)){}this.hooks.afterOptimizeModules.call(this.modules);while(this.hooks.optimizeChunks.call(this.chunks,this.chunkGroups)){}this.hooks.afterOptimizeChunks.call(this.chunks,this.chunkGroups);this.hooks.optimizeTree.callAsync(this.chunks,this.modules,t=>{if(t){return e(x(t,"Compilation.hooks.optimizeTree"))}this.hooks.afterOptimizeTree.call(this.chunks,this.modules);this.hooks.optimizeChunkModules.callAsync(this.chunks,this.modules,t=>{if(t){return e(x(t,"Compilation.hooks.optimizeChunkModules"))}this.hooks.afterOptimizeChunkModules.call(this.chunks,this.modules);const n=this.hooks.shouldRecord.call()!==false;this.hooks.reviveModules.call(this.modules,this.records);this.hooks.beforeModuleIds.call(this.modules);this.hooks.moduleIds.call(this.modules);this.hooks.optimizeModuleIds.call(this.modules);this.hooks.afterOptimizeModuleIds.call(this.modules);this.hooks.reviveChunks.call(this.chunks,this.records);this.hooks.beforeChunkIds.call(this.chunks);this.hooks.chunkIds.call(this.chunks);this.hooks.optimizeChunkIds.call(this.chunks);this.hooks.afterOptimizeChunkIds.call(this.chunks);this.sortItemsWithChunkIds();if(n){this.hooks.recordModules.call(this.modules,this.records);this.hooks.recordChunks.call(this.chunks,this.records)}this.hooks.optimizeCodeGeneration.call(this.modules);this.logger.timeEnd("optimize");this.logger.time("module hashing");this.hooks.beforeModuleHash.call();this.createModuleHashes();this.hooks.afterModuleHash.call();this.logger.timeEnd("module hashing");this.logger.time("code generation");this.hooks.beforeCodeGeneration.call();this.codeGeneration(t=>{if(t){return e(t)}this.hooks.afterCodeGeneration.call();this.logger.timeEnd("code generation");this.logger.time("runtime requirements");this.hooks.beforeRuntimeRequirements.call();this.processRuntimeRequirements(this.entrypoints.values());this.hooks.afterRuntimeRequirements.call();this.logger.timeEnd("runtime requirements");this.logger.time("hashing");this.hooks.beforeHash.call();this.createHash();this.hooks.afterHash.call();this.logger.timeEnd("hashing");if(n){this.logger.time("record hash");this.hooks.recordHash.call(this.records);this.logger.timeEnd("record hash")}this.logger.time("module assets");this.clearAssets();this.hooks.beforeModuleAssets.call();this.createModuleAssets();this.logger.timeEnd("module assets");const r=()=>{this.logger.time("process assets");this.hooks.processAssets.callAsync(this.assets,t=>{if(t){return e(x(t,"Compilation.hooks.processAssets"))}this.hooks.afterProcessAssets.call(this.assets);this.logger.timeEnd("process assets");this.assets=ie(this.assets,"Compilation.assets","DEP_WEBPACK_COMPILATION_ASSETS",`BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.\n\tDo changes to assets earlier, e. g. in Compilation.hooks.processAssets.\n\tMake sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.`);this.summarizeDependencies();if(n){this.hooks.record.call(this,this.records)}if(this.hooks.needAdditionalSeal.call()){this.unseal();return this.seal(e)}return this.hooks.afterSeal.callAsync(e)})};this.logger.time("create chunk assets");if(this.hooks.shouldGenerateChunkAssets.call()!==false){this.hooks.beforeChunkAssets.call();this.createChunkAssets(t=>{this.logger.timeEnd("create chunk assets");if(t){return e(t)}r()})}else{this.logger.timeEnd("create chunk assets");r()}})})})}reportDependencyErrorsAndWarnings(e,t){for(let n=0;n1){const n=new Map;for(const r of t){const t=i.getModuleHash(e,r);const s=n.get(t);if(s===undefined){const i={module:e,hash:t,runtime:r,runtimes:[r]};l.push(i);n.set(t,i)}else{s.runtimes.push(r)}}}}r.eachLimit(l,this.options.parallelism,({module:e,hash:r,runtime:l,runtimes:f},d)=>{const h=new p(f.map(t=>this._codeGenerationCache.getItemCache(`${e.identifier()}|${oe(t)}`,`${r}|${o.getHash()}`)));h.get((r,p)=>{if(r)return d(r);let m;if(!p){n++;try{m=e.codeGeneration({chunkGraph:i,moduleGraph:s,dependencyTemplates:o,runtimeTemplate:a,runtime:l})}catch(r){u.push(new v(e,r));m=p={sources:new Map,runtimeRequirements:null}}}else{t++;m=p}for(const t of f){c.add(e,t,m)}if(!p){h.store(m,d)}else{d()}})},r=>{if(r)return e(r);if(u.length>0){u.sort(Z(e=>e.module,te));for(const e of u){this.errors.push(e)}}this.logger.log(`${Math.round(100*n/(n+t))}% code generated (${n} generated, ${t} from cache)`);e()})}processRuntimeRequirements(e){const{chunkGraph:t}=this;const n=this.hooks.additionalModuleRuntimeRequirements;const r=this.hooks.runtimeRequirementInModule;for(const e of this.modules){if(t.getNumberOfModuleChunks(e)>0){for(const i of t.getModuleRuntimes(e)){let s;const o=this.codeGenerationResults.getRuntimeRequirements(e,i);if(o&&o.size>0){s=new Set(o)}else if(n.isUsed()){s=new Set}else{continue}n.call(e,s);for(const t of s){const n=r.get(t);if(n!==undefined)n.call(e,s)}t.addModuleRuntimeRequirements(e,i,s)}}}for(const e of this.chunks){const n=new Set;for(const r of t.getChunkModulesIterable(e)){const i=t.getModuleRuntimeRequirements(r,e.runtime);for(const e of i)n.add(e)}this.hooks.additionalChunkRuntimeRequirements.call(e,n);for(const t of n){this.hooks.runtimeRequirementInChunk.for(t).call(e,n)}t.addChunkRuntimeRequirements(e,n)}const i=new Set;for(const t of e){const e=t.getRuntimeChunk();if(e)i.add(e)}for(const e of i){const n=new Set;for(const r of e.getAllReferencedChunks()){const e=t.getChunkRuntimeRequirements(r);for(const t of e)n.add(t)}this.hooks.additionalTreeRuntimeRequirements.call(e,n);for(const t of n){this.hooks.runtimeRequirementInTree.for(t).call(e,n)}t.addTreeRuntimeRequirements(e,n)}}addRuntimeModule(e,t){O.setModuleGraphForModule(t,this.moduleGraph);this.modules.add(t);this._modules.set(t.identifier(),t);this.chunkGraph.connectChunkAndModule(e,t);this.chunkGraph.connectChunkAndRuntimeModule(e,t);t.attach(this,e);const n=this.moduleGraph.getExportsInfo(t);n.setHasProvideInfo();if(typeof e.runtime==="string"){n.setUsedForSideEffectsOnly(e.runtime)}else if(e.runtime===undefined){n.setUsedForSideEffectsOnly(undefined)}else{for(const t of e.runtime){n.setUsedForSideEffectsOnly(t)}}this.chunkGraph.addModuleRuntimeRequirements(t,e.runtime,new Set([L.requireScope]));this.chunkGraph.setModuleId(t,"");this.hooks.runtimeModule.call(t,e)}addChunkInGroup(e,t,n,r){if(typeof e==="string"){e={name:e}}const i=e.name;if(i){const s=this.namedChunkGroups.get(i);if(s!==undefined){s.addOptions(e);if(t){s.addOrigin(t,n,r)}return s}}const s=new m(e);if(t)s.addOrigin(t,n,r);const o=this.addChunk(i);k(s,o);this.chunkGroups.push(s);if(i){this.namedChunkGroups.set(i,s)}return s}addChunk(e){if(e){const t=this.namedChunks.get(e);if(t!==undefined){return t}}const t=new d(e);this.chunks.add(t);h.setChunkGraphForChunk(t,this.chunkGraph);if(e){this.namedChunks.set(e,t)}return t}assignDepth(e){const t=this.moduleGraph;const n=new Set([e]);let r;t.setDepth(e,0);const i=e=>{if(!t.setDepthIfLower(e,r))return;n.add(e)};for(e of n){n.delete(e);r=t.getDepth(e)+1;for(const n of t.getOutgoingConnections(e)){const e=n.module;if(e){i(e)}}}}getDependencyReferencedExports(e,t){const n=e.getReferencedExports(this.moduleGraph,t);return this.hooks.dependencyReferencedExports.call(n,e,t)}removeReasonsOfDependencyBlock(e,t){const n=this.chunkGraph;const r=t=>{if(!t.module){return}if(t.module.removeReason(e,t)){for(const e of n.getModuleChunksIterable(t.module)){this.patchChunksAfterReasonRemoval(t.module,e)}}};if(t.blocks){for(const n of t.blocks){this.removeReasonsOfDependencyBlock(e,n)}}if(t.dependencies){for(const e of t.dependencies)r(e)}}patchChunksAfterReasonRemoval(e,t){if(!e.hasReasons(this.moduleGraph,t.runtime)){this.removeReasonsOfDependencyBlock(e,e)}if(!e.hasReasonForChunk(t,this.moduleGraph,this.chunkGraph)){if(this.chunkGraph.isModuleInChunk(e,t)){this.chunkGraph.disconnectChunkAndModule(t,e);this.removeChunkFromDependencies(e,t)}}}removeChunkFromDependencies(e,t){const n=e=>{if(!e.module){return}this.patchChunksAfterReasonRemoval(e.module,t)};const r=e.blocks;for(let t=0;t0){this.logger.time("hashing: hash child compilations");for(const e of this.children){s.update(e.hash)}this.logger.timeEnd("hashing: hash child compilations")}if(this.warnings.length>0){this.logger.time("hashing: hash warnings");for(const e of this.warnings){s.update(`${e.message}`)}this.logger.timeEnd("hashing: hash warnings")}if(this.errors.length>0){this.logger.time("hashing: hash errors");for(const e of this.errors){s.update(`${e.message}`)}this.logger.timeEnd("hashing: hash errors")}this.logger.time("hashing: sort chunks");const o=Array.from(this.chunks);o.sort((e,t)=>{const n=e.hasRuntime();const r=t.hasRuntime();if(n&&!r)return 1;if(!n&&r)return-1;return le(e,t)});this.logger.timeEnd("hashing: sort chunks");const a=new Set;for(let c=0;c{const r=this._assetsRelatedIn.get(n);if(r===undefined)return;const i=r.get(t);if(i===undefined)return;i.delete(e);if(i.size!==0)return;r.delete(t);if(r.size===0)this._assetsRelatedIn.delete(n)};const i=r[t];if(Array.isArray(i)){i.forEach(n)}else if(i){n(i)}}}if(i){for(const t of Object.keys(i)){const n=n=>{let r=this._assetsRelatedIn.get(n);if(r===undefined){this._assetsRelatedIn.set(n,r=new Map)}let i=r.get(t);if(i===undefined){r.set(t,i=new Set)}i.add(e)};const r=i[t];if(Array.isArray(r)){r.forEach(n)}else if(r){n(r)}}}}updateAsset(e,t,n=undefined){if(!this.assets[e]){throw new Error(`Called Compilation.updateAsset for not existing filename ${e}`)}if(typeof t==="function"){this.assets[e]=t(this.assets[e])}else{this.assets[e]=t}if(n!==undefined){const t=this.assetsInfo.get(e)||ae;if(typeof n==="function"){this._setAssetInfo(e,n(t),t)}else{this._setAssetInfo(e,J(t,n),t)}}}renameAsset(e,t){const n=this.assets[e];if(!n){throw new Error(`Called Compilation.renameAsset for not existing filename ${e}`)}if(this.assets[t]){if(!ge(this.assets[e],n)){this.errors.push(new U(`Conflict: Called Compilation.renameAsset for already existing filename ${t} with different content`))}}const r=this.assetsInfo.get(e);const i=this._assetsRelatedIn.get(e);if(i){for(const[n,r]of i){for(const i of r){const r=this.assetsInfo.get(i);if(!r)continue;const s=r.related;if(!s)continue;const o=s[n];let a;if(Array.isArray(o)){a=o.map(n=>n===e?t:n)}else if(o===e){a=t}else continue;this.assetsInfo.set(i,{...r,related:{...s,[n]:a}})}}}this._setAssetInfo(e,undefined,r);this._setAssetInfo(t,r);delete this.assets[e];this.assets[t]=n;for(const n of this.chunks){const r=n.files.size;n.files.delete(e);if(r!==n.files.size){n.files.add(t)}}}deleteAsset(e){if(!this.assets[e]){return}delete this.assets[e];const t=this.assetsInfo.get(e);this._setAssetInfo(e,undefined,t);const n=t&&t.related;if(n){for(const e of Object.keys(n)){const t=e=>{if(!this._assetsRelatedIn.has(e)){this.deleteAsset(e)}};const r=n[e];if(Array.isArray(r)){r.forEach(t)}else if(r){t(r)}}}}getAssets(){const e=[];for(const t of Object.keys(this.assets)){if(Object.prototype.hasOwnProperty.call(this.assets,t)){e.push({name:t,source:this.assets[t],info:this.assetsInfo.get(t)||ae})}}return e}getAsset(e){if(!Object.prototype.hasOwnProperty.call(this.assets,e))return undefined;return{name:e,source:this.assets[e],info:this.assetsInfo.get(e)||ae}}clearAssets(){for(const e of this.chunks){e.files.clear();e.auxiliaryFiles.clear()}}createModuleAssets(){const{chunkGraph:e}=this;for(const t of this.modules){if(t.buildInfo.assets){const n=t.buildInfo.assetsInfo;for(const r of Object.keys(t.buildInfo.assets)){const i=this.getPath(r,{chunkGraph:this.chunkGraph,module:t});for(const n of e.getModuleChunksIterable(t)){n.auxiliaryFiles.add(i)}this.emitAsset(i,t.buildInfo.assets[r],n?n.get(r):undefined);this.hooks.moduleAsset.call(t,i)}}}}getRenderManifest(e){return this.hooks.renderManifest.call([],e)}createChunkAssets(e){const t=this.outputOptions;const n=new WeakMap;const i=new Map;r.forEach(this.chunks,(e,s)=>{let o;try{o=this.getRenderManifest({chunk:e,hash:this.hash,fullHash:this.fullHash,outputOptions:t,codeGenerationResults:this.codeGenerationResults,moduleTemplates:this.moduleTemplates,dependencyTemplates:this.dependencyTemplates,chunkGraph:this.chunkGraph,moduleGraph:this.moduleGraph,runtimeTemplate:this.runtimeTemplate})}catch(t){this.errors.push(new g(e,"",t));return s()}r.forEach(o,(t,r)=>{const s=t.identifier;const o=t.hash;const a=this._assetsCache.getItemCache(s,o);a.get((s,c)=>{let u;let l;let p;let d=true;const h=t=>{const n=l||(typeof l==="string"?l:typeof u==="string"?u:"");this.errors.push(new g(e,n,t));d=false;return r()};try{if("filename"in t){l=t.filename;p=t.info}else{u=t.filenameTemplate;const e=this.getPathWithInfo(u,t.pathOptions);l=e.path;p=e.info}if(s){return h(s)}let m=c;const g=i.get(l);if(g!==undefined){if(g.hash!==o){d=false;return r(new U(`Conflict: Multiple chunks emit assets to the same filename ${l}`+` (chunks ${g.chunk.id} and ${e.id})`))}else{m=g.source}}else if(!m){m=t.render();if(!(m instanceof f)){const e=n.get(m);if(e){m=e}else{const e=new f(m);n.set(m,e);m=e}}}this.emitAsset(l,m,p);if(t.auxiliary){e.auxiliaryFiles.add(l)}else{e.files.add(l)}this.hooks.chunkAsset.call(e,l);i.set(l,{hash:o,source:m,chunk:e});if(m!==c){a.store(m,e=>{if(e)return h(e);d=false;return r()})}else{d=false;r()}}catch(s){if(!d)throw s;h(s)}})},s)},e)}getPath(e,t={}){if(!t.hash){t={hash:this.hash,...t}}return this.getAssetPath(e,t)}getPathWithInfo(e,t={}){if(!t.hash){t={hash:this.hash,...t}}return this.getAssetPathWithInfo(e,t)}getAssetPath(e,t){return this.hooks.assetPath.call(typeof e==="function"?e(t):e,t,undefined)}getAssetPathWithInfo(e,t){const n={};const r=this.hooks.assetPath.call(typeof e==="function"?e(t,n):e,t,n);return{path:r,info:n}}createChildCompiler(e,t,n){const r=this.childrenCounters[e]||0;this.childrenCounters[e]=r+1;return this.compiler.createChildCompiler(this,e,r,t,n)}checkConstraints(){const e=this.chunkGraph;const t=new Set;for(const n of this.modules){if(n.type==="runtime")continue;const r=e.getModuleId(n);if(r===null)continue;if(t.has(r)){throw new Error(`checkConstraints: duplicate module id ${r}`)}t.add(r)}for(const t of this.chunks){for(const n of e.getChunkModulesIterable(t)){if(!this.modules.has(n)){throw new Error("checkConstraints: module in chunk but not in compilation "+` ${t.debugId} ${n.debugId}`)}}for(const n of e.getChunkEntryModulesIterable(t)){if(!this.modules.has(n)){throw new Error("checkConstraints: entry module in chunk but not in compilation "+` ${t.debugId} ${n.debugId}`)}}}for(const e of this.chunkGroups){e.checkConstraints()}}}const ye=Compilation.prototype;Object.defineProperty(ye,"modifyHash",{writable:false,enumerable:false,configurable:false,value:()=>{throw new Error("Compilation.modifyHash was removed in favor of Compilation.hooks.fullHash")}});Object.defineProperty(ye,"cache",{enumerable:false,configurable:false,get:l.deprecate(function(){return this.compiler.cache},"Compilation.cache was removed in favor of Compilation.getCache()","DEP_WEBPACK_COMPILATION_CACHE"),set:l.deprecate(e=>{},"Compilation.cache was removed in favor of Compilation.getCache()","DEP_WEBPACK_COMPILATION_CACHE")});Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL=-2e3;Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS=-1e3;Compilation.PROCESS_ASSETS_STAGE_DERIVED=-200;Compilation.PROCESS_ASSETS_STAGE_ADDITIONS=-100;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE=100;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT=200;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY=300;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE=400;Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE=1e3;Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING=2e3;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER=3e3;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH=3500;Compilation.PROCESS_ASSETS_STAGE_ANALYSE=4e3;Compilation.PROCESS_ASSETS_STAGE_REPORT=5e3;e.exports=Compilation},63076:(e,t,n)=>{"use strict";const r=n(78688);const i=n(62355);const{SyncHook:s,SyncBailHook:o,AsyncParallelHook:a,AsyncSeriesHook:c}=n(92960);const{SizeOnlySource:u}=n(48135);const l=n(54725);const f=n(6503);const p=n(3080);const d=n(27310);const h=n(89869);const m=n(43229);const g=n(80910);const y=n(1819);const v=n(10140);const _=n(84693);const b=n(81627);const{Logger:E}=n(78539);const{join:w,dirname:S,mkdirp:k}=n(95396);const{makePathsRelative:D}=n(49197);const x=e=>{for(let t=1;te[t])return false}return true};const C=(e,t)=>{const n={};for(const r of t.sort()){n[r]=e[r]}return n};class Compiler{constructor(e){this.hooks=Object.freeze({initialize:new s([]),shouldEmit:new o(["compilation"]),done:new c(["stats"]),afterDone:new s(["stats"]),additionalPass:new c([]),beforeRun:new c(["compiler"]),run:new c(["compiler"]),emit:new c(["compilation"]),assetEmitted:new c(["file","info"]),afterEmit:new c(["compilation"]),thisCompilation:new s(["compilation","params"]),compilation:new s(["compilation","params"]),normalModuleFactory:new s(["normalModuleFactory"]),contextModuleFactory:new s(["contextModuleFactory"]),beforeCompile:new c(["params"]),compile:new s(["params"]),make:new a(["compilation"]),finishMake:new c(["compilation"]),afterCompile:new c(["compilation"]),watchRun:new c(["compiler"]),failed:new s(["error"]),invalid:new s(["filename","changeTime"]),watchClose:new s([]),infrastructureLog:new o(["origin","type","args"]),environment:new s([]),afterEnvironment:new s([]),afterPlugins:new s(["compiler"]),afterResolvers:new s(["compiler"]),entryOption:new o(["context","entry"])});this.name=undefined;this.parentCompilation=undefined;this.root=this;this.outputPath="";this.outputFileSystem=null;this.intermediateFileSystem=null;this.inputFileSystem=null;this.watchFileSystem=null;this.recordsInputPath=null;this.recordsOutputPath=null;this.records={};this.managedPaths=new Set;this.immutablePaths=new Set;this.modifiedFiles=undefined;this.removedFiles=undefined;this.fileTimestamps=undefined;this.contextTimestamps=undefined;this.resolverFactory=new y;this.infrastructureLogger=undefined;this.options={};this.context=e;this.requestShortener=new g(e,this.root);this.cache=new l;this.compilerPath="";this.running=false;this.idle=false;this.watchMode=false;this._assetEmittingSourceCache=new WeakMap;this._assetEmittingWrittenFiles=new Map}getCache(e){return new f(this.cache,`${this.compilerPath}/${e}`)}getInfrastructureLogger(e){if(!e){throw new TypeError("Compiler.getInfrastructureLogger(name) called without a name")}return new E((t,n)=>{if(typeof e==="function"){e=e();if(!e){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}if(this.hooks.infrastructureLog.call(e,t,n)===undefined){if(this.infrastructureLogger!==undefined){this.infrastructureLogger(e,t,n)}}},t=>{if(typeof e==="function"){if(typeof t==="function"){return this.getInfrastructureLogger(()=>{if(typeof e==="function"){e=e();if(!e){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}if(typeof t==="function"){t=t();if(!t){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${e}/${t}`})}else{return this.getInfrastructureLogger(()=>{if(typeof e==="function"){e=e();if(!e){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}return`${e}/${t}`})}}else{if(typeof t==="function"){return this.getInfrastructureLogger(()=>{if(typeof t==="function"){t=t();if(!t){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${e}/${t}`})}else{return this.getInfrastructureLogger(`${e}/${t}`)}}})}watch(e,t){if(this.running){return t(new d)}this.running=true;this.watchMode=true;return new _(this,e,t)}run(e){if(this.running){return e(new d)}let t;const n=(n,r)=>{if(t)t.time("beginIdle");this.idle=true;this.cache.beginIdle();this.idle=true;if(t)t.timeEnd("beginIdle");this.running=false;if(n){this.hooks.failed.call(n)}if(e!==undefined)e(n,r);this.hooks.afterDone.call(r)};const r=Date.now();this.running=true;const i=(e,s)=>{if(e)return n(e);if(this.hooks.shouldEmit.call(s)===false){const e=new v(s);e.startTime=r;e.endTime=Date.now();this.hooks.done.callAsync(e,t=>{if(t)return n(t);return n(null,e)});return}process.nextTick(()=>{t=s.getLogger("webpack.Compiler");t.time("emitAssets");this.emitAssets(s,e=>{t.timeEnd("emitAssets");if(e)return n(e);if(s.hooks.needAdditionalPass.call()){s.needAdditionalPass=true;const e=new v(s);e.startTime=r;e.endTime=Date.now();t.time("done hook");this.hooks.done.callAsync(e,e=>{t.timeEnd("done hook");if(e)return n(e);this.hooks.additionalPass.callAsync(e=>{if(e)return n(e);this.compile(i)})});return}t.time("emitRecords");this.emitRecords(e=>{t.timeEnd("emitRecords");if(e)return n(e);const i=new v(s);i.startTime=r;i.endTime=Date.now();t.time("done hook");this.hooks.done.callAsync(i,e=>{t.timeEnd("done hook");if(e)return n(e);this.cache.storeBuildDependencies(s.buildDependencies,e=>{if(e)return n(e);return n(null,i)})})})})})};const s=()=>{this.hooks.beforeRun.callAsync(this,e=>{if(e)return n(e);this.hooks.run.callAsync(this,e=>{if(e)return n(e);this.readRecords(e=>{if(e)return n(e);this.compile(i)})})})};if(this.idle){this.cache.endIdle(e=>{if(e)return n(e);this.idle=false;s()})}else{s()}}runAsChild(e){this.compile((t,n)=>{if(t)return e(t);this.parentCompilation.children.push(n);for(const{name:e,source:t,info:r}of n.getAssets()){this.parentCompilation.emitAsset(e,t,r)}const r=[];for(const e of n.entrypoints.values()){r.push(...e.chunks)}return e(null,r,n)})}purgeInputFileSystem(){if(this.inputFileSystem&&this.inputFileSystem.purge){this.inputFileSystem.purge()}}emitAssets(e,t){let n;const r=r=>{if(r)return t(r);const s=e.getAssets();e.assets={...e.assets};const o=new Map;i.forEachLimit(s,15,({name:t,source:r,info:i},s)=>{let a=t;const c=a.indexOf("?");if(c>=0){a=a.substr(0,c)}const l=c=>{if(c)return s(c);const l=w(this.outputFileSystem,n,a);const f=l.toLowerCase();if(o.has(f)){const e=o.get(f);const n=new b(`Prevent writing to file that only differs in casing or query string from already written file.\nThis will lead to a race-condition and corrupted files on case-insensitive file systems.\n${l}\n${e}`);n.file=t;return s(n)}else{o.set(f,l)}const p=this._assetEmittingWrittenFiles.get(l);let d=this._assetEmittingSourceCache.get(r);if(d===undefined){d={sizeOnlySource:undefined,writtenTo:new Map};this._assetEmittingSourceCache.set(r,d)}const h=()=>{if(typeof r.buffer==="function"){return r.buffer()}else{const e=r.source();if(Buffer.isBuffer(e)){return e}else{return Buffer.from(e,"utf8")}}};const m=()=>{if(p===undefined){const e=1;this._assetEmittingWrittenFiles.set(l,e);d.writtenTo.set(l,e)}else{d.writtenTo.set(l,p)}s()};const g=i=>{this.outputFileSystem.writeFile(l,i,o=>{if(o)return s(o);e.emittedAssets.add(t);const a=p===undefined?1:p+1;d.writtenTo.set(l,a);this._assetEmittingWrittenFiles.set(l,a);this.hooks.assetEmitted.callAsync(t,{content:i,source:r,outputPath:n,compilation:e,targetPath:l},s)})};const y=n=>{if(!d.sizeOnlySource){d.sizeOnlySource=new u(n)}e.updateAsset(t,d.sizeOnlySource,{size:n})};const v=n=>{if(i.immutable){y(n.size);return m()}const r=h();y(r.length);if(r.length===n.size){e.comparedForEmitAssets.add(t);return this.outputFileSystem.readFile(l,(e,t)=>{if(e||!r.equals(t)){return g(r)}else{return m()}})}return g(r)};const _=()=>{const e=h();y(e.length);return g(e)};if(p!==undefined){const n=d.writtenTo.get(l);if(n===p){e.updateAsset(t,d.sizeOnlySource,{size:d.sizeOnlySource.size()});return s()}if(!i.immutable){return _()}}if(this.options.output.compareBeforeEmit){this.outputFileSystem.stat(l,(e,t)=>{const n=!e&&t.isFile();if(n){v(t)}else{_()}})}else{_()}};if(a.match(/\/|\\/)){const e=this.outputFileSystem;const t=S(e,w(e,n,a));k(e,t,l)}else{l()}},n=>{if(n)return t(n);this.hooks.afterEmit.callAsync(e,e=>{if(e)return t(e);return t()})})};this.hooks.emit.callAsync(e,i=>{if(i)return t(i);n=e.getPath(this.outputPath,{});k(this.outputFileSystem,n,r)})}emitRecords(e){if(!this.recordsOutputPath)return e();const t=()=>{this.outputFileSystem.writeFile(this.recordsOutputPath,JSON.stringify(this.records,(e,t)=>{if(typeof t==="object"&&t!==null&&!Array.isArray(t)){const e=Object.keys(t);if(!x(e)){return C(t,e)}}return t},2),e)};const n=S(this.outputFileSystem,this.recordsOutputPath);if(!n){return t()}k(this.outputFileSystem,n,n=>{if(n)return e(n);t()})}readRecords(e){if(!this.recordsInputPath){this.records={};return e()}this.inputFileSystem.stat(this.recordsInputPath,t=>{if(t)return e();this.inputFileSystem.readFile(this.recordsInputPath,(t,n)=>{if(t)return e(t);try{this.records=r(n.toString("utf-8"))}catch(t){t.message="Cannot parse records: "+t.message;return e(t)}return e()})})}createChildCompiler(e,t,n,r,i){const s=new Compiler(this.context);if(Array.isArray(i)){for(const e of i){e.apply(s)}}for(const e in this.hooks){if(!["make","compile","emit","afterEmit","invalid","done","thisCompilation"].includes(e)){if(s.hooks[e]){s.hooks[e].taps=this.hooks[e].taps.slice()}}}s.name=t;s.outputPath=this.outputPath;s.inputFileSystem=this.inputFileSystem;s.outputFileSystem=null;s.resolverFactory=this.resolverFactory;s.modifiedFiles=this.modifiedFiles;s.removedFiles=this.removedFiles;s.fileTimestamps=this.fileTimestamps;s.contextTimestamps=this.contextTimestamps;s.cache=this.cache;s.compilerPath=this.compilerPath+"/"+t+n;const o=D(this.context,t,this.root);if(!this.records[o]){this.records[o]=[]}if(this.records[o][n]){s.records=this.records[o][n]}else{this.records[o].push(s.records={})}s.options={...this.options,output:{...this.options.output,...r}};s.parentCompilation=e;s.root=this.root;e.hooks.childCompiler.call(s,t,n);return s}isChild(){return!!this.parentCompilation}createCompilation(){return new p(this)}newCompilation(e){const t=this.createCompilation();t.name=this.name;t.records=this.records;this.hooks.thisCompilation.call(t,e);this.hooks.compilation.call(t,e);return t}createNormalModuleFactory(){const e=new m({context:this.options.context,fs:this.inputFileSystem,resolverFactory:this.resolverFactory,options:this.options.module||{},associatedObjectForCache:this.root});this.hooks.normalModuleFactory.call(e);return e}createContextModuleFactory(){const e=new h(this.resolverFactory);this.hooks.contextModuleFactory.call(e);return e}newCompilationParams(){const e={normalModuleFactory:this.createNormalModuleFactory(),contextModuleFactory:this.createContextModuleFactory()};return e}compile(e){const t=this.newCompilationParams();this.hooks.beforeCompile.callAsync(t,n=>{if(n)return e(n);this.hooks.compile.call(t);const r=this.newCompilation(t);const i=r.getLogger("webpack.Compiler");i.time("make hook");this.hooks.make.callAsync(r,t=>{i.timeEnd("make hook");if(t)return e(t);i.time("finish make hook");this.hooks.finishMake.callAsync(r,t=>{i.timeEnd("finish make hook");if(t)return e(t);process.nextTick(()=>{i.time("finish compilation");r.finish(t=>{i.timeEnd("finish compilation");if(t)return e(t);i.time("seal compilation");r.seal(t=>{i.timeEnd("seal compilation");if(t)return e(t);i.time("afterCompile hook");this.hooks.afterCompile.callAsync(r,t=>{i.timeEnd("afterCompile hook");if(t)return e(t);return e(null,r)})})})})})})})}close(e){this.cache.shutdown(e)}}e.exports=Compiler},27310:(e,t,n)=>{"use strict";const r=n(81627);e.exports=class ConcurrentCompilationError extends r{constructor(){super();this.name="ConcurrentCompilationError";this.message="You ran Webpack twice. Each instance only supports a single concurrent compilation at a time.";Error.captureStackTrace(this,this.constructor)}}},40552:(e,t,n)=>{"use strict";const r=n(59455);const i=n(66298);const{evaluateToString:s}=n(48472);const{parseResource:o}=n(49197);const a=(e,t)=>{const n=[t];while(n.length>0){const t=n.pop();switch(t.type){case"Identifier":e.add(t.name);break;case"ArrayPattern":for(const e of t.elements){if(e){n.push(e)}}break;case"AssignmentPattern":n.push(t.left);break;case"ObjectPattern":for(const e of t.properties){n.push(e.value)}break;case"RestElement":n.push(t.argument);break}}};const c=(e,t)=>{const n=new Set;const r=[e];while(r.length>0){const e=r.pop();if(!e)continue;switch(e.type){case"BlockStatement":for(const t of e.body){r.push(t)}break;case"IfStatement":r.push(e.consequent);r.push(e.alternate);break;case"ForStatement":r.push(e.init);r.push(e.body);break;case"ForInStatement":case"ForOfStatement":r.push(e.left);r.push(e.body);break;case"DoWhileStatement":case"WhileStatement":case"LabeledStatement":r.push(e.body);break;case"SwitchStatement":for(const t of e.cases){for(const e of t.consequent){r.push(e)}}break;case"TryStatement":r.push(e.block);if(e.handler){r.push(e.handler.body)}r.push(e.finalizer);break;case"FunctionDeclaration":if(t){a(n,e.id)}break;case"VariableDeclaration":if(e.kind==="var"){for(const t of e.declarations){a(n,t.id)}}break}}return Array.from(n)};class ConstPlugin{apply(e){const t=o.bindCache(e.root);e.hooks.compilation.tap("ConstPlugin",(e,{normalModuleFactory:n})=>{e.dependencyTemplates.set(i,new i.Template);e.dependencyTemplates.set(r,new r.Template);const o=e=>{e.hooks.statementIf.tap("ConstPlugin",t=>{if(e.scope.isAsmJs)return;const n=e.evaluateExpression(t.test);const r=n.asBool();if(typeof r==="boolean"){if(!n.couldHaveSideEffects()){const s=new i(`${r}`,n.range);s.loc=t.loc;e.state.module.addPresentationalDependency(s)}else{e.walkExpression(t.test)}const s=r?t.alternate:t.consequent;if(s){let t;if(e.scope.isStrict){t=c(s,false)}else{t=c(s,true)}let n;if(t.length>0){n=`{ var ${t.join(", ")}; }`}else{n="{}"}const r=new i(n,s.range);r.loc=s.loc;e.state.module.addPresentationalDependency(r)}return r}});e.hooks.expressionConditionalOperator.tap("ConstPlugin",t=>{if(e.scope.isAsmJs)return;const n=e.evaluateExpression(t.test);const r=n.asBool();if(typeof r==="boolean"){if(!n.couldHaveSideEffects()){const s=new i(` ${r}`,n.range);s.loc=t.loc;e.state.module.addPresentationalDependency(s)}else{e.walkExpression(t.test)}const s=r?t.alternate:t.consequent;const o=new i("0",s.range);o.loc=s.loc;e.state.module.addPresentationalDependency(o);return r}});e.hooks.expressionLogicalOperator.tap("ConstPlugin",t=>{if(e.scope.isAsmJs)return;if(t.operator==="&&"||t.operator==="||"){const n=e.evaluateExpression(t.left);const r=n.asBool();if(typeof r==="boolean"){const s=t.operator==="&&"&&r||t.operator==="||"&&!r;if(!n.couldHaveSideEffects()&&(n.isBoolean()||s)){const s=new i(` ${r}`,n.range);s.loc=t.loc;e.state.module.addPresentationalDependency(s)}else{e.walkExpression(t.left)}if(!s){const n=new i("0",t.right.range);n.loc=t.loc;e.state.module.addPresentationalDependency(n)}return s}}else if(t.operator==="??"){const n=e.evaluateExpression(t.left);const r=n&&n.asNullish();if(typeof r==="boolean"){if(!n.couldHaveSideEffects()&&r){const r=new i(" null",n.range);r.loc=t.loc;e.state.module.addPresentationalDependency(r)}else{const n=new i("0",t.right.range);n.loc=t.loc;e.state.module.addPresentationalDependency(n);e.walkExpression(t.left)}return r}}});e.hooks.optionalChaining.tap("ConstPlugin",t=>{const n=[];let r=t.expression;while(r.type==="MemberExpression"||r.type==="CallExpression"){if(r.type==="MemberExpression"){if(r.optional){n.push(r.object)}r=r.object}else{if(r.optional){n.push(r.callee)}r=r.callee}}while(n.length){const r=n.pop();const s=e.evaluateExpression(r);if(s&&s.asNullish()){const n=new i(" undefined",t.range);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return true}}});e.hooks.evaluateIdentifier.for("__resourceQuery").tap("ConstPlugin",n=>{if(e.scope.isAsmJs)return;if(!e.state.module)return;return s(t(e.state.module.resource).query)(n)});e.hooks.expression.for("__resourceQuery").tap("ConstPlugin",n=>{if(e.scope.isAsmJs)return;if(!e.state.module)return;const i=new r(JSON.stringify(t(e.state.module.resource).query),n.range,"__resourceQuery");i.loc=n.loc;e.state.module.addPresentationalDependency(i);return true});e.hooks.evaluateIdentifier.for("__resourceFragment").tap("ConstPlugin",n=>{if(e.scope.isAsmJs)return;if(!e.state.module)return;return s(t(e.state.module.resource).fragment)(n)});e.hooks.expression.for("__resourceFragment").tap("ConstPlugin",n=>{if(e.scope.isAsmJs)return;if(!e.state.module)return;const i=new r(JSON.stringify(t(e.state.module.resource).fragment),n.range,"__resourceFragment");i.loc=n.loc;e.state.module.addPresentationalDependency(i);return true})};n.hooks.parser.for("javascript/auto").tap("ConstPlugin",o);n.hooks.parser.for("javascript/dynamic").tap("ConstPlugin",o);n.hooks.parser.for("javascript/esm").tap("ConstPlugin",o)})}}e.exports=ConstPlugin},51709:e=>{"use strict";class ContextExclusionPlugin{constructor(e){this.negativeMatcher=e}apply(e){e.hooks.contextModuleFactory.tap("ContextExclusionPlugin",e=>{e.hooks.contextModuleFiles.tap("ContextExclusionPlugin",e=>{return e.filter(e=>!this.negativeMatcher.test(e))})})}}e.exports=ContextExclusionPlugin},58126:(e,t,n)=>{"use strict";const{OriginalSource:r,RawSource:i}=n(48135);const s=n(98221);const{makeWebpackError:o}=n(3728);const a=n(53453);const c=n(76150);const u=n(58159);const l=n(81627);const{compareLocations:f,concatComparators:p,compareSelect:d,keepOriginalOrder:h}=n(68673);const{compareModulesById:m}=n(68673);const{contextify:g,parseResource:y}=n(49197);const v=n(56202);const _=new Set(["javascript"]);class ContextModule extends a{constructor(e,t){const n=y(t?t.resource:"");const r=n.path;const i=t&&t.resourceQuery||n.query;const s=t&&t.resourceFragment||n.fragment;super("javascript/dynamic",r);this.resolveDependencies=e;this.options={...t,resource:r,resourceQuery:i,resourceFragment:s};if(t&&t.resolveOptions!==undefined){this.resolveOptions=t.resolveOptions}this._contextDependencies=new Set([this.context]);if(t&&typeof t.mode!=="string"){throw new Error("options.mode is a required option")}this._identifier=this._createIdentifier();this._forceBuild=true}getSourceTypes(){return _}updateCacheModule(e){const t=e;this.resolveDependencies=t.resolveDependencies;this.options=t.options;this.resolveOptions=t.resolveOptions}prettyRegExp(e){return e.substring(1,e.length-1)}_createIdentifier(){let e=this.context;if(this.options.resourceQuery){e+=`|${this.options.resourceQuery}`}if(this.options.resourceFragment){e+=`|${this.options.resourceFragment}`}if(this.options.mode){e+=`|${this.options.mode}`}if(!this.options.recursive){e+="|nonrecursive"}if(this.options.addon){e+=`|${this.options.addon}`}if(this.options.regExp){e+=`|${this.options.regExp}`}if(this.options.include){e+=`|include: ${this.options.include}`}if(this.options.exclude){e+=`|exclude: ${this.options.exclude}`}if(this.options.referencedExports){e+=`|referencedExports: ${JSON.stringify(this.options.referencedExports)}`}if(this.options.chunkName){e+=`|chunkName: ${this.options.chunkName}`}if(this.options.groupOptions){e+=`|groupOptions: ${JSON.stringify(this.options.groupOptions)}`}if(this.options.namespaceObject==="strict"){e+="|strict namespace object"}else if(this.options.namespaceObject){e+="|namespace object"}return e}identifier(){return this._identifier}readableIdentifier(e){let t=e.shorten(this.context);if(this.options.resourceQuery){t+=` ${this.options.resourceQuery}`}if(this.options.mode){t+=` ${this.options.mode}`}if(!this.options.recursive){t+=" nonrecursive"}if(this.options.addon){t+=` ${e.shorten(this.options.addon)}`}if(this.options.regExp){t+=` ${this.prettyRegExp(this.options.regExp+"")}`}if(this.options.include){t+=` include: ${this.prettyRegExp(this.options.include+"")}`}if(this.options.exclude){t+=` exclude: ${this.prettyRegExp(this.options.exclude+"")}`}if(this.options.referencedExports){t+=` referencedExports: ${this.options.referencedExports.map(e=>e.join(".")).join(", ")}`}if(this.options.chunkName){t+=` chunkName: ${this.options.chunkName}`}if(this.options.groupOptions){const e=this.options.groupOptions;for(const n of Object.keys(e)){t+=` ${n}: ${e[n]}`}}if(this.options.namespaceObject==="strict"){t+=" strict namespace object"}else if(this.options.namespaceObject){t+=" namespace object"}return t}libIdent(e){let t=g(e.context,this.context,e.associatedObjectForCache);if(this.options.mode){t+=` ${this.options.mode}`}if(this.options.recursive){t+=" recursive"}if(this.options.addon){t+=` ${g(e.context,this.options.addon,e.associatedObjectForCache)}`}if(this.options.regExp){t+=` ${this.prettyRegExp(this.options.regExp+"")}`}if(this.options.include){t+=` include: ${this.prettyRegExp(this.options.include+"")}`}if(this.options.exclude){t+=` exclude: ${this.prettyRegExp(this.options.exclude+"")}`}if(this.options.referencedExports){t+=` referencedExports: ${this.options.referencedExports.map(e=>e.join(".")).join(", ")}`}return t}invalidateBuild(){this._forceBuild=true}needBuild({fileSystemInfo:e},t){if(this._forceBuild)return t(null,true);if(!this.buildInfo.snapshot)return t(null,true);e.checkSnapshotValid(this.buildInfo.snapshot,(e,n)=>{t(e,!n)})}build(e,t,n,r,i){this._forceBuild=false;this.buildMeta={exportsType:"default",defaultObject:"redirect-warn"};this.buildInfo={snapshot:undefined,contextDependencies:this._contextDependencies};this.dependencies.length=0;this.blocks.length=0;const a=Date.now();this.resolveDependencies(r,this.options,(e,n)=>{if(e){return i(o(e,"ContextModule.resolveDependencies"))}if(!n){i();return}for(const e of n){e.loc={name:e.userRequest};e.request=this.options.addon+e.request}n.sort(p(d(e=>e.loc,f),h(this.dependencies)));if(this.options.mode==="sync"||this.options.mode==="eager"){this.dependencies=n}else if(this.options.mode==="lazy-once"){if(n.length>0){const e=new s({...this.options.groupOptions,name:this.options.chunkName});for(const t of n){e.addDependency(t)}this.addBlock(e)}}else if(this.options.mode==="weak"||this.options.mode==="async-weak"){for(const e of n){e.weak=true}this.dependencies=n}else if(this.options.mode==="lazy"){let e=0;for(const t of n){let n=this.options.chunkName;if(n){if(!/\[(index|request)\]/.test(n)){n+="[index]"}n=n.replace(/\[index\]/g,`${e++}`);n=n.replace(/\[request\]/g,u.toPath(t.userRequest))}const r=new s({...this.options.groupOptions,name:n},t.loc,t.userRequest);r.addDependency(t);this.addBlock(r)}}else{i(new l(`Unsupported mode "${this.options.mode}" in context`));return}t.fileSystemInfo.createSnapshot(a,null,[this.context],null,{},(e,t)=>{if(e)return i(e);this.buildInfo.snapshot=t;i()})})}getUserRequestMap(e,t){const n=t.moduleGraph;const r=e.filter(e=>n.getModule(e)).sort((e,t)=>{if(e.userRequest===t.userRequest){return 0}return e.userRequestn.getModule(e)).filter(Boolean).sort(i);const o=Object.create(null);for(const e of s){const i=e.getExportsType(n,this.options.namespaceObject==="strict");const s=t.getModuleId(e);switch(i){case"namespace":o[s]=9;r|=1;break;case"dynamic":o[s]=7;r|=2;break;case"default-only":o[s]=1;r|=4;break;case"default-with-named":o[s]=3;r|=8;break;default:throw new Error(`Unexpected exports type ${i}`)}}if(r===1){return 9}if(r===2){return 7}if(r===4){return 1}if(r===8){return 3}if(r===0){return 9}return o}getFakeMapInitStatement(e){return typeof e==="object"?`var fakeMap = ${JSON.stringify(e,null,"\t")};`:""}getReturn(e){if(e===9){return"__webpack_require__(id)"}return`${c.createFakeNamespaceObject}(id, ${e})`}getReturnModuleObjectSource(e,t="fakeMap[id]"){if(typeof e==="number"){return`return ${this.getReturn(e)};`}return`return ${c.createFakeNamespaceObject}(id, ${t})`}getSyncSource(e,t,n){const r=this.getUserRequestMap(e,n);const i=this.getFakeMap(e,n);const s=this.getReturnModuleObjectSource(i);return`var map = ${JSON.stringify(r,null,"\t")};\n${this.getFakeMapInitStatement(i)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\t${s}\n}\nfunction webpackContextResolve(req) {\n\tif(!${c.hasOwnProperty}(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = ${JSON.stringify(t)};`}getWeakSyncSource(e,t,n){const r=this.getUserRequestMap(e,n);const i=this.getFakeMap(e,n);const s=this.getReturnModuleObjectSource(i);return`var map = ${JSON.stringify(r,null,"\t")};\n${this.getFakeMapInitStatement(i)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tif(!${c.moduleFactories}[id]) {\n\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t${s}\n}\nfunction webpackContextResolve(req) {\n\tif(!${c.hasOwnProperty}(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nwebpackContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackContext;`}getAsyncWeakSource(e,t,{chunkGraph:n,runtimeTemplate:r}){const i=r.supportsArrowFunction();const s=this.getUserRequestMap(e,n);const o=this.getFakeMap(e,n);const a=this.getReturnModuleObjectSource(o);return`var map = ${JSON.stringify(s,null,"\t")};\n${this.getFakeMapInitStatement(o)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${i?"id =>":"function(id)"} {\n\t\tif(!${c.moduleFactories}[id]) {\n\t\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\t${a}\n\t});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${i?"() =>":"function()"} {\n\t\tif(!${c.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${r.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackAsyncContext;`}getEagerSource(e,t,{chunkGraph:n,runtimeTemplate:r}){const i=r.supportsArrowFunction();const s=this.getUserRequestMap(e,n);const o=this.getFakeMap(e,n);const a=o!==9?`${i?"id =>":"function(id)"} {\n\t\t${this.getReturnModuleObjectSource(o)}\n\t}`:"__webpack_require__";return`var map = ${JSON.stringify(s,null,"\t")};\n${this.getFakeMapInitStatement(o)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${a});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${i?"() =>":"function()"} {\n\t\tif(!${c.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${r.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackAsyncContext;`}getLazyOnceSource(e,t,n,{runtimeTemplate:r,chunkGraph:i}){const s=r.blockPromise({chunkGraph:i,block:e,message:"lazy-once context",runtimeRequirements:new Set});const o=r.supportsArrowFunction();const a=this.getUserRequestMap(t,i);const u=this.getFakeMap(t,i);const l=u!==9?`${o?"id =>":"function(id)"} {\n\t\t${this.getReturnModuleObjectSource(u)};\n\t}`:"__webpack_require__";return`var map = ${JSON.stringify(a,null,"\t")};\n${this.getFakeMapInitStatement(u)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${l});\n}\nfunction webpackAsyncContextResolve(req) {\n\treturn ${s}.then(${o?"() =>":"function()"} {\n\t\tif(!${c.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${r.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(n)};\nmodule.exports = webpackAsyncContext;`}getLazySource(e,t,{chunkGraph:n,runtimeTemplate:r}){const i=n.moduleGraph;const s=r.supportsArrowFunction();let o=false;let a=true;const u=this.getFakeMap(e.map(e=>e.dependencies[0]),n);const l=typeof u==="object";const f=e.map(e=>{const t=e.dependencies[0];return{dependency:t,module:i.getModule(t),block:e,userRequest:t.userRequest,chunks:undefined}}).filter(e=>e.module);for(const e of f){const t=n.getBlockChunkGroup(e.block);const r=t&&t.chunks||[];e.chunks=r;if(r.length>0){a=false}if(r.length!==1){o=true}}const p=a&&!l;const d=f.sort((e,t)=>{if(e.userRequest===t.userRequest)return 0;return e.userRequeste.id))}}const m=l?2:1;const g=a?"Promise.resolve()":o?`Promise.all(ids.slice(${m}).map(${c.ensureChunk}))`:`${c.ensureChunk}(ids[${m}])`;const y=this.getReturnModuleObjectSource(u,p?"invalid":"ids[1]");const v=g==="Promise.resolve()"?`${p?"":""}\nfunction webpackAsyncContext(req) {\n\treturn Promise.resolve().then(${s?"() =>":"function()"} {\n\t\tif(!${c.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\n\t\t${p?"var id = map[req];":"var ids = map[req], id = ids[0];"}\n\t\t${y}\n\t});\n}`:`function webpackAsyncContext(req) {\n\tif(!${c.hasOwnProperty}(map, req)) {\n\t\treturn Promise.resolve().then(${s?"() =>":"function()"} {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn ${g}.then(${s?"() =>":"function()"} {\n\t\t${y}\n\t});\n}`;return`var map = ${JSON.stringify(h,null,"\t")};\n${v}\nwebpackAsyncContext.keys = ${r.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackAsyncContext;`}getSourceForEmptyContext(e,t){return`function webpackEmptyContext(req) {\n\tvar e = new Error("Cannot find module '" + req + "'");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = ${t.returningFunction("[]")};\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = ${JSON.stringify(e)};\nmodule.exports = webpackEmptyContext;`}getSourceForEmptyAsyncContext(e,t){const n=t.supportsArrowFunction();return`function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${n?"() =>":"function()"} {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = ${t.returningFunction("[]")};\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = ${JSON.stringify(e)};\nmodule.exports = webpackEmptyAsyncContext;`}getSourceString(e,{runtimeTemplate:t,chunkGraph:n}){const r=n.getModuleId(this);if(e==="lazy"){if(this.blocks&&this.blocks.length>0){return this.getLazySource(this.blocks,r,{runtimeTemplate:t,chunkGraph:n})}return this.getSourceForEmptyAsyncContext(r,t)}if(e==="eager"){if(this.dependencies&&this.dependencies.length>0){return this.getEagerSource(this.dependencies,r,{chunkGraph:n,runtimeTemplate:t})}return this.getSourceForEmptyAsyncContext(r,t)}if(e==="lazy-once"){const e=this.blocks[0];if(e){return this.getLazyOnceSource(e,e.dependencies,r,{runtimeTemplate:t,chunkGraph:n})}return this.getSourceForEmptyAsyncContext(r,t)}if(e==="async-weak"){if(this.dependencies&&this.dependencies.length>0){return this.getAsyncWeakSource(this.dependencies,r,{chunkGraph:n,runtimeTemplate:t})}return this.getSourceForEmptyAsyncContext(r,t)}if(e==="weak"){if(this.dependencies&&this.dependencies.length>0){return this.getWeakSyncSource(this.dependencies,r,n)}}if(this.dependencies&&this.dependencies.length>0){return this.getSyncSource(this.dependencies,r,n)}return this.getSourceForEmptyContext(r,t)}getSource(e){if(this.useSourceMap){return new r(e,this.identifier())}return new i(e)}codeGeneration(e){const{chunkGraph:t}=e;const n=new Map;n.set("javascript",this.getSource(this.getSourceString(this.options.mode,e)));const r=new Set;const i=this.dependencies.concat(this.blocks.map(e=>e.dependencies[0]));r.add(c.module);r.add(c.hasOwnProperty);if(i.length>0){const e=this.options.mode;r.add(c.require);if(e==="weak"){r.add(c.moduleFactories)}else if(e==="async-weak"){r.add(c.moduleFactories);r.add(c.ensureChunk)}else if(e==="lazy"||e==="lazy-once"){r.add(c.ensureChunk)}if(this.getFakeMap(i,t)!==9){r.add(c.createFakeNamespaceObject)}}return{sources:n,runtimeRequirements:r}}size(e){let t=160;for(const e of this.dependencies){const n=e;t+=5+n.userRequest.length}return t}serialize(e){const{write:t}=e;t(this._identifier);t(this._forceBuild);super.serialize(e)}deserialize(e){const{read:t}=e;this._identifier=t();this._forceBuild=t();super.deserialize(e)}}v(ContextModule,"webpack/lib/ContextModule");e.exports=ContextModule},89869:(e,t,n)=>{"use strict";const r=n(62355);const{AsyncSeriesWaterfallHook:i,SyncWaterfallHook:s}=n(92960);const o=n(58126);const a=n(40674);const c=n(90872);const{cachedSetProperty:u}=n(90149);const{createFakeHook:l}=n(16595);const{join:f}=n(95396);const p={};e.exports=class ContextModuleFactory extends a{constructor(e){super();const t=new i(["modules","options"]);this.hooks=Object.freeze({beforeResolve:new i(["data"]),afterResolve:new i(["data"]),contextModuleFiles:new s(["files"]),alternatives:l({name:"alternatives",intercept:e=>{throw new Error("Intercepting fake hook ContextModuleFactory.hooks.alternatives is not possible, use ContextModuleFactory.hooks.alternativeRequests instead")},tap:(e,n)=>{t.tap(e,n)},tapAsync:(e,n)=>{t.tapAsync(e,(e,t,r)=>n(e,r))},tapPromise:(e,n)=>{t.tapPromise(e,n)}},"ContextModuleFactory.hooks.alternatives has deprecated in favor of ContextModuleFactory.hooks.alternativeRequests with an additional options argument.","DEP_WEBPACK_CONTEXT_MODULE_FACTORY_ALTERNATIVES"),alternativeRequests:t});this.resolverFactory=e}create(e,t){const n=e.context;const i=e.dependencies;const s=e.resolveOptions;const a=i[0];const c=new Set;const l=new Set;const f=new Set;this.hooks.beforeResolve.callAsync({context:n,dependencies:i,resolveOptions:s,fileDependencies:c,missingDependencies:l,contextDependencies:f,...a.options},(e,n)=>{if(e){return t(e,{fileDependencies:c,missingDependencies:l,contextDependencies:f})}if(!n){return t(null,{fileDependencies:c,missingDependencies:l,contextDependencies:f})}const s=n.context;const a=n.request;const d=n.resolveOptions;let h,m,g="";const y=a.lastIndexOf("!");if(y>=0){let e=a.substr(0,y+1);let t;for(t=0;t0?u(d||p,"dependencyType",i[0].category):d);const _=this.resolverFactory.get("loader");r.parallel([e=>{v.resolve({},s,m,{fileDependencies:c,missingDependencies:l,contextDependencies:f},(t,n)=>{if(t)return e(t);e(null,n)})},e=>{r.map(h,(e,t)=>{_.resolve({},s,e,{fileDependencies:c,missingDependencies:l,contextDependencies:f},(e,n)=>{if(e)return t(e);t(null,n)})},e)}],(e,r)=>{if(e){return t(e,{fileDependencies:c,missingDependencies:l,contextDependencies:f})}this.hooks.afterResolve.callAsync({addon:g+r[1].join("!")+(r[1].length>0?"!":""),resource:r[0],resolveDependencies:this.resolveDependencies.bind(this),...n},(e,n)=>{if(e){return t(e,{fileDependencies:c,missingDependencies:l,contextDependencies:f})}if(!n){return t(null,{fileDependencies:c,missingDependencies:l,contextDependencies:f})}return t(null,{module:new o(n.resolveDependencies,n),fileDependencies:c,missingDependencies:l,contextDependencies:f})})})})}resolveDependencies(e,t,n){const i=this;const{resource:s,resourceQuery:o,resourceFragment:a,recursive:u,regExp:l,include:p,exclude:d,referencedExports:h,category:m}=t;if(!l||!s)return n(null,[]);const g=(n,y)=>{e.readdir(n,(v,_)=>{if(v)return y(v);_=_.map(e=>e.normalize("NFC"));_=i.hooks.contextModuleFiles.call(_);if(!_||_.length===0)return y(null,[]);r.map(_.filter(e=>e.indexOf(".")!==0),(r,i)=>{const y=f(e,n,r);if(!d||!y.match(d)){e.stat(y,(e,n)=>{if(e){if(e.code==="ENOENT"){return i()}else{return i(e)}}if(n.isDirectory()){if(!u)return i();g.call(this,y,i)}else if(n.isFile()&&(!p||y.match(p))){const e={context:s,request:"."+y.substr(s.length).replace(/\\/g,"/")};this.hooks.alternativeRequests.callAsync([e],t,(e,t)=>{if(e)return i(e);t=t.filter(e=>l.test(e.request)).map(e=>{const t=new c(e.request+o+a,e.request,m,h);t.optional=true;return t});i(null,t)})}else{i()}})}else{i()}},(e,t)=>{if(e)return y(e);if(!t)return y(null,[]);const n=[];for(const e of t){if(e)n.push(...e)}y(null,n)})})};g(s,n)}}},26552:(e,t,n)=>{"use strict";const r=n(90872);const{join:i}=n(95396);class ContextReplacementPlugin{constructor(e,t,n,r){this.resourceRegExp=e;if(typeof t==="function"){this.newContentCallback=t}else if(typeof t==="string"&&typeof n==="object"){this.newContentResource=t;this.newContentCreateContextMap=((e,t)=>{t(null,n)})}else if(typeof t==="string"&&typeof n==="function"){this.newContentResource=t;this.newContentCreateContextMap=n}else{if(typeof t!=="string"){r=n;n=t;t=undefined}if(typeof n!=="boolean"){r=n;n=undefined}this.newContentResource=t;this.newContentRecursive=n;this.newContentRegExp=r}}apply(e){const t=this.resourceRegExp;const n=this.newContentCallback;const r=this.newContentResource;const o=this.newContentRecursive;const a=this.newContentRegExp;const c=this.newContentCreateContextMap;e.hooks.contextModuleFactory.tap("ContextReplacementPlugin",u=>{u.hooks.beforeResolve.tap("ContextReplacementPlugin",e=>{if(!e)return;if(t.test(e.request)){if(r!==undefined){e.request=r}if(o!==undefined){e.recursive=o}if(a!==undefined){e.regExp=a}if(typeof n==="function"){n(e)}else{for(const t of e.dependencies){if(t.critical)t.critical=false}}}return e});u.hooks.afterResolve.tap("ContextReplacementPlugin",u=>{if(!u)return;if(t.test(u.resource)){if(r!==undefined){if(r.startsWith("/")||r.length>1&&r[1]===":"){u.resource=r}else{u.resource=i(e.inputFileSystem,u.resource,r)}}if(o!==undefined){u.recursive=o}if(a!==undefined){u.regExp=a}if(typeof c==="function"){u.resolveDependencies=s(c)}if(typeof n==="function"){const t=u.resource;n(u);if(u.resource!==t&&!u.resource.startsWith("/")&&(u.resource.length<=1||u.resource[1]!==":")){u.resource=i(e.inputFileSystem,t,u.resource)}}else{for(const e of u.dependencies){if(e.critical)e.critical=false}}}return u})})}}const s=e=>{const t=(t,n,i)=>{e(t,(e,t)=>{if(e)return i(e);const s=Object.keys(t).map(e=>{return new r(t[e]+n.resourceQuery+n.resourceFragment,e,n.category,n.referencedExports)});i(null,s)})};return t};e.exports=ContextReplacementPlugin},24820:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66298);const s=n(87250);const{approve:o,evaluateToString:a,toConstantDependency:c}=n(48472);class RuntimeValue{constructor(e,t){this.fn=e;this.fileDependencies=t||[]}exec(e){const t=e.state.module.buildInfo;if(this.fileDependencies===true){t.cacheable=false}else{for(const e of this.fileDependencies){t.fileDependencies.add(e);if(!t.snapshot.fileTimestamps.has(e))t.snapshot.fileTimestamps.set(e,{})}}return this.fn({module:e.state.module})}}const u=(e,t,n)=>{if(Array.isArray(e)){return"Object(["+e.map(e=>l(e,t,n)).join(",")+"])"}return"Object({"+Object.keys(e).map(r=>{const i=e[r];return JSON.stringify(r)+":"+l(i,t,n)}).join(",")+"})"};const l=(e,t,n)=>{if(e===null){return"null"}if(e===undefined){return"undefined"}if(Object.is(e,-0)){return"-0"}if(e instanceof RuntimeValue){return l(e.exec(t),t,n)}if(e instanceof RegExp&&e.toString){return e.toString()}if(typeof e==="function"&&e.toString){return"("+e.toString()+")"}if(typeof e==="object"){return u(e,t,n)}if(typeof e==="bigint"){return n>=11?`${e}n`:`BigInt("${e}")`}return e+""};class DefinePlugin{constructor(e){this.definitions=e}static runtimeValue(e,t){return new RuntimeValue(e,t)}apply(e){const t=this.definitions;e.hooks.compilation.tap("DefinePlugin",(e,{normalModuleFactory:n})=>{e.dependencyTemplates.set(i,new i.Template);const{ecmaVersion:f}=e.outputOptions;const p=e=>{const n=(e,t)=>{Object.keys(e).forEach(r=>{const s=e[r];if(s&&typeof s==="object"&&!(s instanceof RuntimeValue)&&!(s instanceof RegExp)){n(s,t+r+".");d(t+r,s);return}i(t,r);p(t+r,s)})};const i=(t,n)=>{const r=n.split(".");r.slice(1).forEach((n,i)=>{const s=t+r.slice(0,i+1).join(".");e.hooks.canRename.for(s).tap("DefinePlugin",o)})};const p=(t,n)=>{const i=/^typeof\s+/.test(t);if(i)t=t.replace(/^typeof\s+/,"");let s=false;let a=false;if(!i){e.hooks.canRename.for(t).tap("DefinePlugin",o);e.hooks.evaluateIdentifier.for(t).tap("DefinePlugin",t=>{if(s)return;s=true;const r=e.evaluate(l(n,e,f));s=false;r.setRange(t.range);return r});e.hooks.expression.for(t).tap("DefinePlugin",t=>{const i=l(n,e,f);if(/__webpack_require__\s*(!?\.)/.test(i)){return c(e,i,[r.require])(t)}else if(/__webpack_require__/.test(i)){return c(e,i,[r.requireScope])(t)}else{return c(e,i)(t)}})}e.hooks.evaluateTypeof.for(t).tap("DefinePlugin",t=>{if(a)return;a=true;const r=i?l(n,e,f):"typeof ("+l(n,e,f)+")";const s=e.evaluate(r);a=false;s.setRange(t.range);return s});e.hooks.typeof.for(t).tap("DefinePlugin",t=>{const r=i?l(n,e,f):"typeof ("+l(n,e,f)+")";const s=e.evaluate(r);if(!s.isString())return;return c(e,JSON.stringify(s.string)).bind(e)(t)})};const d=(t,n)=>{e.hooks.canRename.for(t).tap("DefinePlugin",o);e.hooks.evaluateIdentifier.for(t).tap("DefinePlugin",e=>(new s).setTruthy().setSideEffects(false).setRange(e.range));e.hooks.evaluateTypeof.for(t).tap("DefinePlugin",a("object"));e.hooks.expression.for(t).tap("DefinePlugin",t=>{const i=u(n,e,f);if(/__webpack_require__\s*(!?\.)/.test(i)){return c(e,i,[r.require])(t)}else if(/__webpack_require__/.test(i)){return c(e,i,[r.requireScope])(t)}else{return c(e,i)(t)}});e.hooks.typeof.for(t).tap("DefinePlugin",c(e,JSON.stringify("object")))};n(t,"")};n.hooks.parser.for("javascript/auto").tap("DefinePlugin",p);n.hooks.parser.for("javascript/dynamic").tap("DefinePlugin",p);n.hooks.parser.for("javascript/esm").tap("DefinePlugin",p)})}}e.exports=DefinePlugin},3955:(e,t,n)=>{"use strict";const{OriginalSource:r,RawSource:i}=n(48135);const s=n(53453);const o=n(76150);const a=n(49422);const c=n(96076);const u=n(56202);const l=new Set(["javascript"]);const f=new Set([o.module,o.require]);class DelegatedModule extends s{constructor(e,t,n,r,i){super("javascript/dynamic",null);this.sourceRequest=e;this.request=t.id;this.delegationType=n;this.userRequest=r;this.originalRequest=i;this.delegateData=t;this.delegatedSourceDependency=undefined}getSourceTypes(){return l}libIdent(e){return typeof this.originalRequest==="string"?this.originalRequest:this.originalRequest.libIdent(e)}identifier(){return`delegated ${JSON.stringify(this.request)} from ${this.sourceRequest}`}readableIdentifier(e){return`delegated ${this.userRequest} from ${this.sourceRequest}`}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,i){this.buildMeta={...this.delegateData.buildMeta};this.buildInfo={};this.dependencies.length=0;this.delegatedSourceDependency=new a(this.sourceRequest);this.addDependency(this.delegatedSourceDependency);this.addDependency(new c(this.delegateData.exports||true,false));i()}codeGeneration({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const s=this.dependencies[0];const o=t.getModule(s);let a;if(!o){a=e.throwMissingModuleErrorBlock({request:this.sourceRequest})}else{a=`module.exports = (${e.moduleExports({module:o,chunkGraph:n,request:s.request,runtimeRequirements:new Set})})`;switch(this.delegationType){case"require":a+=`(${JSON.stringify(this.request)})`;break;case"object":a+=`[${JSON.stringify(this.request)}]`;break}a+=";"}const c=new Map;if(this.useSourceMap){c.set("javascript",new r(a,this.identifier()))}else{c.set("javascript",new i(a))}return{sources:c,runtimeRequirements:f}}size(e){return 42}updateHash(e,t){e.update(this.delegationType);e.update(JSON.stringify(this.request));super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.sourceRequest);t(this.delegateData);t(this.delegationType);t(this.userRequest);t(this.originalRequest);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new DelegatedModule(t(),t(),t(),t(),t());n.deserialize(e);return n}updateCacheModule(e){super.updateCacheModule(e);const t=e;this.delegationType=t.delegationType;this.userRequest=t.userRequest;this.originalRequest=t.originalRequest;this.delegateData=t.delegateData}}u(DelegatedModule,"webpack/lib/DelegatedModule");e.exports=DelegatedModule},56396:(e,t,n)=>{"use strict";const r=n(3955);class DelegatedModuleFactoryPlugin{constructor(e){this.options=e;e.type=e.type||"require";e.extensions=e.extensions||["",".mjs",".js",".json",".wasm"]}apply(e){const t=this.options.scope;if(t){e.hooks.factorize.tapAsync("DelegatedModuleFactoryPlugin",(e,n)=>{const[i]=e.dependencies;const{request:s}=i;if(s&&s.startsWith(`${t}/`)){const e="."+s.substr(t.length);let i;if(e in this.options.content){i=this.options.content[e];return n(null,new r(this.options.source,i,this.options.type,e,s))}for(let t=0;t{const t=e.libIdent(this.options);if(t){if(t in this.options.content){const n=this.options.content[t];return new r(this.options.source,n,this.options.type,t,e)}}return e})}}}e.exports=DelegatedModuleFactoryPlugin},82354:(e,t,n)=>{"use strict";const r=n(56396);const i=n(49422);class DelegatedPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("DelegatedPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t)});e.hooks.compile.tap("DelegatedPlugin",({normalModuleFactory:t})=>{new r({associatedObjectForCache:e.root,...this.options}).apply(t)})}}e.exports=DelegatedPlugin},32448:(e,t,n)=>{"use strict";const r=n(56202);class DependenciesBlock{constructor(){this.dependencies=[];this.blocks=[]}addBlock(e){this.blocks.push(e);e.parent=this}addDependency(e){this.dependencies.push(e)}removeDependency(e){const t=this.dependencies.indexOf(e);if(t>=0){this.dependencies.splice(t,1)}}clearDependenciesAndBlocks(){this.dependencies.length=0;this.blocks.length=0}updateHash(e,t){for(const n of this.dependencies){n.updateHash(e,t)}for(const n of this.blocks){n.updateHash(e,t)}}serialize({write:e}){e(this.dependencies);e(this.blocks)}deserialize({read:e}){this.dependencies=e();this.blocks=e();for(const e of this.blocks){e.parent=this}}}r(DependenciesBlock,"webpack/lib/DependenciesBlock");e.exports=DependenciesBlock},28706:e=>{"use strict";class Dependency{constructor(){this.weak=false;this.optional=false;this.loc=undefined}get type(){return"unknown"}get category(){return"unknown"}getResourceIdentifier(){return null}getReference(e){throw new Error("Dependency.getReference was removed in favor of Dependency.getReferencedExports, ModuleGraph.getModule and ModuleGraph.getConnection().active")}getReferencedExports(e,t){return Dependency.EXPORTS_OBJECT_REFERENCED}getCondition(e){return null}getExports(e){return undefined}getWarnings(e){return null}getErrors(e){return null}updateHash(e,t){const{chunkGraph:n}=t;const r=n.moduleGraph.getModule(this);if(r){e.update(n.getModuleId(r)+"")}}getNumberOfIdOccurrences(){return 1}serialize({write:e}){e(this.weak);e(this.optional);e(this.loc)}deserialize({read:e}){this.weak=e();this.optional=e();this.loc=e()}}Dependency.NO_EXPORTS_REFERENCED=[];Dependency.EXPORTS_OBJECT_REFERENCED=[[]];Object.defineProperty(Dependency.prototype,"module",{get(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.getModule(dependency) instead)")},set(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.updateModule(dependency, module) instead)")}});Object.defineProperty(Dependency.prototype,"disconnect",{get(){throw new Error("disconnect was removed from Dependency (Dependency no longer carries graph specific information)")}});e.exports=Dependency},84304:(e,t,n)=>{"use strict";class DependencyTemplate{apply(e,t,r){const i=n(75884);throw new i}}e.exports=DependencyTemplate},46828:(e,t,n)=>{"use strict";const r=n(35891);class DependencyTemplates{constructor(){this._map=new Map;this._hash="31d6cfe0d16ae931b73c59d7e0c089c0"}get(e){return this._map.get(e)}set(e,t){this._map.set(e,t)}updateHash(e){const t=r("md4");t.update(this._hash);t.update(e);this._hash=t.digest("hex")}getHash(){return this._hash}clone(){const e=new DependencyTemplates;e._map=new Map(this._map);e._hash=this._hash;return e}}e.exports=DependencyTemplates},9013:(e,t,n)=>{"use strict";const r=n(80419);const i=n(95189);const s=n(66583);class DllEntryPlugin{constructor(e,t,n){this.context=e;this.entries=t;this.options=n}apply(e){e.hooks.compilation.tap("DllEntryPlugin",(e,{normalModuleFactory:t})=>{const n=new r;e.dependencyFactories.set(i,n);e.dependencyFactories.set(s,t)});e.hooks.make.tapAsync("DllEntryPlugin",(e,t)=>{e.addEntry(this.context,new i(this.entries.map((e,t)=>{const n=new s(e);n.loc={name:this.options.name,index:t};return n}),this.options.name),this.options,t)})}}e.exports=DllEntryPlugin},44593:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(53453);const s=n(76150);const o=n(56202);const a=new Set(["javascript"]);const c=new Set([s.require,s.module]);class DllModule extends i{constructor(e,t,n){super("javascript/dynamic",e);this.dependencies=t;this.name=n}getSourceTypes(){return a}identifier(){return`dll ${this.name}`}readableIdentifier(e){return`dll ${this.name}`}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={};return i()}codeGeneration(e){const t=new Map;t.set("javascript",new r("module.exports = __webpack_require__;"));return{sources:t,runtimeRequirements:c}}needBuild(e,t){return t(null,!this.buildMeta)}size(e){return 12}updateHash(e,t){e.update("dll module");e.update(this.name||"");super.updateHash(e,t)}serialize(e){e.write(this.name);super.serialize(e)}deserialize(e){this.name=e.read();super.deserialize(e)}updateCacheModule(e){super.updateCacheModule(e);this.dependencies=e.dependencies}}o(DllModule,"webpack/lib/DllModule");e.exports=DllModule},80419:(e,t,n)=>{"use strict";const r=n(44593);const i=n(40674);class DllModuleFactory extends i{constructor(){super();this.hooks=Object.freeze({})}create(e,t){const n=e.dependencies[0];t(null,{module:new r(e.context,n.dependencies,n.name)})}}e.exports=DllModuleFactory},73887:(e,t,n)=>{"use strict";const r=n(9013);const i=n(6283);const s=n(77750);const o=n(15235);const a=n(39670);class DllPlugin{constructor(e){o(a,e,{name:"Dll Plugin",baseDataPath:"options"});this.options={...e,entryOnly:e.entryOnly!==false}}apply(e){e.hooks.entryOption.tap("DllPlugin",(t,n)=>{if(typeof n!=="function"){for(const i of Object.keys(n)){const s={name:i,filename:n.filename};new r(t,n[i].import,s).apply(e)}}else{throw new Error("DllPlugin doesn't support dynamic entry (function) yet")}return true});new s(this.options).apply(e);if(!this.options.entryOnly){new i("DllPlugin").apply(e)}}}e.exports=DllPlugin},83515:(e,t,n)=>{"use strict";const r=n(78688);const i=n(56396);const s=n(59084);const o=n(81627);const a=n(49422);const c=n(49197).makePathsRelative;const u=n(15235);const l=n(53670);class DllReferencePlugin{constructor(e){u(l,e,{name:"Dll Reference Plugin",baseDataPath:"options"});this.options=e;this._compilationData=new WeakMap}apply(e){e.hooks.compilation.tap("DllReferencePlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(a,t)});e.hooks.beforeCompile.tapAsync("DllReferencePlugin",(t,n)=>{if("manifest"in this.options){const i=this.options.manifest;if(typeof i==="string"){e.inputFileSystem.readFile(i,(s,o)=>{if(s)return n(s);const a={path:i,data:undefined,error:undefined};try{a.data=r(o.toString("utf-8"))}catch(t){const n=c(e.options.context,i,e.root);a.error=new DllManifestError(n,t.message)}this._compilationData.set(t,a);return n()});return}}return n()});e.hooks.compile.tap("DllReferencePlugin",t=>{let n=this.options.name;let r=this.options.sourceType;let o="content"in this.options?this.options.content:undefined;if("manifest"in this.options){let e=this.options.manifest;let i;if(typeof e==="string"){const e=this._compilationData.get(t);if(e.error){return}i=e.data}else{i=e}if(i){if(!n)n=i.name;if(!r)r=i.type;if(!o)o=i.content}}const a={};const c="dll-reference "+n;a[c]=n;const u=t.normalModuleFactory;new s(r||"var",a).apply(u);new i({source:c,type:this.options.type,scope:this.options.scope,context:this.options.context||e.options.context,content:o,extensions:this.options.extensions,associatedObjectForCache:e.root}).apply(u)});e.hooks.compilation.tap("DllReferencePlugin",(e,t)=>{if("manifest"in this.options){let n=this.options.manifest;if(typeof n==="string"){const r=this._compilationData.get(t);if(r.error){e.errors.push(r.error)}e.fileDependencies.add(n)}}})}}class DllManifestError extends o{constructor(e,t){super();this.name="DllManifestError";this.message=`Dll manifest ${e}\n${t}`;Error.captureStackTrace(this,this.constructor)}}e.exports=DllReferencePlugin},85227:(e,t,n)=>{"use strict";const r=n(64699);const i=n(59674);const s=n(66583);class DynamicEntryPlugin{constructor(e,t){this.context=e;this.entry=t}apply(e){e.hooks.compilation.tap("DynamicEntryPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,t)});e.hooks.make.tapPromise("DynamicEntryPlugin",(t,n)=>Promise.resolve(this.entry()).then(n=>{const s=[];for(const o of Object.keys(n)){const a=n[o];const c=r.entryDescriptionToOptions(e,o,a);for(const e of a.import){s.push(new Promise((n,r)=>{t.addEntry(this.context,i.createDependency(e,c),c,e=>{if(e)return r(e);n()})}))}}return Promise.all(s)}).then(e=>{}))}}e.exports=DynamicEntryPlugin},64699:(e,t,n)=>{"use strict";class EntryOptionPlugin{apply(e){e.hooks.entryOption.tap("EntryOptionPlugin",(t,r)=>{if(typeof r==="function"){const i=n(85227);new i(t,r).apply(e)}else{const i=n(59674);for(const n of Object.keys(r)){const s=r[n];const o=EntryOptionPlugin.entryDescriptionToOptions(e,n,s);for(const n of s.import){new i(t,n,o).apply(e)}}}return true})}static entryDescriptionToOptions(e,t,r){const i={name:t,filename:r.filename,runtime:r.runtime,dependOn:r.dependOn,library:r.library};if(r.library){const t=n(13984);t.checkEnabled(e,r.library.type)}return i}}e.exports=EntryOptionPlugin},59674:(e,t,n)=>{"use strict";const r=n(66583);class EntryPlugin{constructor(e,t,n){this.context=e;this.entry=t;this.options=n||""}apply(e){e.hooks.compilation.tap("EntryPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(r,t)});e.hooks.make.tapAsync("EntryPlugin",(e,t)=>{const{entry:n,options:r,context:i}=this;const s=EntryPlugin.createDependency(n,r);e.addEntry(i,s,r,e=>{t(e)})})}static createDependency(e,t){const n=new r(e);n.loc={name:typeof t==="object"?t.name:t};return n}}e.exports=EntryPlugin},71452:(e,t,n)=>{"use strict";const r=n(84558);class Entrypoint extends r{constructor(e){super(e);this._runtimeChunk=undefined;this._entrypointChunk=undefined}isInitial(){return true}setRuntimeChunk(e){this._runtimeChunk=e}getRuntimeChunk(){if(this._runtimeChunk)return this._runtimeChunk;for(const e of this.parentsIterable){if(e instanceof Entrypoint)return e.getRuntimeChunk()}return null}setEntrypointChunk(e){this._entrypointChunk=e}getEntrypointChunk(){return this._entrypointChunk}replaceChunk(e,t){if(this._runtimeChunk===e)this._runtimeChunk=t;if(this._entrypointChunk===e)this._entrypointChunk=t;return super.replaceChunk(e,t)}}e.exports=Entrypoint},64856:(e,t,n)=>{"use strict";const r=n(24820);const i=n(81627);class EnvironmentPlugin{constructor(...e){if(e.length===1&&Array.isArray(e[0])){this.keys=e[0];this.defaultValues={}}else if(e.length===1&&e[0]&&typeof e[0]==="object"){this.keys=Object.keys(e[0]);this.defaultValues=e[0]}else{this.keys=e;this.defaultValues={}}}apply(e){const t={};for(const n of this.keys){const r=process.env[n]!==undefined?process.env[n]:this.defaultValues[n];if(r===undefined){e.hooks.thisCompilation.tap("EnvironmentPlugin",e=>{const t=new i(`EnvironmentPlugin - ${n} environment variable is undefined.\n\n`+"You can pass an object with default values to suppress this warning.\n"+"See https://webpack.js.org/plugins/environment-plugin for example.");t.name="EnvVariableNotDefinedError";e.errors.push(t)})}t[`process.env.${n}`]=r===undefined?"undefined":JSON.stringify(r)}new r(t).apply(e)}}e.exports=EnvironmentPlugin},50717:(e,t)=>{"use strict";const n="LOADER_EXECUTION";const r="WEBPACK_OPTIONS";t.cutOffByFlag=((e,t)=>{e=e.split("\n");for(let n=0;nt.cutOffByFlag(e,n));t.cutOffWebpackOptions=(e=>t.cutOffByFlag(e,r));t.cutOffMultilineMessage=((e,t)=>{e=e.split("\n");t=t.split("\n");const n=[];e.forEach((e,r)=>{if(!e.includes(t[r]))n.push(e)});return n.join("\n")});t.cutOffMessage=((e,t)=>{const n=e.indexOf("\n");if(n===-1){return e===t?"":e}else{const r=e.substr(0,n);return r===t?e.substr(n+1):e}});t.cleanUp=((e,n)=>{e=t.cutOffLoaderExecution(e);e=t.cutOffMessage(e,n);return e});t.cleanUpWebpackOptions=((e,n)=>{e=t.cutOffWebpackOptions(e);e=t.cutOffMultilineMessage(e,n);return e})},91331:(e,t,n)=>{"use strict";const{ConcatSource:r,RawSource:i}=n(48135);const s=n(70354);const o=n(18161);const a=new WeakMap;const c=new i(`/*\n * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").\n * This devtool is not neither made for production nor for readable output files.\n * It uses "eval()" calls to create a separate source file in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with "devtool: false".\n * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).\n */\n`);class EvalDevToolModulePlugin{constructor(e){this.namespace=e.namespace||"";this.sourceUrlComment=e.sourceUrlComment||"\n//# sourceURL=[url]";this.moduleFilenameTemplate=e.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[loaders]"}apply(e){e.hooks.compilation.tap("EvalDevToolModulePlugin",e=>{const t=o.getCompilationHooks(e);t.renderModuleContent.tap("EvalDevToolModulePlugin",(e,t,{runtimeTemplate:n,chunkGraph:r})=>{const o=a.get(e);if(o!==undefined)return o;const c=e.source();const u=s.createFilename(t,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:n.requestShortener,chunkGraph:r});const l="\n"+this.sourceUrlComment.replace(/\[url\]/g,encodeURI(u).replace(/%2F/g,"/").replace(/%20/g,"_").replace(/%5E/g,"^").replace(/%5C/g,"\\").replace(/^\//,""));const f=new i(`eval(${JSON.stringify(c+l)});`);a.set(e,f);return f});t.render.tap("EvalDevToolModulePlugin",e=>new r(c,e));t.chunkHash.tap("EvalDevToolModulePlugin",(e,t)=>{t.update("EvalDevToolModulePlugin");t.update("2")})})}}e.exports=EvalDevToolModulePlugin},23641:(e,t,n)=>{"use strict";const{ConcatSource:r,RawSource:i}=n(48135);const s=n(70354);const o=n(53520);const a=n(26867);const c=n(18161);const u=n(95734);const{absolutify:l}=n(49197);const f=new WeakMap;const p=new i(`/*\n * ATTENTION: An "eval-source-map" devtool has been used.\n * This devtool is not neither made for production nor for readable output files.\n * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with "devtool: false".\n * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).\n */\n`);class EvalSourceMapDevToolPlugin{constructor(e){let t;if(typeof e==="string"){t={append:e}}else{t=e}this.sourceMapComment=t.append||"//# sourceURL=[module]\n//# sourceMappingURL=[url]";this.moduleFilenameTemplate=t.moduleFilenameTemplate||"webpack://[namespace]/[resource-path]?[hash]";this.namespace=t.namespace||"";this.options=t}apply(e){const t=this.options;e.hooks.compilation.tap("EvalSourceMapDevToolPlugin",n=>{const d=c.getCompilationHooks(n);new a(t).apply(n);const h=s.matchObject.bind(s,t);d.renderModuleContent.tap("EvalSourceMapDevToolPlugin",(r,a,{runtimeTemplate:c,chunkGraph:p})=>{const d=f.get(r);if(d!==undefined){return d}if(a instanceof o){const e=a;if(!h(e.resource)){return r}}else if(a instanceof u){const e=a;if(e.rootModule instanceof o){const t=e.rootModule;if(!h(t.resource)){return r}}else{return r}}else{return r}let m;let g;if(r.sourceAndMap){const e=r.sourceAndMap(t);m=e.map;g=e.source}else{m=r.map(t);g=r.source()}if(!m){return r}m={...m};const y=e.options.context;const v=e.root;const _=m.sources.map(e=>{if(!e.startsWith("webpack://"))return e;e=l(y,e.slice(10),v);const t=n.findModule(e);return t||e});let b=_.map(e=>{return s.createFilename(e,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:c.requestShortener,chunkGraph:p})});b=s.replaceDuplicates(b,(e,t,n)=>{for(let t=0;tnew r(p,e));d.chunkHash.tap("EvalSourceMapDevToolPlugin",(e,t)=>{t.update("EvalSourceMapDevToolPlugin");t.update("2")})})}}e.exports=EvalSourceMapDevToolPlugin},76632:(e,t,n)=>{"use strict";const{equals:r}=n(73910);const i=n(16102);const s=n(56202);const{forEachRuntime:o}=n(37416);const a=Object.freeze({Unused:0,OnlyPropertiesUsed:1,NoInfo:2,Unknown:3,Used:4});const c=()=>true;class RestoreProvidedData{constructor(e,t,n,r){this.exports=e;this.otherProvided=t;this.otherCanMangleProvide=n;this.otherTerminalBinding=r}serialize({write:e}){e(this.exports);e(this.otherProvided);e(this.otherCanMangleProvide);e(this.otherTerminalBinding)}static deserialize({read:e}){return new RestoreProvidedData(e(),e(),e(),e())}}s(RestoreProvidedData,"webpack/lib/ModuleGraph","RestoreProvidedData");class ExportsInfo{constructor(){this._exports=new Map;this._otherExportsInfo=new ExportInfo(null);this._sideEffectsOnlyInfo=new ExportInfo("*side effects only*");this._exportsAreOrdered=false;this._redirectTo=undefined}get ownedExports(){return this._exports.values()}get orderedOwnedExports(){if(!this._exportsAreOrdered){this._sortExports()}return this._exports.values()}get exports(){if(this._redirectTo!==undefined){const e=new Map(this._redirectTo._exports);for(const[t,n]of this._exports){e.set(t,n)}return e.values()}return this._exports.values()}get orderedExports(){if(!this._exportsAreOrdered){this._sortExports()}if(this._redirectTo!==undefined){const e=new Map(Array.from(this._redirectTo.orderedExports,e=>[e.name,e]));for(const[t,n]of this._exports){e.set(t,n)}this._sortExportsMap(e);return e.values()}return this._exports.values()}get otherExportsInfo(){if(this._redirectTo!==undefined)return this._redirectTo.otherExportsInfo;return this._otherExportsInfo}_sortExportsMap(e){if(e.size>1){const t=Array.from(e.values());if(t.length!==2||t[0].name>t[1].name){t.sort((e,t)=>{return e.name0){const t=this.getReadOnlyExportInfo(e[0]);if(!t.exportsInfo)return undefined;return t.exportsInfo.getNestedExportsInfo(e.slice(1))}return this}setUnknownExportsProvided(e,t,n,r){let i=false;if(t){for(const e of t){this.getExportInfo(e)}}for(const s of this._exports.values()){if(t&&t.has(s.name))continue;if(s.provided!==true&&s.provided!==null){s.provided=null;i=true}if(!e&&s.canMangleProvide!==false){s.canMangleProvide=false;i=true}if(n){s.setTarget(n,r,[s.name])}}if(this._redirectTo!==undefined){if(this._redirectTo.setUnknownExportsProvided(e,t,n,r)){i=true}}else{if(this._otherExportsInfo.provided!==true&&this._otherExportsInfo.provided!==null){this._otherExportsInfo.provided=null;i=true}if(!e&&this._otherExportsInfo.canMangleProvide!==false){this._otherExportsInfo.canMangleProvide=false;i=true}if(n){this._otherExportsInfo.setTarget(n,r,undefined)}}return i}setUsedInUnknownWay(e){let t=false;for(const n of this._exports.values()){if(n.setUsedInUnknownWay(e)){t=true}}if(this._redirectTo!==undefined){if(this._redirectTo.setUsedInUnknownWay(e)){t=true}}else{if(this._otherExportsInfo.setUsedConditionally(e=>ee===a.Unused,a.Used,e)}isUsed(e){if(this._redirectTo!==undefined){if(this._redirectTo.isUsed(e)){return true}}else{if(this._otherExportsInfo.getUsed(e)!==a.Unused){return true}}for(const t of this._exports.values()){if(t.getUsed(e)!==a.Unused){return true}}return false}getUsedExports(e){if(!this._redirectTo!==undefined){switch(this._otherExportsInfo.getUsed(e)){case a.NoInfo:return null;case a.Unknown:return true;case a.OnlyPropertiesUsed:case a.Used:return true}}const t=[];if(!this._exportsAreOrdered)this._sortExports();for(const n of this._exports.values()){switch(n.getUsed(e)){case a.NoInfo:return null;case a.Unknown:return true;case a.OnlyPropertiesUsed:case a.Used:t.push(n.name)}}if(this._redirectTo!==undefined){const n=this._redirectTo.getUsedExports(e);if(n===null)return null;if(n===true)return true;if(n!==false){for(const e of n){t.push(e)}}}if(t.length===0){switch(this._sideEffectsOnlyInfo.getUsed(e)){case a.NoInfo:return null;case a.Unused:return false}}return new i(t)}getProvidedExports(){if(!this._redirectTo!==undefined){switch(this._otherExportsInfo.provided){case undefined:return null;case null:return true;case true:return true}}const e=[];if(!this._exportsAreOrdered)this._sortExports();for(const t of this._exports.values()){switch(t.provided){case undefined:return null;case null:return true;case true:e.push(t.name)}}if(this._redirectTo!==undefined){const t=this._redirectTo.getProvidedExports();if(t===null)return null;if(t===true)return true;for(const n of t){if(!e.includes(n)){e.push(n)}}}return e}hasStaticExportsList(e){if(this._redirectTo!==undefined&&!this._redirectTo.hasStaticExportsList(e))return false;if(this._otherExportsInfo.provided!==false&&this._otherExportsInfo.getUsed(e)!==a.Unused){return false}for(const t of this._exports.values()){if(typeof t.provided!=="boolean"&&t.getUsed(e)!==a.Unused){return false}}return true}isExportProvided(e){if(Array.isArray(e)){const t=this.getReadOnlyExportInfo(e[0]);if(t.exportsInfo&&e.length>1){return t.exportsInfo.isExportProvided(e.slice(1))}return t.provided}const t=this.getReadOnlyExportInfo(e);return t.provided}getUsageKey(e){const t=[];if(this._redirectTo!==undefined){t.push(this._redirectTo.getUsageKey(e))}else{t.push(this._otherExportsInfo.getUsed(e))}t.push(this._sideEffectsOnlyInfo.getUsed(e));for(const n of this.orderedOwnedExports){t.push(n.getUsed(e))}return t.join("|")}isEquallyUsed(e,t){if(this._redirectTo!==undefined){if(!this._redirectTo.isEquallyUsed(e,t))return false}else{if(this._otherExportsInfo.getUsed(e)!==this._otherExportsInfo.getUsed(t)){return false}}if(this._sideEffectsOnlyInfo.getUsed(e)!==this._sideEffectsOnlyInfo.getUsed(t)){return false}for(const n of this.ownedExports){if(n.getUsed(e)!==n.getUsed(t))return false}return true}getUsed(e,t){if(Array.isArray(e)){if(e.length===0)return this.otherExportsInfo.getUsed(t);let n=this.getReadOnlyExportInfo(e[0]);if(n.exportsInfo&&e.length>1){return n.exportsInfo.getUsed(e.slice(1),t)}return n.getUsed(t)}let n=this.getReadOnlyExportInfo(e);return n.getUsed(t)}getUsedName(e,t){if(Array.isArray(e)){if(e.length===0){if(!this.isUsed(t))return false;return e}let n=this.getReadOnlyExportInfo(e[0]);const r=n.getUsedName(e[0],t);if(r===false)return false;const i=r===e[0]&&e.length===1?e:[r];if(e.length===1){return i}if(n.exportsInfo&&n.getUsed(t)===a.OnlyPropertiesUsed){const r=n.exportsInfo.getUsedName(e.slice(1),t);if(!r)return false;return i.concat(r)}else{return i.concat(e.slice(1))}}else{let n=this.getReadOnlyExportInfo(e);const r=n.getUsedName(e,t);return r}}updateHash(e,t){for(const n of this.orderedExports){n.updateHash(e,t)}this._sideEffectsOnlyInfo.updateHash(e,t);this._otherExportsInfo.updateHash(e,t);if(this._redirectTo!==undefined){this._redirectTo.updateHash(e,t)}}getRestoreProvidedData(){const e=this._otherExportsInfo.provided;const t=this._otherExportsInfo.canMangleProvide;const n=this._otherExportsInfo.terminalBinding;const r=[];for(const i of this._exports.values()){if(i.provided!==e||i.canMangleProvide!==t||i.terminalBinding!==n||i.exportsInfoOwned){r.push({name:i.name,provided:i.provided,canMangleProvide:i.canMangleProvide,terminalBinding:i.terminalBinding,exportsInfo:i.exportsInfoOwned?i.exportsInfo.getRestoreProvidedData():undefined})}}return new RestoreProvidedData(r,e,t,n)}restoreProvided({otherProvided:e,otherCanMangleProvide:t,otherTerminalBinding:n,exports:r}){for(const r of this._exports.values()){r.provided=e;r.canMangleProvide=t;r.terminalBinding=n}this._otherExportsInfo.provided=e;this._otherExportsInfo.canMangleProvide=t;this._otherExportsInfo.terminalBinding=n;for(const e of r){const t=this.getExportInfo(e.name);t.provided=e.provided;t.canMangleProvide=e.canMangleProvide;t.terminalBinding=e.terminalBinding;if(e.exportsInfo){const n=t.createNestedExportsInfo();n.restoreProvided(e.exportsInfo)}}}}class ExportInfo{constructor(e,t){this.name=e;this._usedName=t?t._usedName:null;this._usedInRuntime=t&&t._usedInRuntime?new Map(t._usedInRuntime):undefined;this._hasUseInRuntimeInfo=t?t._hasUseInRuntimeInfo:false;this.provided=t?t.provided:undefined;this.terminalBinding=t?t.terminalBinding:false;this.canMangleProvide=t?t.canMangleProvide:undefined;this.canMangleUse=t?t.canMangleUse:undefined;this.exportsInfoOwned=false;this.exportsInfo=undefined;this._target=undefined;if(t&&t._target){this._target=new Map;for(const[n,r]of t._target){this._target.set(n,r?{module:r.module,export:[e]}:null)}}}get used(){throw new Error("REMOVED")}get usedName(){throw new Error("REMOVED")}set used(e){throw new Error("REMOVED")}set usedName(e){throw new Error("REMOVED")}get canMangle(){switch(this.canMangleProvide){case undefined:return this.canMangleUse===false?false:undefined;case false:return false;case true:switch(this.canMangleUse){case undefined:return undefined;case false:return false;case true:return true}}throw new Error(`Unexpected flags for canMangle ${this.canMangleProvide} ${this.canMangleUse}`)}setUsedInUnknownWay(e){let t=false;if(this.setUsedConditionally(e=>ethis._usedInRuntime.set(e,t));return true}}else{let r=false;o(n,n=>{let i=this._usedInRuntime.get(n);if(i===undefined)i=a.Unused;if(t!==i&&e(i)){if(t===a.Unused){this._usedInRuntime.delete(n)}else{this._usedInRuntime.set(n,t)}r=true}});if(r){if(this._usedInRuntime.size===0)this._usedInRuntime=undefined;return true}}return false}setUsed(e,t){if(this._usedInRuntime===undefined){if(e!==a.Unused){this._usedInRuntime=new Map;o(t,t=>this._usedInRuntime.set(t,e));return true}}else{let n=false;o(t,t=>{let r=this._usedInRuntime.get(t);if(r===undefined)r=a.Unused;if(e!==r){if(e===a.Unused){this._usedInRuntime.delete(t)}else{this._usedInRuntime.set(t,e)}n=true}});if(n){if(this._usedInRuntime.size===0)this._usedInRuntime=undefined;return true}}return false}setTarget(e,t,n){if(!this._target){this._target=new Map;this._target.set(e,t?{module:t,export:n}:null);return true}const i=this._target.get(e);if(!i){if(i===null&&!t)return false;this._target.set(e,t?{module:t,export:n}:null);return true}if(!t){this._target.set(e,null);return true}if(i.module!==t||(n?!i.export||!r(i.export,n):i.export)){i.module=t;i.export=n;return true}return false}getUsed(e){if(!this._hasUseInRuntimeInfo)return a.NoInfo;if(this._usedInRuntime===undefined){return a.Unused}else if(typeof e==="string"){const t=this._usedInRuntime.get(e);return t===undefined?a.Unused:t}else if(e===undefined){let e=a.Unused;for(const t of this._usedInRuntime.values()){if(t===a.Used){return a.Used}if(e!this._usedInRuntime.has(e))){return false}}}if(this._usedName!==null)return this._usedName;return this.name||e}hasUsedName(){return this._usedName!==null}setUsedName(e){this._usedName=e}getTerminalBinding(e){if(this.terminalBinding)return this;const t=this.getTarget(e);if(!t)return undefined;const n=e.getExportsInfo(t.module);if(!t.export)return n;return n.getReadOnlyExportInfoRecursive(t.export)}getTarget(e,t=c){return this._getTarget(e,t,undefined)}_getTarget(e,t,n){const i=(n,r)=>{if(!n)return null;if(!n.export)return n;if(!t(n))return n;let i=false;for(;;){const s=e.getExportsInfo(n.module);const o=s.getExportInfo(n.export[0]);if(!o)return n;if(r.has(o))return null;const a=o._getTarget(e,t,r);if(!a)return n;if(a.export||n.export.length===1)return a;n={module:a.module,export:n.export.slice(1)};if(!t(n))return n;if(!i){r=new Set(r);i=true}r.add(o)}};if(!this._target||this._target.size===0)return undefined;const s=new Set(n);s.add(this);if(this._target.size===1){return i(this._target.values().next().value,s)}const o=this._target.values();const a=i(o.next().value,s);if(a===null)return undefined;let c=o.next();while(!c.done){const e=i(c.value,s);if(e===null)return undefined;if(e.module!==a.module)return undefined;if(!e.export!==!a.export)return undefined;if(a.export&&!r(e.export,a.export))return undefined;c=o.next()}return a}createNestedExportsInfo(){if(this.exportsInfoOwned)return this.exportsInfo;this.exportsInfoOwned=true;const e=this.exportsInfo;this.exportsInfo=new ExportsInfo;this.exportsInfo.setHasProvideInfo();if(e){this.exportsInfo.setRedirectNamedTo(e)}return this.exportsInfo}getNestedExportsInfo(){return this.exportsInfo}updateHash(e,t){e.update(`${this._usedName||this.name}`);e.update(`${this.getUsed(t)}`);e.update(`${this.provided}`);e.update(`${this.canMangle}`);e.update(`${this.terminalBinding}`)}getUsedInfo(){if(this._usedInRuntime!==undefined){const e=new Map;for(const[t,n]of this._usedInRuntime){const r=e.get(n);if(r!==undefined)r.push(t);else e.set(n,[t])}const t=Array.from(e,([e,t])=>{switch(e){case a.NoInfo:return`no usage info in ${t.join(", ")}`;case a.Unknown:return`maybe used in ${t.join(", ")} (runtime-defined)`;case a.Used:return`used in ${t.join(", ")}`;case a.OnlyPropertiesUsed:return`only properties used in ${t.join(", ")}`}});if(t.length>0){return t.join("; ")}}return this._hasUseInRuntimeInfo?"unused":"no usage info"}getProvidedInfo(){switch(this.provided){case undefined:return"no provided info";case null:return"maybe provided (runtime-defined)";case true:return"provided";case false:return"not provided"}}getRenameInfo(){if(this._usedName!==null&&this._usedName!==this.name){return`renamed to ${JSON.stringify(this._usedName).slice(1,-1)}`}switch(this.canMangleProvide){case undefined:switch(this.canMangleUse){case undefined:return"missing provision and use info prevents renaming";case false:return"usage prevents renaming (no provision info)";case true:return"missing provision info prevents renaming"}break;case true:switch(this.canMangleUse){case undefined:return"missing usage info prevents renaming";case false:return"usage prevents renaming";case true:return"could be renamed"}break;case false:switch(this.canMangleUse){case undefined:return"provision prevents renaming (no use info)";case false:return"usage and provision prevents renaming";case true:return"provision prevents renaming"}break}throw new Error(`Unexpected flags for getRenameInfo ${this.canMangleProvide} ${this.canMangleUse}`)}}e.exports=ExportsInfo;e.exports.ExportInfo=ExportInfo;e.exports.UsageState=a},29672:(e,t,n)=>{"use strict";const r=n(66298);const i=n(51420);class ExportsInfoApiPlugin{apply(e){e.hooks.compilation.tap("ExportsInfoApiPlugin",(e,{normalModuleFactory:t})=>{e.dependencyTemplates.set(i,new i.Template);const n=e=>{e.hooks.expressionMemberChain.for("__webpack_exports_info__").tap("ExportsInfoApiPlugin",(t,n)=>{const r=n.length>=2?new i(t.range,n.slice(0,-1),n[n.length-1]):new i(t.range,null,n[0]);r.loc=t.loc;e.state.module.addDependency(r);return true});e.hooks.expression.for("__webpack_exports_info__").tap("ExportsInfoApiPlugin",t=>{const n=new r("true",t.range);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return true})};t.hooks.parser.for("javascript/auto").tap("ExportsInfoApiPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("ExportsInfoApiPlugin",n);t.hooks.parser.for("javascript/esm").tap("ExportsInfoApiPlugin",n)})}}e.exports=ExportsInfoApiPlugin},16734:(e,t,n)=>{"use strict";const{OriginalSource:r,RawSource:i}=n(48135);const s=n(53453);const o=n(76150);const a=n(58159);const c=n(96076);const u=n(10004);const l=n(56202);const f=n(68038);const p=(e,t)=>{if(!Array.isArray(e)){e=[e]}const n=e.map(e=>`[${JSON.stringify(e)}]`).join("");return`(function() { module.exports = ${t}${n}; }());`};const d=e=>{if(!Array.isArray(e)){return`module.exports = require(${JSON.stringify(e)});`}const t=e[0];return`module.exports = require(${JSON.stringify(t)})${f(e,1)};`};const h=(e,t)=>{const n=t.outputOptions.importFunctionName;if(!Array.isArray(e)){return`module.exports = ${n}(${JSON.stringify(e)});`}if(e.length===1){return`module.exports = ${n}(${JSON.stringify(e[0])});`}const r=e[0];return`module.exports = ${n}(${JSON.stringify(r)}).then(${t.returningFunction(`module${f(e,1)}`,"module")});`};const m=(e,t)=>{if(typeof e==="string"){e=u(e)}const n=e[0];const r=e[1];return a.asString(["var error = new Error();",`module.exports = new Promise(${t.basicFunction("resolve, reject",[`if(typeof ${r} !== "undefined") return resolve();`,`${o.loadScript}(${JSON.stringify(n)}, ${t.basicFunction("event",[`if(typeof ${r} !== "undefined") return resolve();`,"var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ScriptExternalLoadError';","error.type = errorType;","error.request = realSrc;","reject(error);"])}, ${JSON.stringify(r)});`])}).then(${t.returningFunction(`${r}${f(e,2)}`)})`])};const g=(e,t,n)=>{return`if(typeof ${e} === 'undefined') { ${n.throwMissingModuleErrorBlock({request:t})} }\n`};const y=(e,t,n,r)=>{const i=`__WEBPACK_EXTERNAL_MODULE_${a.toIdentifier(`${e}`)}__`;const s=t?g(i,Array.isArray(n)?n.join("."):n,r):"";return`${s}module.exports = ${i};`};const v=(e,t,n)=>{if(!Array.isArray(t)){t=[t]}const r=t[0];const i=e?g(r,t.join("."),n):"";const s=f(t,1);return`${i}module.exports = ${r}${s};`};const _=new Set(["javascript"]);const b=new Set([o.module]);const E=new Set([o.module,o.loadScript]);class ExternalModule extends s{constructor(e,t,n){super("javascript/dynamic",null);this.request=e;this.externalType=t;this.userRequest=n}getSourceTypes(){return _}libIdent(e){return this.userRequest}chunkCondition(e,{chunkGraph:t}){return t.getNumberOfEntryModules(e)>0}identifier(){return"external "+JSON.stringify(this.request)}readableIdentifier(e){return"external "+JSON.stringify(this.request)}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,i){this.buildMeta={async:false,exportsType:undefined};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();switch(this.externalType){case"system":if(!Array.isArray(this.request)||this.request.length===1){this.buildMeta.exportsType="namespace";this.addDependency(new c(true,true))}break;case"promise":this.buildMeta.async=true;break;case"import":this.buildMeta.async=true;if(!Array.isArray(this.request)||this.request.length===1){this.buildMeta.exportsType="namespace";this.addDependency(new c(true,false))}break;case"script":this.buildMeta.async=true;break}i()}getSourceString(e,t,n){const r=typeof this.request==="object"&&!Array.isArray(this.request)?this.request[this.externalType]:this.request;switch(this.externalType){case"this":case"window":case"self":return p(r,this.externalType);case"global":return p(r,e.outputOptions.globalObject);case"commonjs":case"commonjs2":case"commonjs-module":return d(r);case"amd":case"amd-require":case"umd":case"umd2":case"system":case"jsonp":return y(n.getModuleId(this),this.isOptional(t),r,e);case"import":return h(r,e);case"script":return m(r,e);case"module":throw new Error("Module external type is not implemented yet");case"var":case"promise":case"const":case"let":case"assign":default:return v(this.isOptional(t),r,e)}}codeGeneration({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const s=this.getSourceString(e,t,n);const o=new Map;if(this.useSourceMap){o.set("javascript",new r(s,this.identifier()))}else{o.set("javascript",new i(s))}return{sources:o,runtimeRequirements:this.externalType==="script"?E:b}}size(e){return 42}updateHash(e,t){const{chunkGraph:n}=t;e.update(this.externalType);e.update(JSON.stringify(this.request));e.update(JSON.stringify(Boolean(this.isOptional(n.moduleGraph))));super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.request);t(this.externalType);t(this.userRequest);super.serialize(e)}deserialize(e){const{read:t}=e;this.request=t();this.externalType=t();this.userRequest=t();super.deserialize(e)}}l(ExternalModule,"webpack/lib/ExternalModule");e.exports=ExternalModule},59084:(e,t,n)=>{"use strict";const r=n(31669);const i=n(16734);const s=/^[a-z0-9]+ /;const o=r.deprecate((e,t,n,r)=>{e.call(null,t,n,r)},"The externals-function should be defined like ({context, request}, cb) => { ... }","DEP_WEBPACK_EXTERNALS_FUNCTION_PARAMETERS");class ExternalModuleFactoryPlugin{constructor(e,t){this.type=e;this.externals=t}apply(e){const t=this.type;e.hooks.factorize.tapAsync("ExternalModuleFactoryPlugin",(e,n)=>{const r=e.context;const a=e.dependencies[0];const c=(e,n,r)=>{if(e===false){return r()}let o;if(e===true){o=a.request}else{o=e}if(n===undefined){if(typeof o==="string"&&s.test(o)){const e=o.indexOf(" ");n=o.substr(0,e);o=o.substr(e+1)}else if(Array.isArray(o)&&o.length>0&&s.test(o[0])){const e=o[0];const t=e.indexOf(" ");n=e.substr(0,t);o=[e.substr(t+1),...o.slice(1)]}}r(null,new i(o,n||t,a.request))};const u=(e,t)=>{if(typeof e==="string"){if(e===a.request){return c(a.request,undefined,t)}}else if(Array.isArray(e)){let n=0;const r=()=>{let i;const s=(e,n)=>{if(e)return t(e);if(!n){if(i){i=false;return}return r()}t(null,n)};do{i=true;if(n>=e.length)return t();u(e[n++],s)}while(!i);i=false};r();return}else if(e instanceof RegExp){if(e.test(a.request)){return c(a.request,undefined,t)}}else if(typeof e==="function"){const n=(e,n,r)=>{if(e)return t(e);if(n!==undefined){c(n,r,t)}else{t()}};if(e.length===3){o(e,r,a.request,n)}else{e({context:r,request:a.request},n)}return}else if(typeof e==="object"&&Object.prototype.hasOwnProperty.call(e,a.request)){return c(e[a.request],undefined,t)}t()};u(this.externals,n)})}}e.exports=ExternalModuleFactoryPlugin},61050:(e,t,n)=>{"use strict";const r=n(59084);class ExternalsPlugin{constructor(e,t){this.type=e;this.externals=t}apply(e){e.hooks.compile.tap("ExternalsPlugin",({normalModuleFactory:e})=>{new r(this.type,this.externals).apply(e)})}}e.exports=ExternalsPlugin},22996:(e,t,n)=>{"use strict";const{create:r}=n(2357);const i=n(62355);const s=n(9738);const o=n(35891);const{join:a,dirname:c,relative:u}=n(95396);const l=r({resolveToContext:true,exportsFields:[]});const f=r({extensions:[".js",".json",".node"],conditionNames:["require"]});let p=2e3;const d=new Set;const h=0;const m=1;const g=2;const y=3;const v=4;const _=5;const b=6;const E=Symbol("invalid");const w=e=>{if(p>1&&e%2!==0)p=1;else if(p>10&&e%20!==0)p=10;else if(p>100&&e%200!==0)p=100;else if(p>1e3&&e%2e3!==0)p=1e3};const S=(e,t)=>{if(!t||t.size===0)return e;if(!e||e.size===0)return t;const n=new Map(e);for(const[e,r]of t){n.set(e,r)}return n};const k=(e,t)=>{let n=e.length;let r=1;let i=true;e:while(n=n+13&&t.charCodeAt(n+1)===110&&t.charCodeAt(n+2)===111&&t.charCodeAt(n+3)===100&&t.charCodeAt(n+4)===101&&t.charCodeAt(n+5)===95&&t.charCodeAt(n+6)===109&&t.charCodeAt(n+7)===111&&t.charCodeAt(n+8)===100&&t.charCodeAt(n+9)===117&&t.charCodeAt(n+10)===108&&t.charCodeAt(n+11)===101&&t.charCodeAt(n+12)===115){if(t.length===n+13){return t}const e=t.charCodeAt(n+13);if(e===47||e===92){return k(t.slice(0,n+14),t)}}return t.slice(0,n)};const D=e=>{return Boolean(e)};class FileSystemInfo{constructor(e,{managedPaths:t=[],immutablePaths:n=[],logger:r}={}){this.fs=e;this.logger=r;this._remainingLogs=r?40:0;this._loggedPaths=r?new Set:undefined;this._snapshotCache=new WeakMap;this._snapshotOptimization=new Map;this._fileTimestamps=new Map;this._fileHashes=new Map;this._contextTimestamps=new Map;this._contextHashes=new Map;this._managedItems=new Map;this.fileTimestampQueue=new s({name:"file timestamp",parallelism:30,processor:this._readFileTimestamp.bind(this)});this.fileHashQueue=new s({name:"file hash",parallelism:10,processor:this._readFileHash.bind(this)});this.contextTimestampQueue=new s({name:"context timestamp",parallelism:2,processor:this._readContextTimestamp.bind(this)});this.contextHashQueue=new s({name:"context hash",parallelism:2,processor:this._readContextHash.bind(this)});this.managedItemQueue=new s({name:"managed item info",parallelism:10,processor:this._getManagedItemInfo.bind(this)});this.managedItemDirectoryQueue=new s({name:"managed item directory info",parallelism:10,processor:this._getManagedItemDirectoryInfo.bind(this)});this.managedPaths=Array.from(t);this.managedPathsWithSlash=this.managedPaths.map(t=>a(e,t,"_").slice(0,-1));this.immutablePaths=Array.from(n);this.immutablePathsWithSlash=this.immutablePaths.map(t=>a(e,t,"_").slice(0,-1))}_log(e,t,...n){const r=e+t;if(this._loggedPaths.has(r))return;this._loggedPaths.add(r);this.logger.debug(`${e} invalidated because ${t}`,...n);if(--this._remainingLogs===0){this.logger.debug("Logging limit has been reached and no further logging will be emitted by FileSystemInfo")}}addFileTimestamps(e){for(const[t,n]of e){this._fileTimestamps.set(t,n)}}addContextTimestamps(e){for(const[t,n]of e){this._contextTimestamps.set(t,n)}}getFileTimestamp(e,t){const n=this._fileTimestamps.get(e);if(n!==undefined)return t(null,n);this.fileTimestampQueue.add(e,t)}getContextTimestamp(e,t){const n=this._contextTimestamps.get(e);if(n!==undefined)return t(null,n);this.contextTimestampQueue.add(e,t)}getFileHash(e,t){const n=this._fileHashes.get(e);if(n!==undefined)return t(null,n);this.fileHashQueue.add(e,t)}getContextHash(e,t){const n=this._contextHashes.get(e);if(n!==undefined)return t(null,n);this.contextHashQueue.add(e,t)}resolveBuildDependencies(e,t,n){const r=new Set;const s=new Set;const o=new Set;const p=new Set;const d=new Set;const E=new Set;const w=new Map;const S=i.queue(({type:e,context:t,path:n,expected:i},o)=>{const k=e=>{const n=`d\n${t}\n${e}`;if(w.has(n)){return o()}l(t,e,{fileDependencies:p,contextDependencies:d,missingDependencies:E},(r,i)=>{if(r){if(r.code==="ENOENT"||r.code==="UNDECLARED_DEPENDENCY"){return o()}r.message+=`\nwhile resolving '${e}' in ${t} to a directory`;return o(r)}w.set(n,i);S.push({type:y,path:i});o()})};const D=e=>{const n=`f\n${t}\n${e}`;if(w.has(n)){return o()}f(t,e,{fileDependencies:p,contextDependencies:d,missingDependencies:E},(r,s)=>{if(i){if(s===i){w.set(n,s)}}else{if(r){if(r.code==="ENOENT"||r.code==="UNDECLARED_DEPENDENCY"){return o()}r.message+=`\nwhile resolving '${e}' in ${t} as file`;return o(r)}w.set(n,s);S.push({type:v,path:s})}o()})};switch(e){case h:{const e=/[\\/]$/.test(n);if(e){k(n.slice(0,n.length-1))}else{D(n)}break}case m:{k(n);break}case g:{D(n);break}case v:{if(r.has(n)){o();break}this.fs.realpath(n,(e,t)=>{if(e)return o(e);if(t!==n){p.add(n)}if(!r.has(t)){r.add(t);S.push({type:b,path:t})}o()});break}case y:{if(s.has(n)){o();break}this.fs.realpath(n,(e,t)=>{if(e)return o(e);if(t!==n){p.add(n)}if(!s.has(t)){s.add(t);S.push({type:_,path:t})}o()});break}case b:{const e=require.cache[n];if(e&&Array.isArray(e.children)){e:for(const t of e.children){let r=t.filename;if(r){S.push({type:v,path:r});if(r.endsWith(".js"))r=r.slice(0,-3);const i=c(this.fs,n);for(const t of e.paths){if(r.startsWith(t)){const e=r.slice(t.length+1);S.push({type:g,context:i,path:e,expected:r});continue e}}let s=u(this.fs,i,r);s=s.replace(/\\/g,"/");if(!s.startsWith("../"))s=`./${s}`;S.push({type:g,context:i,path:s,expected:t.filename})}}}else{const e=c(this.fs,n);S.push({type:y,path:e})}o();break}case _:{const e=/(^.+[\\/]node_modules[\\/](?:@[^\\/]+[\\/])?[^\\/]+)/.exec(n);const t=e?e[1]:n;const r=a(this.fs,t,"package.json");this.fs.readFile(r,(e,n)=>{if(e){if(e.code==="ENOENT"){E.add(r);const e=c(this.fs,t);if(e!==t){S.push({type:_,path:e})}o();return}return o(e)}p.add(r);let i;try{i=JSON.parse(n.toString("utf-8"))}catch(e){return o(e)}const s=i.dependencies;if(typeof s==="object"&&s){for(const e of Object.keys(s)){S.push({type:m,context:t,path:e})}}o()});break}}},50);S.drain=(()=>{n(null,{files:r,directories:s,missing:o,resolveResults:w,resolveDependencies:{files:p,directories:d,missing:E}})});S.error=(e=>{n(e);n=(()=>{})});let k=false;for(const n of t){S.push({type:h,context:e,path:n});k=true}if(!k){S.drain()}}checkResolveResultsValid(e,t){i.eachLimit(e,20,([e,t],n)=>{const[r,i,s]=e.split("\n");switch(r){case"d":l(i,s,{},(e,r)=>{if(e)return n(e);if(r!==t)return n(E);n()});break;case"f":f(i,s,{},(e,r)=>{if(e)return n(e);if(r!==t)return n(E);n()});break;default:n(new Error("Unexpected type in resolve result key"));break}},e=>{if(e===E){return t(null,false)}if(e){return t(e)}return t(null,true)})}createSnapshot(e,t,n,r,i,s){const o=new Map;const a=new Map;const c=new Map;const u=new Map;const l=new Map;const f=new Map;const p=new Set;const d=new Set;const h=new Set;let m=1;const g=()=>{if(--m===0){const t={};if(e)t.startTime=e;if(o.size!==0)t.fileTimestamps=o;if(a.size!==0)t.fileHashes=a;if(c.size!==0)t.contextTimestamps=c;if(u.size!==0)t.contextHashes=u;if(l.size!==0)t.missingExistence=l;if(f.size!==0)t.managedItemInfo=f;if(p.size!==0)t.children=p;this._snapshotCache.set(t,true);const n={snapshot:t,shared:0,snapshotContent:undefined,children:undefined};for(const e of d){this._snapshotOptimization.set(e,n)}s(null,t)}};const y=()=>{if(m>0){m=-1e8;s(null,null)}};if(t){if(i&&i.hash){e:for(const e of t){for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){continue e}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const n=k(t,e);if(n){h.add(n);continue e}}}const t=this._fileHashes.get(e);if(t!==undefined){a.set(e,t)}else{m++;this.fileHashQueue.add(e,(t,n)=>{if(t){if(this.logger){this.logger.debug(`Error snapshotting file hash of ${e}: ${t}`)}y()}else{a.set(e,n);g()}})}}}else{const n=new Set;e:for(const e of t){for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){continue e}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const n=k(t,e);if(n){h.add(n);continue e}}}n.add(e)}const r=new Set;const i=e=>{if(e.children!==undefined){e.children.forEach(i)}e.shared++;s(e)};const s=e=>{for(const t of e.snapshotContent){const r=this._snapshotOptimization.get(t);if(r.shared0){if(e&&(!a.startTime||a.startTime>e)){continue}const t=new Set;for(const e of o.snapshotContent){if(!n.has(e)){if(!a.fileTimestamps.has(e)){r.add(o);continue e}t.add(e);continue}}if(t.size===0){p.add(a);i(o)}else{const n=new Map;for(const[e,r]of a.fileTimestamps){if(t.has(e))continue;n.set(e,r);a.fileTimestamps.delete(e)}const r={startTime:e&&a.startTime?Math.min(e,a.startTime):e||a.startTime,fileTimestamps:n};p.add(r);if(!a.children)a.children=new Set;a.children.add(r);const i={snapshot:r,shared:o.shared+1,snapshotContent:new Set(n.keys()),children:undefined};if(o.children===undefined)o.children=new Set;o.children.add(i);s(i)}}else{const t=new Map;for(const e of n){const n=a.fileTimestamps.get(e);if(n===undefined)continue;t.set(e,n)}if(t.size<2){continue e}const r={startTime:e&&a.startTime?Math.min(e,a.startTime):e||a.startTime,fileTimestamps:t};p.add(r);if(!a.children)a.children=new Set;a.children.add(r);for(const e of t.keys())a.fileTimestamps.delete(e);s({snapshot:r,shared:2,snapshotContent:new Set(t.keys()),children:undefined})}}for(const e of n){const t=this._fileTimestamps.get(e);if(t!==undefined){if(t!=="ignore"){o.set(e,t)}}else{m++;this.fileTimestampQueue.add(e,(t,n)=>{if(t){if(this.logger){this.logger.debug(`Error snapshotting file timestamp of ${e}: ${t}`)}y()}else{o.set(e,n);g()}})}}}}if(n){if(i&&i.hash){e:for(const e of n){for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){continue e}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const n=k(t,e);if(n){h.add(n);continue e}}}const t=this._contextHashes.get(e);if(t!==undefined){u.set(e,t)}else{m++;this.contextHashQueue.add(e,(t,n)=>{if(t){if(this.logger){this.logger.debug(`Error snapshotting context hash of ${e}: ${t}`)}y()}else{u.set(e,n);g()}})}}}else{e:for(const e of n){for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){continue e}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const n=k(t,e);if(n){h.add(n);continue e}}}const t=this._contextTimestamps.get(e);if(t!==undefined){if(t!=="ignore"){c.set(e,t)}}else{m++;this.contextTimestampQueue.add(e,(t,n)=>{if(t){if(this.logger){this.logger.debug(`Error snapshotting context timestamp of ${e}: ${t}`)}y()}else{c.set(e,n);g()}})}}}}if(r){e:for(const e of r){for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){continue e}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const n=k(t,e);if(n){h.add(n);continue e}}}const t=this._fileTimestamps.get(e);if(t!==undefined){if(t!=="ignore"){l.set(e,D(t))}}else{m++;this.fileTimestampQueue.add(e,(t,n)=>{if(t){if(this.logger){this.logger.debug(`Error snapshotting missing timestamp of ${e}: ${t}`)}y()}else{l.set(e,D(n));g()}})}}}for(const e of h){const t=this._managedItems.get(e);if(t!==undefined){f.set(e,t)}else{m++;this.managedItemQueue.add(e,(t,n)=>{if(t){if(this.logger){this.logger.debug(`Error snapshotting managed item ${e}: ${t}`)}y()}else{f.set(e,n);g()}})}}g()}mergeSnapshots(e,t){const n={};if(e.startTime&&t.startTime)n.startTime=Math.min(e.startTime,t.startTime);else if(t.startTime)n.startTime=t.startTime;else if(e.startTime)n.startTime=e.startTime;if(e.fileTimestamps||t.fileTimestamps){n.fileTimestamps=S(e.fileTimestamps,t.fileTimestamps)}if(e.fileHashes||t.fileHashes){n.fileHashes=S(e.fileHashes,t.fileHashes)}if(e.contextTimestamps||t.contextTimestamps){n.contextTimestamps=S(e.contextTimestamps,t.contextTimestamps)}if(e.contextHashes||t.contextHashes){n.contextHashes=S(e.contextHashes,t.contextHashes)}if(e.missingExistence||t.missingExistence){n.missingExistence=S(e.missingExistence,t.missingExistence)}if(e.managedItemInfo||t.managedItemInfo){n.managedItemInfo=S(e.managedItemInfo,t.managedItemInfo)}if(this._snapshotCache.get(e)===true&&this._snapshotCache.get(t)===true){this._snapshotCache.set(n,true)}return n}checkSnapshotValid(e,t){const n=this._snapshotCache.get(e);if(n!==undefined){if(typeof n==="boolean"){t(null,n)}else{n.push(t)}return}this._checkSnapshotValidNoCache(e,t)}_checkSnapshotValidNoCache(e,t){let n;const{startTime:r,fileTimestamps:i,fileHashes:s,contextTimestamps:o,contextHashes:a,missingExistence:c,managedItemInfo:u,children:l}=e;let f=1;const p=()=>{if(--f===0){this._snapshotCache.set(e,true);t(null,true)}};const d=()=>{if(f>0){f=-1e8;this._snapshotCache.set(e,false);t(null,false)}};const h=(e,t)=>{if(this._remainingLogs>0){this._log(e,`error occurred: %s`,t)}d()};const m=(e,t,n)=>{if(t!==n){if(this._remainingLogs>0){this._log(e,`hashes differ (%s != %s)`,t,n)}return false}return true};const g=(e,t,n)=>{if(!t!==!n){if(this._remainingLogs>0){this._log(e,t?"it didn't exist before":"it does no longer exist")}return false}return true};const y=(e,t,n)=>{if(t===n)return true;if(!t!==!n){if(this._remainingLogs>0){this._log(e,t?"it didn't exist before":"it does no longer exist")}return false}if(t){if(typeof r==="number"&&t.safeTime>r){if(this._remainingLogs>0){this._log(e,`it may have changed (%d) after the start time of the snapshot (%d)`,t.safeTime,r)}return false}if(n.timestamp!==undefined&&t.timestamp!==n.timestamp){if(this._remainingLogs>0){this._log(e,`timestamps differ (%d != %d)`,t.timestamp,n.timestamp)}return false}if(n.timestampHash!==undefined&&t.timestampHash!==n.timestampHash){if(this._remainingLogs>0){this._log(e,`timestamps hashes differ (%s != %s)`,t.timestampHash,n.timestampHash)}return false}}return true};if(l){const e=(e,t)=>{if(e||!t)return d();else p()};for(const t of l){const n=this._snapshotCache.get(t);if(n!==undefined){if(n!==undefined){if(typeof n==="boolean"){if(n===false){d();return}}else{f++;n.push(e)}}}else{f++;this._checkSnapshotValidNoCache(t,e)}}}if(i){for(const[e,t]of i){const n=this._fileTimestamps.get(e);if(n!==undefined){if(n!=="ignore"&&!y(e,n,t)){d();return}}else{f++;this.fileTimestampQueue.add(e,(n,r)=>{if(n)return h(e,n);if(!y(e,r,t)){d()}else{p()}})}}}if(s){for(const[e,t]of s){const n=this._fileHashes.get(e);if(n!==undefined){if(n!=="ignore"&&!m(e,n,t)){d();return}}else{f++;this.fileHashQueue.add(e,(n,r)=>{if(n)return h(e,n);if(!m(e,r,t)){d()}else{p()}})}}}if(o&&o.size>0){for(const[e,t]of o){const n=this._contextTimestamps.get(e);if(n!==undefined){if(n!=="ignore"&&!y(e,n,t)){d();return}}else{f++;this.contextTimestampQueue.add(e,(n,r)=>{if(n)return h(e,n);if(!y(e,r,t)){d()}else{p()}})}}}if(a){for(const[e,t]of a){const n=this._contextHashes.get(e);if(n!==undefined){if(n!=="ignore"&&!m(e,n,t)){d();return}}else{f++;this.contextHashQueue.add(e,(n,r)=>{if(n)return h(e,n);if(!m(e,r,t)){d()}else{p()}})}}}if(c){for(const[e,t]of c){const n=this._fileTimestamps.get(e);if(n!==undefined){if(n!=="ignore"&&!g(e,D(n),t)){d();return}}else{f++;this.fileTimestampQueue.add(e,(n,r)=>{if(n)return h(e,n);if(!g(e,D(r),t)){d()}else{p()}})}}}if(u){for(const[e,t]of u){const n=this._managedItems.get(e);if(n!==undefined){if(!m(e,n,t)){d();return}}else{f++;this.managedItemQueue.add(e,(n,r)=>{if(n)return h(e,n);if(!m(e,r,t)){d()}else{p()}})}}}p();if(f>0){n=[t];t=((e,t)=>{for(const r of n)r(e,t)});this._snapshotCache.set(e,n)}}_readFileTimestamp(e,t){this.fs.stat(e,(n,r)=>{if(n){if(n.code==="ENOENT"){this._fileTimestamps.set(e,null);return t(null,null)}return t(n)}let i;if(r.isDirectory()){i={safeTime:0,timestamp:undefined}}else{const e=+r.mtime;if(e)w(e);i={safeTime:e?e+p:Infinity,timestamp:e}}this._fileTimestamps.set(e,i);t(null,i)})}_readFileHash(e,t){this.fs.readFile(e,(n,r)=>{if(n){if(n.code==="ENOENT"){this._fileHashes.set(e,null);return t(null,null)}return t(n)}const i=o("md4");i.update(r);const s=i.digest("hex");this._fileHashes.set(e,s);t(null,s)})}_readContextTimestamp(e,t){this.fs.readdir(e,(n,r)=>{if(n){if(n.code==="ENOENT"){this._contextTimestamps.set(e,null);return t(null,null)}return t(n)}r=r.map(e=>e.normalize("NFC")).filter(e=>!/^\./.test(e)).sort();i.map(r,(t,n)=>{const r=a(this.fs,e,t);this.fs.stat(r,(t,i)=>{if(t)return n(t);for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){return n(null,null)}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const e=k(t,r);if(e){return this.managedItemQueue.add(e,(e,t)=>{if(e)return n(e);return n(null,{safeTime:0,timestampHash:t})})}}}if(i.isFile()){return this.getFileTimestamp(r,n)}if(i.isDirectory()){this.contextTimestampQueue.increaseParallelism();this.getContextTimestamp(r,(e,t)=>{this.contextTimestampQueue.decreaseParallelism();n(e,t)});return}n(null,null)})},(n,i)=>{if(n)return t(n);const s=o("md4");for(const e of r)s.update(e);let a=0;for(const e of i){if(!e){s.update("n");continue}if(e.timestamp){s.update("f");s.update(`${e.timestamp}`)}else if(e.timestampHash){s.update("d");s.update(`${e.timestampHash}`)}if(e.safeTime){a=Math.max(a,e.safeTime)}}const c=s.digest("hex");const u={safeTime:a,timestampHash:c};this._contextTimestamps.set(e,u);t(null,u)})})}_readContextHash(e,t){this.fs.readdir(e,(n,r)=>{if(n){if(n.code==="ENOENT"){this._contextHashes.set(e,null);return t(null,null)}return t(n)}r=r.map(e=>e.normalize("NFC")).filter(e=>!/^\./.test(e)).sort();i.map(r,(t,n)=>{const r=a(this.fs,e,t);this.fs.stat(r,(t,i)=>{if(t)return n(t);for(const t of this.immutablePathsWithSlash){if(e.startsWith(t)){return n(null,"")}}for(const t of this.managedPathsWithSlash){if(e.startsWith(t)){const e=k(t,r);if(e){return this.managedItemQueue.add(e,(e,t)=>{if(e)return n(e);n(null,t||"")})}}}if(i.isFile()){return this.getFileHash(r,(e,t)=>{n(e,t||"")})}if(i.isDirectory()){this.contextHashQueue.increaseParallelism();this.getContextHash(r,(e,t)=>{this.contextHashQueue.decreaseParallelism();n(e,t||"")});return}n(null,"")})},(n,i)=>{if(n)return t(n);const s=o("md4");for(const e of r)s.update(e);for(const e of i)s.update(e);const a=s.digest("hex");this._contextHashes.set(e,a);t(null,a)})})}_getManagedItemDirectoryInfo(e,t){this.fs.readdir(e,(n,r)=>{if(n){if(n.code==="ENOENT"||n.code==="ENOTDIR"){return t(null,d)}return t(n)}const i=new Set(r.map(t=>a(this.fs,e,t)));t(null,i)})}_getManagedItemInfo(e,t){const n=c(this.fs,e);this.managedItemDirectoryQueue.add(n,(n,r)=>{if(n){return t(n)}if(!r.has(e)){this._managedItems.set(e,"missing");return t(null,"missing")}if(e.endsWith("node_modules")&&(e.endsWith("/node_modules")||e.endsWith("\\node_modules"))){this._managedItems.set(e,"exists");return t(null,"exists")}const i=a(this.fs,e,"package.json");this.fs.readFile(i,(n,r)=>{if(n){if(n.code==="ENOENT"||n.code==="ENOTDIR"){const n=`Managed item ${e} isn't a directory or doesn't contain a package.json`;this.logger.warn(n);return t(new Error(n))}return t(n)}let i;try{i=JSON.parse(r.toString("utf-8"))}catch(e){return t(e)}const s=`${i.name||""}@${i.version||""}`;this._managedItems.set(e,s);t(null,s)})})}getDeprecatedFileTimestamps(){const e=new Map;for(const[t,n]of this._fileTimestamps){if(n)e.set(t,typeof n==="object"?n.safeTime:null)}return e}getDeprecatedContextTimestamps(){const e=new Map;for(const[t,n]of this._contextTimestamps){if(n)e.set(t,typeof n==="object"?n.safeTime:null)}return e}}e.exports=FileSystemInfo},6283:(e,t,n)=>{"use strict";const{getEntryRuntime:r,mergeRuntimeOwned:i}=n(37416);class FlagAllModulesAsUsedPlugin{constructor(e){this.explanation=e}apply(e){e.hooks.compilation.tap("FlagAllModulesAsUsedPlugin",e=>{const t=e.moduleGraph;e.hooks.optimizeDependencies.tap("FlagAllModulesAsUsedPlugin",n=>{let s=undefined;for(const[t,{options:n}]of e.entries){s=i(s,r(e,t,n))}for(const e of n){const n=t.getExportsInfo(e);n.setUsedInUnknownWay(s);t.addExtraReason(e,this.explanation)}})})}}e.exports=FlagAllModulesAsUsedPlugin},95629:(e,t,n)=>{"use strict";const r=n(62355);const i=n(39541);class FlagDependencyExportsPlugin{apply(e){e.hooks.compilation.tap("FlagDependencyExportsPlugin",e=>{const t=e.moduleGraph;const n=e.getCache("FlagDependencyExportsPlugin");e.hooks.finishModules.tapAsync("FlagDependencyExportsPlugin",(s,o)=>{const a=e.getLogger("webpack.FlagDependencyExportsPlugin");let c=0;let u=0;let l=0;let f=0;const p=new i;a.time("restore cached provided exports");r.each(s,(e,r)=>{if(e.buildInfo.cacheable!==true||typeof e.buildInfo.hash!=="string"){u++;p.enqueue(e);t.getExportsInfo(e).setHasProvideInfo();return r()}n.get(e.identifier(),e.buildInfo.hash,(n,i)=>{if(n)return r(n);if(i!==undefined){c++;t.getExportsInfo(e).restoreProvided(i)}else{l++;p.enqueue(e);t.getExportsInfo(e).setHasProvideInfo()}r()})},e=>{a.timeEnd("restore cached provided exports");if(e)return o(e);const i=new Set;const s=new Map;let d;let h;let m=true;let g=false;const y=e=>{for(const t of e.dependencies){v(t)}for(const t of e.blocks){y(t)}};const v=e=>{const n=e.getExports(t);if(!n)return;const r=n.exports;const i=n.canMangle;const o=n.from;const a=n.terminalBinding||false;const c=n.dependencies;if(r===true){if(h.setUnknownExportsProvided(i,n.excludeExports,o&&e,o)){g=true}}else if(Array.isArray(r)){const n=(r,c)=>{for(const u of c){let c;let l=i;let f=a;let p=undefined;let h=o;let m=undefined;if(typeof u==="string"){c=u}else{c=u.name;if(u.canMangle!==undefined)l=u.canMangle;if(u.export!==undefined)m=u.export;if(u.exports!==undefined)p=u.exports;if(u.from!==undefined)h=u.from;if(u.terminalBinding!==undefined)f=u.terminalBinding}const y=r.getExportInfo(c);if(y.provided===false){y.provided=true;g=true}if(y.canMangleProvide!==false&&l===false){y.canMangleProvide=false;g=true}if(f&&!y.terminalBinding){y.terminalBinding=true;g=true}if(p){const e=y.createNestedExportsInfo();n(e,p)}if(y.setTarget(e,h,m===undefined?[c]:m)){g=true}const v=y.getTarget(t);let _=undefined;if(v){const e=t.getExportsInfo(v.module);_=e.getNestedExportsInfo(v.export);const n=s.get(v.module);if(n===undefined){s.set(v.module,new Set([d]))}else{n.add(d)}}if(y.exportsInfoOwned){if(y.exportsInfo.setRedirectNamedTo(_)){g=true}}else if(y.exportsInfo!==_){y.exportsInfo=_;g=true}}};n(h,r)}if(c){m=false;for(const e of c){const t=s.get(e);if(t===undefined){s.set(e,new Set([d]))}else{t.add(d)}}}};const _=()=>{const e=s.get(d);if(e!==undefined){for(const t of e){p.enqueue(t)}}};a.time("figure out provided exports");while(p.length>0){d=p.dequeue();f++;h=t.getExportsInfo(d);if(!d.buildMeta||!d.buildMeta.exportsType){if(h.otherExportsInfo.provided!==null){h.setUnknownExportsProvided();i.add(d);_()}}else{m=true;g=false;y(d);if(m){i.add(d)}if(g){_()}}}a.timeEnd("figure out provided exports");a.log(`${Math.round(100-100*c/(c+l+u))}% of exports of modules have been determined (${l} not cached, ${u} flagged uncacheable, ${c} from cache, ${f-l-u} additional calculations due to dependencies)`);a.time("store provided exports into cache");r.each(i,(e,r)=>{if(e.buildInfo.cacheable!==true||typeof e.buildInfo.hash!=="string"){return r()}n.store(e.identifier(),e.buildInfo.hash,t.getExportsInfo(e).getRestoreProvidedData(),r)},e=>{a.timeEnd("store provided exports into cache");o(e)})})});const s=new WeakMap;e.hooks.rebuildModule.tap("FlagDependencyExportsPlugin",e=>{s.set(e,t.getExportsInfo(e).getRestoreProvidedData())});e.hooks.finishRebuildingModule.tap("FlagDependencyExportsPlugin",e=>{t.getExportsInfo(e).restoreProvided(s.get(e))})})}}e.exports=FlagDependencyExportsPlugin},1596:(e,t,n)=>{"use strict";const r=n(28706);const{UsageState:i}=n(76632);const{STAGE_DEFAULT:s}=n(82414);const o=n(34194);const{getEntryRuntime:a,mergeRuntime:c,mergeRuntimeOwned:u}=n(37416);const{NO_EXPORTS_REFERENCED:l,EXPORTS_OBJECT_REFERENCED:f}=r;class FlagDependencyUsagePlugin{constructor(e){this.global=e}apply(e){e.hooks.compilation.tap("FlagDependencyUsagePlugin",e=>{const t=e.moduleGraph;e.hooks.optimizeDependencies.tap({name:"FlagDependencyUsagePlugin",stage:s},n=>{const r=e.getLogger("webpack.FlagDependencyUsagePlugin");const s=new Map;const c=new o;const p=(e,n,r)=>{const o=t.getExportsInfo(e);if(n.length>0){if(!e.buildMeta||!e.buildMeta.exportsType){if(o.setUsedWithoutInfo(r)){c.enqueue(e,r)}return}for(const t of n){let n;let a=true;if(Array.isArray(t)){n=t}else{n=t.name;a=t.canMangle!==false}if(n.length===0){if(o.setUsedInUnknownWay(r)){c.enqueue(e,r)}}else{let t=o;for(let u=0;ue===i.Unused,i.OnlyPropertiesUsed,r)){const n=t===o?e:s.get(t);if(n){c.enqueue(n,r)}}t=n;continue}}if(l.setUsedConditionally(e=>e!==i.Used,i.Used,r)){const n=t===o?e:s.get(t);if(n){c.enqueue(n,r)}}break}}}}else{if(e.factoryMeta!==undefined&&e.factoryMeta.sideEffectFree)return;if(o.setUsedForSideEffectsOnly(r)){c.enqueue(e,r)}}};const d=(n,r)=>{const i=new Map;const s=[n];for(const n of s){for(const e of n.blocks){s.push(e)}for(const s of n.dependencies){const n=t.getConnection(s);if(!n||!n.module||!n.isActive(r)){continue}const{module:o}=n;const a=i.get(o);if(a===f){continue}const c=e.getDependencyReferencedExports(s,r);if(a===undefined||a===l||c===f){i.set(o,c)}else if(a===l){continue}else{let e;if(Array.isArray(a)){e=new Map;for(const t of a){if(Array.isArray(t)){e.set(t.join("\n"),t)}else{e.set(t.name.join("\n"),t)}}i.set(o,e)}else{e=a}for(const t of c){if(Array.isArray(t)){const n=t.join("\n");const r=e.get(n);if(r===undefined){e.set(n,t)}}else{const n=t.name.join("\n");const r=e.get(n);if(r===undefined||Array.isArray(r)){e.set(n,t)}else{e.set(n,{name:t.name,canMangle:t.canMangle&&r.canMangle})}}}}}}for(const[e,t]of i){if(Array.isArray(t)){p(e,t,r)}else{p(e,Array.from(t.values()),r)}}};r.time("initialize exports usage");for(const e of n){const n=t.getExportsInfo(e);s.set(n,e);n.setHasUseInfo()}r.timeEnd("initialize exports usage");r.time("trace exports usage in graph");const h=(e,n)=>{const r=t.getModule(e);if(r){p(r,l,n);c.enqueue(r,n)}};let m=undefined;for(const[t,{dependencies:n,includeDependencies:r,options:i}]of e.entries){const s=this.global?undefined:a(e,t,i);for(const e of n){h(e,s)}for(const e of r){h(e,s)}m=u(m,s)}for(const t of e.globalEntry.dependencies){h(t,m)}for(const t of e.globalEntry.includeDependencies){h(t,m)}while(c.length){const[e,t]=c.dequeue();d(e,t)}r.timeEnd("trace exports usage in graph")});if(!this.global){e.hooks.afterChunks.tap("FlagDependencyUsagePlugin",()=>{const t=new Set;for(const n of e.entrypoints.values()){t.add(n.getRuntimeChunk())}for(const e of t){const t=e.name;for(const n of e.getAllReferencedChunks()){n.runtime=c(n.runtime,t)}}})}})}}e.exports=FlagDependencyUsagePlugin},19874:(e,t,n)=>{"use strict";const r=n(58018);class FlagUsingEvalPlugin{apply(e){e.hooks.compilation.tap("FlagUsingEvalPlugin",(e,{normalModuleFactory:t})=>{const n=e=>{e.hooks.call.for("eval").tap("FlagUsingEvalPlugin",()=>{e.state.module.buildInfo.moduleConcatenationBailout="eval()";e.state.module.buildInfo.usingEval=true;r.bailout(e.state)})};t.hooks.parser.for("javascript/auto").tap("FlagUsingEvalPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("FlagUsingEvalPlugin",n);t.hooks.parser.for("javascript/esm").tap("FlagUsingEvalPlugin",n)})}}e.exports=FlagUsingEvalPlugin},36253:(e,t,n)=>{"use strict";class Generator{static byType(e){return new ByTypeGenerator(e)}getTypes(e){const t=n(75884);throw new t}getSize(e,t){const r=n(75884);throw new r}generate(e,{dependencyTemplates:t,runtimeTemplate:r,moduleGraph:i,type:s}){const o=n(75884);throw new o}updateHash(e,{module:t,runtime:n}){}}class ByTypeGenerator extends Generator{constructor(e){super();this.map=e;this._types=new Set(Object.keys(e))}getTypes(e){return this._types}getSize(e,t){const n=t||"javascript";const r=this.map[n];return r?r.getSize(e,n):0}generate(e,t){const n=t.type;const r=this.map[n];if(!r){throw new Error(`Generator.byType: no generator specified for ${n}`)}return r.generate(e,t)}}e.exports=Generator},4642:(e,t)=>{"use strict";const n=(e,t)=>{if(e.pushChunk(t)){t.addGroup(e)}};const r=(e,t)=>{if(e.addChild(t)){t.addParent(e)}};t.connectChunkGroupAndChunk=n;t.connectChunkGroupParentAndChild=r},36756:(e,t,n)=>{"use strict";const r=n(81627);e.exports=class HarmonyLinkingError extends r{constructor(e){super(e);this.name="HarmonyLinkingError";this.hideStack=true;Error.captureStackTrace(this,this.constructor)}}},3728:(e,t,n)=>{"use strict";const r=n(81627);class HookWebpackError extends r{constructor(e,t){super(e.message);this.name="HookWebpackError";this.hook=t;this.error=e;this.hideStack=true;this.details=`caused by plugins in ${t}\n${e.stack}`;Error.captureStackTrace(this,this.constructor);this.stack+=`\n-- inner error --\n${e.stack}`}}e.exports=HookWebpackError;const i=(e,t)=>{if(e instanceof r)return e;return new HookWebpackError(e,t)};e.exports.makeWebpackError=i;const s=(e,t)=>{return(n,i)=>{if(n){if(n instanceof r){e(n);return}e(new HookWebpackError(n,t));return}e(null,i)}};e.exports.makeWebpackErrorCallback=s;const o=(e,t)=>{let n;try{n=e()}catch(e){if(e instanceof r){throw e}throw new HookWebpackError(e,t)}return n};e.exports.tryRunOrWebpackError=o},79972:(e,t,n)=>{"use strict";const{SyncBailHook:r}=n(92960);const{RawSource:i}=n(48135);const s=n(45137);const o=n(3080);const a=n(22352);const c=n(53520);const u=n(76150);const l=n(66298);const f=n(76302);const p=n(5389);const d=n(21809);const h=n(73158);const m=n(79838);const g=n(3711);const{evaluateToIdentifier:y,evaluateToString:v,toConstantDependency:_}=n(48472);const{find:b}=n(26221);const E=n(86949);const{compareModulesById:w}=n(68673);const S=new WeakMap;class HotModuleReplacementPlugin{static getParserHooks(e){if(!(e instanceof g)){throw new TypeError("The 'parser' argument must be an instance of JavascriptParser")}let t=S.get(e);if(t===undefined){t={hotAcceptCallback:new r(["expression","requests"]),hotAcceptWithoutCallback:new r(["expression","requests"])};S.set(e,t)}return t}constructor(e){this.options=e||{}}apply(e){const t=[u.module];const n=(e,n)=>{const{hotAcceptCallback:r,hotAcceptWithoutCallback:i}=HotModuleReplacementPlugin.getParserHooks(e);return s=>{const o=e.state.module;const a=new l(`${o.moduleArgument}.hot.accept`,s.callee.range,t);a.loc=s.loc;o.addPresentationalDependency(a);if(s.arguments.length>=1){const t=e.evaluateExpression(s.arguments[0]);let a=[];let c=[];if(t.isString()){a=[t]}else if(t.isArray()){a=t.items.filter(e=>e.isString())}if(a.length>0){a.forEach((e,t)=>{const r=e.string;const i=new n(r,e.range);i.optional=true;i.loc=Object.create(s.loc);i.loc.index=t;o.addDependency(i);c.push(r)});if(s.arguments.length>1){r.call(s.arguments[1],c);e.walkExpression(s.arguments[1]);return true}else{i.call(s,c);return true}}}e.walkExpressions(s.arguments);return true}};const r=(e,n)=>r=>{const i=e.state.module;const s=new l(`${i.moduleArgument}.hot.decline`,r.callee.range,t);s.loc=r.loc;i.addPresentationalDependency(s);if(r.arguments.length===1){const t=e.evaluateExpression(r.arguments[0]);let s=[];if(t.isString()){s=[t]}else if(t.isArray()){s=t.items.filter(e=>e.isString())}s.forEach((e,t)=>{const s=new n(e.string,e.range);s.optional=true;s.loc=Object.create(r.loc);s.loc.index=t;i.addDependency(s)})}return true};const g=e=>n=>{const r=e.state.module;const i=new l(`${r.moduleArgument}.hot`,n.range,t);i.loc=n.loc;r.addPresentationalDependency(i);return true};const S=e=>{e.hooks.evaluateIdentifier.for("module.hot").tap({name:"HotModuleReplacementPlugin",before:"NodeStuffPlugin"},e=>{return y("module.hot","module",()=>["hot"],true)(e)});e.hooks.call.for("module.hot.accept").tap("HotModuleReplacementPlugin",n(e,d));e.hooks.call.for("module.hot.decline").tap("HotModuleReplacementPlugin",r(e,h));e.hooks.expression.for("module.hot").tap("HotModuleReplacementPlugin",g(e))};const k=e=>{e.hooks.evaluateIdentifier.for("import.meta.webpackHot").tap("HotModuleReplacementPlugin",e=>{return y("import.meta.webpackHot","import.meta",()=>["webpackHot"],true)(e)});e.hooks.call.for("import.meta.webpackHot.accept").tap("HotModuleReplacementPlugin",n(e,f));e.hooks.call.for("import.meta.webpackHot.decline").tap("HotModuleReplacementPlugin",r(e,p));e.hooks.expression.for("import.meta.webpackHot").tap("HotModuleReplacementPlugin",g(e))};const D=e=>{e.hooks.expression.for("__webpack_hash__").tap("HotModuleReplacementPlugin",_(e,`${u.getFullHash}()`,[u.getFullHash]));e.hooks.evaluateTypeof.for("__webpack_hash__").tap("HotModuleReplacementPlugin",v("string"))};e.hooks.compilation.tap("HotModuleReplacementPlugin",(t,{normalModuleFactory:n})=>{if(t.compiler!==e)return;t.dependencyFactories.set(d,n);t.dependencyTemplates.set(d,new d.Template);t.dependencyFactories.set(h,n);t.dependencyTemplates.set(h,new h.Template);t.dependencyFactories.set(f,n);t.dependencyTemplates.set(f,new f.Template);t.dependencyFactories.set(p,n);t.dependencyTemplates.set(p,new p.Template);let r=0;const l={};const g={};t.hooks.record.tap("HotModuleReplacementPlugin",(e,t)=>{if(t.hash===e.hash)return;const n=e.chunkGraph;t.hash=e.hash;t.hotIndex=r;t.fullHashChunkModuleHashes=l;t.chunkModuleHashes=g;t.chunkHashs={};for(const n of e.chunks){t.chunkHashs[n.id]=n.hash}t.chunkModuleIds={};for(const r of e.chunks){t.chunkModuleIds[r.id]=Array.from(n.getOrderedChunkModulesIterable(r,w(n)),e=>n.getModuleId(e))}});const y=new E;const v=new E;t.hooks.fullHash.tap("HotModuleReplacementPlugin",e=>{const n=t.chunkGraph;const i=t.records;for(const e of t.chunks){const t=new Set;const r=n.getChunkFullHashModulesIterable(e);if(r!==undefined){for(const n of r){v.add(n,e);t.add(n)}}const s=n.getChunkModulesIterable(e);if(s!==undefined){if(i.chunkModuleHashes&&i.fullHashChunkModuleHashes){for(const r of s){const s=`${e.id}|${r.identifier()}`;const o=n.getModuleHash(r,e.runtime);if(t.has(r)){if(i.fullHashChunkModuleHashes[s]!==o){y.add(r,e)}l[s]=o}else{if(i.chunkModuleHashes[s]!==o){y.add(r,e)}g[s]=o}}}else{for(const r of s){const i=`${e.id}|${r.identifier()}`;const s=n.getModuleHash(r,e.runtime);if(t.has(r)){l[i]=s}else{g[i]=s}}}}}r=i.hotIndex||0;if(y.size>0)r++;e.update(`${r}`)});t.hooks.processAssets.tap({name:"HotModuleReplacementPlugin",stage:o.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{const e=t.chunkGraph;const n=t.records;if(n.hash===t.hash)return;if(!n.chunkModuleHashes||!n.chunkHashs||!n.chunkModuleIds){return}for(const[t,r]of v){const i=`${r.id}|${t.identifier()}`;const s=e.getModuleHash(t,r.runtime);if(n.chunkModuleHashes[i]!==s){y.add(t,r)}g[i]=s}const r={c:[],r:[],m:undefined};const o=new Set;for(const i of Object.keys(n.chunkHashs)){const c=b(t.chunks,e=>`${e.id}`===i);if(c){const i=c.id;const o=e.getChunkModules(c).filter(e=>y.has(e,c));const u=Array.from(e.getChunkRuntimeModulesIterable(c)).filter(e=>y.has(e,c));const l=e.getChunkFullHashModulesIterable(c);const f=l&&Array.from(l).filter(e=>y.has(e,c));const p=new Set;for(const t of e.getChunkModulesIterable(c)){p.add(e.getModuleId(t))}const d=n.chunkModuleIds[i].filter(e=>!p.has(e));if(o.length>0||u.length>0||d.length>0){const l=new a;s.setChunkGraphForChunk(l,e);l.id=i;l.runtime=c.runtime;e.attachModules(l,o);e.attachRuntimeModules(l,u);if(f){e.attachFullHashModules(l,f)}l.removedModules=d;const p=t.getRenderManifest({chunk:l,hash:n.hash,fullHash:n.hash,outputOptions:t.outputOptions,moduleTemplates:t.moduleTemplates,dependencyTemplates:t.dependencyTemplates,codeGenerationResults:t.codeGenerationResults,runtimeTemplate:t.runtimeTemplate,moduleGraph:t.moduleGraph,chunkGraph:e});for(const e of p){let n;let r;if("filename"in e){n=e.filename;r=e.info}else{({path:n,info:r}=t.getPathWithInfo(e.filenameTemplate,e.pathOptions))}const i=e.render();t.additionalChunkAssets.push(n);t.emitAsset(n,i,{hotModuleReplacement:true,...r});c.files.add(n);t.hooks.chunkAsset.call(c,n)}r.c.push(i)}}else{const e=`${+i}`===i?+i:i;r.r.push(e);for(const t of n.chunkModuleIds[e])o.add(t)}}r.m=Array.from(o);const c=new i(JSON.stringify(r));const{path:u,info:l}=t.getPathWithInfo(t.outputOptions.hotUpdateMainFilename,{hash:n.hash});t.emitAsset(u,c,{hotModuleReplacement:true,...l})});t.hooks.additionalTreeRuntimeRequirements.tap("HotModuleReplacementPlugin",(e,n)=>{n.add(u.hmrDownloadManifest);n.add(u.hmrDownloadUpdateHandlers);n.add(u.interceptModuleExecution);n.add(u.moduleCache);t.addRuntimeModule(e,new m)});n.hooks.parser.for("javascript/auto").tap("HotModuleReplacementPlugin",e=>{D(e);S(e);k(e)});n.hooks.parser.for("javascript/dynamic").tap("HotModuleReplacementPlugin",e=>{D(e);S(e)});n.hooks.parser.for("javascript/esm").tap("HotModuleReplacementPlugin",e=>{D(e);k(e)});c.getCompilationHooks(t).loader.tap("HotModuleReplacementPlugin",e=>{e.hot=true})})}}e.exports=HotModuleReplacementPlugin},22352:(e,t,n)=>{"use strict";const r=n(62433);class HotUpdateChunk extends r{constructor(){super();this.removedModules=undefined}updateHash(e,t){super.updateHash(e,t);e.update(JSON.stringify(this.removedModules))}}e.exports=HotUpdateChunk},69276:(e,t,n)=>{"use strict";const r=n(15235);const i=n(24019);class IgnorePlugin{constructor(e){r(i,e,{name:"Ignore Plugin",baseDataPath:"options"});this.options=e;this.checkIgnore=this.checkIgnore.bind(this)}checkIgnore(e){if("checkResource"in this.options&&this.options.checkResource&&this.options.checkResource(e.request,e.context)){return false}if("resourceRegExp"in this.options&&this.options.resourceRegExp&&this.options.resourceRegExp.test(e.request)){if("contextRegExp"in this.options&&this.options.contextRegExp){if(this.options.contextRegExp.test(e.context)){return false}}else{return false}}}apply(e){e.hooks.normalModuleFactory.tap("IgnorePlugin",e=>{e.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)});e.hooks.contextModuleFactory.tap("IgnorePlugin",e=>{e.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)})}}e.exports=IgnorePlugin},63272:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const i=(e,t)=>[e,t];const s=([e,t],[n,r])=>{const i=e.stage-n.stage;if(i!==0)return i;const s=e.position-n.position;if(s!==0)return s;return t-r};class InitFragment{constructor(e,t,n,r,i){this.content=e;this.stage=t;this.position=n;this.key=r;this.endContent=i}getContent(e){return this.content}getEndContent(e){return this.endContent}static addToSource(e,t,n){if(t.length>0){const o=t.map(i).sort(s);const a=new Map;for(const[e]of o){if(typeof e.merge==="function"){const t=a.get(e.key);if(t!==undefined){a.set(e.key||Symbol(),e.merge(t));continue}}a.set(e.key||Symbol(),e)}const c=new r;const u=[];for(const e of a.values()){c.add(e.getContent(n));const t=e.getEndContent(n);if(t){u.push(t)}}c.add(e);for(const e of u.reverse()){c.add(e)}return c}else{return e}}}InitFragment.prototype.merge=undefined;InitFragment.STAGE_CONSTANTS=10;InitFragment.STAGE_ASYNC_BOUNDARY=20;InitFragment.STAGE_HARMONY_EXPORTS=30;InitFragment.STAGE_HARMONY_IMPORTS=40;InitFragment.STAGE_PROVIDES=50;InitFragment.STAGE_ASYNC_DEPENDENCIES=60;InitFragment.STAGE_ASYNC_HARMONY_IMPORTS=70;e.exports=InitFragment},77750:(e,t,n)=>{"use strict";const r=n(62355);const i=n(66583);const{compareModulesById:s}=n(68673);const{dirname:o,mkdirp:a}=n(95396);const c=(e,t)=>{for(const n of e){if(t(n))return true}return false};class LibManifestPlugin{constructor(e){this.options=e}apply(e){e.hooks.emit.tapAsync("LibManifestPlugin",(t,n)=>{const u=t.moduleGraph;r.forEach(Array.from(t.chunks),(n,r)=>{if(!n.isOnlyInitial()){r();return}const l=t.chunkGraph;const f=t.getPath(this.options.path,{chunk:n});const p=this.options.name&&t.getPath(this.options.name,{chunk:n});const d=Object.create(null);for(const t of l.getOrderedChunkModulesIterable(n,s(l))){if(this.options.entryOnly&&!c(u.getIncomingConnections(t),e=>e.dependency instanceof i)){continue}const n=t.libIdent({context:this.options.context||e.options.context,associatedObjectForCache:e.root});if(n){const e=u.getExportsInfo(t);const r=e.getProvidedExports();const i={id:l.getModuleId(t),buildMeta:t.buildMeta,exports:Array.isArray(r)?r:undefined};d[n]=i}}const h={name:p,type:this.options.type,content:d};const m=this.options.format?JSON.stringify(h,null,2):JSON.stringify(h);const g=Buffer.from(m,"utf8");a(e.intermediateFileSystem,o(e.intermediateFileSystem,f),t=>{if(t)return r(t);e.intermediateFileSystem.writeFile(f,g,r)})},n)})}}e.exports=LibManifestPlugin},43351:(e,t,n)=>{"use strict";const r=n(13984);class LibraryTemplatePlugin{constructor(e,t,n,r,i){this.library={type:t||"var",name:e,umdNamedDefine:n,auxiliaryComment:r,export:i}}apply(e){const{output:t}=e.options;t.library=this.library;new r(this.library.type).apply(e)}}e.exports=LibraryTemplatePlugin},19674:(e,t,n)=>{"use strict";const r=n(70354);const i=n(53520);const s=n(15235);const o=n(6087);class LoaderOptionsPlugin{constructor(e={}){s(o,e,{name:"Loader Options Plugin",baseDataPath:"options"});if(typeof e!=="object")e={};if(!e.test){e.test={test:()=>true}}this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("LoaderOptionsPlugin",e=>{i.getCompilationHooks(e).loader.tap("LoaderOptionsPlugin",(e,n)=>{const i=n.resource;if(!i)return;const s=i.indexOf("?");if(r.matchObject(t,s<0?i:i.substr(0,s))){for(const n of Object.keys(t)){if(n==="include"||n==="exclude"||n==="test"){continue}e[n]=t[n]}}})})}}e.exports=LoaderOptionsPlugin},97736:(e,t,n)=>{"use strict";const r=n(53520);class LoaderTargetPlugin{constructor(e){this.target=e}apply(e){e.hooks.compilation.tap("LoaderTargetPlugin",e=>{r.getCompilationHooks(e).loader.tap("LoaderTargetPlugin",e=>{e.target=this.target})})}}e.exports=LoaderTargetPlugin},73694:(e,t,n)=>{"use strict";const{SyncWaterfallHook:r}=n(92960);const i=n(31669);const s=n(76150);const o=n(27503);const a=o(()=>n(18161));const c=o(()=>n(58421));const u=o(()=>n(67104));class MainTemplate{constructor(e,t){this._outputOptions=e||{};this.hooks=Object.freeze({renderManifest:{tap:i.deprecate((e,n)=>{t.hooks.renderManifest.tap(e,(e,t)=>{if(!t.chunk.hasRuntime())return e;return n(e,t)})},"MainTemplate.hooks.renderManifest is deprecated (use Compilation.hooks.renderManifest instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_MANIFEST")},modules:{tap:()=>{throw new Error("MainTemplate.hooks.modules has been removed (there is no replacement, please create an issue to request that)")}},moduleObj:{tap:()=>{throw new Error("MainTemplate.hooks.moduleObj has been removed (there is no replacement, please create an issue to request that)")}},require:{tap:i.deprecate((e,n)=>{a().getCompilationHooks(t).renderRequire.tap(e,n)},"MainTemplate.hooks.require is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderRequire instead)","DEP_WEBPACK_MAIN_TEMPLATE_REQUIRE")},beforeStartup:{tap:()=>{throw new Error("MainTemplate.hooks.beforeStartup has been removed (use RuntimeGlobals.startup instead)")}},startup:{tap:()=>{throw new Error("MainTemplate.hooks.startup has been removed (use RuntimeGlobals.startup instead)")}},afterStartup:{tap:()=>{throw new Error("MainTemplate.hooks.afterStartup has been removed (use RuntimeGlobals.startup instead)")}},render:{tap:i.deprecate((e,n)=>{a().getCompilationHooks(t).render.tap(e,(e,r)=>{if(r.chunkGraph.getNumberOfEntryModules(r.chunk)===0||!r.chunk.hasRuntime()){return e}return n(e,r.chunk,t.hash,t.moduleTemplates.javascript,t.dependencyTemplates)})},"MainTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER")},renderWithEntry:{tap:i.deprecate((e,n)=>{a().getCompilationHooks(t).render.tap(e,(e,r)=>{if(r.chunkGraph.getNumberOfEntryModules(r.chunk)===0||!r.chunk.hasRuntime()){return e}return n(e,r.chunk,t.hash)})},"MainTemplate.hooks.renderWithEntry is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_WITH_ENTRY")},assetPath:{tap:i.deprecate((e,n)=>{t.hooks.assetPath.tap(e,n)},"MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH"),call:i.deprecate((e,n)=>{return t.getAssetPath(e,n)},"MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH")},hash:{tap:i.deprecate((e,n)=>{t.hooks.fullHash.tap(e,n)},"MainTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_WEBPACK_MAIN_TEMPLATE_HASH")},hashForChunk:{tap:i.deprecate((e,n)=>{a().getCompilationHooks(t).chunkHash.tap(e,(e,t)=>{if(!e.hasRuntime())return;return n(t,e)})},"MainTemplate.hooks.hashForChunk is deprecated (use JavascriptModulesPlugin.getCompilationHooks().chunkHash instead)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},globalHashPaths:{tap:i.deprecate(()=>{},"MainTemplate.hooks.globalHashPaths has been removed (it's no longer needed)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},globalHash:{tap:i.deprecate(()=>{},"MainTemplate.hooks.globalHash has been removed (it's no longer needed)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},hotBootstrap:{tap:()=>{throw new Error("MainTemplate.hooks.hotBootstrap has been removed (use your own RuntimeModule instead)")}},bootstrap:new r(["source","chunk","hash","moduleTemplate","dependencyTemplates"]),localVars:new r(["source","chunk","hash"]),requireExtensions:new r(["source","chunk","hash"]),requireEnsure:new r(["source","chunk","hash","chunkIdExpression"]),get jsonpScript(){const e=u().getCompilationHooks(t);return e.createScript},get linkPrefetch(){const e=c().getCompilationHooks(t);return e.linkPrefetch},get linkPreload(){const e=c().getCompilationHooks(t);return e.linkPreload}});this.renderCurrentHashCode=i.deprecate((e,t)=>{if(t){return`${s.getFullHash} ? ${s.getFullHash}().slice(0, ${t}) : ${e.slice(0,t)}`}return`${s.getFullHash} ? ${s.getFullHash}() : ${e}`},"MainTemplate.renderCurrentHashCode is deprecated (use RuntimeGlobals.getFullHash runtime function instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_CURRENT_HASH_CODE");this.getPublicPath=i.deprecate(e=>{return t.getAssetPath(t.outputOptions.publicPath,e)},"MainTemplate.getPublicPath is deprecated (use Compilation.getAssetPath(compilation.outputOptions.publicPath, options) instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_PUBLIC_PATH");this.getAssetPath=i.deprecate((e,n)=>{return t.getAssetPath(e,n)},"MainTemplate.getAssetPath is deprecated (use Compilation.getAssetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_ASSET_PATH");this.getAssetPathWithInfo=i.deprecate((e,n)=>{return t.getAssetPathWithInfo(e,n)},"MainTemplate.getAssetPathWithInfo is deprecated (use Compilation.getAssetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_ASSET_PATH_WITH_INFO")}}Object.defineProperty(MainTemplate.prototype,"requireFn",{get:i.deprecate(()=>"__webpack_require__",'MainTemplate.requireFn is deprecated (use "__webpack_require__")',"DEP_WEBPACK_MAIN_TEMPLATE_REQUIRE_FN")});Object.defineProperty(MainTemplate.prototype,"outputOptions",{get:i.deprecate(function(){return this._outputOptions},"MainTemplate.outputOptions is deprecated (use Compilation.outputOptions instead)","DEP_WEBPACK_MAIN_TEMPLATE_OUTPUT_OPTIONS")});e.exports=MainTemplate},53453:(e,t,n)=>{"use strict";const r=n(31669);const i=n(45137);const s=n(32448);const o=n(75412);const a=n(76150);const{compareChunksById:c}=n(68673);const u=n(56202);const l={};let f=1e3;const p=new Set(["unknown"]);const d=new Set(["javascript"]);class Module extends s{constructor(e,t=null){super();this.type=e;this.context=t;this.needId=true;this.debugId=f++;this.resolveOptions=l;this.factoryMeta=undefined;this._warnings=undefined;this._errors=undefined;this.buildMeta=undefined;this.buildInfo=undefined;this.presentationalDependencies=undefined}get id(){return i.getChunkGraphForModule(this,"Module.id","DEP_WEBPACK_MODULE_ID").getModuleId(this)}set id(e){if(e===""){this.needId=false;return}i.getChunkGraphForModule(this,"Module.id","DEP_WEBPACK_MODULE_ID").setModuleId(this,e)}get hash(){return i.getChunkGraphForModule(this,"Module.hash","DEP_WEBPACK_MODULE_HASH").getModuleHash(this,undefined)}get renderedHash(){return i.getChunkGraphForModule(this,"Module.renderedHash","DEP_WEBPACK_MODULE_RENDERED_HASH").getRenderedModuleHash(this,undefined)}get profile(){return o.getModuleGraphForModule(this,"Module.profile","DEP_WEBPACK_MODULE_PROFILE").getProfile(this)}set profile(e){o.getModuleGraphForModule(this,"Module.profile","DEP_WEBPACK_MODULE_PROFILE").setProfile(this,e)}get index(){return o.getModuleGraphForModule(this,"Module.index","DEP_WEBPACK_MODULE_INDEX").getPreOrderIndex(this)}set index(e){o.getModuleGraphForModule(this,"Module.index","DEP_WEBPACK_MODULE_INDEX").setPreOrderIndex(this,e)}get index2(){return o.getModuleGraphForModule(this,"Module.index2","DEP_WEBPACK_MODULE_INDEX2").getPostOrderIndex(this)}set index2(e){o.getModuleGraphForModule(this,"Module.index2","DEP_WEBPACK_MODULE_INDEX2").setPostOrderIndex(this,e)}get depth(){return o.getModuleGraphForModule(this,"Module.depth","DEP_WEBPACK_MODULE_DEPTH").getDepth(this)}set depth(e){o.getModuleGraphForModule(this,"Module.depth","DEP_WEBPACK_MODULE_DEPTH").setDepth(this,e)}get issuer(){return o.getModuleGraphForModule(this,"Module.issuer","DEP_WEBPACK_MODULE_ISSUER").getIssuer(this)}set issuer(e){o.getModuleGraphForModule(this,"Module.issuer","DEP_WEBPACK_MODULE_ISSUER").setIssuer(this,e)}get usedExports(){return o.getModuleGraphForModule(this,"Module.usedExports","DEP_WEBPACK_MODULE_USED_EXPORTS").getUsedExports(this,undefined)}get optimizationBailout(){return o.getModuleGraphForModule(this,"Module.optimizationBailout","DEP_WEBPACK_MODULE_OPTIMIZATION_BAILOUT").getOptimizationBailout(this)}get optional(){return this.isOptional(o.getModuleGraphForModule(this,"Module.optional","DEP_WEBPACK_MODULE_OPTIONAL"))}addChunk(e){const t=i.getChunkGraphForModule(this,"Module.addChunk","DEP_WEBPACK_MODULE_ADD_CHUNK");if(t.isModuleInChunk(this,e))return false;t.connectChunkAndModule(e,this);return true}removeChunk(e){return i.getChunkGraphForModule(this,"Module.removeChunk","DEP_WEBPACK_MODULE_REMOVE_CHUNK").disconnectChunkAndModule(e,this)}isInChunk(e){return i.getChunkGraphForModule(this,"Module.isInChunk","DEP_WEBPACK_MODULE_IS_IN_CHUNK").isModuleInChunk(this,e)}isEntryModule(){return i.getChunkGraphForModule(this,"Module.isEntryModule","DEP_WEBPACK_MODULE_IS_ENTRY_MODULE").isEntryModule(this)}getChunks(){return i.getChunkGraphForModule(this,"Module.getChunks","DEP_WEBPACK_MODULE_GET_CHUNKS").getModuleChunks(this)}getNumberOfChunks(){return i.getChunkGraphForModule(this,"Module.getNumberOfChunks","DEP_WEBPACK_MODULE_GET_NUMBER_OF_CHUNKS").getNumberOfModuleChunks(this)}get chunksIterable(){return i.getChunkGraphForModule(this,"Module.chunksIterable","DEP_WEBPACK_MODULE_CHUNKS_ITERABLE").getOrderedModuleChunksIterable(this,c)}isProvided(e){return o.getModuleGraphForModule(this,"Module.usedExports","DEP_WEBPACK_MODULE_USED_EXPORTS").isExportProvided(this,e)}get exportsArgument(){return this.buildInfo&&this.buildInfo.exportsArgument||"exports"}get moduleArgument(){return this.buildInfo&&this.buildInfo.moduleArgument||"module"}getExportsType(e,t){switch(this.buildMeta&&this.buildMeta.exportsType){case"flagged":return t?"default-only":"namespace";case"namespace":return"namespace";case"default":switch(this.buildMeta.defaultObject){case"redirect":case"redirect-warn":return t?"default-only":"default-with-named";default:return"default-only"}case"dynamic":{if(t)return"default-only";const n=()=>{switch(this.buildMeta.defaultObject){case"redirect":case"redirect-warn":return"default-with-named";default:return"default-only"}};const r=e.getExportInfo(this,"__esModule");if(r.provided===false){return n()}const i=r.getTarget(e);if(!i||!i.export||i.export.length!==1||i.export[0]!=="__esModule"){return"dynamic"}switch(i.module.buildMeta&&i.module.buildMeta.exportsType){case"flagged":case"namespace":return"namespace";case"default":return n();default:return"dynamic"}}default:return t?"default-only":"dynamic"}}addPresentationalDependency(e){if(this.presentationalDependencies===undefined){this.presentationalDependencies=[]}this.presentationalDependencies.push(e)}clearDependenciesAndBlocks(){if(this.presentationalDependencies!==undefined){this.presentationalDependencies.length=0}super.clearDependenciesAndBlocks()}addWarning(e){if(this._warnings===undefined){this._warnings=[]}this._warnings.push(e)}getWarnings(){return this._warnings}getNumberOfWarnings(){return this._warnings!==undefined?this._warnings.length:0}addError(e){if(this._errors===undefined){this._errors=[]}this._errors.push(e)}getErrors(){return this._errors}getNumberOfErrors(){return this._errors!==undefined?this._errors.length:0}clearWarningsAndErrors(){if(this._warnings!==undefined){this._warnings.length=0}if(this._errors!==undefined){this._errors.length=0}}isOptional(e){let t=false;for(const n of e.getIncomingConnections(this)){if(!n.dependency||!n.dependency.optional||!n.isActive(undefined))return false;t=true}return t}isAccessibleInChunk(e,t,n){for(const n of t.groupsIterable){if(!this.isAccessibleInChunkGroup(e,n))return false}return true}isAccessibleInChunkGroup(e,t,n){const r=new Set([t]);e:for(const i of r){for(const t of i.chunks){if(t!==n&&e.isModuleInChunk(this,t))continue e}if(t.isInitial())return false;for(const e of t.parentsIterable)r.add(e)}return true}hasReasonForChunk(e,t,n){for(const r of t.getIncomingConnections(this)){if(!r.isActive(e.runtime))continue;const t=r.originModule;for(const r of n.getModuleChunksIterable(t)){if(!this.isAccessibleInChunk(n,r,e))return true}}return false}hasReasons(e,t){for(const n of e.getIncomingConnections(this)){if(n.isActive(t))return true}return false}toString(){return`Module[${this.debugId}: ${this.identifier()}]`}needBuild(e,t){t(null,!this.buildMeta||this.needRebuild===Module.prototype.needRebuild||this.needRebuild(e.fileSystemInfo.getDeprecatedFileTimestamps(),e.fileSystemInfo.getDeprecatedContextTimestamps()))}needRebuild(e,t){return true}updateHash(e,t={chunkGraph:i.getChunkGraphForModule(this,"Module.updateHash","DEP_WEBPACK_MODULE_UPDATE_HASH"),runtime:undefined}){const{chunkGraph:n,runtime:r}=t;e.update(`${n.getModuleId(this)}`);const s=n.moduleGraph.getExportsInfo(this);s.updateHash(e,r);if(this.presentationalDependencies!==undefined){for(const n of this.presentationalDependencies){n.updateHash(e,t)}}super.updateHash(e,t)}invalidateBuild(){}identifier(){const e=n(75884);throw new e}readableIdentifier(e){const t=n(75884);throw new t}build(e,t,r,i,s){const o=n(75884);throw new o}getSourceTypes(){if(this.source===Module.prototype.source){return p}else{return d}}source(e,t,r="javascript"){if(this.codeGeneration===Module.prototype.codeGeneration){const e=n(75884);throw new e}const s=i.getChunkGraphForModule(this,"Module.source() is deprecated. Use Compilation.codeGenerationResults.getSource(module, runtime, type) instead","DEP_WEBPACK_MODULE_SOURCE");const o={dependencyTemplates:e,runtimeTemplate:t,moduleGraph:s.moduleGraph,chunkGraph:s,runtime:undefined};const a=this.codeGeneration(o).sources;return r?a.get(r):a.get(this.getSourceTypes().values().next().value)}size(e){const t=n(75884);throw new t}libIdent(e){return null}nameForCondition(){return null}codeGeneration(e){const t=new Map;for(const n of this.getSourceTypes()){if(n!=="unknown"){t.set(n,this.source(e.dependencyTemplates,e.runtimeTemplate,n))}}return{sources:t,runtimeRequirements:new Set([a.module,a.exports,a.require])}}chunkCondition(e,t){return true}updateCacheModule(e){this.type=e.type;this.context=e.context;this.factoryMeta=e.factoryMeta;this.resolveOptions=e.resolveOptions}originalSource(){return null}serialize(e){const{write:t}=e;t(this.type);t(this.context);t(this.resolveOptions);t(this.factoryMeta);t(this.useSourceMap);t(this._warnings!==undefined&&this._warnings.length===0?undefined:this._warnings);t(this._errors!==undefined&&this._errors.length===0?undefined:this._errors);t(this.buildMeta);t(this.buildInfo);t(this.presentationalDependencies);super.serialize(e)}deserialize(e){const{read:t}=e;this.type=t();this.context=t();this.resolveOptions=t();this.factoryMeta=t();this.useSourceMap=t();this._warnings=t();this._errors=t();this.buildMeta=t();this.buildInfo=t();this.presentationalDependencies=t();super.deserialize(e)}}u(Module,"webpack/lib/Module");Object.defineProperty(Module.prototype,"hasEqualsChunks",{get(){throw new Error("Module.hasEqualsChunks was renamed (use hasEqualChunks instead)")}});Object.defineProperty(Module.prototype,"isUsed",{get(){throw new Error("Module.isUsed was renamed (use getUsedName, isExportUsed or isModuleUsed instead)")}});Object.defineProperty(Module.prototype,"errors",{get:r.deprecate(function(){if(this._errors===undefined){this._errors=[]}return this._errors},"Module.errors was removed (use getErrors instead)","DEP_WEBPACK_MODULE_ERRORS")});Object.defineProperty(Module.prototype,"warnings",{get:r.deprecate(function(){if(this._warnings===undefined){this._warnings=[]}return this._warnings},"Module.warnings was removed (use getWarnings instead)","DEP_WEBPACK_MODULE_WARNINGS")});Object.defineProperty(Module.prototype,"used",{get(){throw new Error("Module.used was refactored (use ModuleGraph.getUsedExports instead)")},set(e){throw new Error("Module.used was refactored (use ModuleGraph.setUsedExports instead)")}});e.exports=Module},26509:(e,t,n)=>{"use strict";const{cutOffLoaderExecution:r}=n(50717);const i=n(81627);const s=n(56202);class ModuleBuildError extends i{constructor(e,{from:t=null}={}){let n="Module build failed";let i=undefined;if(t){n+=` (from ${t}):\n`}else{n+=": "}if(e!==null&&typeof e==="object"){if(typeof e.stack==="string"&&e.stack){const t=r(e.stack);if(!e.hideStack){n+=t}else{i=t;if(typeof e.message==="string"&&e.message){n+=e.message}else{n+=e}}}else if(typeof e.message==="string"&&e.message){n+=e.message}else{n+=String(e)}}else{n+=String(e)}super(n);this.name="ModuleBuildError";this.details=i;this.error=e;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.error);super.serialize(e)}deserialize(e){const{read:t}=e;this.error=t();super.deserialize(e)}}s(ModuleBuildError,"webpack/lib/ModuleBuildError");e.exports=ModuleBuildError},82811:(e,t,n)=>{"use strict";const r=n(81627);class ModuleDependencyError extends r{constructor(e,t,n){super(t.message);this.name="ModuleDependencyError";this.details=t.stack.split("\n").slice(1).join("\n");this.module=e;this.loc=n;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleDependencyError},23280:(e,t,n)=>{"use strict";const r=n(81627);e.exports=class ModuleDependencyWarning extends r{constructor(e,t,n){super(t.message);this.name="ModuleDependencyWarning";this.details=t.stack.split("\n").slice(1).join("\n");this.module=e;this.loc=n;this.error=t;Error.captureStackTrace(this,this.constructor)}}},91613:(e,t,n)=>{"use strict";const{cleanUp:r}=n(50717);const i=n(81627);const s=n(56202);class ModuleError extends i{constructor(e,{from:t=null}={}){let n="Module Error";if(t){n+=` (from ${t}):\n`}else{n+=": "}if(e&&typeof e==="object"&&e.message){n+=e.message}else if(e){n+=e}super(n);this.name="ModuleError";this.error=e;this.details=e&&typeof e==="object"&&e.stack?r(e.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.error);super.serialize(e)}deserialize(e){const{read:t}=e;this.error=t();super.deserialize(e)}}s(ModuleError,"webpack/lib/ModuleError");e.exports=ModuleError},40674:(e,t,n)=>{"use strict";class ModuleFactory{create(e,t){const r=n(75884);throw new r}}e.exports=ModuleFactory},70354:(e,t,n)=>{"use strict";const r=n(35891);const i=t;i.ALL_LOADERS_RESOURCE="[all-loaders][resource]";i.REGEXP_ALL_LOADERS_RESOURCE=/\[all-?loaders\]\[resource\]/gi;i.LOADERS_RESOURCE="[loaders][resource]";i.REGEXP_LOADERS_RESOURCE=/\[loaders\]\[resource\]/gi;i.RESOURCE="[resource]";i.REGEXP_RESOURCE=/\[resource\]/gi;i.ABSOLUTE_RESOURCE_PATH="[absolute-resource-path]";i.REGEXP_ABSOLUTE_RESOURCE_PATH=/\[abs(olute)?-?resource-?path\]/gi;i.RESOURCE_PATH="[resource-path]";i.REGEXP_RESOURCE_PATH=/\[resource-?path\]/gi;i.ALL_LOADERS="[all-loaders]";i.REGEXP_ALL_LOADERS=/\[all-?loaders\]/gi;i.LOADERS="[loaders]";i.REGEXP_LOADERS=/\[loaders\]/gi;i.QUERY="[query]";i.REGEXP_QUERY=/\[query\]/gi;i.ID="[id]";i.REGEXP_ID=/\[id\]/gi;i.HASH="[hash]";i.REGEXP_HASH=/\[hash\]/gi;i.NAMESPACE="[namespace]";i.REGEXP_NAMESPACE=/\[namespace\]/gi;const s=(e,t)=>{const n=e.indexOf(t);return n<0?"":e.substr(n)};const o=(e,t)=>{const n=e.lastIndexOf(t);return n<0?"":e.substr(0,n)};const a=e=>{const t=r("md4");t.update(e);const n=t.digest("hex");return n.substr(0,4)};const c=e=>{if(typeof e==="string"){e=new RegExp("^"+e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"))}return e};i.createFilename=((e,t,{requestShortener:n,chunkGraph:r})=>{const c={namespace:"",moduleFilenameTemplate:"",...typeof t==="object"?t:{moduleFilenameTemplate:t}};let u;let l;let f;let p;let d;if(e===undefined)e="";if(typeof e==="string"){d=n.shorten(e);f=d;p="";u=e.split("!").pop();l=a(f)}else{d=e.readableIdentifier(n);f=n.shorten(e.identifier());p=r.getModuleId(e);u=e.identifier().split("!").pop();l=a(f)}const h=d.split("!").pop();const m=o(d,"!");const g=o(f,"!");const y=s(h,"?");const v=h.substr(0,h.length-y.length);if(typeof c.moduleFilenameTemplate==="function"){return c.moduleFilenameTemplate({identifier:f,shortIdentifier:d,resource:h,resourcePath:v,absoluteResourcePath:u,allLoaders:g,query:y,moduleId:p,hash:l,namespace:c.namespace})}return c.moduleFilenameTemplate.replace(i.REGEXP_ALL_LOADERS_RESOURCE,f).replace(i.REGEXP_LOADERS_RESOURCE,d).replace(i.REGEXP_RESOURCE,h).replace(i.REGEXP_RESOURCE_PATH,v).replace(i.REGEXP_ABSOLUTE_RESOURCE_PATH,u).replace(i.REGEXP_ALL_LOADERS,g).replace(i.REGEXP_LOADERS,m).replace(i.REGEXP_QUERY,y).replace(i.REGEXP_ID,p).replace(i.REGEXP_HASH,l).replace(i.REGEXP_NAMESPACE,c.namespace)});i.replaceDuplicates=((e,t,n)=>{const r=Object.create(null);const i=Object.create(null);e.forEach((e,t)=>{r[e]=r[e]||[];r[e].push(t);i[e]=0});if(n){Object.keys(r).forEach(e=>{r[e].sort(n)})}return e.map((e,s)=>{if(r[e].length>1){if(n&&r[e][0]===s)return e;return t(e,s,i[e]++)}else{return e}})});i.matchPart=((e,t)=>{if(!t)return true;t=c(t);if(Array.isArray(t)){return t.map(c).some(t=>t.test(e))}else{return t.test(e)}});i.matchObject=((e,t)=>{if(e.test){if(!i.matchPart(t,e.test)){return false}}if(e.include){if(!i.matchPart(t,e.include)){return false}}if(e.exclude){if(i.matchPart(t,e.exclude)){return false}}return true})},75412:(e,t,n)=>{"use strict";const r=n(31669);const i=n(76632);const s=n(79900);const o=[];class ModuleGraphModule{constructor(){this.incomingConnections=new Set;this.outgoingConnections=undefined;this.issuer=undefined;this.optimizationBailout=[];this.exports=new i;this.preOrderIndex=null;this.postOrderIndex=null;this.depth=null;this.profile=undefined;this.async=false}}class ModuleGraphDependency{constructor(){this.connection=undefined;this.parentModule=undefined;this.parentBlock=undefined}}class ModuleGraph{constructor(){this._dependencyMap=new Map;this._moduleMap=new Map;this._originMap=new Map;this._metaMap=new Map;this._cacheModuleGraphModuleKey1=undefined;this._cacheModuleGraphModuleValue1=undefined;this._cacheModuleGraphModuleKey2=undefined;this._cacheModuleGraphModuleValue2=undefined;this._cacheModuleGraphDependencyKey=undefined;this._cacheModuleGraphDependencyValue=undefined}_getModuleGraphModule(e){if(this._cacheModuleGraphModuleKey1===e)return this._cacheModuleGraphModuleValue1;if(this._cacheModuleGraphModuleKey2===e)return this._cacheModuleGraphModuleValue2;let t=this._moduleMap.get(e);if(t===undefined){t=new ModuleGraphModule;this._moduleMap.set(e,t)}this._cacheModuleGraphModuleKey2=this._cacheModuleGraphModuleKey1;this._cacheModuleGraphModuleValue2=this._cacheModuleGraphModuleValue1;this._cacheModuleGraphModuleKey1=e;this._cacheModuleGraphModuleValue1=t;return t}_getModuleGraphDependency(e){if(this._cacheModuleGraphDependencyKey===e)return this._cacheModuleGraphDependencyValue;let t=this._dependencyMap.get(e);if(t===undefined){t=new ModuleGraphDependency;this._dependencyMap.set(e,t)}this._cacheModuleGraphDependencyKey=e;this._cacheModuleGraphDependencyValue=t;return t}setParents(e,t,n){const r=this._getModuleGraphDependency(e);r.parentBlock=t;r.parentModule=n}getParentModule(e){const t=this._getModuleGraphDependency(e);return t.parentModule}getParentBlock(e){const t=this._getModuleGraphDependency(e);return t.parentBlock}setResolvedModule(e,t,n){const r=new s(e,t,n,undefined,t.weak,t.getCondition(this));const i=this._getModuleGraphDependency(t);i.connection=r;const o=this._getModuleGraphModule(n).incomingConnections;o.add(r);const a=this._getModuleGraphModule(e);if(a.outgoingConnections===undefined){a.outgoingConnections=new Set}a.outgoingConnections.add(r)}updateModule(e,t){const{connection:n}=this._getModuleGraphDependency(e);if(n.module===t)return;const r=this._getModuleGraphModule(n.module);r.incomingConnections.delete(n);n.module=t;const i=this._getModuleGraphModule(t);i.incomingConnections.add(n)}removeConnection(e){const t=this._getModuleGraphDependency(e);const{connection:n}=t;const r=this._getModuleGraphModule(n.module);r.incomingConnections.delete(n);const i=this._getModuleGraphModule(n.originModule);i.outgoingConnections.delete(n);t.connection=undefined}addExplanation(e,t){const{connection:n}=this._getModuleGraphDependency(e);n.addExplanation(t)}cloneModuleAttributes(e,t){const n=this._getModuleGraphModule(e);const r=this._getModuleGraphModule(t);r.postOrderIndex=n.postOrderIndex;r.preOrderIndex=n.preOrderIndex;r.depth=n.depth;r.exports=n.exports;r.async=n.async}removeModuleAttributes(e){const t=this._getModuleGraphModule(e);t.postOrderIndex=null;t.preOrderIndex=null;t.depth=null;t.async=false}removeAllModuleAttributes(){for(const e of this._moduleMap.values()){e.postOrderIndex=null;e.preOrderIndex=null;e.depth=null;e.async=false}}moveModuleConnections(e,t,n){if(e===t)return;const r=this._getModuleGraphModule(e);const i=this._getModuleGraphModule(t);const s=r.outgoingConnections;if(s!==undefined){if(i.outgoingConnections===undefined){i.outgoingConnections=new Set}const e=i.outgoingConnections;for(const r of s){if(n(r)){r.originModule=t;e.add(r);s.delete(r)}}}const o=r.incomingConnections;const a=i.incomingConnections;for(const e of o){if(n(e)){e.module=t;a.add(e);o.delete(e)}}}copyOutgoingModuleConnections(e,t,n){if(e===t)return;const r=this._getModuleGraphModule(e);const i=this._getModuleGraphModule(t);const o=r.outgoingConnections;if(o!==undefined){if(i.outgoingConnections===undefined){i.outgoingConnections=new Set}const e=i.outgoingConnections;for(const r of o){if(n(r)){const n=new s(r.resolvedOriginModule,r.dependency,r.resolvedModule,undefined,r.weak,r.condition);n.originModule=t;n.module=r.module;if(r.explanations){for(const e of r.explanations){n.addExplanation(e)}}e.add(n);if(n.module!==undefined){const e=this._getModuleGraphModule(n.module);if(e.incomingConnections===undefined){e.incomingConnections=new Set}e.incomingConnections.add(n)}}}}}addExtraReason(e,t){const n=this._getModuleGraphModule(e).incomingConnections;n.add(new s(null,null,e,t))}getResolvedModule(e){const{connection:t}=this._getModuleGraphDependency(e);return t!==undefined?t.resolvedModule:null}getConnection(e){const{connection:t}=this._getModuleGraphDependency(e);return t}getModule(e){const{connection:t}=this._getModuleGraphDependency(e);return t!==undefined?t.module:null}getOrigin(e){const{connection:t}=this._getModuleGraphDependency(e);return t!==undefined?t.originModule:null}getResolvedOrigin(e){const{connection:t}=this._getModuleGraphDependency(e);return t!==undefined?t.resolvedOriginModule:null}getIncomingConnections(e){const t=this._getModuleGraphModule(e).incomingConnections;return t}getOutgoingConnections(e){const t=this._getModuleGraphModule(e).outgoingConnections;return t===undefined?o:t}getProfile(e){const t=this._getModuleGraphModule(e);return t.profile}setProfile(e,t){const n=this._getModuleGraphModule(e);n.profile=t}getIssuer(e){const t=this._getModuleGraphModule(e);return t.issuer}setIssuer(e,t){const n=this._getModuleGraphModule(e);n.issuer=t}setIssuerIfUnset(e,t){const n=this._getModuleGraphModule(e);if(n.issuer===undefined)n.issuer=t}getOptimizationBailout(e){const t=this._getModuleGraphModule(e);return t.optimizationBailout}getProvidedExports(e){const t=this._getModuleGraphModule(e);return t.exports.getProvidedExports()}isExportProvided(e,t){const n=this._getModuleGraphModule(e);const r=n.exports.isExportProvided(t);return r===undefined?null:r}getExportsInfo(e){const t=this._getModuleGraphModule(e);return t.exports}getExportInfo(e,t){const n=this._getModuleGraphModule(e);return n.exports.getExportInfo(t)}getReadOnlyExportInfo(e,t){const n=this._getModuleGraphModule(e);return n.exports.getReadOnlyExportInfo(t)}getUsedExports(e,t){const n=this._getModuleGraphModule(e);return n.exports.getUsedExports(t)}getPreOrderIndex(e){const t=this._getModuleGraphModule(e);return t.preOrderIndex}getPostOrderIndex(e){const t=this._getModuleGraphModule(e);return t.postOrderIndex}setPreOrderIndex(e,t){const n=this._getModuleGraphModule(e);n.preOrderIndex=t}setPreOrderIndexIfUnset(e,t){const n=this._getModuleGraphModule(e);if(n.preOrderIndex===null){n.preOrderIndex=t;return true}return false}setPostOrderIndex(e,t){const n=this._getModuleGraphModule(e);n.postOrderIndex=t}setPostOrderIndexIfUnset(e,t){const n=this._getModuleGraphModule(e);if(n.postOrderIndex===null){n.postOrderIndex=t;return true}return false}getDepth(e){const t=this._getModuleGraphModule(e);return t.depth}setDepth(e,t){const n=this._getModuleGraphModule(e);n.depth=t}setDepthIfLower(e,t){const n=this._getModuleGraphModule(e);if(n.depth===null||n.depth>t){n.depth=t;return true}return false}isAsync(e){const t=this._getModuleGraphModule(e);return t.async}setAsync(e){const t=this._getModuleGraphModule(e);t.async=true}getMeta(e){let t=this._metaMap.get(e);if(t===undefined){t=Object.create(null);this._metaMap.set(e,t)}return t}static getModuleGraphForModule(e,t,n){const i=c.get(t);if(i)return i(e);const s=r.deprecate(e=>{const n=a.get(e);if(!n)throw new Error(t+"There was no ModuleGraph assigned to the Module for backward-compat (Use the new API)");return n},t+": Use new ModuleGraph API",n);c.set(t,s);return s(e)}static setModuleGraphForModule(e,t){a.set(e,t)}}const a=new WeakMap;const c=new Map;e.exports=ModuleGraph;e.exports.ModuleGraphConnection=s},79900:e=>{"use strict";class ModuleGraphConnection{constructor(e,t,n,r,i=false,s=undefined){this.originModule=e;this.resolvedOriginModule=e;this.dependency=t;this.resolvedModule=n;this.module=n;this.weak=i;this.conditional=!!s;this._active=true;this.condition=s;this.explanations=undefined;if(r){this.explanations=new Set;this.explanations.add(r)}}addCondition(e){if(this.conditional){const t=this.condition;this.condition=((n,r)=>t(n,r)&&e(n,r))}else if(this._active){this.conditional=true;this.condition=e}}addExplanation(e){if(this.explanations===undefined){this.explanations=new Set}this.explanations.add(e)}get explanation(){if(this.explanations===undefined)return"";return Array.from(this.explanations).join(" ")}get active(){throw new Error("Use isActive instead")}isActive(e){if(!this.conditional)return this._active;return this.condition(this,e)}setActive(e){this.conditional=false;this._active=e}set active(e){throw new Error("Use setActive instead")}}e.exports=ModuleGraphConnection},21542:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const{UsageState:i}=n(76632);const s=n(58159);const o=n(18161);const a=e=>{let t="";let n=true;for(const r of e){if(n){n=false}else{t+=", "}t+=r}return t};const c=(e,t,n,r,o,a=new Set)=>{const u=n.otherExportsInfo;let l=0;const f=[];for(const e of n.orderedExports){if(!a.has(e)){a.add(e);f.push(e)}else{l++}}let p=false;if(!a.has(u)){a.add(u);p=true}else{l++}for(const n of f){const i=n.getTarget(r);e.add(s.toComment(`${t}export ${JSON.stringify(n.name).slice(1,-1)} [${n.getProvidedInfo()}] [${n.getUsedInfo()}] [${n.getRenameInfo()}]${i?` -> ${i.module.readableIdentifier(o)}${i.export?` .${i.export.map(e=>JSON.stringify(e).slice(1,-1)).join(".")}`:""}`:""}`)+"\n");if(n.exportsInfo){c(e,t+" ",n.exportsInfo,r,o,a)}}if(l){e.add(s.toComment(`${t}... (${l} already listed exports)`)+"\n")}if(p){const n=u.getTarget(r);if(n||u.provided!==false||u.getUsed(undefined)!==i.Unused){const r=f.length>0||l>0?"other exports":"exports";e.add(s.toComment(`${t}${r} [${u.getProvidedInfo()}] [${u.getUsedInfo()}]${n?` -> ${n.module.readableIdentifier(o)}`:""}`)+"\n")}}};class ModuleInfoHeaderPlugin{apply(e){e.hooks.compilation.tap("ModuleInfoHeaderPlugin",e=>{const t=o.getCompilationHooks(e);t.renderModulePackage.tap("ModuleInfoHeaderPlugin",(e,t,{chunk:n,chunkGraph:i,moduleGraph:o,runtimeTemplate:u})=>{const{requestShortener:l}=u;const f=new r;const p=t.readableIdentifier(l);const d=p.replace(/\*\//g,"*_/");const h="*".repeat(d.length);f.add("/*!****"+h+"****!*\\\n");f.add(" !*** "+d+" ***!\n");f.add(" \\****"+h+"****/\n");const m=t.buildMeta.exportsType;f.add(s.toComment(m?`${m} exports`:"unknown exports (runtime-defined)")+"\n");if(m){const e=o.getExportsInfo(t);c(f,"",e,o,l)}f.add(s.toComment(`runtime requirements: ${a(i.getModuleRuntimeRequirements(t,n.runtime))}`)+"\n");const g=o.getOptimizationBailout(t);if(g){for(const e of g){let t;if(typeof e==="function"){t=e(l)}else{t=e}f.add(s.toComment(`${t}`)+"\n")}}f.add(e);return f});t.chunkHash.tap("ModuleInfoHeaderPlugin",(e,t)=>{t.update("ModuleInfoHeaderPlugin");t.update("1")})})}}e.exports=ModuleInfoHeaderPlugin},54032:(e,t,n)=>{"use strict";const r=n(81627);const i={assert:"assert",buffer:"buffer",console:"console-browserify",constants:"constants-browserify",crypto:"crypto-browserify",domain:"domain-browser",events:"events",http:"stream-http",https:"https-browserify",os:"os-browserify/browser",path:"path-browserify",punycode:"punycode",process:"process/browser",querystring:"querystring-es3",stream:"stream-browserify",_stream_duplex:"readable-stream/duplex",_stream_passthrough:"readable-stream/passthrough",_stream_readable:"readable-stream/readable",_stream_transform:"readable-stream/transform",_stream_writable:"readable-stream/writable",string_decoder:"string_decoder",sys:"util",timers:"timers-browserify",tty:"tty-browserify",url:"url",util:"util",vm:"vm-browserify",zlib:"browserify-zlib"};class ModuleNotFoundError extends r{constructor(e,t,n){let r=`Module not found: ${t.toString()}`;const s=t.message.match(/Can't resolve '([^']+)'/);if(s){const e=s[1];const t=i[e];if(t){const n=t.indexOf("/");const i=n>0?t.slice(0,n):t;r+="\n\n"+"BREAKING CHANGE: "+"webpack < 5 used to include polyfills for node.js core modules by default.\n"+"This is no longer the case. Verify if you need this module and configure a polyfill for it.\n\n";if(e!==t){r+="If you want to include a polyfill, you need to:\n"+`\t- add an alias 'resolve.alias: { "${e}": "${t}" }'\n`+`\t- install '${i}'\n`}else{r+=`If you want to include a polyfill, you need to install '${i}'.\n`}r+="If you don't want to include a polyfill, you can use an empty module like this:\n"+`\tresolve.alias: { "${e}": false }`}}super(r);this.name="ModuleNotFoundError";this.details=t.details;this.module=e;this.error=t;this.loc=n;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleNotFoundError},14489:(e,t,n)=>{"use strict";const r=n(81627);const i=n(56202);const s=Buffer.from([0,97,115,109]);class ModuleParseError extends r{constructor(e,t,n,r){let i="Module parse failed: "+(t&&t.message);let o=undefined;if((Buffer.isBuffer(e)&&e.slice(0,4).equals(s)||typeof e==="string"&&/^\0asm/.test(e))&&!r.startsWith("webassembly")){i+="\nThe module seem to be a WebAssembly module, but module is not flagged as WebAssembly module for webpack.";i+="\nBREAKING CHANGE: Since webpack 5 WebAssembly is not enabled by default and flagged as experimental feature.";i+="\nYou need to enable one of the WebAssembly experiments via 'experiments.asyncWebAssembly: true' (based on async modules) or 'experiments.syncWebAssembly: true' (like webpack 4, deprecated).";i+="\nFor files that transpile to WebAssembly, make sure to set the module type in the 'module.rules' section of the config (e. g. 'type: \"webassembly/async\"')."}else if(!n){i+="\nYou may need an appropriate loader to handle this file type."}else if(n.length>=1){i+=`\nFile was processed with these loaders:${n.map(e=>`\n * ${e}`).join("")}`;i+="\nYou may need an additional loader to handle the result of these loaders."}else{i+="\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"}if(t&&t.loc&&typeof t.loc==="object"&&typeof t.loc.line==="number"){var a=t.loc.line;if(Buffer.isBuffer(e)||/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(e)){i+="\n(Source code omitted for this binary file)"}else{const t=e.split(/\r?\n/);const n=Math.max(0,a-3);const r=t.slice(n,a-1);const s=t[a-1];const o=t.slice(a,a+2);i+=r.map(e=>`\n| ${e}`).join("")+`\n> ${s}`+o.map(e=>`\n| ${e}`).join("")}o={start:t.loc}}else if(t&&t.stack){i+="\n"+t.stack}super(i);this.name="ModuleParseError";this.loc=o;this.error=t;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.error);super.serialize(e)}deserialize(e){const{read:t}=e;this.error=t();super.deserialize(e)}}i(ModuleParseError,"webpack/lib/ModuleParseError");e.exports=ModuleParseError},99869:e=>{"use strict";class ModuleProfile{constructor(){this.startTime=Date.now();this.factory=0;this.restoring=0;this.integration=0;this.building=0;this.storing=0;this.additionalFactories=0;this.additionalIntegration=0}markFactoryStart(){this.factoryStartTime=Date.now()}markFactoryEnd(){this.factoryEndTime=Date.now();this.factory=this.factoryEndTime-this.factoryStartTime}markRestoringStart(){this.restoringStartTime=Date.now()}markRestoringEnd(){this.restoringEndTime=Date.now();this.restoring=this.restoringEndTime-this.restoringStartTime}markIntegrationStart(){this.integrationStartTime=Date.now()}markIntegrationEnd(){this.integrationEndTime=Date.now();this.integration=this.integrationEndTime-this.integrationStartTime}markBuildingStart(){this.buildingStartTime=Date.now()}markBuildingEnd(){this.buildingEndTime=Date.now();this.building=this.buildingEndTime-this.buildingStartTime}markStoringStart(){this.storingStartTime=Date.now()}markStoringEnd(){this.storingEndTime=Date.now();this.storing=this.storingEndTime-this.storingStartTime}mergeInto(e){if(this.factory>e.additionalFactories)e.additionalFactories=this.factory;if(this.integration>e.additionalIntegration)e.additionalIntegration=this.integration}}e.exports=ModuleProfile},2210:(e,t,n)=>{"use strict";const r=n(81627);class ModuleRestoreError extends r{constructor(e,t){let n="Module restore failed: ";let r=undefined;if(t!==null&&typeof t==="object"){if(typeof t.stack==="string"&&t.stack){const e=t.stack;n+=e}else if(typeof t.message==="string"&&t.message){n+=t.message}else{n+=t}}else{n+=String(t)}super(n);this.name="ModuleRestoreError";this.details=r;this.module=e;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleRestoreError},31467:(e,t,n)=>{"use strict";const r=n(81627);class ModuleStoreError extends r{constructor(e,t){let n="Module storing failed: ";let r=undefined;if(t!==null&&typeof t==="object"){if(typeof t.stack==="string"&&t.stack){const e=t.stack;n+=e}else if(typeof t.message==="string"&&t.message){n+=t.message}else{n+=t}}else{n+=String(t)}super(n);this.name="ModuleStoreError";this.details=r;this.module=e;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleStoreError},68661:(e,t,n)=>{"use strict";const r=n(31669);const i=n(27503);const s=i(()=>n(18161));class ModuleTemplate{constructor(e,t){this._runtimeTemplate=e;this.type="javascript";this.hooks=Object.freeze({content:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).renderModuleContent.tap(e,(e,t,r)=>n(e,t,r,r.dependencyTemplates))},"ModuleTemplate.hooks.content is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)","DEP_MODULE_TEMPLATE_CONTENT")},module:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).renderModuleContent.tap(e,(e,t,r)=>n(e,t,r,r.dependencyTemplates))},"ModuleTemplate.hooks.module is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)","DEP_MODULE_TEMPLATE_MODULE")},render:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).renderModuleContainer.tap(e,(e,t,r)=>n(e,t,r,r.dependencyTemplates))},"ModuleTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer instead)","DEP_MODULE_TEMPLATE_RENDER")},package:{tap:r.deprecate((e,n)=>{s().getCompilationHooks(t).renderModulePackage.tap(e,(e,t,r)=>n(e,t,r,r.dependencyTemplates))},"ModuleTemplate.hooks.package is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModulePackage instead)","DEP_MODULE_TEMPLATE_PACKAGE")},hash:{tap:r.deprecate((e,n)=>{t.hooks.fullHash.tap(e,n)},"ModuleTemplate.hooks.package is deprecated (use Compilation.hooks.fullHash instead)","DEP_MODULE_TEMPLATE_HASH")}})}}Object.defineProperty(ModuleTemplate.prototype,"runtimeTemplate",{get:r.deprecate(function(){return this._runtimeTemplate},"ModuleTemplate.runtimeTemplate is deprecated (use Compilation.runtimeTemplate instead)","DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS")});e.exports=ModuleTemplate},8893:(e,t,n)=>{"use strict";const{cleanUp:r}=n(50717);const i=n(81627);const s=n(56202);class ModuleWarning extends i{constructor(e,{from:t=null}={}){let n="Module Warning";if(t){n+=` (from ${t}):\n`}else{n+=": "}if(e&&typeof e==="object"&&e.message){n+=e.message}else if(e){n+=String(e)}super(n);this.name="ModuleWarning";this.warning=e;this.details=e&&typeof e==="object"&&e.stack?r(e.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.warning);super.serialize(e)}deserialize(e){const{read:t}=e;this.warning=t();super.deserialize(e)}}s(ModuleWarning,"webpack/lib/ModuleWarning");e.exports=ModuleWarning},63433:(e,t,n)=>{"use strict";const r=n(62355);const{SyncHook:i,MultiHook:s}=n(92960);const o=n(27310);const a=n(34884);const c=n(10869);const u=0;const l=1;const f=2;e.exports=class MultiCompiler{constructor(e){if(!Array.isArray(e)){e=Object.keys(e).map(t=>{e[t].name=t;return e[t]})}this.hooks=Object.freeze({done:new i(["stats"]),invalid:new s(e.map(e=>e.hooks.invalid)),run:new s(e.map(e=>e.hooks.run)),watchClose:new i([]),watchRun:new s(e.map(e=>e.hooks.watchRun)),infrastructureLog:new s(e.map(e=>e.hooks.infrastructureLog))});this.compilers=e;this.dependencies=new WeakMap;this.running=false;const t=this.compilers.map(()=>null);let n=0;for(let e=0;e{if(!s){s=true;n++}t[i]=e;if(n===this.compilers.length){this.hooks.done.call(new a(t))}});r.hooks.invalid.tap("MultiCompiler",()=>{if(s){s=false;n--}})}}get options(){return this.compilers.map(e=>e.options)}get outputPath(){let e=this.compilers[0].outputPath;for(const t of this.compilers){while(t.outputPath.indexOf(e)!==0&&/[/\\]/.test(e)){e=e.replace(/[/\\][^/\\]*$/,"")}}if(!e&&this.compilers[0].outputPath[0]==="/")return"/";return e}get inputFileSystem(){throw new Error("Cannot read inputFileSystem of a MultiCompiler")}get outputFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}get watchFileSystem(){throw new Error("Cannot read watchFileSystem of a MultiCompiler")}get intermediateFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}set inputFileSystem(e){for(const t of this.compilers){t.inputFileSystem=e}}set outputFileSystem(e){for(const t of this.compilers){t.outputFileSystem=e}}set watchFileSystem(e){for(const t of this.compilers){t.watchFileSystem=e}}set intermediateFileSystem(e){for(const t of this.compilers){t.intermediateFileSystem=e}}getInfrastructureLogger(e){return this.compilers[0].getInfrastructureLogger(e)}setDependencies(e,t){this.dependencies.set(e,t)}validateDependencies(e){const t=new Set;const n=[];const r=e=>{for(const n of t){if(n.target===e){return true}}return false};const i=(e,t)=>{return e.source.name.localeCompare(t.source.name)||e.target.name.localeCompare(t.target.name)};for(const e of this.compilers){const r=this.dependencies.get(e);if(r){for(const i of r){const r=this.compilers.find(e=>e.name===i);if(!r){n.push(i)}else{t.add({source:e,target:r})}}}}const s=n.map(e=>`Compiler dependency \`${e}\` not found.`);const o=this.compilers.filter(e=>!r(e));while(o.length>0){const e=o.pop();for(const n of t){if(n.source===e){t.delete(n);const e=n.target;if(!r(e)){o.push(e)}}}}if(t.size>0){const e=Array.from(t).sort(i).map(e=>`${e.source.name} -> ${e.target.name}`);e.unshift("Circular dependency found in compiler dependencies.");s.unshift(e.join("\n"))}if(s.length>0){const t=s.join("\n");e(new Error(t));return false}return true}runWithDependencies(e,t,n){const i=new Set;let s=e;const o=e=>i.has(e);const a=()=>{let e=[];let t=s;s=[];for(const n of t){const t=this.dependencies.get(n);const r=!t||t.every(o);if(r){e.push(n)}else{s.push(n)}}return e};const c=e=>{if(s.length===0)return e();r.map(a(),(e,n)=>{t(e,t=>{if(t)return n(t);i.add(e.name);c(n)})},e)};c(n)}watch(e,t){if(this.running){return t(new o)}const n=[];const r=this.compilers.map(()=>null);const i=this.compilers.map(()=>u);if(this.validateDependencies(t)){this.running=true;this.runWithDependencies(this.compilers,(s,o)=>{const c=this.compilers.indexOf(s);let p=true;let d=s.watch(Array.isArray(e)?e[c]:e,(e,n)=>{if(e)t(e);if(n){r[c]=n;i[c]=f;if(i.every(e=>e!==u)){const e=r.filter((e,t)=>{return i[t]===f});i.fill(l);const n=new a(e);t(null,n)}}if(p&&!e){p=false;o()}});n.push(d)},()=>{})}return new c(n,this)}run(e){if(this.running){return e(new o)}const t=(t,n)=>{this.running=false;if(e!==undefined){return e(t,n)}};const n=this.compilers.map(()=>null);if(this.validateDependencies(e)){this.running=true;this.runWithDependencies(this.compilers,(e,t)=>{const r=this.compilers.indexOf(e);e.run((e,i)=>{if(e){return t(e)}n[r]=i;t()})},e=>{if(e){return t(e)}t(null,new a(n))})}}purgeInputFileSystem(){for(const e of this.compilers){if(e.inputFileSystem&&e.inputFileSystem.purge){e.inputFileSystem.purge()}}}close(e){r.each(this.compilers,(e,t)=>{e.close(t)},e)}}},34884:(e,t,n)=>{"use strict";const r=n(49197);const i=(e,t)=>{const n=e.replace(/\n([^\n])/g,"\n"+t+"$1");return t+n};class MultiStats{constructor(e){this.stats=e;this.hash=e.map(e=>e.hash).join("")}hasErrors(){return this.stats.some(e=>e.hasErrors())}hasWarnings(){return this.stats.some(e=>e.hasWarnings())}_createChildOptions(e,t){if(!e){e={}}const{children:n,...r}=e;const i=this.stats.map((n,i)=>{const s=Array.isArray(e.children)?e.children[i]:e.children;return n.compilation.createStatsOptions({...r,...s&&typeof s==="object"?s:{preset:s}},t)});const s=i.every(e=>e.version);const o=i.every(e=>e.hash);if(s){for(const e of i){e.version=false}}return{version:s,hash:o,children:i}}toJson(e){e=this._createChildOptions(e,{forToString:false});const t={};t.children=this.stats.map((t,n)=>{return t.toJson(e.children[n])});if(e.version){t.version=n(61733).i8}if(e.hash){t.hash=this.hash}const i=this.stats.map((t,n)=>{const i=Array.isArray(e)?e[n]:e;const s=t.toJson(i);const o=t.compilation.name;const a=o&&r.makePathsRelative(e.context,o,t.compilation.compiler.root);s.name=a;return s});t.errors=[];t.warnings=[];for(const e of i){const n=t=>{return{...t,compilerPath:t.compilerPath?`${e.name}.${t.compilerPath}`:e.name}};if(e.errors){t.errors.push(...e.errors.map(n))}if(e.warnings){t.warnings.push(...e.warnings.map(n))}}return t}toString(e){e=this._createChildOptions(e,{forToString:true});const t=this.stats.map((t,n)=>{const s=t.toString(e.children[n]);const o=t.compilation.name;const a=o&&r.makePathsRelative(e.context,o,t.compilation.compiler.root).replace(/\|/g," ");if(!s)return s;const c=i(s," ");return a?`Child ${a}:\n${c}`:`Child\n${c}`});if(e.version){t.unshift(`Version: webpack ${n(61733).i8}`)}if(e.hash){t.unshift(`Hash: ${this.hash}`)}return t.filter(Boolean).join("\n")}}e.exports=MultiStats},10869:(e,t,n)=>{"use strict";const r=n(62355);class MultiWatching{constructor(e,t){this.watchings=e;this.compiler=t}invalidate(e){if(e){r.each(this.watchings,(e,t)=>e.invalidate(t),e)}else{for(const e of this.watchings){e.invalidate()}}}suspend(){for(const e of this.watchings){e.suspend()}}resume(){for(const e of this.watchings){e.resume()}}close(e){r.forEach(this.watchings,(e,t)=>{e.close(t)},t=>{this.compiler.hooks.watchClose.call();if(typeof e==="function"){this.compiler.running=false;e(t)}})}}e.exports=MultiWatching},66962:e=>{"use strict";class NoEmitOnErrorsPlugin{apply(e){e.hooks.shouldEmit.tap("NoEmitOnErrorsPlugin",e=>{if(e.getStats().hasErrors())return false});e.hooks.compilation.tap("NoEmitOnErrorsPlugin",e=>{e.hooks.shouldRecord.tap("NoEmitOnErrorsPlugin",()=>{if(e.getStats().hasErrors())return false})})}}e.exports=NoEmitOnErrorsPlugin},24500:(e,t,n)=>{"use strict";const r=n(81627);e.exports=class NoModeWarning extends r{constructor(e){super();this.name="NoModeWarning";this.message="configuration\n"+"The 'mode' option has not been set, webpack will fallback to 'production' for this value. "+"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n"+"You can also set it to 'none' to disable any default behavior. "+"Learn more: https://webpack.js.org/configuration/mode/";Error.captureStackTrace(this,this.constructor)}}},32125:(e,t,n)=>{"use strict";const r=n(59455);const{evaluateToString:i,expressionIsUnsupported:s}=n(48472);const{relative:o}=n(95396);class NodeStuffPlugin{constructor(e){this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("NodeStuffPlugin",(n,{normalModuleFactory:a})=>{const c=(n,a)=>{if(a.node===false)return;let c=t;if(a.node){c={...c,...a.node}}const u=(e,t)=>{n.hooks.expression.for(e).tap("NodeStuffPlugin",i=>{const s=new r(JSON.stringify(t(n.state.module)),i.range,e);s.loc=i.loc;n.state.module.addPresentationalDependency(s);return true})};const l=(e,t)=>u(e,()=>t);const f=e.context;if(c.__filename){if(c.__filename==="mock"){l("__filename","/index.js")}else{u("__filename",t=>o(e.inputFileSystem,f,t.resource))}n.hooks.evaluateIdentifier.for("__filename").tap("NodeStuffPlugin",e=>{if(!n.state.module)return;const t=n.state.module.resource;const r=t.indexOf("?");return i(r<0?t:t.substr(0,r))(e)})}if(c.__dirname){if(c.__dirname==="mock"){l("__dirname","/")}else{u("__dirname",t=>o(e.inputFileSystem,f,t.context))}n.hooks.evaluateIdentifier.for("__dirname").tap("NodeStuffPlugin",e=>{if(!n.state.module)return;return i(n.state.module.context)(e)})}n.hooks.expression.for("require.extensions").tap("NodeStuffPlugin",s(n,"require.extensions is not supported by webpack. Use a loader instead."))};a.hooks.parser.for("javascript/auto").tap("NodeStuffPlugin",c);a.hooks.parser.for("javascript/dynamic").tap("NodeStuffPlugin",c)})}}e.exports=NodeStuffPlugin},53520:(e,t,n)=>{"use strict";const r=n(78688);const{getContext:i,runLoaders:s}=n(60425);const o=n(71191);const a=n(15235);const{HookMap:c,SyncHook:u,AsyncSeriesBailHook:l}=n(92960);const{CachedSource:f,OriginalSource:p,RawSource:d,SourceMapSource:h}=n(48135);const m=n(3080);const g=n(53453);const y=n(26509);const v=n(91613);const _=n(14489);const b=n(8893);const E=n(76150);const w=n(77090);const S=n(81627);const{getScheme:k}=n(45754);const{compareLocations:D,concatComparators:x,compareSelect:C,keepOriginalOrder:A}=n(68673);const T=n(35891);const{contextify:M}=n(49197);const O=n(56202);const F=(e,t,n)=>{if(t.startsWith("webpack://"))return t;return`webpack://${M(e,t,n)}`};const I=(e,t,n)=>{if(!Array.isArray(t.sources))return t;const{sourceRoot:r}=t;const i=!r?e=>e:r.endsWith("/")?e=>e.startsWith("/")?`${r.slice(0,-1)}${e}`:`${r}${e}`:e=>e.startsWith("/")?`${r}${e}`:`${r}/${e}`;const s=t.sources.map(t=>F(e,i(t),n));return{...t,file:"x",sourceRoot:undefined,sources:s}};const R=e=>{if(Buffer.isBuffer(e)){return e.toString("utf-8")}return e};const P=e=>{if(!Buffer.isBuffer(e)){return Buffer.from(e,"utf-8")}return e};class NonErrorEmittedError extends S{constructor(e){super();this.name="NonErrorEmittedError";this.message="(Emitted value instead of an instance of Error) "+e;Error.captureStackTrace(this,this.constructor)}}O(NonErrorEmittedError,"webpack/lib/NormalModule","NonErrorEmittedError");const N=new WeakMap;class NormalModule extends g{static getCompilationHooks(e){if(!(e instanceof m)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let t=N.get(e);if(t===undefined){t={loader:new u(["loaderContext","module"]),beforeLoaders:new u(["loaders","module","loaderContext"]),readResourceForScheme:new c(()=>new l(["resource","module"]))};N.set(e,t)}return t}constructor({type:e,request:t,userRequest:n,rawRequest:r,loaders:s,resource:o,matchResource:a,parser:c,generator:u,resolveOptions:l}){super(e,i(o));this.request=t;this.userRequest=n;this.rawRequest=r;this.binary=/^(asset|webassembly)\b/.test(e);this.parser=c;this.generator=u;this.resource=o;this.matchResource=a;this.loaders=s;if(l!==undefined){this.resolveOptions=l}this.error=null;this._source=null;this._sourceSizes=undefined;this._lastSuccessfulBuildMeta={};this._forceBuild=true;this.useSourceMap=false}identifier(){return this.request}readableIdentifier(e){return e.shorten(this.userRequest)}libIdent(e){return M(e.context,this.userRequest,e.associatedObjectForCache)}nameForCondition(){const e=this.matchResource||this.resource;const t=e.indexOf("?");if(t>=0)return e.substr(0,t);return e}updateCacheModule(e){super.updateCacheModule(e);const t=e;this.binary=t.binary;this.request=t.request;this.userRequest=t.userRequest;this.rawRequest=t.rawRequest;this.parser=t.parser;this.generator=t.generator;this.resource=t.resource;this.matchResource=t.matchResource;this.loaders=t.loaders}createSourceForAsset(e,t,n,r,i){if(!r){return new d(n)}if(typeof r==="string"){return new p(n,F(e,r,i))}return new h(n,t,I(e,r,i))}createLoaderContext(e,t,n,i){const{requestShortener:s}=n.runtimeTemplate;const c=()=>{const e=this.getCurrentLoader(l);if(!e)return"(not in loader scope)";return s.shorten(e.loader)};const u=()=>{return{fileDependencies:{add:e=>l.addDependency(e)},contextDependencies:{add:e=>l.addContextDependency(e)},missingDependencies:{add:e=>l.addMissingDependency(e)}}};const l={version:2,getOptions:e=>{const t=this.getCurrentLoader(l);let{options:n}=t;if(typeof n==="string"){if(n.substr(0,1)==="{"&&n.substr(-1)==="}"){try{n=r(n)}catch(e){throw new Error(`Cannot parse string options: ${e.message}`)}}else{n=o.parse(n,"&","=",{maxKeys:0})}}if(n===null||n===undefined){n={}}if(e){let t="Loader";let r="options";let i;if(e.title&&(i=/^(.+) (.+)$/.exec(e.title))){[,t,r]=i}a(e,n,{name:t,baseDataPath:r})}return n},emitWarning:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}this.addWarning(new b(e,{from:c()}))},emitError:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}this.addError(new v(e,{from:c()}))},getLogger:e=>{const t=this.getCurrentLoader(l);return n.getLogger(()=>[t&&t.loader,e,this.identifier()].filter(Boolean).join("|"))},resolve(t,n,r){e.resolve({},t,n,u(),r)},getResolve(t){const n=t?e.withOptions(t):e;return(e,t,r)=>{if(r){n.resolve({},e,t,u(),r)}else{return new Promise((r,i)=>{n.resolve({},e,t,u(),(e,t)=>{if(e)i(e);else r(t)})})}}},emitFile:(e,r,i,s)=>{if(!this.buildInfo.assets){this.buildInfo.assets=Object.create(null);this.buildInfo.assetsInfo=new Map}this.buildInfo.assets[e]=this.createSourceForAsset(t.context,e,r,i,n.compiler.root);this.buildInfo.assetsInfo.set(e,s)},rootContext:t.context,webpack:true,sourceMap:!!this.useSourceMap,mode:t.mode||"production",_module:this,_compilation:n,_compiler:n.compiler,fs:i};NormalModule.getCompilationHooks(n).loader.call(l,this);if(t.loader){Object.assign(l,t.loader)}return l}getCurrentLoader(e,t=e.loaderIndex){if(this.loaders&&this.loaders.length&&t=0&&this.loaders[t]){return this.loaders[t]}return null}createSource(e,t,n,r){if(Buffer.isBuffer(t)){return new d(t)}if(!this.identifier){return new d(t)}const i=this.identifier();if(this.useSourceMap&&n){return new h(t,F(e,i,r),I(e,n,r))}return new p(t,F(e,i,r))}doBuild(e,t,n,r,i){const o=this.createLoaderContext(n,e,t,r);const a=Date.now();const c=(n,r)=>{if(n){if(!(n instanceof Error)){n=new NonErrorEmittedError(n)}const e=this.getCurrentLoader(o);const r=new y(n,{from:e&&t.runtimeTemplate.requestShortener.shorten(e.loader)});return i(r)}const s=r[0];const a=r.length>=1?r[1]:null;const c=r.length>=2?r[2]:null;if(!Buffer.isBuffer(s)&&typeof s!=="string"){const e=this.getCurrentLoader(o,0);const n=new Error(`Final loader (${e?t.runtimeTemplate.requestShortener.shorten(e.loader):"unknown"}) didn't return a Buffer or String`);const r=new y(n);return i(r)}this._source=this.createSource(e.context,this.binary?P(s):R(s),a,t.compiler.root);if(this._sourceSizes!==undefined)this._sourceSizes.clear();this._ast=typeof c==="object"&&c!==null&&c.webpackAST!==undefined?c.webpackAST:null;return i()};const u=NormalModule.getCompilationHooks(t);u.beforeLoaders.call(this.loaders,this,o);s({resource:this.resource,loaders:this.loaders,context:o,readResource:(e,t)=>{const n=k(e);if(n){u.readResourceForScheme.for(n).callAsync(e,this,(r,i)=>{if(r)return t(r);if(typeof i!=="string"&&!i){return t(new w(n,e))}return t(null,i)})}else{r.readFile(e,t)}}},(e,n)=>{if(!n){c(e||new Error("No result from loader-runner processing"),null)}for(const e of this.loaders){t.buildDependencies.add(e.loader)}this.buildInfo.fileDependencies=new Set(n.fileDependencies);this.buildInfo.contextDependencies=new Set(n.contextDependencies);this.buildInfo.missingDependencies=new Set(n.missingDependencies);if(!n.cacheable){this.buildInfo.cacheable=false;c(e,n.result);return}this.buildInfo.cacheable=true;t.fileSystemInfo.createSnapshot(a,n.fileDependencies,n.contextDependencies,n.missingDependencies,null,(t,r)=>{this.buildInfo.snapshot=r;c(e||t,n.result)})})}markModuleAsErrored(e){this.buildMeta={...this._lastSuccessfulBuildMeta};this.error=e;this.addError(e)}applyNoParseRule(e,t){if(typeof e==="string"){return t.startsWith(e)}if(typeof e==="function"){return e(t)}return e.test(t)}shouldPreventParsing(e,t){if(!e){return false}if(!Array.isArray(e)){return this.applyNoParseRule(e,t)}for(let n=0;n{if(n){this.markModuleAsErrored(n);this._initBuildHash(t);return i()}const r=e.module&&e.module.noParse;if(this.shouldPreventParsing(r,this.request)){this.buildInfo.parsed=false;this._initBuildHash(t);return i()}const s=n=>{const r=this._source.source();const s=this.loaders.map(n=>M(e.context,n.loader,t.compiler.root));const o=new _(r,n,s,this.type);this.markModuleAsErrored(o);this._initBuildHash(t);return i()};const o=e=>{this.dependencies.sort(x(C(e=>e.loc,D),A(this.dependencies)));this._lastSuccessfulBuildMeta=this.buildMeta;this._initBuildHash(t);return i()};let a;try{a=this.parser.parse(this._ast||this._source.source(),{current:this,module:this,compilation:t,options:e})}catch(e){s(e);return}o(a)})}getSourceTypes(){return this.generator.getTypes(this)}codeGeneration({dependencyTemplates:e,runtimeTemplate:t,moduleGraph:n,chunkGraph:r,runtime:i}){const s=new Set;if(!this.buildInfo.parsed){s.add(E.module);s.add(E.exports);s.add(E.thisAsExports)}const o=new Map;for(const a of this.generator.getTypes(this)){const c=this.error?new d("throw new Error("+JSON.stringify(this.error.message)+");"):this.generator.generate(this,{dependencyTemplates:e,runtimeTemplate:t,moduleGraph:n,chunkGraph:r,runtimeRequirements:s,runtime:i,type:a});if(c){o.set(a,new f(c))}}const a={sources:o,runtimeRequirements:s};return a}originalSource(){return this._source}invalidateBuild(){this._forceBuild=true}needBuild({fileSystemInfo:e},t){if(this._forceBuild)return t(null,true);if(this.error)return t(null,true);if(!this.buildInfo.cacheable)return t(null,true);if(!this.buildInfo.snapshot)return t(null,true);e.checkSnapshotValid(this.buildInfo.snapshot,(e,n)=>{t(e,!n)})}size(e){const t=this._sourceSizes===undefined?undefined:this._sourceSizes.get(e);if(t!==undefined){return t}const n=Math.max(1,this.generator.getSize(this,e));if(this._sourceSizes===undefined){this._sourceSizes=new Map}this._sourceSizes.set(e,n);return n}updateHash(e,t){e.update(this.buildInfo.hash);this.generator.updateHash(e,{module:this,...t});super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this._source);t(this._sourceSizes);t(this.error);t(this._lastSuccessfulBuildMeta);t(this._forceBuild);super.serialize(e)}static deserialize(e){const t=new NormalModule({type:"",resource:"",request:null,userRequest:null,rawRequest:null,loaders:null,matchResource:null,parser:null,generator:null,resolveOptions:null});t.deserialize(e);return t}deserialize(e){const{read:t}=e;this._source=t();this._sourceSizes=t();this.error=t();this._lastSuccessfulBuildMeta=t();this._forceBuild=t();super.deserialize(e)}}O(NormalModule,"webpack/lib/NormalModule");e.exports=NormalModule},43229:(e,t,n)=>{"use strict";const r=n(62355);const{AsyncSeriesBailHook:i,SyncWaterfallHook:s,SyncBailHook:o,SyncHook:a,HookMap:c}=n(92960);const u=n(53453);const l=n(40674);const f=n(53520);const p=n(22804);const d=n(94288);const h=n(1976);const m=n(92299);const g=n(73817);const y=n(19311);const v=n(83379);const{getScheme:_}=n(45754);const{cachedCleverMerge:b,cachedSetProperty:E}=n(90149);const{join:w}=n(95396);const{parseResource:S}=n(49197);const k={};const D=/^([^!]+)!=!/;const x=e=>{if(!e.options){return e.loader}if(typeof e.options==="string"){return e.loader+"?"+e.options}if(typeof e.options!=="object"){throw new Error("loader options must be string or object")}if(e.ident){return e.loader+"??"+e.ident}return e.loader+"?"+JSON.stringify(e.options)};const C=(e,t)=>{let n="";for(const t of e){n+=x(t)+"!"}return n+t};const A=e=>{const t=e.indexOf("?");if(t>=0){const n=e.substr(0,t);const r=e.substr(t+1);return{loader:n,options:r}}else{return{loader:e,options:undefined}}};const T=(e,t)=>{return n=>{if(--e===0){return t(n)}if(n&&e>0){e=NaN;return t(n)}}};const M=e=>`NormalModuleFactory.${e} is no longer a waterfall hook, but a bailing hook instead. `+"Do not return the passed object, but modify it instead. "+"Returning false will ignore the request and results in no module created.";const O=new WeakMap;const F=new g([new h("test","resource"),new h("mimetype"),new h("include","resource"),new h("exclude","resource",true),new h("resource"),new h("resourceQuery"),new h("resourceFragment"),new h("realResource"),new h("issuer"),new h("compiler"),new m,new d("type"),new d("sideEffects"),new d("parser"),new d("resolve"),new d("generator"),new y]);class NormalModuleFactory extends l{constructor({context:e,fs:t,resolverFactory:n,options:r,associatedObjectForCache:l}){super();this.hooks=Object.freeze({resolve:new i(["resolveData"]),resolveForScheme:new c(()=>new i(["resourceData","resolveData"])),factorize:new i(["resolveData"]),beforeResolve:new i(["resolveData"]),afterResolve:new i(["resolveData"]),createModule:new i(["createData","resolveData"]),module:new s(["module","createData","resolveData"]),createParser:new c(()=>new o(["parserOptions"])),parser:new c(()=>new a(["parser","parserOptions"])),createGenerator:new c(()=>new o(["generatorOptions"])),generator:new c(()=>new a(["generator","generatorOptions"]))});this.resolverFactory=n;this.ruleSet=F.compile([{rules:r.defaultRules},{rules:r.rules}]);this.unsafeCache=!!r.unsafeCache;this.cachePredicate=typeof r.unsafeCache==="function"?r.unsafeCache:()=>true;this.context=e||"";this.fs=t;this.parserCache=new Map;this.generatorCache=new Map;const d=S.bindCache(l);this.hooks.factorize.tapAsync({name:"NormalModuleFactory",stage:100},(e,t)=>{this.hooks.resolve.callAsync(e,(n,r)=>{if(n)return t(n);if(r===false)return t();if(r instanceof u)return t(null,r);if(typeof r==="object")throw new Error(M("resolve")+" Returning a Module object will result in this module used as result.");this.hooks.afterResolve.callAsync(e,(n,r)=>{if(n)return t(n);if(typeof r==="object")throw new Error(M("afterResolve"));if(r===false)return t();const i=e.createData;this.hooks.createModule.callAsync(i,e,(n,r)=>{if(!r){if(!e.request){return t(new Error("Empty dependency (no request)"))}r=new f(i)}r=this.hooks.module.call(r,i,e);return t(null,r)})})})});this.hooks.resolve.tapAsync({name:"NormalModuleFactory",stage:100},(e,t)=>{const{contextInfo:n,context:r,dependencies:i,request:s,resolveOptions:o,fileDependencies:a,missingDependencies:c,contextDependencies:u}=e;const l=this.getResolver("loader");let f=undefined;let h=s;const m=D.exec(s);if(m){let e=m[1];if(e.charCodeAt(0)===46){const t=e.charCodeAt(1);if(t===47||t===46&&e.charCodeAt(2)===47){e=w(this.fs,r,e)}}f={resource:e,...d(e)};h=s.substr(m[0].length)}const g=h.charCodeAt(0);const y=h.charCodeAt(1);const v=g===45&&y===33;const S=v||g===33;const x=g===33&&y===33;const M=h.slice(v||x?2:S?1:0).split(/!+/);const O=M.pop();const F=M.map(A);const I={fileDependencies:a,missingDependencies:c,contextDependencies:u};let R;const P=_(O);let N;const L=T(2,r=>{if(r)return t(r);try{for(const e of N){if(typeof e.options==="string"&&e.options[0]==="?"){const t=e.options.substr(1);if(t==="[[missing ident]]"){throw new Error("No ident is provided by referenced loader. "+"When using a function for Rule.use in config you need to "+"provide an 'ident' property for referenced loader options.")}e.options=this.ruleSet.references.get(t);if(e.options===undefined){throw new Error("Invalid ident is provided by referenced loader")}e.ident=t}}}catch(e){return t(e)}if(!R){return t(null,new p("/* (ignored) */",`ignored|${s}`,`${s} (ignored)`))}const i=(f!==undefined?`${f.resource}!=!`:"")+C(N,R.resource);const o=f||R;const a=this.ruleSet.exec({resource:o.path,realResource:R.path,resourceQuery:o.query,resourceFragment:o.fragment,mimetype:f?"":R.data.mimetype||"",descriptionData:f?undefined:R.data.descriptionFileData,issuer:n.issuer,compiler:n.compiler});const c={};const u=[];const d=[];const h=[];for(const e of a){if(e.type==="use"){if(!S&&!x){d.push(e.value)}}else if(e.type==="use-post"){if(!x){u.push(e.value)}}else if(e.type==="use-pre"){if(!v&&!x){h.push(e.value)}}else if(typeof e.value==="object"&&e.value!==null&&typeof c[e.type]==="object"&&c[e.type]!==null){c[e.type]=b(c[e.type],e.value)}else{c[e.type]=e.value}}let m,g,y;const _=T(3,n=>{if(n){return t(n)}const r=m;if(f===undefined){for(const e of N)r.push(e);for(const e of g)r.push(e)}else{for(const e of g)r.push(e);for(const e of N)r.push(e)}for(const e of y)r.push(e);const o=c.type;const a=c.resolve;Object.assign(e.createData,{request:C(r,R.resource),userRequest:i,rawRequest:s,loaders:r,resource:R.resource,matchResource:f?f.resource:undefined,resourceResolveData:R.data,settings:c,type:o,parser:this.getParser(o,c.parser),generator:this.getGenerator(o,c.generator),resolveOptions:a});t()});this.resolveRequestArray(n,this.context,u,l,I,(e,t)=>{m=t;_(e)});this.resolveRequestArray(n,this.context,d,l,I,(e,t)=>{g=t;_(e)});this.resolveRequestArray(n,this.context,h,l,I,(e,t)=>{y=t;_(e)})});this.resolveRequestArray(n,r,F,l,I,(e,t)=>{if(e)return L(e);N=t;L()});if(P){R={resource:O,data:{},path:undefined,query:undefined,fragment:undefined};this.hooks.resolveForScheme.for(P).callAsync(R,e,e=>{if(e)return L(e);L()})}else if(/^($|\?|#)/.test(O)){R={resource:O,data:{},...d(O)};L()}else{const e=this.getResolver("normal",i.length>0?E(o||k,"dependencyType",i[0].category):o);e.resolve(n,r,O,I,(e,t,n)=>{if(e)return L(e);if(t!==false){R={resource:t,data:n,...d(t)}}L()})}})}create(e,t){const n=e.dependencies;if(this.unsafeCache){const e=O.get(n[0]);if(e)return t(null,e)}const r=e.context||this.context;const i=e.resolveOptions||k;const s=n[0];const o=s.request;const a=e.contextInfo;const c=new v;const u=new v;const l=new v;const f={contextInfo:a,resolveOptions:i,context:r,request:o,dependencies:n,fileDependencies:c,missingDependencies:u,contextDependencies:l,createData:{},cacheable:true};this.hooks.beforeResolve.callAsync(f,(e,r)=>{if(e){return t(e,{fileDependencies:c,missingDependencies:u,contextDependencies:l})}if(r===false){return t(null,{fileDependencies:c,missingDependencies:u,contextDependencies:l})}if(typeof r==="object")throw new Error(M("beforeResolve"));this.hooks.factorize.callAsync(f,(e,r)=>{if(e){return t(e,{fileDependencies:c,missingDependencies:u,contextDependencies:l})}const i={module:r,fileDependencies:c,missingDependencies:u,contextDependencies:l};if(this.unsafeCache&&f.cacheable&&r&&this.cachePredicate(r)){for(const e of n){O.set(e,i)}}t(null,i)})})}resolveRequestArray(e,t,n,i,s,o){if(n.length===0)return o(null,n);r.map(n,(n,r)=>{i.resolve(e,t,n.loader,s,(o,a)=>{if(o&&/^[^/]*$/.test(n.loader)&&!/-loader$/.test(n.loader)){return i.resolve(e,t,n.loader+"-loader",s,e=>{if(!e){o.message=o.message+"\n"+"BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.\n"+` You need to specify '${n.loader}-loader' instead of '${n.loader}',\n`+" see https://webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed"}r(o)})}if(o)return r(o);const c=A(a);const u={loader:c.loader,options:n.options===undefined?c.options:n.options,ident:n.options===undefined?undefined:n.ident};return r(null,u)})},o)}getParser(e,t=k){let n=this.parserCache.get(e);if(n===undefined){n=new WeakMap;this.parserCache.set(e,n)}let r=n.get(t);if(r===undefined){r=this.createParser(e,t);n.set(t,r)}return r}createParser(e,t={}){const n=this.hooks.createParser.for(e).call(t);if(!n){throw new Error(`No parser registered for ${e}`)}this.hooks.parser.for(e).call(n,t);return n}getGenerator(e,t=k){let n=this.generatorCache.get(e);if(n===undefined){n=new WeakMap;this.generatorCache.set(e,n)}let r=n.get(t);if(r===undefined){r=this.createGenerator(e,t);n.set(t,r)}return r}createGenerator(e,t={}){const n=this.hooks.createGenerator.for(e).call(t);if(!n){throw new Error(`No generator registered for ${e}`)}this.hooks.generator.for(e).call(n,t);return n}getResolver(e,t){return this.resolverFactory.get(e,t)}}e.exports=NormalModuleFactory},92234:(e,t,n)=>{"use strict";const{join:r,dirname:i}=n(95396);class NormalModuleReplacementPlugin{constructor(e,t){this.resourceRegExp=e;this.newResource=t}apply(e){const t=this.resourceRegExp;const n=this.newResource;e.hooks.normalModuleFactory.tap("NormalModuleReplacementPlugin",s=>{s.hooks.beforeResolve.tap("NormalModuleReplacementPlugin",e=>{if(t.test(e.request)){if(typeof n==="function"){n(e)}else{e.request=n}}});s.hooks.afterResolve.tap("NormalModuleReplacementPlugin",s=>{const o=s.createData;if(t.test(o.resource)){if(typeof n==="function"){n(s)}else{const t=e.inputFileSystem;if(n.startsWith("/")||n.length>1&&n[1]===":"){o.resource=n}else{o.resource=r(t,i(t,o.resource),n)}}}})})}}e.exports=NormalModuleReplacementPlugin},82414:(e,t)=>{"use strict";t.STAGE_BASIC=-10;t.STAGE_DEFAULT=0;t.STAGE_ADVANCED=10},97614:e=>{"use strict";class OptionsApply{process(e,t){}}e.exports=OptionsApply},2172:(e,t,n)=>{"use strict";class Parser{parse(e,t){const r=n(75884);throw new r}}e.exports=Parser},13125:(e,t,n)=>{"use strict";const r=n(88281);class PrefetchPlugin{constructor(e,t){if(t){this.context=e;this.request=t}else{this.context=null;this.request=e}}apply(e){e.hooks.compilation.tap("PrefetchPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(r,t)});e.hooks.make.tapAsync("PrefetchPlugin",(t,n)=>{t.addModuleChain(this.context||e.context,new r(this.request),e=>{n(e)})})}}e.exports=PrefetchPlugin},52923:(e,t,n)=>{"use strict";const r=n(15235);const i=n(78760);const s=n(63076);const o=n(63433);const a=n(53520);const{contextify:c}=n(49197);const u=(e,t,n)=>{return e+t+n-Math.max(e,t,n)-Math.min(e,t,n)};const l=(e,t)=>{const n=[];const r=(r,i,...s)=>{if(e){if(r===0){n.length=0}const e=[i,...s];const o=e.map(e=>e.replace(/\d+\/\d+ /g,""));const a=Date.now();const c=Math.max(o.length,n.length);for(let e=c;e>=0;e--){const r=e0){r=n[e-1].value+" > "+r}const o=`${" | ".repeat(e)}${s} ms ${r}`;const a=s;{if(a>1e4){t.error(o)}else if(a>1e3){t.warn(o)}else if(a>10){t.info(o)}else if(a>5){t.log(o)}else{t.debug(o)}}}if(r===undefined){n.length=e}else{i.value=r;i.time=a;n.length=e+1}}}else{n[e]={value:r,time:a}}}}t.status(`${Math.floor(r*100)}%`,i,...s);if(r===1||!i&&s.length===0)t.status()};return r};const f=new WeakMap;class ProgressPlugin{static getReporter(e){return f.get(e)}constructor(e){if(typeof e==="function"){e={handler:e}}e=e||{};r(i,e,{name:"Progress Plugin",baseDataPath:"options"});e={...ProgressPlugin.defaultOptions,...e};this.profile=e.profile;this.handler=e.handler;this.modulesCount=e.modulesCount;this.dependenciesCount=e.dependenciesCount;this.showEntries=e.entries;this.showModules=e.modules;this.showDependencies=e.dependencies;this.showActiveModules=e.activeModules;this.percentBy=e.percentBy}apply(e){const t=this.handler||l(this.profile,e.getInfrastructureLogger("webpack.Progress"));if(e instanceof o){this._applyOnMultiCompiler(e,t)}else if(e instanceof s){this._applyOnCompiler(e,t)}}_applyOnMultiCompiler(e,t){const n=e.compilers.map(()=>[0]);e.compilers.forEach((e,r)=>{new ProgressPlugin((e,i,...s)=>{n[r]=[e,i,...s];let o=0;for(const[e]of n)o+=e;t(o/n.length,`[${r}] ${i}`,...s)}).apply(e)})}_applyOnCompiler(e,t){const n=this.showEntries;const r=this.showModules;const i=this.showDependencies;const s=this.showActiveModules;let o="";let a="";let l=0;let p=0;let d=0;let h=0;let m=0;let g=1;let y=0;let v=0;let _=0;const b=new Set;let E=0;const w=()=>{if(E+500{const f=[];const w=y/Math.max(l||this.modulesCount,h);const S=_/Math.max(d||this.dependenciesCount,g);const k=v/Math.max(p,m);let D;switch(this.percentBy){case"entries":D=S;break;case"dependencies":D=k;break;case"modules":D=w;break;default:D=u(w,S,k)}const x=.1+D*.55;if(a){f.push(`import loader ${c(e.context,a,e.root)}`)}else{const e=[];if(n){e.push(`${_}/${g} entries`)}if(i){e.push(`${v}/${m} dependencies`)}if(r){e.push(`${y}/${h} modules`)}if(s){e.push(`${b.size} active`)}if(e.length>0){f.push(e.join(" "))}if(s){f.push(o)}}t(x,"building",...f);E=Date.now()};const k=()=>{m++;if(m%100===0)w()};const D=()=>{v++;if(v%100===0)w()};const x=()=>{h++;if(h%100===0)w()};const C=e=>{if(s){const t=e.identifier();if(t){b.add(t);o=t;S()}}};const A=(e,t)=>{g++;if(g%10===0)w()};const T=e=>{y++;if(s){const t=e.identifier();if(t){b.delete(t);if(o===t){o="";for(const e of b){o=e}S();return}}}if(y%100===0)w()};const M=(e,t)=>{_++;S()};const O=e.getCache("ProgressPlugin").getItemCache("counts",null);let F;e.hooks.beforeCompile.tap("ProgressPlugin",()=>{if(!F){F=O.getPromise().then(e=>{if(e){l=l||e.modulesCount;p=p||e.dependenciesCount}},e=>{})}});e.hooks.afterCompile.tapPromise("ProgressPlugin",e=>{return F.then(()=>O.storePromise({modulesCount:h,dependenciesCount:m}))});e.hooks.compilation.tap("ProgressPlugin",e=>{if(e.compiler.isChild())return;l=h;d=g;p=m;h=m=g=0;y=v=_=0;e.factorizeQueue.hooks.added.tap("ProgressPlugin",k);e.factorizeQueue.hooks.result.tap("ProgressPlugin",D);e.addModuleQueue.hooks.added.tap("ProgressPlugin",x);e.processDependenciesQueue.hooks.result.tap("ProgressPlugin",T);e.hooks.buildModule.tap("ProgressPlugin",C);e.hooks.addEntry.tap("ProgressPlugin",A);e.hooks.failedEntry.tap("ProgressPlugin",M);e.hooks.succeedEntry.tap("ProgressPlugin",M);if(false){}const n={finishModules:"finish module graph",seal:"plugins",optimizeDependencies:"dependencies optimization",afterOptimizeDependencies:"after dependencies optimization",beforeChunks:"chunk graph",afterChunks:"after chunk graph",optimize:"optimizing",optimizeModules:"module optimization",afterOptimizeModules:"after module optimization",optimizeChunks:"chunk optimization",afterOptimizeChunks:"after chunk optimization",optimizeTree:"module and chunk tree optimization",afterOptimizeTree:"after module and chunk tree optimization",optimizeChunkModules:"chunk modules optimization",afterOptimizeChunkModules:"after chunk modules optimization",reviveModules:"module reviving",beforeModuleIds:"before module ids",moduleIds:"module ids",optimizeModuleIds:"module id optimization",afterOptimizeModuleIds:"module id optimization",reviveChunks:"chunk reviving",beforeChunkIds:"before chunk ids",chunkIds:"chunk ids",optimizeChunkIds:"chunk id optimization",afterOptimizeChunkIds:"after chunk id optimization",recordModules:"record modules",recordChunks:"record chunks",beforeModuleHash:"module hashing",beforeCodeGeneration:"code generation",beforeRuntimeRequirements:"runtime requirements",beforeHash:"hashing",afterHash:"after hashing",recordHash:"record hash",beforeModuleAssets:"module assets processing",beforeChunkAssets:"chunk assets processing",processAssets:"asset processing",afterProcessAssets:"after asset optimization",record:"recording",afterSeal:"after seal"};const r=Object.keys(n).length;Object.keys(n).forEach((i,s)=>{const o=n[i];const a=s/r*.25+.7;e.hooks[i].intercept({name:"ProgressPlugin",call(){t(a,"sealing",o)},done(){t(a,"sealing",o)},result(){t(a,"sealing",o)},error(){t(a,"sealing",o)},tap(n){f.set(e.compiler,(e,...r)=>{t(a,"sealing",o,n.name,...r)});t(a,"sealing",o,n.name)}})})});e.hooks.make.intercept({name:"ProgressPlugin",call(){t(.1,"building")},done(){t(.65,"building")}});const I=(n,r,i,s)=>{n.intercept({name:"ProgressPlugin",call(){t(r,i,s)},done(){t(r,i,s)},result(){t(r,i,s)},error(){t(r,i,s)},tap(n){f.set(e,(e,...o)=>{t(r,i,s,n.name,...o)});t(r,i,s,n.name)}})};e.cache.hooks.endIdle.intercept({name:"ProgressPlugin",call(){t(0,"")}});I(e.cache.hooks.endIdle,.01,"cache","end idle");e.hooks.initialize.intercept({name:"ProgressPlugin",call(){t(0,"")}});I(e.hooks.initialize,.01,"setup","initialize");I(e.hooks.beforeRun,.02,"setup","before run");I(e.hooks.run,.03,"setup","run");I(e.hooks.watchRun,.03,"setup","watch run");I(e.hooks.normalModuleFactory,.04,"setup","normal module factory");I(e.hooks.contextModuleFactory,.05,"setup","context module factory");I(e.hooks.beforeCompile,.06,"setup","before compile");I(e.hooks.compile,.07,"setup","compile");I(e.hooks.thisCompilation,.08,"setup","compilation");I(e.hooks.compilation,.09,"setup","compilation");I(e.hooks.finishMake,.69,"building","finish");I(e.hooks.emit,.95,"emitting","emit");I(e.hooks.afterEmit,.98,"emitting","after emit");I(e.hooks.done,.99,"done","plugins");e.hooks.done.intercept({name:"ProgressPlugin",done(){t(.99,"")}});I(e.cache.hooks.storeBuildDependencies,.99,"cache","store build dependencies");I(e.cache.hooks.shutdown,.99,"cache","shutdown");I(e.cache.hooks.beginIdle,.99,"cache","begin idle");I(e.hooks.watchClose,.99,"end","closing watch compilation");e.cache.hooks.beginIdle.intercept({name:"ProgressPlugin",done(){t(1,"")}});e.cache.hooks.shutdown.intercept({name:"ProgressPlugin",done(){t(1,"")}})}}ProgressPlugin.defaultOptions={profile:false,modulesCount:5e3,dependenciesCount:1e4,modules:true,dependencies:true,activeModules:false,entries:true};e.exports=ProgressPlugin},40313:(e,t,n)=>{"use strict";const r=n(66298);const i=n(1335);const{approve:s}=n(48472);class ProvidePlugin{constructor(e){this.definitions=e}apply(e){const t=this.definitions;e.hooks.compilation.tap("ProvidePlugin",(e,{normalModuleFactory:n})=>{e.dependencyTemplates.set(r,new r.Template);e.dependencyFactories.set(i,n);e.dependencyTemplates.set(i,new i.Template);const o=(e,n)=>{Object.keys(t).forEach(n=>{const r=[].concat(t[n]);const o=n.split(".");if(o.length>0){o.slice(1).forEach((t,n)=>{const r=o.slice(0,n+1).join(".");e.hooks.canRename.for(r).tap("ProvidePlugin",s)})}e.hooks.expression.for(n).tap("ProvidePlugin",t=>{const s=n.includes(".")?`__webpack_provided_${n.replace(/\./g,"_dot_")}`:n;const o=new i(r[0],s,r.slice(1),t.range);o.loc=t.loc;e.state.module.addDependency(o);return true})})};n.hooks.parser.for("javascript/auto").tap("ProvidePlugin",o);n.hooks.parser.for("javascript/dynamic").tap("ProvidePlugin",o);n.hooks.parser.for("javascript/esm").tap("ProvidePlugin",o)})}}e.exports=ProvidePlugin},22804:(e,t,n)=>{"use strict";const{OriginalSource:r,RawSource:i}=n(48135);const s=n(53453);const o=n(56202);const a=new Set(["javascript"]);class RawModule extends s{constructor(e,t,n){super("javascript/dynamic",null);this.sourceStr=e;this.identifierStr=t||this.sourceStr;this.readableIdentifierStr=n||this.identifierStr}getSourceTypes(){return a}identifier(){return this.identifierStr}size(e){return Math.max(1,this.sourceStr.length)}readableIdentifier(e){return e.shorten(this.readableIdentifierStr)}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={cacheable:true};i()}codeGeneration(e){const t=new Map;if(this.useSourceMap){t.set("javascript",new r(this.sourceStr,this.identifier()))}else{t.set("javascript",new i(this.sourceStr))}return{sources:t,runtimeRequirements:null}}updateHash(e,t){e.update(this.sourceStr);super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.sourceStr);t(this.identifierStr);t(this.readableIdentifierStr);super.serialize(e)}deserialize(e){const{read:t}=e;this.sourceStr=t();this.identifierStr=t();this.readableIdentifierStr=t();super.deserialize(e)}}o(RawModule,"webpack/lib/RawModule");e.exports=RawModule},43806:(e,t,n)=>{"use strict";const{compareNumbers:r}=n(68673);const i=n(49197);class RecordIdsPlugin{constructor(e){this.options=e||{}}apply(e){const t=this.options.portableIds;const n=i.makePathsRelative.bindContextCache(e.context,e.root);const s=e=>{if(t){return n(e.identifier())}return e.identifier()};e.hooks.compilation.tap("RecordIdsPlugin",e=>{e.hooks.recordModules.tap("RecordIdsPlugin",(t,n)=>{const i=e.chunkGraph;if(!n.modules)n.modules={};if(!n.modules.byIdentifier)n.modules.byIdentifier={};const o=new Set;for(const e of t){const t=i.getModuleId(e);if(typeof t!=="number")continue;const r=s(e);n.modules.byIdentifier[r]=t;o.add(t)}n.modules.usedIds=Array.from(o).sort(r)});e.hooks.reviveModules.tap("RecordIdsPlugin",(t,n)=>{if(!n.modules)return;if(n.modules.byIdentifier){const r=e.chunkGraph;const i=new Set;for(const e of t){const t=r.getModuleId(e);if(t!==null)continue;const o=s(e);const a=n.modules.byIdentifier[o];if(a===undefined)continue;if(i.has(a))continue;i.add(a);r.setModuleId(e,a)}}if(Array.isArray(n.modules.usedIds)){e.usedModuleIds=new Set(n.modules.usedIds)}});const t=e=>{const t=[];for(const n of e.groupsIterable){const r=n.chunks.indexOf(e);if(n.name){t.push(`${r} ${n.name}`)}else{for(const e of n.origins){if(e.module){if(e.request){t.push(`${r} ${s(e.module)} ${e.request}`)}else if(typeof e.loc==="string"){t.push(`${r} ${s(e.module)} ${e.loc}`)}else if(e.loc&&typeof e.loc==="object"&&"start"in e.loc){t.push(`${r} ${s(e.module)} ${JSON.stringify(e.loc.start)}`)}}}}}return t};e.hooks.recordChunks.tap("RecordIdsPlugin",(e,n)=>{if(!n.chunks)n.chunks={};if(!n.chunks.byName)n.chunks.byName={};if(!n.chunks.bySource)n.chunks.bySource={};const i=new Set;for(const r of e){if(typeof r.id!=="number")continue;const e=r.name;if(e)n.chunks.byName[e]=r.id;const s=t(r);for(const e of s){n.chunks.bySource[e]=r.id}i.add(r.id)}n.chunks.usedIds=Array.from(i).sort(r)});e.hooks.reviveChunks.tap("RecordIdsPlugin",(n,r)=>{if(!r.chunks)return;const i=new Set;if(r.chunks.byName){for(const e of n){if(e.id!==null)continue;if(!e.name)continue;const t=r.chunks.byName[e.name];if(t===undefined)continue;if(i.has(t))continue;i.add(t);e.id=t;e.ids=[t]}}if(r.chunks.bySource){for(const e of n){const n=t(e);for(const t of n){const n=r.chunks.bySource[t];if(n===undefined)continue;if(i.has(n))continue;i.add(n);e.id=n;e.ids=[n];break}}}if(Array.isArray(r.chunks.usedIds)){e.usedChunkIds=new Set(r.chunks.usedIds)}})})}}e.exports=RecordIdsPlugin},80910:(e,t,n)=>{"use strict";const{contextify:r}=n(49197);class RequestShortener{constructor(e,t){this.contextify=r.bindContextCache(e,t)}shorten(e){if(!e){return e}return this.contextify(e)}}e.exports=RequestShortener},10830:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66298);const{toConstantDependency:s}=n(48472);e.exports=class RequireJsStuffPlugin{apply(e){e.hooks.compilation.tap("RequireJsStuffPlugin",(e,{normalModuleFactory:t})=>{e.dependencyTemplates.set(i,new i.Template);const n=(e,t)=>{if(t.requireJs===undefined||!t.requireJs){return}e.hooks.call.for("require.config").tap("RequireJsStuffPlugin",s(e,"undefined"));e.hooks.call.for("requirejs.config").tap("RequireJsStuffPlugin",s(e,"undefined"));e.hooks.expression.for("require.version").tap("RequireJsStuffPlugin",s(e,JSON.stringify("0.0.0")));e.hooks.expression.for("requirejs.onError").tap("RequireJsStuffPlugin",s(e,r.uncaughtErrorHandler,[r.uncaughtErrorHandler]))};t.hooks.parser.for("javascript/auto").tap("RequireJsStuffPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("RequireJsStuffPlugin",n)})}}},1819:(e,t,n)=>{"use strict";const r=n(2357).ResolverFactory;const{HookMap:i,SyncHook:s,SyncWaterfallHook:o}=n(92960);const{cleverMerge:a,cachedCleverMerge:c,removeOperations:u}=n(90149);const l={};const f=e=>{const{dependencyType:t,byDependency:n,plugins:r,...i}=e;const s={...i,plugins:r&&r.filter(e=>e!=="...")};if(!s.fileSystem){throw new Error("fileSystem is missing in resolveOptions, but it's required for enhanced-resolve")}const o=s;if(!e.byDependency){return o}const c=t in n?`${t}`:"default";const l=n[c];if(!l)return o;return u(a(o,l))};e.exports=class ResolverFactory{constructor(){this.hooks=Object.freeze({resolveOptions:new i(()=>new o(["resolveOptions"])),resolver:new i(()=>new s(["resolver","resolveOptions","userResolveOptions"]))});this.cache=new Map}get(e,t=l){let n=this.cache.get(e);if(!n){n={direct:new WeakMap,stringified:new Map};this.cache.set(e,n)}const r=n.direct.get(t);if(r){return r}const i=JSON.stringify(t);const s=n.stringified.get(i);if(s){n.direct.set(t,s);return s}const o=this._create(e,t);n.direct.set(t,o);n.stringified.set(i,o);return o}_create(e,t){const n={...t};const i=f(this.hooks.resolveOptions.for(e).call(t));const s=r.createResolver(i);if(!s){throw new Error("No resolver created")}const o=new WeakMap;s.withOptions=(t=>{const r=o.get(t);if(r!==undefined)return r;const i=c(n,t);const s=this.get(e,i);o.set(t,s);return s});this.hooks.resolver.for(e).call(s,i,n);return s}}},76150:(e,t)=>{"use strict";t.require="__webpack_require__";t.requireScope="__webpack_require__.*";t.exports="__webpack_exports__";t.thisAsExports="top-level-this-exports";t.returnExportsFromRuntime="return-exports-from-runtime";t.module="module";t.moduleId="module.id";t.moduleLoaded="module.loaded";t.publicPath="__webpack_require__.p";t.entryModuleId="__webpack_require__.s";t.moduleCache="__webpack_require__.c";t.moduleFactories="__webpack_require__.m";t.moduleFactoriesAddOnly="__webpack_require__.m (add only)";t.ensureChunk="__webpack_require__.e";t.ensureChunkHandlers="__webpack_require__.f";t.ensureChunkIncludeEntries="__webpack_require__.f (include entries)";t.prefetchChunk="__webpack_require__.E";t.prefetchChunkHandlers="__webpack_require__.F";t.preloadChunk="__webpack_require__.G";t.preloadChunkHandlers="__webpack_require__.H";t.definePropertyGetters="__webpack_require__.d";t.makeNamespaceObject="__webpack_require__.r";t.createFakeNamespaceObject="__webpack_require__.t";t.compatGetDefaultExport="__webpack_require__.n";t.harmonyModuleDecorator="__webpack_require__.hmd";t.nodeModuleDecorator="__webpack_require__.nmd";t.getFullHash="__webpack_require__.h";t.wasmInstances="__webpack_require__.w";t.instantiateWasm="__webpack_require__.v";t.uncaughtErrorHandler="__webpack_require__.oe";t.scriptNonce="__webpack_require__.nc";t.loadScript="__webpack_require__.l";t.chunkName="__webpack_require__.cn";t.getChunkScriptFilename="__webpack_require__.u";t.getChunkUpdateScriptFilename="__webpack_require__.hu";t.startup="__webpack_require__.x";t.startupNoDefault="__webpack_require__.x (no default handler)";t.startupEntrypoint="__webpack_require__.X";t.externalInstallChunk="__webpack_require__.C";t.interceptModuleExecution="__webpack_require__.i";t.global="__webpack_require__.g";t.shareScopeMap="__webpack_require__.S";t.initializeSharing="__webpack_require__.I";t.getUpdateManifestFilename="__webpack_require__.hmrF";t.hmrDownloadManifest="__webpack_require__.hmrM";t.hmrDownloadUpdateHandlers="__webpack_require__.hmrC";t.hmrModuleData="__webpack_require__.hmrD";t.hmrInvalidateModuleHandlers="__webpack_require__.hmrI";t.amdDefine="__webpack_require__.amdD";t.amdOptions="__webpack_require__.amdO";t.system="__webpack_require__.System";t.hasOwnProperty="__webpack_require__.o";t.systemContext="__webpack_require__.y"},66804:(e,t,n)=>{"use strict";const r=n(48135).OriginalSource;const i=n(53453);const s=new Set(["runtime"]);class RuntimeModule extends i{constructor(e,t=0){super("runtime");this.name=e;this.stage=t;this.buildMeta={};this.buildInfo={};this.compilation=undefined;this.chunk=undefined;this._cachedGeneratedCode=undefined}attach(e,t){this.compilation=e;this.chunk=t}identifier(){return`webpack/runtime/${this.name}`}readableIdentifier(e){return`webpack/runtime/${this.name}`}needBuild(e,t){return t(null,false)}build(e,t,n,r,i){i()}updateHash(e,t){e.update(this.name);e.update(`${this.stage}`);try{e.update(this.generate())}catch(t){e.update(t.message)}super.updateHash(e,t)}getSourceTypes(){return s}codeGeneration(e){const t=new Map;const n=this.getGeneratedCode();if(n){t.set("runtime",new r(n,this.identifier()))}return{sources:t,runtimeRequirements:null}}size(e){if(this._cachedGeneratedCode){return this._cachedGeneratedCode.length}return 0}generate(){const e=n(75884);throw new e}getGeneratedCode(){if(this._cachedGeneratedCode){return this._cachedGeneratedCode}return this._cachedGeneratedCode=this.generate()}shouldIsolate(){return true}}e.exports=RuntimeModule},89818:(e,t,n)=>{"use strict";const r=n(76150);const i=n(35424);const s=n(18161);const o=n(90202);const a=n(16710);const c=n(3236);const u=n(58957);const l=n(59179);const f=n(9609);const p=n(36100);const d=n(13376);const h=n(37522);const m=n(67104);const g=n(14676);const y=n(48977);const v=n(76752);const _=n(54825);const b=n(14146);const E=[r.chunkName,r.compatGetDefaultExport,r.createFakeNamespaceObject,r.definePropertyGetters,r.ensureChunk,r.entryModuleId,r.getFullHash,r.global,r.makeNamespaceObject,r.moduleCache,r.moduleFactories,r.moduleFactoriesAddOnly,r.interceptModuleExecution,r.publicPath,r.scriptNonce,r.uncaughtErrorHandler,r.wasmInstances,r.instantiateWasm,r.shareScopeMap,r.initializeSharing,r.loadScript];const w={[r.moduleLoaded]:[r.module],[r.moduleId]:[r.module]};const S={[r.definePropertyGetters]:[r.hasOwnProperty],[r.compatGetDefaultExport]:[r.definePropertyGetters],[r.createFakeNamespaceObject]:[r.definePropertyGetters,r.makeNamespaceObject,r.require],[r.initializeSharing]:[r.shareScopeMap],[r.shareScopeMap]:[r.hasOwnProperty]};class RuntimePlugin{apply(e){e.hooks.compilation.tap("RuntimePlugin",e=>{e.dependencyTemplates.set(i,new i.Template);for(const t of E){e.hooks.runtimeRequirementInModule.for(t).tap("RuntimePlugin",(e,t)=>{t.add(r.requireScope)});e.hooks.runtimeRequirementInTree.for(t).tap("RuntimePlugin",(e,t)=>{t.add(r.requireScope)})}for(const t of Object.keys(S)){const n=S[t];e.hooks.runtimeRequirementInTree.for(t).tap("RuntimePlugin",(e,t)=>{for(const e of n)t.add(e)})}for(const t of Object.keys(w)){const n=w[t];e.hooks.runtimeRequirementInModule.for(t).tap("RuntimePlugin",(e,t)=>{for(const e of n)t.add(e)})}e.hooks.runtimeRequirementInTree.for(r.definePropertyGetters).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new u);return true});e.hooks.runtimeRequirementInTree.for(r.makeNamespaceObject).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new g);return true});e.hooks.runtimeRequirementInTree.for(r.createFakeNamespaceObject).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new c);return true});e.hooks.runtimeRequirementInTree.for(r.hasOwnProperty).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new h);return true});e.hooks.runtimeRequirementInTree.for(r.compatGetDefaultExport).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new o);return true});e.hooks.runtimeRequirementInTree.for(r.publicPath).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new y);return true});e.hooks.runtimeRequirementInTree.for(r.global).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new d);return true});e.hooks.runtimeRequirementInTree.for(r.systemContext).tap("RuntimePlugin",t=>{if(e.outputOptions.library.type==="system"){e.addRuntimeModule(t,new v)}return true});e.hooks.runtimeRequirementInTree.for(r.getChunkScriptFilename).tap("RuntimePlugin",(t,n)=>{if(/\[(full)?hash(:\d+)?\]/.test(e.outputOptions.chunkFilename))n.add(r.getFullHash);e.addRuntimeModule(t,new f("javascript","javascript",r.getChunkScriptFilename,t=>t.filenameTemplate||(t.isOnlyInitial()?e.outputOptions.filename:e.outputOptions.chunkFilename),false));return true});e.hooks.runtimeRequirementInTree.for(r.getChunkUpdateScriptFilename).tap("RuntimePlugin",(t,n)=>{if(/\[(full)?hash(:\d+)?\]/.test(e.outputOptions.hotUpdateChunkFilename))n.add(r.getFullHash);e.addRuntimeModule(t,new f("javascript","javascript update",r.getChunkUpdateScriptFilename,t=>e.outputOptions.hotUpdateChunkFilename,true));return true});e.hooks.runtimeRequirementInTree.for(r.getUpdateManifestFilename).tap("RuntimePlugin",(t,n)=>{if(/\[(full)?hash(:\d+)?\]/.test(e.outputOptions.hotUpdateMainFilename)){n.add(r.getFullHash)}e.addRuntimeModule(t,new p("update manifest",r.getUpdateManifestFilename,e.outputOptions.hotUpdateMainFilename));return true});e.hooks.runtimeRequirementInTree.for(r.ensureChunk).tap("RuntimePlugin",(t,n)=>{const i=t.hasAsyncChunks();if(i){n.add(r.ensureChunkHandlers)}e.addRuntimeModule(t,new l(n));return true});e.hooks.runtimeRequirementInTree.for(r.ensureChunkIncludeEntries).tap("RuntimePlugin",(e,t)=>{t.add(r.ensureChunkHandlers)});e.hooks.runtimeRequirementInTree.for(r.shareScopeMap).tap("RuntimePlugin",(t,n)=>{e.addRuntimeModule(t,new _);return true});e.hooks.runtimeRequirementInTree.for(r.loadScript).tap("RuntimePlugin",(t,n)=>{e.addRuntimeModule(t,new m);return true});e.hooks.additionalTreeRuntimeRequirements.tap("RuntimePlugin",(t,n)=>{const{mainTemplate:r}=e;if(r.hooks.bootstrap.isUsed()||r.hooks.localVars.isUsed()||r.hooks.requireEnsure.isUsed()||r.hooks.requireExtensions.isUsed()){e.addRuntimeModule(t,new a)}});s.getCompilationHooks(e).chunkHash.tap("RuntimePlugin",(e,t,{chunkGraph:n})=>{const r=new b;for(const t of n.getChunkRuntimeModulesIterable(e)){r.add(n.getModuleHash(t,e.runtime))}r.updateHash(t)})})}}e.exports=RuntimePlugin},37130:(e,t,n)=>{"use strict";const r=n(63272);const i=n(76150);const s=n(58159);const{equals:o}=n(73910);const a=n(68038);const c=(e,t)=>{return`Module ${e.identifier()} has no id assigned.\nThis should not happen.\nIt's in these chunks: ${Array.from(t.getModuleChunksIterable(e),e=>e.name||e.id||e.debugId).join(", ")||"none"} (If module is in no chunk this indicates a bug in some chunk/module optimization logic)\nModule has these incoming connections: ${Array.from(t.moduleGraph.getIncomingConnections(e),e=>`\n - ${e.originModule&&e.originModule.identifier()} ${e.dependency&&e.dependency.type} ${e.explanations&&Array.from(e.explanations).join(", ")||""}`).join("")}`};class RuntimeTemplate{constructor(e,t){this.outputOptions=e||{};this.requestShortener=t}isIIFE(){return this.outputOptions.iife}supportsConst(){return this.outputOptions.ecmaVersion>=6}supportsArrowFunction(){return this.outputOptions.ecmaVersion>=6}supportsForOf(){return this.outputOptions.ecmaVersion>=6}returningFunction(e,t=""){return this.supportsArrowFunction()?`(${t}) => ${e}`:`function(${t}) { return ${e}; }`}basicFunction(e,t){return this.supportsArrowFunction()?`(${e}) => {\n${s.indent(t)}\n}`:`function(${e}) {\n${s.indent(t)}\n}`}iife(e,t){return`(${this.basicFunction(e,t)})()`}forEach(e,t,n){return this.supportsForOf()?`for(const ${e} of ${t}) {\n${s.indent(n)}\n}`:`${t}.forEach(function(${e}) {\n${s.indent(n)}\n});`}comment({request:e,chunkName:t,chunkReason:n,message:r,exportName:i}){let o;if(this.outputOptions.pathinfo){o=[r,e,t,n].filter(Boolean).map(e=>this.requestShortener.shorten(e)).join(" | ")}else{o=[r,t,n].filter(Boolean).map(e=>this.requestShortener.shorten(e)).join(" | ")}if(!o)return"";if(this.outputOptions.pathinfo){return s.toComment(o)+" "}else{return s.toNormalComment(o)+" "}}throwMissingModuleErrorBlock({request:e}){const t=`Cannot find module '${e}'`;return`var e = new Error(${JSON.stringify(t)}); e.code = 'MODULE_NOT_FOUND'; throw e;`}throwMissingModuleErrorFunction({request:e}){return`function webpackMissingModule() { ${this.throwMissingModuleErrorBlock({request:e})} }`}missingModule({request:e}){return`Object(${this.throwMissingModuleErrorFunction({request:e})}())`}missingModuleStatement({request:e}){return`${this.missingModule({request:e})};\n`}missingModulePromise({request:e}){return`Promise.resolve().then(${this.throwMissingModuleErrorFunction({request:e})})`}weakError({module:e,chunkGraph:t,request:n,idExpr:r,type:i}){const o=t.getModuleId(e);const a=o===null?JSON.stringify("Module is not available (weak dependency)"):r?`"Module '" + ${r} + "' is not available (weak dependency)"`:JSON.stringify(`Module '${o}' is not available (weak dependency)`);const c=n?s.toNormalComment(n)+" ":"";const u=`var e = new Error(${a}); `+c+"e.code = 'MODULE_NOT_FOUND'; throw e;";switch(i){case"statements":return u;case"promise":return`Promise.resolve().then(${this.basicFunction("",u)})`;case"expression":return this.iife("",u)}}moduleId({module:e,chunkGraph:t,request:n,weak:r}){if(!e){return this.missingModule({request:n})}const i=t.getModuleId(e);if(i===null){if(r){return"null /* weak dependency, without id */"}throw new Error(`RuntimeTemplate.moduleId(): ${c(e,t)}`)}return`${this.comment({request:n})}${JSON.stringify(i)}`}moduleRaw({module:e,chunkGraph:t,request:n,weak:r,runtimeRequirements:s}){if(!e){return this.missingModule({request:n})}const o=t.getModuleId(e);if(o===null){if(r){return this.weakError({module:e,chunkGraph:t,request:n,type:"expression"})}throw new Error(`RuntimeTemplate.moduleId(): ${c(e,t)}`)}s.add(i.require);return`__webpack_require__(${this.moduleId({module:e,chunkGraph:t,request:n,weak:r})})`}moduleExports({module:e,chunkGraph:t,request:n,weak:r,runtimeRequirements:i}){return this.moduleRaw({module:e,chunkGraph:t,request:n,weak:r,runtimeRequirements:i})}moduleNamespace({module:e,chunkGraph:t,request:n,strict:r,weak:s,runtimeRequirements:o}){if(!e){return this.missingModule({request:n})}if(t.getModuleId(e)===null){if(s){return this.weakError({module:e,chunkGraph:t,request:n,type:"expression"})}throw new Error(`RuntimeTemplate.moduleNamespace(): ${c(e,t)}`)}const a=this.moduleId({module:e,chunkGraph:t,request:n,weak:s});const u=e.getExportsType(t.moduleGraph,r);switch(u){case"namespace":return this.moduleRaw({module:e,chunkGraph:t,request:n,weak:s,runtimeRequirements:o});case"default-with-named":o.add(i.createFakeNamespaceObject);return`${i.createFakeNamespaceObject}(${a}, 3)`;case"default-only":o.add(i.createFakeNamespaceObject);return`${i.createFakeNamespaceObject}(${a}, 1)`;case"dynamic":o.add(i.createFakeNamespaceObject);return`${i.createFakeNamespaceObject}(${a}, 7)`}}moduleNamespacePromise({chunkGraph:e,block:t,module:n,request:r,message:s,strict:o,weak:a,runtimeRequirements:u}){if(!n){return this.missingModulePromise({request:r})}const l=e.getModuleId(n);if(l===null){if(a){return this.weakError({module:n,chunkGraph:e,request:r,type:"promise"})}throw new Error(`RuntimeTemplate.moduleNamespacePromise(): ${c(n,e)}`)}const f=this.blockPromise({chunkGraph:e,block:t,message:s,runtimeRequirements:u});let p;let d=JSON.stringify(e.getModuleId(n));const h=this.comment({request:r});let m="";if(a){if(d.length>8){m+=`var id = ${d}; `;d="id"}u.add(i.moduleFactories);m+=`if(!${i.moduleFactories}[${d}]) { ${this.weakError({module:n,chunkGraph:e,request:r,idExpr:d,type:"statements"})} } `}const g=this.moduleId({module:n,chunkGraph:e,request:r,weak:a});const y=n.getExportsType(e.moduleGraph,o);let v=0;switch(y){case"namespace":if(m){const t=this.moduleRaw({module:n,chunkGraph:e,request:r,weak:a,runtimeRequirements:u});p=`.then(${this.basicFunction("",`${m}return ${t};`)})`}else{u.add(i.require);p=`.then(__webpack_require__.bind(__webpack_require__, ${h}${d}))`}break;case"dynamic":v|=4;case"default-with-named":v|=2;case"default-only":u.add(i.createFakeNamespaceObject);if(e.moduleGraph.isAsync(n)){if(m){const t=this.moduleRaw({module:n,chunkGraph:e,request:r,weak:a,runtimeRequirements:u});p=`.then(${this.basicFunction("",`${m}return ${t};`)})`}else{u.add(i.require);p=`.then(__webpack_require__.bind(__webpack_require__, ${h}${d}))`}p+=`.then(${this.returningFunction(`${i.createFakeNamespaceObject}(m, ${v})`,"m")})`}else{v|=1;if(m){const e=`${i.createFakeNamespaceObject}(${g}, ${v})`;p=`.then(${this.basicFunction("",`${m}return ${e};`)})`}else{p=`.then(${i.createFakeNamespaceObject}.bind(__webpack_require__, ${h}${d}, ${v}))`}}break}return`${f||"Promise.resolve()"}${p}`}importStatement({update:e,module:t,chunkGraph:n,request:r,importVar:s,originModule:o,weak:a,runtimeRequirements:u}){if(!t){return[this.missingModuleStatement({request:r}),""]}if(n.getModuleId(t)===null){if(a){return[this.weakError({module:t,chunkGraph:n,request:r,type:"statements"}),""]}throw new Error(`RuntimeTemplate.importStatement(): ${c(t,n)}`)}const l=this.moduleId({module:t,chunkGraph:n,request:r,weak:a});const f=e?"":"var ";const p=t.getExportsType(n.moduleGraph,o.buildMeta.strictHarmonyModule);u.add(i.require);const d=`/* harmony import */ ${f}${s} = __webpack_require__(${l});\n`;if(p==="dynamic"){u.add(i.compatGetDefaultExport);return[d,`/* harmony import */ ${f}${s}_default = /*#__PURE__*/${i.compatGetDefaultExport}(${s});\n`]}return[d,""]}exportFromImport({moduleGraph:e,module:t,request:n,exportName:c,originModule:u,asiSafe:l,isCall:f,callContext:p,defaultInterop:d,importVar:h,initFragments:m,runtime:g,runtimeRequirements:y}){if(!t){return this.missingModule({request:n})}if(!Array.isArray(c)){c=c?[c]:[]}const v=t.getExportsType(e,u.buildMeta.strictHarmonyModule);if(d){if(c.length>0&&c[0]==="default"){switch(v){case"dynamic":if(f){return`${h}_default()${a(c,1)}`}else if(l){return`(${h}_default()${a(c,1)})`}else{return`${h}_default.a${a(c,1)}`}case"default-only":case"default-with-named":c=c.slice(1);break}}else if(c.length>0){if(v==="default-only"){return"/* non-default import from non-esm module */undefined"+a(c,1)}}else if(v==="default-only"||v==="default-with-named"){y.add(i.createFakeNamespaceObject);m.push(new r(`var ${h}_namespace_cache;\n`,r.STAGE_CONSTANTS,-1,`${h}_namespace_cache`));return`/*#__PURE__*/ ${l?"":"Object"}(${h}_namespace_cache || (${h}_namespace_cache = ${i.createFakeNamespaceObject}(${h}${v==="default-only"?"":", 2"})))`}}if(c.length>0){const n=e.getExportsInfo(t);const r=n.getUsedName(c,g);if(!r){const e=s.toNormalComment(`unused export ${a(c)}`);return`${e} undefined`}const i=o(r,c)?"":s.toNormalComment(a(c))+" ";const u=`${h}${i}${a(r)}`;if(f&&p===false){if(l){return`(0,${u})`}else{return`Object(${u})`}}return u}else{return h}}blockPromise({block:e,message:t,chunkGraph:n,runtimeRequirements:r}){if(!e){const e=this.comment({message:t});return`Promise.resolve(${e.trim()})`}const s=n.getBlockChunkGroup(e);if(!s||s.chunks.length===0){const e=this.comment({message:t});return`Promise.resolve(${e.trim()})`}const o=s.chunks.filter(e=>!e.hasRuntime()&&e.id!==null);const a=this.comment({message:t,chunkName:e.chunkName});if(o.length===1){const e=JSON.stringify(o[0].id);r.add(i.ensureChunk);return`${i.ensureChunk}(${a}${e})`}else if(o.length>0){r.add(i.ensureChunk);const e=e=>`${i.ensureChunk}(${JSON.stringify(e.id)})`;return`Promise.all(${a.trim()}[${o.map(e).join(", ")}])`}else{return`Promise.resolve(${a.trim()})`}}asyncModuleFactory({block:e,chunkGraph:t,runtimeRequirements:n,request:r}){const i=e.dependencies[0];const s=t.moduleGraph.getModule(i);const o=this.blockPromise({block:e,message:"",chunkGraph:t,runtimeRequirements:n});const a=this.returningFunction(this.moduleRaw({module:s,chunkGraph:t,request:r,runtimeRequirements:n}));return this.returningFunction(o.startsWith("Promise.resolve(")?`${a}`:`${o}.then(${this.returningFunction(a)})`)}syncModuleFactory({dependency:e,chunkGraph:t,runtimeRequirements:n,request:r}){const i=t.moduleGraph.getModule(e);const s=this.returningFunction(this.moduleRaw({module:i,chunkGraph:t,request:r,runtimeRequirements:n}));return this.returningFunction(s)}defineEsModuleFlagStatement({exportsArgument:e,runtimeRequirements:t}){t.add(i.makeNamespaceObject);t.add(i.exports);return`${i.makeNamespaceObject}(${e});\n`}}e.exports=RuntimeTemplate},31141:e=>{"use strict";class SelfModuleFactory{constructor(e){this.moduleGraph=e}create(e,t){const n=this.moduleGraph.getParentModule(e.dependencies[0]);t(null,{module:n})}}e.exports=SelfModuleFactory},9192:(e,t)=>{"use strict";t.formatSize=(e=>{if(typeof e!=="number"||Number.isNaN(e)===true){return"unknown size"}if(e<=0){return"0 bytes"}const t=["bytes","KiB","MiB","GiB"];const n=Math.floor(Math.log(e)/Math.log(1024));return`${+(e/Math.pow(1024,n)).toPrecision(3)} ${t[n]}`})},26867:e=>{"use strict";class SourceMapDevToolModuleOptionsPlugin{constructor(e){this.options=e}apply(e){const t=this.options;if(t.module!==false){e.hooks.buildModule.tap("SourceMapDevToolModuleOptionsPlugin",e=>{e.useSourceMap=true})}}}e.exports=SourceMapDevToolModuleOptionsPlugin},20000:(e,t,n)=>{"use strict";const r=n(62355);const i=n(15235);const{ConcatSource:s,RawSource:o}=n(48135);const a=n(3080);const c=n(70354);const u=n(52923);const l=n(26867);const f=n(35891);const{relative:p,dirname:d}=n(95396);const{absolutify:h}=n(49197);const m=n(82037);const g=e=>{return e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&")};const y=(e,t,n,r,i,s)=>{let o;let a;if(t.sourceAndMap){const e=t.sourceAndMap(r);a=e.map;o=e.source}else{a=t.map(r);o=t.source()}if(!a||typeof o!=="string")return;const c=i.options.context;const u=i.compiler.root;const l=h.bindContextCache(c,u);const f=a.sources.map(e=>{if(!e.startsWith("webpack://"))return e;e=l(e.slice(10));const t=i.findModule(e);return t||e});return{file:e,asset:t,source:o,assetInfo:n,sourceMap:a,modules:f,cacheItem:s}};class SourceMapDevToolPlugin{constructor(e={}){i(m,e,{name:"SourceMap DevTool Plugin",baseDataPath:"options"});this.sourceMapFilename=e.filename;this.sourceMappingURLComment=e.append===false?false:e.append||"\n//# source"+"MappingURL=[url]";this.moduleFilenameTemplate=e.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]";this.fallbackModuleFilenameTemplate=e.fallbackModuleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[hash]";this.namespace=e.namespace||"";this.options=e}apply(e){const t=e.outputFileSystem;const n=this.sourceMapFilename;const i=this.sourceMappingURLComment;const h=this.moduleFilenameTemplate;const m=this.namespace;const v=this.fallbackModuleFilenameTemplate;const _=e.requestShortener;const b=this.options;b.test=b.test||/\.(m?js|css)($|\?)/i;const E=c.matchObject.bind(undefined,b);e.hooks.compilation.tap("SourceMapDevToolPlugin",e=>{new l(b).apply(e);e.hooks.processAssets.tapAsync({name:"SourceMapDevToolPlugin",stage:a.PROCESS_ASSETS_STAGE_DEV_TOOLING},(a,l)=>{const w=e.chunkGraph;const S=e.getCache("SourceMapDevToolPlugin");const k=new Map;const D=u.getReporter(e.compiler)||(()=>{});const x=new Map;for(const t of e.chunks){for(const e of t.files){x.set(e,t)}for(const e of t.auxiliaryFiles){x.set(e,t)}}const C=[];for(const e of Object.keys(a)){if(E(e)){C.push(e)}}D(0);const A=[];let T=0;r.each(C,(t,n)=>{const r=e.getAsset(t);if(r.info.related&&r.info.related.sourceMap){T++;return n()}const i=S.getItemCache(t,S.getLazyHashedEtag(r.source));i.get((s,o)=>{if(s){return n(s)}if(o){const{assets:r,assetsInfo:i}=o;for(const n of Object.keys(r)){if(n===t){e.updateAsset(n,r[n],i[n])}else{e.emitAsset(n,r[n],i[n])}if(n!==t){const e=x.get(t);if(e!==undefined)e.auxiliaryFiles.add(n)}}D(.5*++T/C.length,t,"restored cached SourceMap");return n()}D(.5*T/C.length,t,"generate SourceMap");const a=y(t,r.source,r.info,b,e,i);if(a){const e=a.modules;for(let t=0;t{if(a){return l(a)}D(.5,"resolve sources");const u=new Set(k.values());const h=new Set;const y=Array.from(k.keys()).sort((e,t)=>{const n=typeof e==="string"?e:e.identifier();const r=typeof t==="string"?t:t.identifier();return n.length-r.length});for(let e=0;e{const c=Object.create(null);const u=Object.create(null);const l=r.file;const h=x.get(l);const m=r.sourceMap;const y=r.source;const v=r.modules;D(.5+.5*E/A.length,l,"attach SourceMap");const _=v.map(e=>k.get(e));m.sources=_;if(b.noSources){m.sourcesContent=undefined}m.sourceRoot=b.sourceRoot||"";m.file=l;const w=n&&/\[contenthash(:\w+)?\]/.test(n);if(w&&r.assetInfo.contenthash){const e=r.assetInfo.contenthash;let t;if(Array.isArray(e)){t=e.map(g).join("|")}else{t=g(e)}m.file=m.file.replace(new RegExp(t,"g"),e=>"x".repeat(e.length))}let S=i;if(S!==false&&/\.css($|\?)/i.test(l)){S=S.replace(/^\n\/\/(.*)$/,"\n/*$1*/")}const C=JSON.stringify(m);if(n){let r=l;const i=w&&f("md4").update(C).digest("hex");const a={chunk:h,filename:b.fileContext?p(t,`/${b.fileContext}`,`/${r}`):r,contentHash:i};const{path:m,info:g}=e.getPathWithInfo(n,a);const v=b.publicPath?b.publicPath+m:p(t,d(t,`/${l}`),`/${m}`);let _=new o(y);if(S!==false){_=new s(_,e.getPath(S,Object.assign({url:v},a)))}const E={related:{sourceMap:m}};c[l]=_;u[l]=E;e.updateAsset(l,_,E);const k=new o(C);const D={...g,development:true};c[m]=k;u[m]=D;e.emitAsset(m,k,D);if(h!==undefined)h.auxiliaryFiles.add(m)}else{if(S===false){throw new Error("SourceMapDevToolPlugin: append can't be false when no filename is provided")}const t=new s(new o(y),S.replace(/\[map\]/g,()=>C).replace(/\[url\]/g,()=>`data:application/json;charset=utf-8;base64,${Buffer.from(C,"utf-8").toString("base64")}`));c[l]=t;u[l]=undefined;e.updateAsset(l,t)}r.cacheItem.store({assets:c,assetsInfo:u},e=>{D(.5+.5*++E/A.length,r.file,"attached SourceMap");if(e){return a(e)}a()})},e=>{D(1);l(e)})})})})}}e.exports=SourceMapDevToolPlugin},10140:e=>{"use strict";class Stats{constructor(e){this.compilation=e;this.hash=e.hash;this.startTime=undefined;this.endTime=undefined}hasWarnings(){return this.compilation.warnings.length>0||this.compilation.children.some(e=>e.getStats().hasWarnings())}hasErrors(){return this.compilation.errors.length>0||this.compilation.children.some(e=>e.getStats().hasErrors())}toJson(e){e=this.compilation.createStatsOptions(e,{forToString:false});const t=this.compilation.createStatsFactory(e);return t.create("compilation",this.compilation,{compilation:this.compilation,startTime:this.startTime,endTime:this.endTime})}toString(e){e=this.compilation.createStatsOptions(e,{forToString:true});const t=this.compilation.createStatsFactory(e);const n=this.compilation.createStatsPrinter(e);const r=t.create("compilation",this.compilation,{compilation:this.compilation,startTime:this.startTime,endTime:this.endTime});const i=n.print("compilation",r);return i===undefined?"":i}}e.exports=Stats},58159:(e,t,n)=>{"use strict";const{ConcatSource:r,PrefixSource:i}=n(48135);const s=n(22352);const{compareIds:o}=n(68673);const a="a".charCodeAt(0);const c="A".charCodeAt(0);const u="z".charCodeAt(0)-a+1;const l=u*2+2;const f=l+10;const p=/^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;const d=/^\t/gm;const h=/\r?\n/g;const m=/^([^a-zA-Z$_])/;const g=/[^a-zA-Z0-9$]+/g;const y=/\*\//g;const v=/[^a-zA-Z0-9_!§$()=\-^°]+/g;const _=/^-|-$/g;class Template{static getFunctionContent(e){return e.toString().replace(p,"").replace(d,"").replace(h,"\n")}static toIdentifier(e){if(typeof e!=="string")return"";return e.replace(m,"_$1").replace(g,"_")}static toComment(e){if(!e)return"";return`/*! ${e.replace(y,"* /")} */`}static toNormalComment(e){if(!e)return"";return`/* ${e.replace(y,"* /")} */`}static toPath(e){if(typeof e!=="string")return"";return e.replace(v,"-").replace(_,"")}static numberToIdentifier(e){if(e>=l){return Template.numberToIdentifier(e%l)+Template.numberToIdentifierContinuation(Math.floor(e/l))}if(e=f){return Template.numberToIdentifierContinuation(e%f)+Template.numberToIdentifierContinuation(Math.floor(e/f))}if(ee)n=e}if(n<16+(""+n).length){n=0}let r=-1;for(const t of e){r+=`${t.id}`.length+2}const i=n===0?t:16+`${n}`.length+t;return i{return{id:c.getModuleId(e),source:n(e)||"false"}});if(l&&l.length>0){l.sort(o);for(const e of l){f.push({id:e,source:"false"})}}const p=Template.getModulesArrayBounds(f);if(p){const e=p[0];const t=p[1];if(e!==0){u.add(`Array(${e}).concat(`)}u.add("[\n");const n=new Map;for(const e of f){n.set(e.id,e)}for(let r=e;r<=t;r++){const t=n.get(r);if(r!==e){u.add(",\n")}u.add(`/* ${r} */`);if(t){u.add("\n");u.add(t.source)}}u.add("\n"+i+"]");if(e!==0){u.add(")")}}else{u.add("{\n");for(let e=0;e {\n");n.add(new i("\t",s));n.add("\n})();\n\n")}else{n.add("!function() {\n");n.add(new i("\t",s));n.add("\n}();\n\n")}}}}return n}static renderChunkRuntimeModules(e,t){return new i("/******/ ",new r("function(__webpack_require__) { // webpackRuntimeModules\n",'\t"use strict";\n\n',new i("\t",this.renderRuntimeModules(e,t)),"}\n"))}}e.exports=Template;e.exports.NUMBER_OF_IDENTIFIER_START_CHARS=l;e.exports.NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS=f},30337:(e,t,n)=>{"use strict";const{basename:r,extname:i}=n(85622);const s=n(31669);const o=n(62433);const a=n(53453);const{parseResource:c}=n(49197);const u=/\[\\*([\w:]+)\\*\]/gi;const l=e=>{if(typeof e!=="string")return e;if(/^"\s\+*.*\+\s*"$/.test(e)){const t=/^"\s\+*\s*(.*)\s*\+\s*"$/.exec(e);return`" + (${t[1]} + "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_") + "`}return e.replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_")};const f=(e,t,n,r)=>{const i=(i,s,o)=>{let a;const c=s&&parseInt(s,10);if(c&&t){a=t(c)}else{const t=e(i,s,o);a=c?t.slice(0,c):t}if(n){n.immutable=true;if(Array.isArray(n[r])){n[r]=[...n[r],a]}else if(n[r]){n[r]=[n[r],a]}else{n[r]=a}}return a};return i};const p=(e,t)=>{const n=(n,r,i)=>{if(typeof e==="function"){e=e()}if(e===null||e===undefined){if(!t){throw new Error(`Path variable ${n} not implemented in this context: ${i}`)}return""}else{return`${e}`}};return n};const d=new Map;const h=(()=>()=>{})();const m=(e,t,n)=>{let r=d.get(t);if(r===undefined){r=s.deprecate(h,t,n);d.set(t,r)}return(...t)=>{r();return e(...t)}};const g=(e,t,n)=>{const s=t.chunkGraph;const d=new Map;if(t.filename){if(typeof t.filename==="string"){const{path:e,query:n,fragment:s}=c(t.filename);const o=i(e);const a=r(e);const u=a.slice(0,a.length-o.length);const l=e.slice(0,e.length-a.length);d.set("file",p(e));d.set("query",p(n,true));d.set("fragment",p(s,true));d.set("path",p(l,true));d.set("base",p(a));d.set("name",p(u));d.set("ext",p(o,true));d.set("filebase",m(p(a),"[filebase] is now [base]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME"))}}if(t.hash){const e=f(p(t.hash),t.hashWithLength,n,"fullhash");d.set("fullhash",e);d.set("hash",m(e,"[hash] is now [fullhash] (also consider using [chunkhash] or [contenthash], see documentation for details)","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_HASH"))}if(t.chunk){const e=t.chunk;const r=t.contentHashType;const i=p(e.id);const s=p(e.name||e.id);const a=f(p(e instanceof o?e.renderedHash:e.hash),"hashWithLength"in e?e.hashWithLength:undefined,n,"chunkhash");const c=f(p(t.contentHash||r&&e.contentHash&&e.contentHash[r]),t.contentHashWithLength||("contentHashWithLength"in e&&e.contentHashWithLength?e.contentHashWithLength[r]:undefined),n,"contenthash");d.set("id",i);d.set("name",s);d.set("chunkhash",a);d.set("contenthash",c)}if(t.module){const e=t.module;const r=p(()=>l(e instanceof a?s.getModuleId(e):e.id));const i=f(p(()=>e instanceof a?s.getRenderedModuleHash(e,t.runtime):e.hash),"hashWithLength"in e?e.hashWithLength:undefined,n,"modulehash");const o=f(p(t.contentHash),undefined,n,"contenthash");d.set("id",r);d.set("modulehash",i);d.set("contenthash",o);d.set("hash",t.contentHash?o:i);d.set("moduleid",m(r,"[moduleid] is now [id]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_MODULE_ID"))}if(t.url){d.set("url",p(t.url))}if(typeof e==="function"){e=e(t,n)}e=e.replace(u,(t,n)=>{if(n.length+2===t.length){const r=/^(\w+)(?::(\w+))?$/.exec(n);if(!r)return t;const[,i,s]=r;const o=d.get(i);if(o!==undefined){return o(t,s,e)}}else if(t.startsWith("[\\")&&t.endsWith("\\]")){return`[${t.slice(2,-2)}]`}return t});return e};const y="TemplatedPathPlugin";class TemplatedPathPlugin{apply(e){e.hooks.compilation.tap(y,e=>{e.hooks.assetPath.tap(y,g)})}}e.exports=TemplatedPathPlugin},77090:(e,t,n)=>{"use strict";const r=n(81627);const i=n(56202);class UnhandledSchemeError extends r{constructor(e,t){super(`Reading from "${t}" is not handled by plugins (Unhandled scheme).`+'\nWebpack supports "data:" and "file:" URIs by default.'+`\nYou may need an additional plugin to handle "${e}:" URIs.`);this.file=t;this.name="UnhandledSchemeError"}}i(UnhandledSchemeError,"webpack/lib/UnhandledSchemeError","UnhandledSchemeError");e.exports=UnhandledSchemeError},53558:(e,t,n)=>{"use strict";const r=n(81627);const i=n(56202);class UnsupportedFeatureWarning extends r{constructor(e,t){super(e);this.name="UnsupportedFeatureWarning";this.loc=t;this.hideStack=true;Error.captureStackTrace(this,this.constructor)}}i(UnsupportedFeatureWarning,"webpack/lib/UnsupportedFeatureWarning");e.exports=UnsupportedFeatureWarning},79050:(e,t,n)=>{"use strict";const r=n(66298);class UseStrictPlugin{apply(e){e.hooks.compilation.tap("UseStrictPlugin",(e,{normalModuleFactory:t})=>{const n=e=>{e.hooks.program.tap("UseStrictPlugin",t=>{const n=t.body[0];if(n&&n.type==="ExpressionStatement"&&n.expression.type==="Literal"&&n.expression.value==="use strict"){const t=new r("",n.range);t.loc=n.loc;e.state.module.addPresentationalDependency(t);e.state.module.buildInfo.strict=true}})};t.hooks.parser.for("javascript/auto").tap("UseStrictPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("UseStrictPlugin",n);t.hooks.parser.for("javascript/esm").tap("UseStrictPlugin",n)})}}e.exports=UseStrictPlugin},12510:(e,t,n)=>{"use strict";const r=n(41673);class WarnCaseSensitiveModulesPlugin{apply(e){e.hooks.compilation.tap("WarnCaseSensitiveModulesPlugin",e=>{e.hooks.seal.tap("WarnCaseSensitiveModulesPlugin",()=>{const t=new Map;for(const n of e.modules){const e=n.identifier().toLowerCase();const r=t.get(e);if(r){r.push(n)}else{t.set(e,[n])}}for(const n of t){const t=n[1];if(t.length>1){e.warnings.push(new r(t,e.moduleGraph))}}})})}}e.exports=WarnCaseSensitiveModulesPlugin},3571:(e,t,n)=>{"use strict";const r=n(81627);class WarnDeprecatedOptionPlugin{constructor(e,t,n){this.option=e;this.value=t;this.suggestion=n}apply(e){e.hooks.thisCompilation.tap("WarnDeprecatedOptionPlugin",e=>{e.warnings.push(new DeprecatedOptionWarning(this.option,this.value,this.suggestion))})}}class DeprecatedOptionWarning extends r{constructor(e,t,n){super();this.name="DeprecatedOptionWarning";this.message="configuration\n"+`The value '${t}' for option '${e}' is deprecated. `+`Use '${n}' instead.`;Error.captureStackTrace(this,this.constructor)}}e.exports=WarnDeprecatedOptionPlugin},67586:(e,t,n)=>{"use strict";const r=n(24500);class WarnNoModeSetPlugin{apply(e){e.hooks.thisCompilation.tap("WarnNoModeSetPlugin",e=>{e.warnings.push(new r)})}}e.exports=WarnNoModeSetPlugin},91265:(e,t,n)=>{"use strict";const r=n(15235);const i=n(82997);const s="ignore";class IgnoringWatchFileSystem{constructor(e,t){this.wfs=e;this.paths=t}watch(e,t,n,r,i,o,a){e=Array.from(e);t=Array.from(t);const c=e=>this.paths.some(t=>t instanceof RegExp?t.test(e):e.indexOf(t)===0);const u=e=>!c(e);const l=e.filter(c);const f=t.filter(c);const p=this.wfs.watch(e.filter(u),t.filter(u),n,r,i,(e,t,n,r,i)=>{if(e)return o(e);for(const e of l){t.set(e,s)}for(const e of f){n.set(e,s)}o(e,t,n,r,i)},a);return{close:()=>p.close(),pause:()=>p.pause(),getContextTimeInfoEntries:()=>{const e=p.getContextInfoEntries();for(const t of f){e.set(t,s)}return e},getFileTimeInfoEntries:()=>{const e=p.getFileTimeInfoEntries();for(const t of l){e.set(t,s)}return e}}}}class WatchIgnorePlugin{constructor(e){r(i,e,{name:"Watch Ignore Plugin",baseDataPath:"options"});this.paths=e.paths}apply(e){e.hooks.afterEnvironment.tap("WatchIgnorePlugin",()=>{e.watchFileSystem=new IgnoringWatchFileSystem(e.watchFileSystem,this.paths)})}}e.exports=WatchIgnorePlugin},84693:(e,t,n)=>{"use strict";const r=n(10140);class Watching{constructor(e,t,n){this.startTime=null;this.invalid=false;this.handler=n;this.callbacks=[];this._closeCallbacks=undefined;this.closed=false;this.suspended=false;if(typeof t==="number"){this.watchOptions={aggregateTimeout:t}}else if(t&&typeof t==="object"){this.watchOptions={...t}}else{this.watchOptions={}}if(typeof this.watchOptions.aggregateTimeout!=="number"){this.watchOptions.aggregateTimeout=200}this.compiler=e;this.running=true;this.watcher=undefined;this.pausedWatcher=undefined;this._done=this._done.bind(this);this.compiler.readRecords(e=>{if(e)return this._done(e);this._go()})}_go(){this.startTime=Date.now();this.running=true;this.invalid=false;const e=()=>{this.compiler.hooks.watchRun.callAsync(this.compiler,e=>{if(e)return this._done(e);const t=(e,n)=>{if(e)return this._done(e,n);if(this.invalid)return this._done();if(this.compiler.hooks.shouldEmit.call(n)===false){return this._done(null,n)}process.nextTick(()=>{const e=n.getLogger("webpack.Compiler");e.time("emitAssets");this.compiler.emitAssets(n,i=>{e.timeEnd("emitAssets");if(i)return this._done(i,n);if(this.invalid)return this._done(null,n);e.time("emitRecords");this.compiler.emitRecords(i=>{e.timeEnd("emitRecords");if(i)return this._done(i,n);if(n.hooks.needAdditionalPass.call()){n.needAdditionalPass=true;const i=new r(n);i.startTime=this.startTime;i.endTime=Date.now();e.time("done hook");this.compiler.hooks.done.callAsync(i,r=>{e.timeEnd("done hook");if(r)return this._done(r,n);this.compiler.hooks.additionalPass.callAsync(e=>{if(e)return this._done(e,n);this.compiler.compile(t)})});return}return this._done(null,n)})})})};this.compiler.compile(t)})};if(this.compiler.idle){this.compiler.cache.endIdle(t=>{if(t)return this._done(t);this.compiler.idle=false;e()})}else{e()}}_getStats(e){const t=new r(e);t.startTime=this.startTime;t.endTime=Date.now();return t}_done(e,t){this.running=false;const n=t&&t.getLogger("webpack.Watching");let r=null;const i=e=>{this.compiler.hooks.failed.call(e);this.compiler.cache.beginIdle();this.compiler.idle=true;this.handler(e,r);for(const e of this.callbacks)e();this.callbacks.length=0};if(this.invalid){if(t){n.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(t.buildDependencies,e=>{n.timeEnd("storeBuildDependencies");if(e)return i(e);this._go()})}else{this._go()}return}r=t?this._getStats(t):null;if(e)return i(e);n.time("done hook");this.compiler.hooks.done.callAsync(r,e=>{n.timeEnd("done hook");if(e)return i(e);this.handler(null,r);n.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(t.buildDependencies,e=>{n.timeEnd("storeBuildDependencies");if(e)return i(e);n.time("beginIdle");this.compiler.cache.beginIdle();this.compiler.idle=true;n.timeEnd("beginIdle");process.nextTick(()=>{if(!this.closed){this.watch(t.fileDependencies,t.contextDependencies,t.missingDependencies)}});for(const e of this.callbacks)e();this.callbacks.length=0;this.compiler.hooks.afterDone.call(r)})})}watch(e,t,n){this.pausedWatcher=null;this.watcher=this.compiler.watchFileSystem.watch(e,t,n,this.startTime,this.watchOptions,(e,t,n,r,i)=>{this.pausedWatcher=this.watcher;this.watcher=null;if(e){this.compiler.modifiedFiles=undefined;this.compiler.removedFiles=undefined;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;return this.handler(e)}this.compiler.fileTimestamps=t;this.compiler.contextTimestamps=n;this.compiler.removedFiles=i;this.compiler.modifiedFiles=r;if(!this.suspended){this._invalidate()}},(e,t)=>{this.compiler.hooks.invalid.call(e,t)})}invalidate(e){if(e){this.callbacks.push(e)}if(this.watcher){this.compiler.modifiedFiles=this.watcher.aggregatedChanges;this.compiler.removedFiles=this.watcher.aggregatedRemovals;this.compiler.fileTimestamps=this.watcher.getFileTimeInfoEntries();this.compiler.contextTimestamps=this.watcher.getContextTimeInfoEntries()}this.compiler.hooks.invalid.call(null,Date.now());this._invalidate()}_invalidate(){if(this.watcher){this.pausedWatcher=this.watcher;this.watcher.pause();this.watcher=null}if(this.running){this.invalid=true}else{this._go()}}suspend(){this.suspended=true;this.invalid=false}resume(){if(this.suspended){this.suspended=false;this._invalidate()}}close(e){if(this._closeCallbacks){if(e){this._closeCallbacks.push(e)}return}const t=(e,t)=>{this.running=false;this.compiler.running=false;this.compiler.watchMode=false;this.compiler.modifiedFiles=undefined;this.compiler.removedFiles=undefined;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;const n=()=>{this.compiler.cache.shutdown(e=>{this.compiler.hooks.watchClose.call();const t=this._closeCallbacks;this._closeCallbacks=undefined;for(const n of t)n(e)})};if(t){const e=t.getLogger("webpack.Watching");e.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(t.buildDependencies,t=>{e.timeEnd("storeBuildDependencies");n()})}else{n()}};this.closed=true;if(this.watcher){this.watcher.close();this.watcher=null}if(this.pausedWatcher){this.pausedWatcher.close();this.pausedWatcher=null}this._closeCallbacks=[];if(e){this._closeCallbacks.push(e)}if(this.running){this.invalid=true;this._done=t}else{t()}}}e.exports=Watching},81627:(e,t,n)=>{"use strict";const r=n(31669).inspect.custom;const i=n(56202);class WebpackError extends Error{constructor(e){super(e);this.details=undefined;this.module=undefined;this.loc=undefined;this.hideStack=undefined;this.chunk=undefined;this.file=undefined;Error.captureStackTrace(this,this.constructor)}[r](){return this.stack+(this.details?`\n${this.details}`:"")}serialize({write:e}){e(this.name);e(this.message);e(this.stack);e(this.details);e(this.loc);e(this.hideStack)}deserialize({read:e}){this.name=e();this.message=e();this.stack=e();this.details=e();this.loc=e();this.hideStack=e()}}i(WebpackError,"webpack/lib/WebpackError");e.exports=WebpackError},81721:(e,t,n)=>{"use strict";const r=n(97614);const i=n(18161);const s=n(9483);const o=n(97736);const a=n(64699);const c=n(43806);const u=n(89818);const l=n(32323);const f=n(97489);const p=n(40552);const d=n(29672);const h=n(30337);const m=n(79050);const g=n(12510);const y=n(68495);const v=n(99184);const _=n(13653);const b=n(91630);const E=n(26165);const w=n(38586);const S=n(54975);const k=n(2451);const D=n(67634);const x=n(51727);const C=n(3085);const A=n(62630);const T=n(68778);const M=n(19874);const O=n(9054);const F=n(7391);const I=n(61762);const{cleverMerge:R}=n(90149);class WebpackOptionsApply extends r{constructor(){super()}process(e,t){t.outputPath=e.output.path;t.recordsInputPath=e.recordsInputPath||null;t.recordsOutputPath=e.recordsOutputPath||null;t.name=e.name;if(typeof e.target==="string"){switch(e.target){case"web":{const r=n(58421);const i=n(71100);const s=n(52687);const a=n(92662);const c=n(5538);(new r).apply(t);new i({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new s).apply(t);new a(e.node).apply(t);new o(e.target).apply(t);(new c).apply(t);break}case"webworker":{const r=n(67439);const i=n(71100);const s=n(52687);const a=n(92662);(new r).apply(t);new i({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new s).apply(t);new a(e.node).apply(t);new o(e.target).apply(t);break}case"node":case"async-node":{const r=n(91591);const i=n(71049);const s=n(21273);const a=n(84980);new r({asyncChunkLoading:e.target==="async-node"}).apply(t);new i({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new s).apply(t);(new a).apply(t);new o("node").apply(t);break}case"node-webkit":{const r=n(58421);const i=n(84980);const s=n(61050);const a=n(5538);(new r).apply(t);(new i).apply(t);new s("commonjs","nw.gui").apply(t);new o(e.target).apply(t);(new a).apply(t);break}case"electron-main":{const r=n(91591);const i=n(84980);const s=n(25726);new r({asyncChunkLoading:true}).apply(t);(new i).apply(t);new s(true).apply(t);new o(e.target).apply(t);break}case"electron-renderer":case"electron-preload":{const r=n(71100);const i=n(52687);const s=n(84980);const a=n(25726);const c=n(5538);if(e.target==="electron-renderer"){const e=n(58421);(new e).apply(t)}else if(e.target==="electron-preload"){const e=n(91591);new e({asyncChunkLoading:true}).apply(t)}new r({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new i).apply(t);(new s).apply(t);new a(false).apply(t);new o(e.target).apply(t);(new c).apply(t);break}default:throw new Error("Unsupported target '"+e.target+"'.")}}else{e.target(t)}if(e.output.enabledLibraryTypes.length>0){for(const r of e.output.enabledLibraryTypes){const e=n(13984);new e(r).apply(t)}}if(e.externals){const r=n(61050);new r(e.externalsType,e.externals).apply(t)}if(e.output.pathinfo){const e=n(21542);(new e).apply(t)}if(e.devtool){if(e.devtool.includes("source-map")){const r=e.devtool.includes("hidden");const i=e.devtool.includes("inline");const s=e.devtool.includes("eval");const o=e.devtool.includes("cheap");const a=e.devtool.includes("module");const c=e.devtool.includes("nosources");const u=s?n(23641):n(2e4);new u({filename:i?null:e.output.sourceMapFilename,moduleFilenameTemplate:e.output.devtoolModuleFilenameTemplate,fallbackModuleFilenameTemplate:e.output.devtoolFallbackModuleFilenameTemplate,append:r?false:undefined,module:a?true:o?false:true,columns:o?false:true,noSources:c,namespace:e.output.devtoolNamespace}).apply(t)}else if(e.devtool.includes("eval")){const r=n(91331);new r({moduleFilenameTemplate:e.output.devtoolModuleFilenameTemplate,namespace:e.output.devtoolNamespace}).apply(t)}}(new i).apply(t);(new s).apply(t);if(!e.experiments.outputModule){if(e.output.module){throw new Error("'output.module: true' is only allowed when 'experiments.outputModule' is enabled")}if(e.output.enabledLibraryTypes.includes("module")){throw new Error("library type \"module\" is only allowed when 'experiments.outputModule' is enabled")}if(e.externalsType==="module"){throw new Error("'externalsType: \"module\"' is only allowed when 'experiments.outputModule' is enabled")}}if(e.experiments.asset){const e=n(75076);(new e).apply(t)}if(e.experiments.syncWebAssembly){const r=n(63576);new r({mangleImports:e.optimization.mangleWasmImports}).apply(t)}if(e.experiments.asyncWebAssembly){const r=n(82422);new r({mangleImports:e.optimization.mangleWasmImports}).apply(t)}(new a).apply(t);t.hooks.entryOption.call(e.context,e.entry);(new u).apply(t);(new T).apply(t);(new y).apply(t);(new v).apply(t);(new f).apply(t);new E({module:e.module,topLevelAwait:e.experiments.topLevelAwait}).apply(t);if(e.amd!==false){const r=n(19765);const i=n(10830);new r(e.module,e.amd||{}).apply(t);(new i).apply(t)}new b(e.module).apply(t);(new k).apply(t);if(e.node!==false){const r=n(32125);new r(e.node).apply(t)}(new l).apply(t);(new d).apply(t);(new p).apply(t);(new m).apply(t);(new C).apply(t);(new x).apply(t);(new D).apply(t);new S(e.module).apply(t);new A(e.module).apply(t);(new w).apply(t);(new O).apply(t);(new F).apply(t);(new I).apply(t);(new M).apply(t);if(typeof e.mode!=="string"){const e=n(67586);(new e).apply(t)}const r=n(38173);(new r).apply(t);if(e.optimization.removeAvailableModules){const e=n(78016);(new e).apply(t)}if(e.optimization.removeEmptyChunks){const e=n(62665);(new e).apply(t)}if(e.optimization.mergeDuplicateChunks){const e=n(70026);(new e).apply(t)}if(e.optimization.flagIncludedChunks){const e=n(76627);(new e).apply(t)}if(e.optimization.sideEffects){const e=n(63410);(new e).apply(t)}if(e.optimization.providedExports){const e=n(95629);(new e).apply(t)}if(e.optimization.usedExports){const r=n(1596);new r(e.optimization.usedExports==="global").apply(t)}if(e.optimization.innerGraph){const e=n(10032);(new e).apply(t)}if(e.optimization.mangleExports){const r=n(41694);new r(e.optimization.mangleExports!=="size").apply(t)}if(e.optimization.concatenateModules){const e=n(35442);(new e).apply(t)}if(e.optimization.splitChunks){const r=n(40051);new r(e.optimization.splitChunks).apply(t)}if(e.optimization.runtimeChunk){const r=n(4674);new r(e.optimization.runtimeChunk).apply(t)}if(!e.optimization.emitOnErrors){const e=n(66962);(new e).apply(t)}if(e.optimization.realContentHash){const r=n(30699);new r({hashFunction:e.output.hashFunction,hashDigest:e.output.hashDigest}).apply(t)}if(e.optimization.checkWasmTypes){const e=n(7577);(new e).apply(t)}const P=e.optimization.moduleIds;if(P){switch(P){case"natural":{const e=n(97781);(new e).apply(t);break}case"named":{const e=n(9297);(new e).apply(t);break}case"hashed":{const e=n(3571);const r=n(35853);new e("optimization.moduleIds","hashed","deterministic").apply(t);(new r).apply(t);break}case"deterministic":{const e=n(35579);(new e).apply(t);break}case"size":{const e=n(76059);new e({prioritiseInitial:true}).apply(t);break}default:throw new Error(`webpack bug: moduleIds: ${P} is not implemented`)}}const N=e.optimization.chunkIds;if(N){switch(N){case"natural":{const e=n(18298);(new e).apply(t);break}case"named":{const e=n(64779);(new e).apply(t);break}case"deterministic":{const e=n(90444);(new e).apply(t);break}case"size":{const e=n(86169);new e({prioritiseInitial:true}).apply(t);break}case"total-size":{const e=n(86169);new e({prioritiseInitial:false}).apply(t);break}default:throw new Error(`webpack bug: chunkIds: ${N} is not implemented`)}}if(e.optimization.nodeEnv){const r=n(24820);new r({"process.env.NODE_ENV":JSON.stringify(e.optimization.nodeEnv)}).apply(t)}if(e.optimization.minimize){for(const n of e.optimization.minimizer){if(typeof n==="function"){n.call(t,t)}else if(n!=="..."){n.apply(t)}}}if(e.performance){const r=n(20625);new r(e.performance).apply(t)}(new h).apply(t);new c({portableIds:e.optimization.portableRecords}).apply(t);(new g).apply(t);if(e.cache&&typeof e.cache==="object"){const r=e.cache;const i=n(46584);new i(r.managedPaths,r.immutablePaths).apply(t);switch(r.type){case"memory":{const e=n(47786);(new e).apply(t);break}case"filesystem":{const i=n(38016);for(const e in r.buildDependencies){const n=r.buildDependencies[e];new i(n).apply(t)}const s=n(47786);(new s).apply(t);switch(r.store){case"pack":{const i=n(66620);const s=n(83793);new i(new s({compiler:t,fs:t.intermediateFileSystem,context:e.context,cacheLocation:r.cacheLocation,version:r.version,logger:t.getInfrastructureLogger("webpack.cache.PackFileCacheStrategy"),managedPaths:r.managedPaths,immutablePaths:r.immutablePaths}),r.idleTimeout,r.idleTimeoutForInitialStore).apply(t);break}default:throw new Error("Unhandled value for cache.store")}break}default:throw new Error(`Unknown cache type ${r.type}`)}}(new _).apply(t);t.hooks.afterPlugins.call(t);if(!t.inputFileSystem){throw new Error("No input filesystem provided")}t.resolverFactory.hooks.resolveOptions.for("normal").tap("WebpackOptionsApply",n=>{n=R(e.resolve,n);n.fileSystem=t.inputFileSystem;return n});t.resolverFactory.hooks.resolveOptions.for("context").tap("WebpackOptionsApply",n=>{n=R(e.resolve,n);n.fileSystem=t.inputFileSystem;n.resolveToContext=true;return n});t.resolverFactory.hooks.resolveOptions.for("loader").tap("WebpackOptionsApply",n=>{n=R(e.resolveLoader,n);n.fileSystem=t.inputFileSystem;return n});t.hooks.afterResolvers.call(t);return e}}e.exports=WebpackOptionsApply},94820:(e,t,n)=>{"use strict";const{applyWebpackOptionsDefaults:r}=n(54411);const{getNormalizedWebpackOptions:i}=n(96590);class WebpackOptionsDefaulter{process(e){e=i(e);r(e);return e}}e.exports=WebpackOptionsDefaulter},20882:(e,t,n)=>{"use strict";const r=n(80018);const i=n(85622);const{RawSource:s}=n(48135);const o=n(36253);const a=n(76150);const c=n(35891);const u=new Set(["javascript"]);const l=new Set(["javascript","asset"]);class AssetGenerator extends o{constructor(e,t,n){super();this.compilation=e;this.dataUrlOptions=t;this.filename=n}generate(e,{runtime:t,chunkGraph:n,runtimeTemplate:o,runtimeRequirements:u,type:l}){switch(l){case"asset":return e.originalSource();default:{u.add(a.module);const l=e.originalSource();if(e.buildInfo.dataUrl){let t;if(typeof this.dataUrlOptions==="function"){t=this.dataUrlOptions.call(null,l.source(),{filename:e.matchResource||e.resource,module:e})}else{const n=this.dataUrlOptions.encoding;const s=i.extname(e.nameForCondition());const o=this.dataUrlOptions.mimetype||r.lookup(s);if(!o){throw new Error("DataUrl can't be generated automatically, "+`because there is no mimetype for "${s}" in mimetype database. `+'Either pass a mimetype via "generator.mimetype" or '+'use type: "asset/resource" to create a resource file instead of a DataUrl')}let a;switch(n){case"base64":{a=l.buffer().toString("base64");break}case false:{const e=l.source();if(typeof e==="string"){a=encodeURI(e)}else{a=encodeURI(e.toString("utf-8"))}break}default:throw new Error(`Unsupported encoding '${n}'`)}t=`data:${o}${n?`;${n}`:""},${a}`}return new s(`${a.module}.exports = ${JSON.stringify(t)};`)}else{const r=this.filename||o.outputOptions.assetModuleFilename;const i=c(o.outputOptions.hashFunction);if(o.outputOptions.hashSalt){i.update(o.outputOptions.hashSalt)}i.update(l.buffer());const f=i.digest(o.outputOptions.hashDigest);const p=f.slice(0,o.outputOptions.hashDigestLength);e.buildInfo.fullContentHash=f;const{path:d,info:h}=this.compilation.getAssetPathWithInfo(r,{module:e,runtime:t,filename:e.matchResource||e.resource,chunkGraph:n,contentHash:p});e.buildInfo.filename=d;e.buildInfo.assetInfo=h;u.add(a.publicPath);return new s(`${a.module}.exports = ${a.publicPath} + ${JSON.stringify(d)};`)}}}}getTypes(e){if(e.buildInfo.dataUrl){return u}else{return l}}getSize(e,t){switch(t){case"asset":{const t=e.originalSource();if(!t){return 0}return t.size()}default:if(e.buildInfo.dataUrl){const t=e.originalSource();if(!t){return 0}return t.size()*1.34+36}else{return 42}}}updateHash(e,{module:t}){e.update(t.buildInfo.dataUrl?"data-url":"resource")}}e.exports=AssetGenerator},75076:(e,t,n)=>{"use strict";const r=n(15235);const{compareModulesByIdentifier:i}=n(68673);const s=n(27503);const o=s(()=>n(23208));const a={asset:o,"asset/resource":s(()=>{const e=o();return{...e,properties:{...e.properties,dataUrl:false}}}),"asset/inline":s(()=>{const e=o();return{...e,properties:{...e.properties,filename:false}}})};const c=s(()=>n(81821));const u=s(()=>n(20882));const l=s(()=>n(74795));const f=s(()=>n(54685));const p="asset";const d="AssetModulesPlugin";class AssetModulesPlugin{apply(e){e.hooks.compilation.tap(d,(e,{normalModuleFactory:t})=>{t.hooks.createParser.for("asset").tap(d,e=>{r(c(),e,{name:"Asset Modules Plugin",baseDataPath:"parser"});let t=e.dataUrlCondition;if(!t||typeof t==="object"){t={maxSize:8096,...t}}const n=l();return new n(t)});t.hooks.createParser.for("asset/inline").tap(d,e=>{const t=l();return new t(true)});t.hooks.createParser.for("asset/resource").tap(d,e=>{const t=l();return new t(false)});t.hooks.createParser.for("asset/source").tap(d,e=>{const t=l();return new t(false)});for(const n of["asset","asset/inline","asset/resource"]){t.hooks.createGenerator.for(n).tap(d,t=>{r(a[n](),t,{name:"Asset Modules Plugin",baseDataPath:"generator"});let i=undefined;if(n!=="asset/resource"){i=t.dataUrl;if(!i||typeof i==="object"){i={encoding:"base64",mimetype:undefined,...i}}}let s=undefined;if(n!=="asset/inline"){s=t.filename}const o=u();return new o(e,i,s)})}t.hooks.createGenerator.for("asset/source").tap(d,()=>{const e=f();return new e});e.hooks.renderManifest.tap(d,(t,n)=>{const{chunkGraph:r}=e;const{chunk:s,codeGenerationResults:o}=n;const a=r.getOrderedChunkModulesIterableBySourceType(s,"asset",i);if(a){for(const e of a){t.push({render:()=>o.getSource(e,s.runtime,p),filename:e.buildInfo.filename,info:e.buildInfo.assetInfo,auxiliary:true,identifier:`assetModule${r.getModuleId(e)}`,hash:e.buildInfo.fullContentHash})}}return t})})}}e.exports=AssetModulesPlugin},74795:(e,t,n)=>{"use strict";const r=n(2172);class AssetParser extends r{constructor(e){super();this.dataUrlCondition=e}parse(e,t){if(typeof e==="object"&&!Buffer.isBuffer(e)){throw new Error("AssetParser doesn't accept preparsed AST")}t.module.buildInfo.strict=true;t.module.buildMeta.exportsType="default";if(typeof this.dataUrlCondition==="function"){t.module.buildInfo.dataUrl=this.dataUrlCondition(e,{filename:t.module.matchResource||t.module.resource,module:t.module})}else if(typeof this.dataUrlCondition==="boolean"){t.module.buildInfo.dataUrl=this.dataUrlCondition}else if(this.dataUrlCondition&&typeof this.dataUrlCondition==="object"){t.module.buildInfo.dataUrl=Buffer.byteLength(e)<=this.dataUrlCondition.maxSize}else{throw new Error("Unexpected dataUrlCondition type")}return t}}e.exports=AssetParser},54685:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(36253);const s=n(76150);const o=new Set(["javascript"]);class AssetSourceGenerator extends i{generate(e,{chunkGraph:t,runtimeTemplate:n,runtimeRequirements:i}){i.add(s.module);const o=e.originalSource();if(!o){return new r("")}const a=o.source();let c;if(typeof a==="string"){c=a}else{c=a.toString("utf-8")}return new r(`${s.module}.exports = ${JSON.stringify(c)};`)}getTypes(e){return o}getSize(e,t){const n=e.originalSource();if(!n){return 0}return n.size()+12}}e.exports=AssetSourceGenerator},10813:(e,t,n)=>{"use strict";const r=n(63272);const i=n(76150);class AwaitDependenciesInitFragment extends r{constructor(e){super(undefined,r.STAGE_ASYNC_DEPENDENCIES,0,"await-dependencies");this.promises=e}merge(e){const t=new Set(this.promises);for(const n of e.promises){t.add(n)}return new AwaitDependenciesInitFragment(t)}getContent({runtimeRequirements:e}){e.add(i.module);const t=this.promises;if(t.size===0){return""}if(t.size===1){for(const e of t){return`${e} = await Promise.resolve(${e});\n`}}const n=Array.from(t).join(", ");return`([${n}] = await Promise.all([${n}]));\n`}}e.exports=AwaitDependenciesInitFragment},68778:(e,t,n)=>{"use strict";const r=n(37359);class InferAsyncModulesPlugin{apply(e){e.hooks.compilation.tap("InferAsyncModulesPlugin",e=>{const{moduleGraph:t}=e;e.hooks.finishModules.tap("InferAsyncModulesPlugin",e=>{const n=new Set;for(const t of e){if(t.buildMeta&&t.buildMeta.async){n.add(t)}}for(const e of n){t.setAsync(e);const i=t.getIncomingConnections(e);for(const e of i){const t=e.dependency;if(t instanceof r&&e.isActive(undefined)){n.add(e.originModule)}}}})})}}e.exports=InferAsyncModulesPlugin},25457:(e,t,n)=>{"use strict";const r=n(21357);const{connectChunkGroupParentAndChild:i}=n(4642);const s=new Set;s.plus=s;const o=(e,t)=>{return t.size+t.plus.size-e.size-e.plus.size};const a=e=>{const{moduleGraph:t}=e;const n=new Map;const r=new Set;for(const i of e.modules){let e;for(const n of t.getOutgoingConnections(i)){const t=n.dependency;if(!t)continue;const r=n.module;if(!r)continue;if(n.weak)continue;if(!n.isActive(undefined))continue;if(e===undefined){e=new WeakMap}e.set(n.dependency,r)}r.clear();r.add(i);for(const t of r){let i;if(e!==undefined&&t.dependencies){for(const r of t.dependencies){const s=e.get(r);if(s!==undefined){if(i===undefined){i=new Set;n.set(t,i)}i.add(s)}}}if(t.blocks){for(const e of t.blocks){r.add(e)}}}}return n};const c=(e,t,n,i,c,u,l)=>{const{moduleGraph:f,chunkGraph:p}=t;e.time("visitModules: prepare");const d=a(t);let h=0;let m=0;let g=0;let y=0;let v=0;let _=0;let b=0;let E=0;let w=0;let S=0;let k=0;let D=0;let x=0;let C=0;let A=0;let T=0;const M=new Map;const O=new Map;const F=0;const I=1;const R=2;const P=3;let N=[];const L=new Map;const B=new Set;for(const[e,t]of n){const n={chunkGroup:e,minAvailableModules:undefined,minAvailableModulesOwned:false,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0};e.index=C++;if(e.getNumberOfParents()>0){const e=new Set;for(const n of t){e.add(n)}n.skippedItems=e;B.add(n)}else{n.minAvailableModules=s;const r=e.getEntrypointChunk();for(const i of t){N.push({action:F,block:i,module:i,chunk:r,chunkGroup:e,chunkGroupInfo:n})}}i.set(e,n);if(e.name){O.set(e.name,n)}}for(const e of B){const{chunkGroup:t}=e;e.availableSources=new Set;for(const n of t.parentsIterable){const t=i.get(n);e.availableSources.add(t);if(t.availableChildren===undefined){t.availableChildren=new Set}t.availableChildren.add(e)}}N.reverse();const j=new Set;const U=new Set;let z=[];e.timeEnd("visitModules: prepare");const H=[];const V=[];let G;let q;let W;let K;let X;const J=e=>{let n=M.get(e);let s;if(n===undefined){const o=e.groupOptions&&e.groupOptions.name||e.chunkName;n=O.get(o);if(!n){s=t.addChunkInGroup(e.groupOptions||e.chunkName,G,e.loc,e.request);s.index=C++;n={chunkGroup:s,minAvailableModules:undefined,minAvailableModulesOwned:undefined,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0};l.add(s);i.set(s,n);if(o){O.set(o,n)}}else{s=n.chunkGroup;if(s.isInitial()){t.errors.push(new r(o,G,e.loc));s=W}s.addOptions(e.groupOptions);s.addOrigin(G,e.loc,e.request)}M.set(e,n)}else{s=n.chunkGroup}let o=c.get(W);if(!o)c.set(W,o=[]);o.push({block:e,chunkGroup:s});let a=L.get(X);if(a===undefined){a=new Set;L.set(X,a)}a.add(n);z.push({action:R,block:e,module:G,chunk:s.chunks[0],chunkGroup:s,chunkGroupInfo:n})};const Y=e=>{m++;const t=d.get(e);if(t!==undefined){const{minAvailableModules:e}=X;for(const n of t){if(p.isModuleInChunk(n,q)){continue}if(e.has(n)||e.plus.has(n)){H.push(n);continue}V.push({action:F,block:n,module:n,chunk:q,chunkGroup:W,chunkGroupInfo:X})}if(H.length>0){let{skippedItems:e}=X;if(e===undefined){X.skippedItems=e=new Set}for(let t=H.length-1;t>=0;t--){e.add(H[t])}H.length=0}if(V.length>0){for(let e=V.length-1;e>=0;e--){N.push(V[e])}V.length=0}}for(const t of e.blocks){if(t.isAsync(W)){J(t)}else{Y(t)}}if(e.blocks.length>0&&G!==e){u.add(e)}};const Q=()=>{while(N.length){h++;const e=N.pop();G=e.module;K=e.block;q=e.chunk;W=e.chunkGroup;X=e.chunkGroupInfo;switch(e.action){case F:{if(p.isModuleInChunk(G,q)){break}p.connectChunkAndModule(q,G)}case I:{const t=W.getModulePreOrderIndex(G);if(t===undefined){W.setModulePreOrderIndex(G,X.preOrderIndex++)}if(f.setPreOrderIndexIfUnset(G,A)){A++}e.action=P;N.push(e)}case R:{Y(K);break}case P:{const e=W.getModulePostOrderIndex(G);if(e===undefined){W.setModulePostOrderIndex(G,X.postOrderIndex++)}if(f.setPostOrderIndexIfUnset(G,T)){T++}break}}}};const Z=e=>{if(e.resultingAvailableModules)return e.resultingAvailableModules;const t=e.minAvailableModules;let n;if(t.size>t.plus.size){n=new Set;for(const e of t.plus)t.add(e);t.plus=s;n.plus=t;e.minAvailableModulesOwned=false}else{n=new Set(t);n.plus=t.plus}for(const t of e.chunkGroup.chunks){for(const e of p.getChunkModulesIterable(t)){n.add(e)}}return e.resultingAvailableModules=n};const $=()=>{for(const[e,t]of L){if(e.children===undefined){e.children=t}else{for(const n of t){e.children.add(n)}}const n=Z(e);for(const e of t){e.availableModulesToBeMerged.push(n);U.add(e)}g+=t.size}L.clear()};const ee=()=>{y+=U.size;for(const e of U){const t=e.availableModulesToBeMerged;let n=e.minAvailableModules;v+=t.length;if(t.length>1){t.sort(o)}let r=false;e:for(const i of t){if(n===undefined){n=i;e.minAvailableModules=n;e.minAvailableModulesOwned=false;r=true}else{if(e.minAvailableModulesOwned){if(n.plus===i.plus){for(const e of n){if(!i.has(e)){n.delete(e);r=true}}}else{for(const e of n){if(!i.has(e)&&!i.plus.has(e)){n.delete(e);r=true}}for(const e of n.plus){if(!i.has(e)&&!i.plus.has(e)){const t=n.plus[Symbol.iterator]();let o;while(!(o=t.next()).done){const t=o.value;if(t===e)break;n.add(t)}while(!(o=t.next()).done){const t=o.value;if(i.has(t)||i.plus.has(e)){n.add(t)}}n.plus=s;r=true;continue e}}}}else if(n.plus===i.plus){if(i.size{e:for(const e of B){for(const t of e.availableSources){if(!t.minAvailableModules)continue e}const t=new Set;t.plus=s;const n=e=>{if(e.size>t.plus.size){for(const e of t.plus)t.add(e);t.plus=e}else{for(const n of e)t.add(n)}};for(const t of e.availableSources){const e=Z(t);n(e);n(e.plus)}e.minAvailableModules=t;e.minAvailableModulesOwned=false;e.resultingAvailableModules=undefined;j.add(e)}B.clear()};const ne=()=>{D+=j.size;for(const e of j){if(e.skippedItems!==undefined){const{minAvailableModules:t}=e;for(const n of e.skippedItems){if(!t.has(n)&&!t.plus.has(n)){N.push({action:F,block:n,module:n,chunk:e.chunkGroup.chunks[0],chunkGroup:e.chunkGroup,chunkGroupInfo:e});e.skippedItems.delete(n)}}}if(e.children!==undefined){x+=e.children.size;for(const t of e.children){let n=L.get(e);if(n===undefined){n=new Set;L.set(e,n)}n.add(t)}}if(e.availableChildren!==undefined){for(const t of e.availableChildren){B.add(t)}}}j.clear()};while(N.length||L.size){e.time("visitModules: visiting");Q();e.timeEnd("visitModules: visiting");if(B.size>0){e.time("visitModules: combine available modules");te();e.timeEnd("visitModules: combine available modules")}if(L.size>0){e.time("visitModules: calculating available modules");$();e.timeEnd("visitModules: calculating available modules");if(U.size>0){e.time("visitModules: merging available modules");ee();e.timeEnd("visitModules: merging available modules")}}if(j.size>0){e.time("visitModules: check modules for revisit");ne();e.timeEnd("visitModules: check modules for revisit")}if(N.length===0){const e=N;N=z.reverse();z=e}}e.log(`${h} queue items processed (${m} blocks)`);e.log(`${g} chunk groups connected`);e.log(`${y} chunk groups processed for merging (${v} module sets, ${_} forked, ${b} + ${E} modules forked, ${w} + ${S} modules merged into fork, ${k} resulting modules)`);e.log(`${D} chunk group info updated (${x} already connected chunk groups reconnected)`)};const u=(e,t,n,r)=>{const{chunkGraph:s}=e;let o;const a=(e,t)=>{for(const n of e.chunks){for(const e of s.getChunkModulesIterable(n)){if(!t.has(e)&&!t.plus.has(e))return false}}return true};const c=e=>{const n=e.chunkGroup;if(t.has(e.block))return true;if(a(n,o)){return false}return true};for(const[e,t]of n){if(t.length===0)continue;const n=r.get(e);o=n.resultingAvailableModules;for(let n=0;n{const{chunkGraph:n}=e;for(const r of t){if(r.getNumberOfParents()===0){for(const t of r.chunks){e.chunks.delete(t);n.disconnectChunk(t)}n.disconnectChunkGroup(r);r.remove()}}};const f=(e,t)=>{const n=e.getLogger("webpack.buildChunkGraph");const r=new Map;const i=new Set;const s=new Map;const o=new Set;n.time("visitModules");c(n,e,t,s,r,o,i);n.timeEnd("visitModules");n.time("connectChunkGroups");u(e,o,r,s);n.timeEnd("connectChunkGroups");n.time("cleanup");l(e,i);n.timeEnd("cleanup")};e.exports=f},38016:e=>{"use strict";class AddBuildDependenciesPlugin{constructor(e){this.buildDependencies=new Set(e)}apply(e){e.hooks.compilation.tap("AddBuildDependenciesPlugin",e=>{e.buildDependencies.addAll(this.buildDependencies)})}}e.exports=AddBuildDependenciesPlugin},46584:e=>{"use strict";class AddManagedPathsPlugin{constructor(e,t){this.managedPaths=new Set(e);this.immutablePaths=new Set(t)}apply(e){for(const t of this.managedPaths){e.managedPaths.add(t)}for(const t of this.immutablePaths){e.immutablePaths.add(t)}}}e.exports=AddManagedPathsPlugin},66620:(e,t,n)=>{"use strict";const r=n(54725);const i=n(52923);const s=Symbol();class IdleFileCachePlugin{constructor(e,t,n){this.strategy=e;this.idleTimeout=t;this.idleTimeoutForInitialStore=n}apply(e){const t=this.strategy;const n=this.idleTimeout;const o=Math.min(n,this.idleTimeoutForInitialStore);const a=Promise.resolve();const c=new Map;e.cache.hooks.store.tap({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},(e,n,r)=>{c.set(e,()=>t.store(e,n,r))});e.cache.hooks.get.tapPromise({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},(e,n,r)=>{return t.restore(e,n).then(i=>{if(i===undefined){r.push((r,i)=>{if(r!==undefined){c.set(e,()=>t.store(e,n,r))}i()})}else{return i}})});e.cache.hooks.storeBuildDependencies.tap({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},e=>{c.set(s,()=>t.storeBuildDependencies(e))});e.cache.hooks.shutdown.tapPromise({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},()=>{if(d){clearTimeout(d);d=undefined}l=false;const n=i.getReporter(e);const r=Array.from(c.values());if(n)n(0,"process pending cache items");const s=r.map(e=>e());c.clear();s.push(u);const o=Promise.all(s);u=o.then(()=>t.afterAllStored());if(n){u=u.then(()=>{n(1,`stored`)})}return u});let u=a;let l=false;let f=true;const p=()=>{if(l){if(c.size>0){const e=[u];const t=Date.now()+100;let n=100;for(const[r,i]of c){c.delete(r);e.push(i());if(n--<=0||Date.now()>t)break}u=Promise.all(e);u.then(()=>{setTimeout(p,0).unref()});return}u=u.then(()=>t.afterAllStored());f=false}};let d=undefined;e.cache.hooks.beginIdle.tap({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},()=>{d=setTimeout(()=>{d=undefined;l=true;a.then(p)},f?o:n);d.unref()});e.cache.hooks.endIdle.tap({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},()=>{if(d){clearTimeout(d);d=undefined}l=false})}}e.exports=IdleFileCachePlugin},47786:(e,t,n)=>{"use strict";const r=n(54725);class MemoryCachePlugin{apply(e){const t=new Map;e.cache.hooks.store.tap({name:"MemoryCachePlugin",stage:r.STAGE_MEMORY},(e,n,r)=>{t.set(e,{etag:n,data:r})});e.cache.hooks.get.tap({name:"MemoryCachePlugin",stage:r.STAGE_MEMORY},(e,n,r)=>{const i=t.get(e);if(i===null){return null}else if(i!==undefined){return i.etag===n?i.data:null}r.push((r,i)=>{if(r===undefined){t.set(e,null)}else{t.set(e,{etag:n,data:r})}return i()})})}}e.exports=MemoryCachePlugin},83793:(e,t,n)=>{"use strict";const r=n(22996);const i=n(52923);const s=n(83379);const o=n(56202);const a=n(27503);const{createFileSerializer:c}=n(24568);class PackContainer{constructor(e,t,n,r,i,s){this.data=e;this.version=t;this.buildSnapshot=n;this.buildDependencies=r;this.resolveResults=i;this.resolveBuildDependenciesSnapshot=s}serialize({write:e,writeLazy:t}){e(this.version);e(this.buildSnapshot);e(this.buildDependencies);e(this.resolveResults);e(this.resolveBuildDependenciesSnapshot);t(this.data)}deserialize({read:e}){this.version=e();this.buildSnapshot=e();this.buildDependencies=e();this.resolveResults=e();this.resolveBuildDependenciesSnapshot=e();this.data=e()}}o(PackContainer,"webpack/lib/cache/PackFileCacheStrategy","PackContainer");const u=1024*1024;const l=10;const f=1e3*60*60*24*60;class PackItemInfo{constructor(e,t,n){this.identifier=e;this.etag=t;this.location=-1;this.lastAccess=Date.now();this.freshValue=n}}class Pack{constructor(e){this.itemInfo=new Map;this.freshContent=[];this.content=[];this.invalid=false;this.logger=e}get(e,t){const n=this.itemInfo.get(e);if(n===undefined)return undefined;if(n.etag!==t)return null;n.lastAccess=Date.now();const r=n.location;if(r===-1){return n.freshValue}else{if(!this.content[r]){return undefined}return this.content[r].get(e)}}set(e,t,n){if(!this.invalid){this.invalid=true;this.logger.debug(`Pack got invalid because of ${e}`)}const r=this.itemInfo.get(e);if(r===undefined){const r=new PackItemInfo(e,t,n);this.itemInfo.set(e,r);this.freshContent.push(r)}else{const i=r.location;if(i>=0){this.freshContent.push(r);const t=this.content[i];t.delete(e);if(t.items.size===0){this.content[i]=undefined;this.logger.debug("Pack %d got empty and is removed",i)}}r.freshValue=n;r.lastAccess=Date.now();r.etag=t;r.location=-1}}_findLocation(){let e;for(e=0;ef){this.itemInfo.delete(o);e.delete(o);t.delete(o);r++;i=o}else{a.location=n}}if(r>0){this.logger.log("Garbage Collected %d old items at pack %d e. g. %s",r,n,i)}}_persistFreshContent(){if(this.freshContent.length>0){const e=new Set;const t=new Map;const n=this._findLocation();for(const r of this.freshContent){const{identifier:i}=r;e.add(i);t.set(i,r.freshValue);r.location=n;r.freshValue=undefined}this.content[n]=new PackContent(e,new Set(e),new PackContentItems(t));this.freshContent.length=0}}_optimizeSmallContent(){const e=[];let t=0;const n=[];let r=0;for(let i=0;iu)continue;if(s.used.size>0){e.push(i);t+=o}else{n.push(i);r+=o}}let i;if(e.length>=l||t>u){i=e}else if(n.length>=l||r>u){i=n}else return;const s=[];for(const e of i){s.push(this.content[e]);this.content[e]=undefined}const o=new Set;const c=new Set;const f=[];for(const e of s){for(const t of e.items){o.add(t)}for(const t of e.used){c.add(t)}f.push(async t=>{await e.unpack();for(const[n,r]of e.content){t.set(n,r)}})}const p=this._findLocation();this._gcAndUpdateLocation(o,c,p);if(o.size>0){this.content[p]=new PackContent(o,c,a(async()=>{const e=new Map;await Promise.all(f.map(t=>t(e)));return new PackContentItems(e)}));this.logger.log("Merged %d small files with %d cache items into pack %d",s.length,o.size,p)}}_optimizeUnusedContent(){for(let e=0;e0&&r0){this.content[r]=new PackContent(n,new Set(n),async()=>{await t.unpack();const e=new Map;for(const r of n){e.set(r,t.content.get(r))}return new PackContentItems(e)})}const i=new Set(t.items);const s=new Set;for(const e of n){i.delete(e)}const o=this._findLocation();this._gcAndUpdateLocation(i,s,o);if(i.size>0){this.content[o]=new PackContent(i,s,async()=>{await t.unpack();const e=new Map;for(const n of i){e.set(n,t.content.get(n))}return new PackContentItems(e)})}this.logger.log("Split pack %d into pack %d with %d used items and pack %d with %d unused items",e,r,n.size,o,i.size);return}}}serialize({write:e,writeSeparate:t}){this._persistFreshContent();this._optimizeSmallContent();this._optimizeUnusedContent();for(const t of this.itemInfo.keys()){e(t)}e(null);for(const t of this.itemInfo.values()){e(t.etag)}for(const t of this.itemInfo.values()){e(t.lastAccess)}for(let n=0;n{const t=new PackItemInfo(e,undefined,undefined);this.itemInfo.set(e,t);return t});for(const t of r){t.etag=e()}for(const t of r){t.lastAccess=e()}}this.content.length=0;let n=e();while(n!==null){if(n===undefined){this.content.push(n)}else{const r=this.content.length;const i=e();this.content.push(new PackContent(n,new Set,i,t,`${this.content.length}`));for(const e of n){this.itemInfo.get(e).location=r}}n=e()}}}o(Pack,"webpack/lib/cache/PackFileCacheStrategy","Pack");class PackContentItems{constructor(e){this.map=e}serialize({write:e,snapshot:t,rollback:n,logger:r}){const i=t();try{e(true);e(this.map)}catch(s){n(i);e(false);for(const[i,s]of this.map){const o=t();try{e(i);e(s)}catch(e){n(o);r.warn(`Skipped not serializable cache item '${i}': ${e.message}`);r.debug(e.stack)}}e(null)}}deserialize({read:e}){if(e()){this.map=e()}else{const t=new Map;let n=e();while(n!==null){t.set(n,e());n=e()}this.map=t}}}o(PackContentItems,"webpack/lib/cache/PackFileCacheStrategy","PackContentItems");class PackContent{constructor(e,t,n,r,i){this.items=e;this.lazy=typeof n==="function"?n:undefined;this.content=typeof n==="function"?undefined:n.map;this.outdated=false;this.used=t;this.logger=r;this.lazyName=i}get(e){this.used.add(e);if(this.content){return this.content.get(e)}const{lazyName:t}=this;if(t){this.lazyName=undefined;this.logger.time(`restore cache content ${t}`)}const n=this.lazy();if(n instanceof Promise){return n.then(n=>{if(t)this.logger.timeEnd(`restore cache content ${t}`);const r=n.map;this.content=r;return r.get(e)})}else{if(t)this.logger.timeEnd(`restore cache content ${t}`);const r=n.map;this.content=r;return r.get(e)}}unpack(){if(this.content)return;if(this.lazy){const e=this.lazy();if(e instanceof Promise){return e.then(e=>{this.content=e.map})}else{this.content=e.map}}}getSize(){if(!this.lazy)return-1;const e=this.lazy.options;if(!e)return-1;const t=e.size;if(typeof t!=="number")return-1;return t}delete(e){this.items.delete(e);this.used.delete(e);this.outdated=true}getLazyContentItems(){if(!this.outdated&&this.lazy)return this.lazy;if(!this.outdated&&this.content){const e=new Map(this.content);return this.lazy=a(()=>new PackContentItems(e))}this.outdated=false;if(this.content){return this.lazy=a(()=>{const e=new Map;for(const t of this.items){e.set(t,this.content.get(t))}return new PackContentItems(e)})}const e=this.lazy;return this.lazy=(()=>{const t=e();if(t instanceof Promise){return t.then(e=>{const t=e.map;const n=new Map;for(const e of this.items){n.set(e,t.get(e))}return new PackContentItems(n)})}else{const e=t.map;const n=new Map;for(const t of this.items){n.set(t,e.get(t))}return new PackContentItems(n)}})}}class PackFileCacheStrategy{constructor({compiler:e,fs:t,context:n,cacheLocation:i,version:o,logger:a,managedPaths:u,immutablePaths:l}){this.fileSerializer=c(t);this.fileSystemInfo=new r(t,{managedPaths:u,immutablePaths:l,logger:a.getChildLogger("webpack.FileSystemInfo")});this.compiler=e;this.context=n;this.cacheLocation=i;this.version=o;this.logger=a;this.buildDependencies=new Set;this.newBuildDependencies=new s;this.resolveBuildDependenciesSnapshot=undefined;this.resolveResults=undefined;this.buildSnapshot=undefined;this.packPromise=this._openPack()}_openPack(){const{logger:e,cacheLocation:t,version:n}=this;let r;let i;let s;let o;let a;e.time("restore cache container");return this.fileSerializer.deserialize(null,{filename:`${t}/index.pack`,extension:".pack",logger:e}).catch(n=>{if(n.code!=="ENOENT"){e.warn(`Restoring pack failed from ${t}.pack: ${n}`);e.debug(n.stack)}else{e.debug(`No pack exists at ${t}.pack: ${n}`)}return undefined}).then(c=>{e.timeEnd("restore cache container");if(!c)return undefined;if(!(c instanceof PackContainer)){e.warn(`Restored pack from ${t}.pack, but contained content is unexpected.`,c);return undefined}if(c.version!==n){e.log(`Restored pack from ${t}.pack, but version doesn't match.`);return undefined}e.time("check build dependencies");return Promise.all([new Promise((n,i)=>{this.fileSystemInfo.checkSnapshotValid(c.buildSnapshot,(i,s)=>{if(i){e.log(`Restored pack from ${t}.pack, but checking snapshot of build dependencies errored: ${i}.`);e.debug(i.stack);return n(false)}if(!s){e.log(`Restored pack from ${t}.pack, but build dependencies have changed.`);return n(false)}r=c.buildSnapshot;return n(true)})}),new Promise((n,r)=>{this.fileSystemInfo.checkSnapshotValid(c.resolveBuildDependenciesSnapshot,(r,u)=>{if(r){e.log(`Restored pack from ${t}.pack, but checking snapshot of resolving of build dependencies errored: ${r}.`);e.debug(r.stack);return n(false)}if(u){o=c.resolveBuildDependenciesSnapshot;i=c.buildDependencies;a=c.resolveResults;return n(true)}e.log("resolving of build dependencies is invalid, will re-resolve build dependencies");this.fileSystemInfo.checkResolveResultsValid(c.resolveResults,(r,i)=>{if(r){e.log(`Restored pack from ${t}.pack, but resolving of build dependencies errored: ${r}.`);e.debug(r.stack);return n(false)}if(i){s=c.buildDependencies;a=c.resolveResults;return n(true)}e.log(`Restored pack from ${t}.pack, but build dependencies resolve to different locations.`);return n(false)})})})]).catch(t=>{e.timeEnd("check build dependencies");throw t}).then(([t,n])=>{e.timeEnd("check build dependencies");if(t&&n){e.time("restore cache content metadata");const t=c.data();e.timeEnd("restore cache content metadata");return t}return undefined})}).then(t=>{if(t){this.buildSnapshot=r;if(i)this.buildDependencies=i;if(s)this.newBuildDependencies.addAll(s);this.resolveResults=a;this.resolveBuildDependenciesSnapshot=o;return t}return new Pack(e)}).catch(n=>{this.logger.warn(`Restoring pack from ${t}.pack failed: ${n}`);this.logger.debug(n.stack);return new Pack(e)})}store(e,t,n){return this.packPromise.then(r=>{this.logger.debug(`Cached ${e} to pack.`);r.set(e,t===null?null:t.toString(),n)})}restore(e,t){return this.packPromise.then(n=>n.get(e,t===null?null:t.toString())).catch(t=>{if(t&&t.code!=="ENOENT"){this.logger.warn(`Restoring failed for ${e} from pack: ${t}`);this.logger.debug(t.stack)}})}storeBuildDependencies(e){this.newBuildDependencies.addAll(e)}afterAllStored(){const e=i.getReporter(this.compiler);return this.packPromise.then(t=>{if(!t.invalid)return;this.logger.log(`Storing pack...`);let n;const r=new Set;for(const e of this.newBuildDependencies){if(!this.buildDependencies.has(e)){r.add(e);this.buildDependencies.add(e)}}this.newBuildDependencies.clear();if(r.size>0||!this.buildSnapshot){if(e)e(.5,"resolve build dependencies");this.logger.debug(`Capturing build dependencies... (${Array.from(r).join(", ")})`);n=new Promise((t,n)=>{this.logger.time("resolve build dependencies");this.fileSystemInfo.resolveBuildDependencies(this.context,r,(r,i)=>{this.logger.timeEnd("resolve build dependencies");if(r)return n(r);this.logger.time("snapshot build dependencies");const{files:s,directories:o,missing:a,resolveResults:c,resolveDependencies:u}=i;if(this.resolveResults){for(const[e,t]of c){this.resolveResults.set(e,t)}}else{this.resolveResults=c}if(e)e(.6,"snapshot build dependencies (timestamps)");this.fileSystemInfo.createSnapshot(undefined,u.files,u.directories,u.missing,{},(r,i)=>{if(r){this.logger.timeEnd("snapshot build dependencies");return n(r)}if(!i){this.logger.timeEnd("snapshot build dependencies");return n(new Error("Unable to snapshot resolve dependencies"))}if(this.resolveBuildDependenciesSnapshot){this.resolveBuildDependenciesSnapshot=this.fileSystemInfo.mergeSnapshots(this.resolveBuildDependenciesSnapshot,i)}else{this.resolveBuildDependenciesSnapshot=i}if(e)e(.7,"snapshot build dependencies (hashes)");this.fileSystemInfo.createSnapshot(undefined,s,o,a,{hash:true},(e,r)=>{this.logger.timeEnd("snapshot build dependencies");if(e)return n(e);if(!r){return n(new Error("Unable to snapshot build dependencies"))}this.logger.debug("Captured build dependencies");if(this.buildSnapshot){this.buildSnapshot=this.fileSystemInfo.mergeSnapshots(this.buildSnapshot,r)}else{this.buildSnapshot=r}t()})})})})}else{n=Promise.resolve()}return n.then(()=>{if(e)e(.8,"serialize pack");this.logger.time(`store pack`);const n=new PackContainer(t,this.version,this.buildSnapshot,this.buildDependencies,this.resolveResults,this.resolveBuildDependenciesSnapshot);return this.fileSerializer.serialize(n,{filename:`${this.cacheLocation}/index.pack`,extension:".pack",logger:this.logger}).then(()=>{this.logger.timeEnd(`store pack`);this.logger.log(`Stored pack`)}).catch(e=>{this.logger.timeEnd(`store pack`);this.logger.warn(`Caching failed for pack: ${e}`);this.logger.debug(e.stack)})})}).catch(e=>{this.logger.warn(`Caching failed for pack: ${e}`);this.logger.debug(e.stack)})}}e.exports=PackFileCacheStrategy},13653:(e,t,n)=>{"use strict";const r=n(83379);const i=n(56202);class CacheEntry{constructor(e,t,n,r,i){this.result=e;this.fileDependencies=t;this.contextDependencies=n;this.missingDependencies=r;this.snapshot=i}serialize({write:e}){e(this.result);e(this.fileDependencies);e(this.contextDependencies);e(this.missingDependencies);e(this.snapshot)}deserialize({read:e}){this.result=e();this.fileDependencies=e();this.contextDependencies=e();this.missingDependencies=e();this.snapshot=e()}}i(CacheEntry,"webpack/lib/cache/ResolverCachePlugin");const s=(e,t)=>{if("addAll"in e){e.addAll(t)}else{for(const n of t){e.add(n)}}};const o=(e,t)=>{let n="";for(const r in e){if(t&&r==="context")continue;const i=e[r];if(typeof i==="object"&&i!==null){n+=`|${r}=[${o(i,false)}|]`}else{n+=`|${r}=|${i}`}}return n};class ResolverCachePlugin{apply(e){const t=e.getCache("ResolverCachePlugin");let n;let i=0;let a=0;let c=0;let u=0;e.hooks.thisCompilation.tap("ResolverCachePlugin",e=>{n=e.fileSystemInfo;e.hooks.finishModules.tap("ResolverCachePlugin",()=>{if(i+a>0){const t=e.getLogger("webpack.ResolverCachePlugin");t.log(`${Math.round(100*i/(i+a))}% really resolved (${i} real resolves with ${c} cached but invalid, ${a} cached valid, ${u} concurrent)`);i=0;a=0;c=0;u=0}})});const l=(e,t,o,a,c)=>{i++;const u={_ResolverCachePluginCacheMiss:true,...a};const l={...o,stack:new Set,missingDependencies:new r,fileDependencies:new r,contextDependencies:new r};const f=e=>{if(o[e]){s(o[e],l[e])}};const p=Date.now();t.doResolve(t.hooks.resolve,u,"Cache miss",l,(t,r)=>{f("fileDependencies");f("contextDependencies");f("missingDependencies");if(t)return c(t);const i=l.fileDependencies;const s=l.contextDependencies;const o=l.missingDependencies;n.createSnapshot(p,i,s,o,null,(t,n)=>{if(t)return c(t);if(!n){if(r)return c(null,r);return c()}e.store(new CacheEntry(r,l.fileDependencies,l.contextDependencies,l.missingDependencies,n),e=>{if(e)return c(e);if(r)return c(null,r);c()})})})};e.resolverFactory.hooks.resolver.intercept({factory(e,r){const i=new Map;r.tap("ResolverCachePlugin",(r,u,f)=>{if(u.cache!==true)return;const p=o(f,false);const d=u.cacheWithContext!==undefined?u.cacheWithContext:false;r.hooks.resolve.tapAsync({name:"ResolverCachePlugin",stage:-100},(u,f,h)=>{if(u._ResolverCachePluginCacheMiss||!n){return h()}const m=`${e}${p}${o(u,!d)}`;const g=i.get(m);if(g){g.push(h);return}const y=t.getItemCache(m,null);let v;const _=(e,t)=>{if(v===undefined){h(e,t);v=false}else{for(const n of v){n(e,t)}i.delete(m);v=false}};const b=(e,t)=>{if(e)return _(e);if(t){n.checkSnapshotValid(t.snapshot,(e,n)=>{if(e||!n){c++;return l(y,r,f,u,_)}a++;if(f.missingDependencies){s(f.missingDependencies,t.missingDependencies)}if(f.fileDependencies){s(f.fileDependencies,t.fileDependencies)}if(f.contextDependencies){s(f.contextDependencies,t.contextDependencies)}_(null,t.result)})}else{l(y,r,f,u,_)}};y.get(b);if(v===undefined){v=[h];i.set(m,v)}})});return r}})}}e.exports=ResolverCachePlugin},77034:(e,t,n)=>{"use strict";const r=n(35891);class LazyHashedEtag{constructor(e){this._obj=e;this._hash=undefined}toString(){if(this._hash===undefined){const e=r("md4");this._obj.updateHash(e);this._hash=e.digest("base64")}return this._hash}}const i=new WeakMap;const s=e=>{const t=i.get(e);if(t!==undefined)return t;const n=new LazyHashedEtag(e);i.set(e,n);return n};e.exports=s},10168:e=>{"use strict";class MergedEtag{constructor(e,t){this.a=e;this.b=t}toString(){return`${this.a.toString()}|${this.b.toString()}`}}const t=new WeakMap;const n=new WeakMap;const r=(e,r)=>{if(typeof e==="string"){if(typeof r==="string"){return`${e}|${r}`}else{const t=r;r=e;e=t}}else{if(typeof r!=="string"){let n=t.get(e);if(n===undefined){t.set(e,n=new WeakMap)}const i=n.get(r);if(i===undefined){const t=new MergedEtag(e,r);n.set(r,t);return t}else{return i}}}let i=n.get(e);if(i===undefined){n.set(e,i=new Map)}const s=i.get(r);if(s===undefined){const t=new MergedEtag(e,r);i.set(r,t);return t}else{return s}};e.exports=r},61634:(e,t,n)=>{"use strict";const r=n(85622);const i=n(76518);const s=(e=i)=>{const t={};const n=e=>{return e.replace(/\./g,"-").replace(/\[\]/g,"").replace(/(\p{Uppercase_Letter}+|\p{Lowercase_Letter}|\d)(\p{Uppercase_Letter})/gu,"$1-$2").replace(/-?[^\p{Uppercase_Letter}\p{Lowercase_Letter}\d]+/gu,"-").toLowerCase()};const r=t=>{const n=t.split("/");let r=e;for(let e=1;e{for(const{schema:t}of e){if(t.cli&&t.cli.helper)continue;if(t.description)return t.description}};const o=e=>{if(e.enum){return{type:"enum",values:e.enum}}switch(e.type){case"number":return{type:"number"};case"string":return{type:e.absolutePath?"path":"string"};case"boolean":return{type:"boolean"}}if(e.instanceof==="RegExp"){return{type:"RegExp"}}return undefined};const a=e=>{const r=e[0].path;const i=n(`${r}.reset`);const o=s(e);t[i]={configs:[{type:"reset",multiple:false,description:`Clear all items provided in configuration. ${o}`,path:r}],description:undefined,simpleType:undefined,multiple:undefined}};const c=(e,r)=>{const i=o(e[0].schema);if(!i)return 0;const a=n(e[0].path);const c={...i,multiple:r,description:s(e),path:e[0].path};if(!t[a]){t[a]={configs:[],description:undefined,simpleType:undefined,multiple:undefined}}if(t[a].configs.some(e=>JSON.stringify(e)===JSON.stringify(c))){return 0}if(t[a].configs.some(e=>e.type===c.type&&e.multiple!==r)){if(r){throw new Error(`Conflicting schema for ${e[0].path} with ${c.type} type (array type must be before single item type)`)}return 0}t[a].configs.push(c);return 1};const u=(e,t="",n=[],i=null)=>{while(e.$ref){e=r(e.$ref)}const s=n.filter(({schema:t})=>t===e);if(s.length>=2||s.some(({path:e})=>e===t)){return 0}if(e.cli&&e.cli.exclude)return 0;const o=[{schema:e,path:t},...n];let l=0;l+=c(o,!!i);if(e.type==="object"){if(e.properties){for(const n of Object.keys(e.properties)){l+=u(e.properties[n],t?`${t}.${n}`:n,o,i)}}return l}if(e.type==="array"){if(i){return 0}if(Array.isArray(e.items)){let n=0;for(const r of e.items){l+=u(r,`${t}.${n}`,o,t)}return l}l+=u(e.items,`${t}[]`,o,t);if(l>0){a(o);l++}return l}const f=e.oneOf||e.anyOf||e.allOf;if(f){const e=f;for(let n=0;n{if(!e)return t;if(!t)return e;if(e.includes(t))return e;return`${e} ${t}`},undefined);n.simpleType=n.configs.reduce((e,t)=>{let n="string";switch(t.type){case"number":n="number";break;case"reset":case"boolean":n="boolean";break;case"enum":if(t.values.every(e=>typeof e==="boolean"))n="boolean";if(t.values.every(e=>typeof e==="number"))n="number";break}if(e===undefined)return n;return e===n?e:"string"},undefined);n.multiple=n.configs.some(e=>e.multiple)}return t};const o=new WeakMap;const a=(e,t,n=0)=>{if(!t)return{value:e};const r=t.split(".");let i=r.pop();let s=e;let a=0;for(const e of r){const t=e.endsWith("[]");const i=t?e.slice(0,-2):e;let c=s[i];if(t){if(c===undefined){c={};s[i]=[...Array.from({length:n}),c];o.set(s[i],n+1)}else if(!Array.isArray(c)){return{problem:{type:"unexpected-non-array-in-path",path:r.slice(0,a).join(".")}}}else{let e=o.get(c)||0;while(e<=n){c.push(undefined);e++}o.set(c,e);const t=c.length-e+n;if(c[t]===undefined){c[t]={}}else if(c[t]===null||typeof c[t]!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:r.slice(0,a).join(".")}}}c=c[t]}}else{if(c===undefined){c=s[i]={}}else if(c===null||typeof c!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:r.slice(0,a).join(".")}}}}s=c;a++}let c=s[i];if(i.endsWith("[]")){const e=i.slice(0,-2);const r=s[e];if(r===undefined){s[e]=[...Array.from({length:n}),undefined];o.set(s[e],n+1);return{object:s[e],property:n,value:undefined}}else if(!Array.isArray(r)){s[e]=[r,...Array.from({length:n}),undefined];o.set(s[e],n+1);return{object:s[e],property:n+1,value:undefined}}else{let e=o.get(r)||0;while(e<=n){r.push(undefined);e++}o.set(r,e);const i=r.length-e+n;if(r[i]===undefined){r[i]={}}else if(r[i]===null||typeof r[i]!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:t}}}return{object:r,property:i,value:r[i]}}}return{object:s,property:i,value:c}};const c=(e,t,n,r)=>{const{problem:i,object:s,property:o}=a(e,t,r);if(i)return i;s[o]=n;return null};const u=(e,t,n,r)=>{if(r!==undefined&&!e.multiple){return{type:"multiple-values-unexpected",path:e.path}}const i=f(e,n);if(i===undefined){return{type:"invalid-value",path:e.path,expected:l(e)}}const s=c(t,e.path,i,r);if(s)return s;return null};const l=e=>{switch(e.type){default:return e.type;case"boolean":return"true | false";case"RegExp":return"regular expression (example: /ab?c*/)";case"enum":return e.values.map(e=>`${e}`).join(" | ");case"reset":return"true (will reset the previous value to an empty array)"}};const f=(e,t)=>{switch(e.type){case"string":if(typeof t==="string"){return t}break;case"path":if(typeof t==="string"){return r.resolve(t)}break;case"number":if(typeof t==="number")return t;if(typeof t==="string"&&/^[+-]?\d*(\.\d*)[eE]\d+$/){const e=+t;if(!isNaN(e))return e}break;case"boolean":if(typeof t==="boolean")return t;if(t==="true")return true;if(t==="false")return false;break;case"RegExp":if(t instanceof RegExp)return t;if(typeof t==="string"){const e=/^\/(.*)\/([yugi]*)$/.exec(t);if(e&&!/[^\\]\//.test(e[1]))return new RegExp(e[1],e[2])}break;case"enum":if(e.values.includes(t))return t;for(const n of e.values){if(`${n}`===t)return n}break;case"reset":if(t===true)return[];break}};const p=(e,t,n)=>{const r=[];for(const i of Object.keys(n)){const s=e[i];if(!s){r.push({type:"unknown-argument",path:"",argument:i});continue}const o=(e,n)=>{const o=[];for(const r of s.configs){const s=u(r,t,e,n);if(!s){return}o.push({...s,argument:i,value:e,index:n})}r.push(...o)};let a=n[i];if(Array.isArray(a)){for(let e=0;e{"use strict";const r=n(85622);const i=n(58159);const{cleverMerge:s}=n(90149);const o=/[\\/]node_modules[\\/]/i;const a=(e,t,n)=>{if(e[t]===undefined){e[t]=n}};const c=(e,t,n)=>{if(e[t]===undefined){e[t]=n()}};const u=(e,t,n)=>{const r=e[t];if(r===undefined){e[t]=n()}else if(Array.isArray(r)){let i=undefined;for(let s=0;s0?r.slice(0,s-1):[];e[t]=i}const o=n();if(o!==undefined){for(const e of o){i.push(e)}}}else if(i!==undefined){i.push(o)}}}};const l=e=>{c(e,"context",()=>process.cwd())};const f=e=>{c(e,"context",()=>process.cwd());a(e,"target","web");const{mode:t,name:n,target:r}=e;const i=r==="web"||r==="webworker"||r==="electron-renderer";const o=t==="development";const u=t==="production"||!t;if(typeof e.entry!=="function"){for(const t of Object.keys(e.entry)){c(e.entry[t],"import",()=>["./src"])}}c(e,"devtool",()=>o?"eval":false);a(e,"watch",false);a(e,"profile",false);a(e,"parallelism",100);a(e,"recordsInputPath",false);a(e,"recordsOutputPath",false);c(e,"cache",()=>o?{type:"memory"}:false);d(e.cache,{name:n||"default",mode:t||"production"});const l=!!e.cache;p(e.experiments);h(e.module,{cache:l,mjs:e.experiments.mjs,syncWebAssembly:e.experiments.syncWebAssembly,asyncWebAssembly:e.experiments.asyncWebAssembly,webTarget:i});m(e.output,{context:e.context,target:r,outputModule:e.experiments.outputModule,development:o});if(e.output.library){e.output.enabledLibraryTypes.push(e.output.library.type)}for(const t of Object.keys(e.entry)){const n=e.entry[t];if(n.library){e.output.enabledLibraryTypes.push(n.library.type)}}c(e,"externalsType",()=>e.output.library?e.output.library.type:e.output.module?"module":"var");g(e.node,{target:r});c(e,"performance",()=>u&&i?{}:false);y(e.performance,{production:u});v(e.optimization,{development:o,production:u,records:!!(e.recordsInputPath||e.recordsOutputPath)});e.resolve=s(_({cache:l,context:e.context,webTarget:i,target:r,mode:e.mode}),e.resolve);e.resolveLoader=s(b({cache:l}),e.resolveLoader);E(e.infrastructureLogging)};const p=e=>{a(e,"asset",false);a(e,"mjs",false);a(e,"topLevelAwait",false);a(e,"syncWebAssembly",false);a(e,"asyncWebAssembly",false);a(e,"outputModule",false)};const d=(e,{name:t,mode:i})=>{if(e===false)return;switch(e.type){case"filesystem":c(e,"name",()=>t+"-"+i);a(e,"version","");c(e,"cacheDirectory",()=>{const e=n(93224);const t=process.cwd();const i=e.sync(t);if(!i){return r.resolve(t,".cache/webpack")}else if(process.versions.pnp==="1"){return r.resolve(i,".pnp/.cache/webpack")}else if(process.versions.pnp==="3"){return r.resolve(i,".yarn/.cache/webpack")}else{return r.resolve(i,"node_modules/.cache/webpack")}});c(e,"cacheLocation",()=>r.resolve(e.cacheDirectory,e.name));a(e,"hashAlgorithm","md4");a(e,"store","pack");a(e,"idleTimeout",6e4);a(e,"idleTimeoutForInitialStore",0);a(e.buildDependencies,"defaultWebpack",[r.resolve(__dirname,"..")+r.sep]);break}u(e,"managedPaths",()=>{if(process.versions.pnp==="3"){const e=/^(.+?)[\\/]cache[\\/]watchpack-npm-[^\\/]+\.zip[\\/]node_modules[\\/]/.exec(92512);if(e){return[r.resolve(e[1],"unplugged")]}}else{const e=/^(.+?[\\/]node_modules)[\\/]/.exec(92512);if(e){return[e[1]]}}return[]});u(e,"immutablePaths",()=>{if(process.versions.pnp==="1"){const e=/^(.+?[\\/]v4)[\\/]npm-watchpack-[^\\/]+-[\da-f]{40}[\\/]node_modules[\\/]/.exec(92512);if(e){return[e[1]]}}else if(process.versions.pnp==="3"){const e=/^(.+?)[\\/]watchpack-npm-[^\\/]+\.zip[\\/]node_modules[\\/]/.exec(92512);if(e){return[e[1]]}}return[]})};const h=(e,{cache:t,mjs:n,syncWebAssembly:r,asyncWebAssembly:i,webTarget:s})=>{a(e,"unknownContextRequest",".");a(e,"unknownContextRegExp",false);a(e,"unknownContextRecursive",true);a(e,"unknownContextCritical",true);a(e,"exprContextRequest",".");a(e,"exprContextRegExp",false);a(e,"exprContextRecursive",true);a(e,"exprContextCritical",true);a(e,"wrappedContextRegExp",/.*/);a(e,"wrappedContextRecursive",true);a(e,"wrappedContextCritical",false);a(e,"strictExportPresence",false);a(e,"strictThisContextOnImports",false);if(t){a(e,"unsafeCache",e=>{const t=e.nameForCondition();return t&&o.test(t)})}else{a(e,"unsafeCache",false)}u(e,"defaultRules",()=>{const e=[{type:"javascript/auto"},{mimetype:"application/node",type:"javascript/auto"},{test:/\.json$/i,type:"json"},{mimetype:"application/json",type:"json"}];if(n){const t={type:"javascript/esm",resolve:{byDependency:{esm:{fullySpecified:true}}}};const n={type:"javascript/dynamic"};e.push({test:/\.mjs$/i,...t},{test:/\.js$/i,descriptionData:{type:"module"},...t},{test:/\.cjs$/i,...n},{test:/\.js$/i,descriptionData:{type:"commonjs"},...n},{mimetype:{or:["text/javascript","application/javascript"]},...t})}else{e.push({mimetype:{or:["text/javascript","application/javascript"]},type:"javascript/auto"})}if(i){const t={type:"webassembly/async"};if(n){t.rules=[{descriptionData:{type:"module"},resolve:{fullySpecified:true}}]}e.push({test:/\.wasm$/i,...t});e.push({mimetype:"application/wasm",...t})}else if(r){const t={type:"webassembly/sync"};if(n){t.rules=[{descriptionData:{type:"module"},resolve:{fullySpecified:true}}]}e.push({test:/\.wasm$/i,...t});e.push({mimetype:"application/wasm",...t})}return e})};const m=(e,{context:t,target:n,outputModule:s,development:o})=>{const u=e=>{const t=typeof e==="object"&&e&&!Array.isArray(e)&&"type"in e?e.name:e;if(Array.isArray(t)){return t.join(".")}else if(typeof t==="object"){return u(t.root)}else if(typeof t==="string"){return t}return""};c(e,"uniqueName",()=>{const n=u(e.library);if(n)return n;try{const e=require(`${t}/package.json`);return e.name||""}catch(e){return""}});a(e,"filename","[name].js");c(e,"module",()=>!!s);c(e,"iife",()=>!e.module);a(e,"ecmaVersion",6);a(e,"importFunctionName","import");c(e,"chunkFilename",()=>{const t=e.filename;if(typeof t!=="function"){const e=t.includes("[name]");const n=t.includes("[id]");const r=t.includes("[chunkhash]");const i=t.includes("[contenthash]");if(r||i||e||n)return t;return t.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}return"[id].js"});a(e,"assetModuleFilename","[hash][ext][query]");a(e,"webassemblyModuleFilename","[hash].module.wasm");a(e,"publicPath","");a(e,"compareBeforeEmit",true);a(e,"charset",true);c(e,"hotUpdateFunction",()=>i.toIdentifier("webpackHotUpdate"+i.toIdentifier(e.uniqueName)));c(e,"jsonpFunction",()=>i.toIdentifier("webpackJsonp"+i.toIdentifier(e.uniqueName)));c(e,"chunkCallbackName",()=>i.toIdentifier("webpackChunk"+i.toIdentifier(e.uniqueName)));c(e,"globalObject",()=>{switch(n){case"web":case"electron-renderer":case"node-webkit":return"window";case"webworker":return"self";case"node":case"async-node":case"electron-main":return"global";default:return"self"}});c(e,"devtoolNamespace",()=>e.uniqueName);c(e,"libraryTarget",()=>e.module?"module":"var");c(e,"path",()=>r.join(process.cwd(),"dist"));c(e,"pathinfo",()=>o);a(e,"sourceMapFilename","[file].map[query]");a(e,"hotUpdateChunkFilename","[id].[fullhash].hot-update.js");a(e,"hotUpdateMainFilename","[fullhash].hot-update.json");a(e,"crossOriginLoading",false);c(e,"scriptType",()=>e.module?"module":false);a(e,"chunkLoadTimeout",12e4);a(e,"hashFunction","md4");a(e,"hashDigest","hex");a(e,"hashDigestLength",20);a(e,"strictModuleExceptionHandling",false)};const g=(e,{target:t})=>{if(e===false)return;c(e,"global",()=>{switch(t){case"node":case"async-node":case"electron-main":return false;default:return true}});c(e,"__filename",()=>{switch(t){case"node":case"async-node":case"electron-main":return false;default:return"mock"}});c(e,"__dirname",()=>{switch(t){case"node":case"async-node":case"electron-main":return false;default:return"mock"}})};const y=(e,{production:t})=>{if(e===false)return;a(e,"maxAssetSize",25e4);a(e,"maxEntrypointSize",25e4);c(e,"hints",()=>t?"warning":false)};const v=(e,{production:t,development:r,records:i})=>{a(e,"removeAvailableModules",false);a(e,"removeEmptyChunks",true);a(e,"mergeDuplicateChunks",true);a(e,"flagIncludedChunks",t);c(e,"moduleIds",()=>{if(t)return"deterministic";if(r)return"named";return"natural"});c(e,"chunkIds",()=>{if(t)return"deterministic";if(r)return"named";return"natural"});a(e,"sideEffects",true);a(e,"providedExports",true);a(e,"usedExports",t);a(e,"innerGraph",t);a(e,"mangleExports",t);a(e,"concatenateModules",t);a(e,"runtimeChunk",false);a(e,"emitOnErrors",!t);a(e,"checkWasmTypes",t);a(e,"mangleWasmImports",false);a(e,"portableRecords",i);a(e,"realContentHash",t);a(e,"minimize",t);u(e,"minimizer",()=>[{apply:e=>{const t=n(96013);new t({terserOptions:{compress:{passes:2}}}).apply(e)}}]);c(e,"nodeEnv",()=>{if(t)return"production";if(r)return"development";return false});const{splitChunks:s}=e;if(s){a(s,"hidePathInfo",t);a(s,"chunks","async");a(s,"usedExports",true);a(s,"minChunks",1);c(s,"minSize",()=>t?2e4:1e4);c(s,"minRemainingSize",()=>r?0:undefined);c(s,"enforceSizeThreshold",()=>t?5e4:3e4);c(s,"maxAsyncRequests",()=>t?30:Infinity);c(s,"maxInitialRequests",()=>t?30:Infinity);a(s,"automaticNameDelimiter","-");const{cacheGroups:e}=s;c(e,"default",()=>({idHint:"",reuseExistingChunk:true,minChunks:2,priority:-20}));c(e,"defaultVendors",()=>({idHint:"vendors",reuseExistingChunk:true,test:o,priority:-10}))}};const _=({cache:e,context:t,webTarget:n,target:r,mode:i})=>{const s=["webpack"];s.push(i==="development"?"development":"production");switch(r){case"webworker":s.push("worker");break;case"node":case"async-node":case"node-webkit":s.push("node");break;case"electron-main":case"electron-preload":s.push("node");s.push("electron");break;case"electron-renderer":s.push("electron");break}const o=[".js",".json",".wasm"];const a=()=>({aliasFields:n?["browser"]:[],mainFields:n?["browser","module","..."]:["module","..."],conditionNames:n?["require","module","browser","..."]:["require","module","..."],extensions:[...o]});const c=()=>({aliasFields:n?["browser"]:[],mainFields:n?["browser","module","..."]:["module","..."],conditionNames:n?["import","module","browser","..."]:["import","module","..."],extensions:[...o]});const u={cache:e,modules:["node_modules"],conditionNames:s,mainFiles:["index"],extensions:[],aliasFields:[],exportsFields:["exports"],roots:[t],mainFields:["main"],byDependency:{wasm:c(),esm:c(),commonjs:a(),amd:a(),loader:a(),unknown:a(),undefined:a()}};return u};const b=({cache:e})=>{const t={cache:e,conditionNames:["loader","require","node"],exportsFields:["exports"],mainFields:["loader","main"],extensions:[".js"],mainFiles:["index"]};return t};const E=e=>{a(e,"level","info");a(e,"debug",false)};t.applyWebpackOptionsBaseDefaults=l;t.applyWebpackOptionsDefaults=f},96590:(e,t,n)=>{"use strict";const r=n(31669);const i=n(76174);const s=r.deprecate((e,t)=>{if(t!==undefined&&!e===!t){throw new Error("Conflicting use of 'optimization.noEmitOnErrors' and 'optimization.emitOnErrors'. Remove deprecated 'optimization.noEmitOnErrors' from config.")}return!e},"optimization.noEmitOnErrors is deprecated in favor of optimization.emitOnErrors","DEP_WEBPACK_CONFIGURATION_OPTIMIZATION_NO_EMIT_ON_ERRORS");const o=(e,t)=>e===undefined?t({}):t(e);const a=(e,t)=>e===undefined?undefined:t(e);const c=(e,t)=>Array.isArray(e)?t(e):t([]);const u=(e,t)=>Array.isArray(e)?t(e):undefined;const l=(e,t)=>e===undefined?{}:Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{});const f=e=>{return{amd:e.amd,bail:e.bail,cache:a(e.cache,e=>{if(e===false)return false;if(e===true){return{type:"memory"}}switch(e.type){case"filesystem":return{type:"filesystem",buildDependencies:o(e.buildDependencies,e=>({...e})),cacheDirectory:e.cacheDirectory,cacheLocation:e.cacheLocation,hashAlgorithm:e.hashAlgorithm,idleTimeout:e.idleTimeout,idleTimeoutForInitialStore:e.idleTimeoutForInitialStore,immutablePaths:u(e.immutablePaths,e=>[...e]),managedPaths:u(e.managedPaths,e=>[...e]),name:e.name,store:e.store,version:e.version};case undefined:case"memory":return{type:"memory",immutablePaths:u(e.immutablePaths,e=>[...e]),managedPaths:u(e.managedPaths,e=>[...e])};default:throw new Error(`Not implemented cache.type ${e.type}`)}}),context:e.context,dependencies:e.dependencies,devServer:a(e.devServer,e=>({...e})),devtool:e.devtool,entry:e.entry===undefined?{main:{}}:typeof e.entry==="function"?(e=>()=>Promise.resolve().then(e).then(p))(e.entry):p(e.entry),experiments:o(e.experiments,e=>({...e})),externals:e.externals,externalsType:e.externalsType,infrastructureLogging:o(e.infrastructureLogging,e=>({...e})),loader:e.loader,mode:e.mode,module:o(e.module,e=>({...e,rules:c(e.rules,e=>[...e])})),name:e.name,node:o(e.node,e=>e&&{...e}),optimization:o(e.optimization,e=>{return{...e,runtimeChunk:d(e.runtimeChunk),splitChunks:o(e.splitChunks,e=>e&&{...e,cacheGroups:o(e.cacheGroups,e=>({...e}))}),emitOnErrors:e.noEmitOnErrors!==undefined?s(e.noEmitOnErrors,e.emitOnErrors):e.emitOnErrors}}),output:o(e.output,e=>{const{library:t}=e;const n=t;const r=typeof t==="object"&&t&&!Array.isArray(t)&&"type"in t?t:n||e.libraryTarget?{type:"var",name:n}:undefined;const s={assetModuleFilename:e.assetModuleFilename,charset:e.charset,chunkCallbackName:e.chunkCallbackName,chunkFilename:e.chunkFilename,chunkLoadTimeout:e.chunkLoadTimeout,compareBeforeEmit:e.compareBeforeEmit,crossOriginLoading:e.crossOriginLoading,devtoolFallbackModuleFilenameTemplate:e.devtoolFallbackModuleFilenameTemplate,devtoolModuleFilenameTemplate:e.devtoolModuleFilenameTemplate,devtoolNamespace:e.devtoolNamespace,ecmaVersion:i(e.ecmaVersion),enabledLibraryTypes:c(e.enabledLibraryTypes,e=>[...e]),filename:e.filename,globalObject:e.globalObject,hashDigest:e.hashDigest,hashDigestLength:e.hashDigestLength,hashFunction:e.hashFunction,hashSalt:e.hashSalt,hotUpdateChunkFilename:e.hotUpdateChunkFilename,hotUpdateFunction:e.hotUpdateFunction,hotUpdateMainFilename:e.hotUpdateMainFilename,iife:e.iife,importFunctionName:e.importFunctionName,jsonpFunction:e.jsonpFunction,scriptType:e.scriptType,library:r&&{type:e.libraryTarget!==undefined?e.libraryTarget:r.type,auxiliaryComment:e.auxiliaryComment!==undefined?e.auxiliaryComment:r.auxiliaryComment,export:e.libraryExport!==undefined?e.libraryExport:r.export,name:r.name,umdNamedDefine:e.umdNamedDefine!==undefined?e.umdNamedDefine:r.umdNamedDefine},module:e.module,path:e.path,pathinfo:e.pathinfo,publicPath:e.publicPath,sourceMapFilename:e.sourceMapFilename,sourcePrefix:e.sourcePrefix,strictModuleExceptionHandling:e.strictModuleExceptionHandling,uniqueName:e.uniqueName,webassemblyModuleFilename:e.webassemblyModuleFilename};return s}),parallelism:e.parallelism,performance:a(e.performance,e=>{if(e===false)return false;return{...e}}),plugins:c(e.plugins,e=>[...e]),profile:e.profile,recordsInputPath:e.recordsInputPath!==undefined?e.recordsInputPath:e.recordsPath,recordsOutputPath:e.recordsOutputPath!==undefined?e.recordsOutputPath:e.recordsPath,resolve:o(e.resolve,e=>({...e,byDependency:l(e.byDependency,e=>({...e}))})),resolveLoader:o(e.resolveLoader,e=>({...e})),stats:o(e.stats,e=>{if(e===false){return{preset:"none"}}if(e===true){return{preset:"normal"}}if(typeof e==="string"){return{preset:e}}return{...e}}),target:e.target,watch:e.watch,watchOptions:o(e.watchOptions,e=>({...e}))}};const p=e=>{if(typeof e==="string"){return{main:{import:[e]}}}if(Array.isArray(e)){return{main:{import:e}}}const t={};for(const n of Object.keys(e)){const r=e[n];if(typeof r==="string"){t[n]={import:[r]}}else if(Array.isArray(r)){t[n]={import:r}}else{t[n]={import:r.import&&(Array.isArray(r.import)?r.import:[r.import]),filename:r.filename,runtime:r.runtime,dependOn:r.dependOn&&(Array.isArray(r.dependOn)?r.dependOn:[r.dependOn]),library:r.library}}}return t};const d=e=>{if(e===undefined)return undefined;if(e===false)return false;if(e==="single"){return{name:()=>"runtime"}}if(e===true||e==="multiple"){return{name:e=>`runtime~${e.name}`}}const{name:t}=e;return{name:typeof t==="function"?t:()=>t}};t.getNormalizedWebpackOptions=f},76041:(e,t,n)=>{"use strict";const r=n(28706);const i=n(56202);class ContainerEntryDependency extends r{constructor(e,t,n){super();this.name=e;this.exposes=t;this.shareScope=n}getResourceIdentifier(){return`container-entry-${this.name}`}get type(){return"container entry"}get category(){return"esm"}}i(ContainerEntryDependency,"webpack/lib/container/ContainerEntryDependency");e.exports=ContainerEntryDependency},89591:(e,t,n)=>{"use strict";const{OriginalSource:r}=n(48135);const i=n(98221);const s=n(53453);const o=n(76150);const a=n(58159);const c=n(56202);const u=n(4523);const l=new Set(["javascript"]);class ContainerEntryModule extends s{constructor(e,t,n){super("javascript/dynamic",null);this._name=e;this._exposes=t;this._shareScope=n}getSourceTypes(){return l}identifier(){return`container entry (${this._shareScope}) ${JSON.stringify(this._exposes)}`}readableIdentifier(e){return`container entry`}libIdent(e){return`webpack/container/entry/${this._name}`}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,s){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();for(const[e,t]of this._exposes){const n=new i(undefined,{name:e},t.import[t.import.length-1]);let r=0;for(const i of t.import){const t=new u(e,i);t.loc={name:e,index:r++};n.addDependency(t)}this.addBlock(n)}s()}codeGeneration({moduleGraph:e,chunkGraph:t,runtimeTemplate:n}){const i=new Map;const s=new Set([o.definePropertyGetters,o.hasOwnProperty,o.exports]);const c=[];for(const r of this.blocks){const{dependencies:i}=r;const o=i.map(t=>{const n=t;return{name:n.exposedName,module:e.getModule(n),request:n.userRequest}});let a;if(o.some(e=>!e.module)){a=n.throwMissingModuleErrorBlock({request:o.map(e=>e.request).join(", ")})}else{a=`return ${n.blockPromise({block:r,message:"",chunkGraph:t,runtimeRequirements:s})}.then(${n.returningFunction(n.returningFunction(`(${o.map(({module:e,request:r})=>n.moduleRaw({module:e,chunkGraph:t,request:r,weak:false,runtimeRequirements:s})).join(", ")})`))});`}c.push(`${JSON.stringify(o[0].name)}: ${n.basicFunction("",a)}`)}const u=a.asString([`var moduleMap = {`,a.indent(c.join(",\n")),"};",`var get = ${n.basicFunction("module",["return (",a.indent([`${o.hasOwnProperty}(moduleMap, module)`,a.indent(["? moduleMap[module]()",`: Promise.resolve().then(${n.basicFunction("","throw new Error('Module \"' + module + '\" does not exist in container.');")})`])]),");"])};`,`var init = ${n.basicFunction("shareScope",[`var oldScope = ${o.shareScopeMap}[${JSON.stringify(this._shareScope)}];`,`var name = ${JSON.stringify(this._shareScope)}`,`if(oldScope && oldScope !== shareScope) throw new Error("Container initialization failed as it has already been initialized with a different share scope");`,`${o.shareScopeMap}[name] = shareScope;`,`return ${o.initializeSharing}(name);`])};`,"","// This exports getters to disallow modifications",`${o.definePropertyGetters}(exports, {`,a.indent([`get: ${n.returningFunction("get")},`,`init: ${n.returningFunction("init")}`]),"});"]);i.set("javascript",new r(u,"webpack/container-entry"));return{sources:i,runtimeRequirements:s}}size(e){return 42}serialize(e){const{write:t}=e;t(this._name);t(this._exposes);t(this._shareScope);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new ContainerEntryModule(t(),t(),t());n.deserialize(e);return n}}c(ContainerEntryModule,"webpack/lib/container/ContainerEntryModule");e.exports=ContainerEntryModule},76912:(e,t,n)=>{"use strict";const r=n(40674);const i=n(89591);e.exports=class ContainerEntryModuleFactory extends r{create({dependencies:[e]},t){const n=e;t(null,{module:new i(n.name,n.exposes,n.shareScope)})}}},4523:(e,t,n)=>{"use strict";const r=n(79983);const i=n(56202);class ContainerExposedDependency extends r{constructor(e,t){super(t);this.exposedName=e}get type(){return"container exposed"}get category(){return"esm"}getResourceIdentifier(){return`exposed dependency ${this.exposedName}=${this.request}`}serialize(e){e.write(this.exposedName);super.serialize(e)}deserialize(e){this.exposedName=e.read();super.deserialize(e)}}i(ContainerExposedDependency,"webpack/lib/container/ContainerExposedDependency");e.exports=ContainerExposedDependency},10419:(e,t,n)=>{"use strict";const r=n(15235);const i=n(19593);const s=n(76041);const o=n(76912);const a=n(4523);const{parseOptions:c}=n(97264);const u="ContainerPlugin";class ContainerPlugin{constructor(e){r(i,e,{name:"Container Plugin"});this._options={name:e.name,shareScope:e.shareScope||"default",library:e.library||{type:"var",name:e.name},filename:e.filename||undefined,exposes:c(e.exposes,e=>({import:Array.isArray(e)?e:[e]}),e=>({import:Array.isArray(e.import)?e.import:[e.import]}))}}apply(e){const{name:t,exposes:n,shareScope:r,filename:i,library:c}=this._options;e.options.output.enabledLibraryTypes.push(c.type);e.hooks.make.tapAsync(u,(e,o)=>{const a=new s(t,n,r);a.loc={name:t};e.addEntry(e.options.context,a,{name:t,filename:i,library:c},e=>{if(e)return o(e);o()})});e.hooks.thisCompilation.tap(u,(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,new o);e.dependencyFactories.set(a,t)})}}e.exports=ContainerPlugin},68839:(e,t,n)=>{"use strict";const r=n(15235);const i=n(39101);const s=n(61050);const o=n(76150);const a=n(50940);const c=n(55525);const u=n(68005);const l=n(68679);const f=n(31122);const p=n(44742);const{parseOptions:d}=n(97264);const h="/".charCodeAt(0);class ContainerReferencePlugin{constructor(e){r(i,e,{name:"Container Reference Plugin"});this._remoteType=e.remoteType;this._remotes=d(e.remotes,t=>({external:Array.isArray(t)?t:[t],shareScope:e.shareScope||"default"}),t=>({external:Array.isArray(t.external)?t.external:[t.external],shareScope:t.shareScope||e.shareScope||"default"}))}apply(e){const{_remotes:t,_remoteType:n}=this;const r={};for(const[e,n]of t){let t=0;for(const i of n.external){if(i.startsWith("internal "))continue;r[`webpack/container/reference/${e}${t?`/fallback-${t}`:""}`]=i;t++}}new s(n,r).apply(e);e.hooks.compilation.tap("ContainerReferencePlugin",(e,{normalModuleFactory:n})=>{e.dependencyFactories.set(p,n);e.dependencyFactories.set(c,n);e.dependencyFactories.set(a,new u);n.hooks.factorize.tap("ContainerReferencePlugin",e=>{if(!e.request.includes("!")){for(const[n,r]of t){if(e.request.startsWith(`${n}`)&&(e.request.length===n.length||e.request.charCodeAt(n.length)===h)){return new l(e.request,r.external.map((e,t)=>e.startsWith("internal ")?e.slice(9):`webpack/container/reference/${n}${t?`/fallback-${t}`:""}`),`.${e.request.slice(n.length)}`,r.shareScope)}}}});e.hooks.runtimeRequirementInTree.for(o.ensureChunkHandlers).tap("ContainerReferencePlugin",(t,n)=>{n.add(o.module);n.add(o.moduleFactoriesAddOnly);n.add(o.hasOwnProperty);n.add(o.initializeSharing);n.add(o.shareScopeMap);e.addRuntimeModule(t,new f)})})}}e.exports=ContainerReferencePlugin},50940:(e,t,n)=>{"use strict";const r=n(28706);const i=n(56202);class FallbackDependency extends r{constructor(e){super();this.requests=e}getResourceIdentifier(){return`fallback ${this.requests.join(" ")}`}get type(){return"fallback"}get category(){return"esm"}serialize(e){const{write:t}=e;t(this.requests);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new FallbackDependency(t());n.deserialize(e);return n}}i(FallbackDependency,"webpack/lib/container/FallbackDependency");e.exports=FallbackDependency},55525:(e,t,n)=>{"use strict";const r=n(79983);const i=n(56202);class FallbackItemDependency extends r{constructor(e){super(e)}get type(){return"fallback item"}get category(){return"esm"}}i(FallbackItemDependency,"webpack/lib/container/FallbackItemDependency");e.exports=FallbackItemDependency},13386:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(53453);const s=n(76150);const o=n(58159);const a=n(56202);const c=n(55525);const u=new Set(["javascript"]);const l=new Set([s.module]);class FallbackModule extends i{constructor(e){super("fallback-module");this.requests=e;this._identifier=`fallback ${this.requests.join(" ")}`}identifier(){return this._identifier}readableIdentifier(e){return this._identifier}libIdent(e){return`webpack/container/fallback/${this.requests[0]}/and ${this.requests.length-1} more`}chunkCondition(e,{chunkGraph:t}){return t.getNumberOfEntryModules(e)>0}needBuild(e,t){t(null,!this.buildInfo)}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();for(const e of this.requests)this.addDependency(new c(e));i()}size(e){return this.requests.length*5+42}getSourceTypes(){return u}codeGeneration({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const i=this.dependencies.map(e=>n.getModuleId(t.getModule(e)));const s=o.asString([`var ids = ${JSON.stringify(i)};`,"var error, result, i = 0;",`var loop = ${e.basicFunction("next",["while(i < ids.length) {",o.indent(["try { next = __webpack_require__(ids[i++]); } catch(e) { return handleError(e); }","if(next) return next.then ? next.then(handleResult, handleError) : handleResult(next);"]),"}","if(error) throw error;"])}`,`var handleResult = ${e.basicFunction("result",["if(result) return result;","return loop();"])};`,`var handleError = ${e.basicFunction("e",["error = e;","return loop();"])};`,"module.exports = loop();"]);const a=new Map;a.set("javascript",new r(s));return{sources:a,runtimeRequirements:l}}serialize(e){const{write:t}=e;t(this.requests);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new FallbackModule(t());n.deserialize(e);return n}}a(FallbackModule,"webpack/lib/container/FallbackModule");e.exports=FallbackModule},68005:(e,t,n)=>{"use strict";const r=n(40674);const i=n(13386);e.exports=class FallbackModuleFactory extends r{create({dependencies:[e]},t){const n=e;t(null,{module:new i(n.requests)})}}},8019:(e,t,n)=>{"use strict";const r=n(15235);const i=n(7265);const s=n(16471);const o=n(10419);const a=n(68839);class ModuleFederationPlugin{constructor(e){r(i,e,{name:"Module Federation Plugin"});this._options=e}apply(e){const{_options:t}=this;const n=t.library||{type:"var",name:t.name};const r=t.remoteType||(t.library?t.library.type:"script");if(n&&!e.options.output.enabledLibraryTypes.includes(n.type)){e.options.output.enabledLibraryTypes.push(n.type)}e.hooks.afterPlugins.tap("ModuleFederationPlugin",()=>{if(t.exposes&&(Array.isArray(t.exposes)?t.exposes.length>0:Object.keys(t.exposes).length>0)){new o({name:t.name,library:n,filename:t.filename,exposes:t.exposes}).apply(e)}if(t.remotes&&(Array.isArray(t.remotes)?t.remotes.length>0:Object.keys(t.remotes).length>0)){new a({remoteType:r,remotes:t.remotes}).apply(e)}if(t.shared){new s({shared:t.shared,shareScope:t.shareScope}).apply(e)}})}}e.exports=ModuleFederationPlugin},68679:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(53453);const s=n(76150);const o=n(56202);const a=n(50940);const c=n(44742);const u=new Set(["remote","share-init"]);const l=new Set([s.module]);class RemoteModule extends i{constructor(e,t,n,r){super("remote-module");this.request=e;this.externalRequests=t;this.internalRequest=n;this.shareScope=r;this._identifier=`remote (${r}) ${this.externalRequests.join(" ")} ${this.internalRequest}`}identifier(){return this._identifier}readableIdentifier(e){return`remote ${this.request}`}libIdent(e){return`webpack/container/remote/${this.request}`}needBuild(e,t){t(null,!this.buildInfo)}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();if(this.externalRequests.length===1){this.addDependency(new c(this.externalRequests[0]))}else{this.addDependency(new a(this.externalRequests))}i()}size(e){return 6}getSourceTypes(){return u}nameForCondition(){return this.request}codeGeneration({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const i=t.getModule(this.dependencies[0]);const s=i&&n.getModuleId(i);const o=new Map;o.set("remote",new r(""));const a=new Map;a.set("share-init",[{shareScope:this.shareScope,initStage:20,init:s===undefined?"":`initExternal(${JSON.stringify(s)});`}]);return{sources:o,data:a,runtimeRequirements:l}}serialize(e){const{write:t}=e;t(this.request);t(this.externalRequests);t(this.internalRequest);t(this.shareScope);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new RemoteModule(t(),t(),t(),t());n.deserialize(e);return n}}o(RemoteModule,"webpack/lib/container/RemoteModule");e.exports=RemoteModule},31122:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class RemoteRuntimeModule extends i{constructor(){super("remotes loading")}generate(){const{runtimeTemplate:e,chunkGraph:t,moduleGraph:n}=this.compilation;const i={};const o={};for(const e of this.chunk.getAllAsyncChunks()){const r=t.getChunkModulesIterableBySourceType(e,"remote");if(!r)continue;const s=i[e.id]=[];for(const e of r){const r=e;const i=r.internalRequest;const a=t.getModuleId(r);const c=r.shareScope;const u=r.dependencies[0];const l=n.getModule(u);const f=l&&t.getModuleId(l);s.push(a);o[a]=[c,i,f]}}return s.asString(["var installedModules = {};",`var chunkMapping = ${JSON.stringify(i,null,"\t")};`,`var idToExternalAndNameMapping = ${JSON.stringify(o,null,"\t")};`,`${r.ensureChunkHandlers}.remotes = ${e.basicFunction("chunkId, promises",[`if(${r.hasOwnProperty}(chunkMapping, chunkId)) {`,s.indent([`chunkMapping[chunkId].forEach(${e.basicFunction("id",[`if(installedModules[id]) return promises.push(installedModules[id]);`,"var data = idToExternalAndNameMapping[id];",`var onError = ${e.basicFunction("error",['if(!error) error = new Error("Container missing");','if(typeof error.message === "string")',s.indent(`error.message += '\\nwhile loading "' + data[1] + '" from ' + data[2];`),`__webpack_modules__[id] = ${e.basicFunction("",["throw error;"])}`,"installedModules[id] = 0;"])};`,`var handleFunction = ${e.basicFunction("fn, key, data, next, first",["try {",s.indent(["var promise = fn(key, data);","if(promise && promise.then) {",s.indent([`var p = promise.then(${e.returningFunction("next(result, data)","result")}, onError);`,`if(first) promises.push(installedModules[id] = p); else return p;`]),"} else {",s.indent(["return next(promise, data, first);"]),"}"]),"} catch(error) {",s.indent(["onError(error);"]),"}"])}`,`var onExternal = ${e.returningFunction(`external ? handleFunction(${r.initializeSharing}, data[0], external, onInitialized, first) : onError()`,"external, _, first")};`,`var onInitialized = ${e.returningFunction(`handleFunction(external.get, data[1], external, onFactory, first)`,"_, external, first")};`,`var onFactory = ${e.basicFunction("factory",["installedModules[id] = 1;",`__webpack_modules__[id] = ${e.basicFunction("module",["module.exports = factory();"])}`])};`,"handleFunction(__webpack_require__, data[2], 1, onExternal, 1);"])});`]),"}"])}`])}}e.exports=RemoteRuntimeModule},44742:(e,t,n)=>{"use strict";const r=n(79983);const i=n(56202);class RemoteToExternalDependency extends r{constructor(e){super(e)}get type(){return"remote to external"}get category(){return"esm"}}i(RemoteToExternalDependency,"webpack/lib/container/RemoteToExternalDependency");e.exports=RemoteToExternalDependency},97264:(e,t)=>{"use strict";const n=(e,t,n,r)=>{const i=e=>{for(const n of e){if(typeof n==="string"){r(n,t(n,n))}else if(n&&typeof n==="object"){s(n)}else{throw new Error("Unexpected options format")}}};const s=e=>{for(const[i,s]of Object.entries(e)){if(typeof s==="string"||Array.isArray(s)){r(i,t(s,i))}else{r(i,n(s,i))}}};if(!e){return}else if(Array.isArray(e)){i(e)}else if(typeof e==="object"){s(e)}else{throw new Error("Unexpected options format")}};const r=(e,t,r)=>{const i=[];n(e,t,r,(e,t)=>{i.push([e,t])});return i};const i=(e,t)=>{const r={};n(t,e=>e,e=>e,(t,n)=>{r[t.startsWith("./")?`${e}${t.slice(1)}`:`${e}/${t}`]=n});return r};t.parseOptions=r;t.scope=i},26802:(e,t,n)=>{"use strict";const{Tracer:r}=n(25954);const i=n(15235);const s=n(8462);const{dirname:o,mkdirpSync:a}=n(95396);let c=undefined;try{c=n(57012)}catch(e){console.log("Unable to CPU profile in < node 8.0")}class Profiler{constructor(e){this.session=undefined;this.inspector=e}hasSession(){return this.session!==undefined}startProfiling(){if(this.inspector===undefined){return Promise.resolve()}try{this.session=new c.Session;this.session.connect()}catch(e){this.session=undefined;return Promise.resolve()}return Promise.all([this.sendCommand("Profiler.setSamplingInterval",{interval:100}),this.sendCommand("Profiler.enable"),this.sendCommand("Profiler.start")])}sendCommand(e,t){if(this.hasSession()){return new Promise((n,r)=>{return this.session.post(e,t,(e,t)=>{if(e!==null){r(e)}else{n(t)}})})}else{return Promise.resolve()}}destroy(){if(this.hasSession()){this.session.disconnect()}return Promise.resolve()}stopProfiling(){return this.sendCommand("Profiler.stop")}}const u=(e,t)=>{const n=new r({noStream:true});const i=new Profiler(c);if(/\/|\\/.test(t)){const n=o(e,t);a(e,n)}const s=e.createWriteStream(t);let u=0;n.pipe(s);n.instantEvent({name:"TracingStartedInPage",id:++u,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1",page:"0xfff",frames:[{frame:"0xfff",url:"webpack",name:""}]}}});n.instantEvent({name:"TracingStartedInBrowser",id:++u,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1"}}});return{trace:n,counter:u,profiler:i,end:e=>{s.on("close",()=>{e()});n.push(null)}}};const l="ProfilingPlugin";class ProfilingPlugin{constructor(e={}){i(s,e,{name:"Profiling Plugin",baseDataPath:"options"});this.outputPath=e.outputPath||"events.json"}apply(e){const t=u(e.intermediateFileSystem,this.outputPath);t.profiler.startProfiling();Object.keys(e.hooks).forEach(n=>{e.hooks[n].intercept(h("Compiler",t)(n))});Object.keys(e.resolverFactory.hooks).forEach(n=>{e.resolverFactory.hooks[n].intercept(h("Resolver",t)(n))});e.hooks.compilation.tap(l,(e,{normalModuleFactory:n,contextModuleFactory:r})=>{f(e,t,"Compilation");f(n,t,"Normal Module Factory");f(r,t,"Context Module Factory");p(n,t);d(e,t)});e.hooks.done.tapAsync({name:l,stage:Infinity},(e,n)=>{t.profiler.stopProfiling().then(e=>{if(e===undefined){t.profiler.destroy();t.trace.flush();t.end(n);return}const r=e.profile.startTime;const i=e.profile.endTime;t.trace.completeEvent({name:"TaskQueueManager::ProcessTaskFromWorkQueue",id:++t.counter,cat:["toplevel"],ts:r,args:{src_file:"../../ipc/ipc_moji_bootstrap.cc",src_func:"Accept"}});t.trace.completeEvent({name:"EvaluateScript",id:++t.counter,cat:["devtools.timeline"],ts:r,dur:i-r,args:{data:{url:"webpack",lineNumber:1,columnNumber:1,frame:"0xFFF"}}});t.trace.instantEvent({name:"CpuProfile",id:++t.counter,cat:["disabled-by-default-devtools.timeline"],ts:i,args:{data:{cpuProfile:e.profile}}});t.profiler.destroy();t.trace.flush();t.end(n)})})}}const f=(e,t,n)=>{if(Reflect.has(e,"hooks")){Object.keys(e.hooks).forEach(r=>{const i=e.hooks[r];if(!i._fakeHook){i.intercept(h(n,t)(r))}})}};const p=(e,t)=>{const n=["javascript/auto","javascript/dynamic","javascript/esm","json","webassembly/async","webassembly/sync"];n.forEach(n=>{e.hooks.parser.for(n).tap("ProfilingPlugin",(e,n)=>{f(e,t,"Parser")})})};const d=(e,t)=>{f({hooks:n(18161).getCompilationHooks(e)},t,"JavascriptModulesPlugin")};const h=(e,t)=>e=>({register:({name:n,type:r,context:i,fn:s})=>{const o=m(e,t,{name:n,type:r,fn:s});return{name:n,type:r,context:i,fn:o}}});const m=(e,t,{name:n,type:r,fn:i})=>{const s=["blink.user_timing"];switch(r){case"promise":return(...e)=>{const r=++t.counter;t.trace.begin({name:n,id:r,cat:s});const o=i(...e);return o.then(e=>{t.trace.end({name:n,id:r,cat:s});return e})};case"async":return(...e)=>{const r=++t.counter;t.trace.begin({name:n,id:r,cat:s});const o=e.pop();i(...e,(...e)=>{t.trace.end({name:n,id:r,cat:s});o(...e)})};case"sync":return(...e)=>{const r=++t.counter;if(n===l){return i(...e)}t.trace.begin({name:n,id:r,cat:s});let o;try{o=i(...e)}catch(e){t.trace.end({name:n,id:r,cat:s});throw e}t.trace.end({name:n,id:r,cat:s});return o};default:break}};e.exports=ProfilingPlugin;e.exports.Profiler=Profiler},46960:(e,t,n)=>{"use strict";const r=n(76150);const i=n(56202);const s=n(12197);const o={f:{definition:"var __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_RESULT__ = (#).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[r.require,r.exports,r.module]},o:{definition:"",content:"!(module.exports = #)",requests:[r.module]},of:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[r.require,r.exports,r.module]},af:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_RESULT__ = (#).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[r.exports,r.module]},ao:{definition:"",content:"!(#, module.exports = #)",requests:[r.module]},aof:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[r.exports,r.module]},lf:{definition:"var XXX, XXXmodule;",content:"!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = #.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))",requests:[r.require,r.module]},lo:{definition:"var XXX;",content:"!(XXX = #)",requests:[]},lof:{definition:"var XXX, XXXfactory, XXXmodule;",content:"!(XXXfactory = (#), (typeof XXXfactory === 'function' ? (XXXmodule = { id: YYY, exports: {}, loaded: false }), (XXX = XXXfactory.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule)), (XXXmodule.loaded = true), XXX === undefined && (XXX = XXXmodule.exports) : XXX = XXXfactory))",requests:[r.require,r.module]},laf:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, XXX, XXXexports;",content:"!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, XXX = (#).apply(XXXexports = {}, __WEBPACK_AMD_DEFINE_ARRAY__), XXX === undefined && (XXX = XXXexports))",requests:[]},lao:{definition:"var XXX;",content:"!(#, XXX = #)",requests:[]},laof:{definition:"var XXXarray, XXXfactory, XXXexports, XXX;",content:`!(XXXarray = #, XXXfactory = (#),\n\t\t(typeof XXXfactory === 'function' ?\n\t\t\t((XXX = XXXfactory.apply(XXXexports = {}, XXXarray)), XXX === undefined && (XXX = XXXexports)) :\n\t\t\t(XXX = XXXfactory)\n\t\t))`,requests:[]}};class AMDDefineDependency extends s{constructor(e,t,n,r,i){super();this.range=e;this.arrayRange=t;this.functionRange=n;this.objectRange=r;this.namedModule=i;this.localModule=null}get type(){return"amd define"}serialize(e){const{write:t}=e;t(this.range);t(this.arrayRange);t(this.functionRange);t(this.objectRange);t(this.namedModule);t(this.localModule);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.arrayRange=t();this.functionRange=t();this.objectRange=t();this.namedModule=t();this.localModule=t();super.deserialize(e)}}i(AMDDefineDependency,"webpack/lib/dependencies/AMDDefineDependency");AMDDefineDependency.Template=class AMDDefineDependencyTemplate extends s.Template{apply(e,t,{runtimeRequirements:n}){const r=e;const i=this.branch(r);const{definition:s,content:a,requests:c}=o[i];for(const e of c){n.add(e)}this.replace(r,t,s,a)}localModuleVar(e){return e.localModule&&e.localModule.used&&e.localModule.variableName()}branch(e){const t=this.localModuleVar(e)?"l":"";const n=e.arrayRange?"a":"";const r=e.objectRange?"o":"";const i=e.functionRange?"f":"";return t+n+r+i}replace(e,t,n,r){const i=this.localModuleVar(e);if(i){r=r.replace(/XXX/g,i.replace(/\$/g,"$$$$"));n=n.replace(/XXX/g,i.replace(/\$/g,"$$$$"))}if(e.namedModule){r=r.replace(/YYY/g,JSON.stringify(e.namedModule))}const s=r.split("#");if(n)t.insert(0,n);let o=e.range[0];if(e.arrayRange){t.replace(o,e.arrayRange[0]-1,s.shift());o=e.arrayRange[1]}if(e.objectRange){t.replace(o,e.objectRange[0]-1,s.shift());o=e.objectRange[1]}else if(e.functionRange){t.replace(o,e.functionRange[0]-1,s.shift());o=e.functionRange[1]}t.replace(o,e.range[1]-1,s.shift());if(s.length>0)throw new Error("Implementation error")}};e.exports=AMDDefineDependency},98915:(e,t,n)=>{"use strict";const r=n(76150);const i=n(46960);const s=n(95715);const o=n(38145);const a=n(29022);const c=n(66298);const u=n(95601);const l=n(28140);const f=n(14229);const{addLocalModule:p,getLocalModule:d}=n(61701);const h=e=>{if(e.type!=="CallExpression")return false;if(e.callee.type!=="MemberExpression")return false;if(e.callee.computed)return false;if(e.callee.object.type!=="FunctionExpression")return false;if(e.callee.property.type!=="Identifier")return false;if(e.callee.property.name!=="bind")return false;return true};const m=e=>{if(e.type==="FunctionExpression")return true;if(e.type==="ArrowFunctionExpression")return true;return false};const g=e=>{if(m(e))return true;if(h(e))return true;return false};class AMDDefineDependencyParserPlugin{constructor(e){this.options=e}apply(e){e.hooks.call.for("define").tap("AMDDefineDependencyParserPlugin",this.processCallDefine.bind(this,e))}processArray(e,t,n,r,i){if(n.isArray()){n.items.forEach((n,s)=>{if(n.isString()&&["require","module","exports"].includes(n.string))r[s]=n.string;const o=this.processItem(e,t,n,i);if(o===undefined){this.processContext(e,t,n)}});return true}else if(n.isConstArray()){const i=[];n.array.forEach((n,s)=>{let o;let a;if(n==="require"){r[s]=n;o="__webpack_require__"}else if(["exports","module"].includes(n)){r[s]=n;o=n}else if(a=d(e.state,n)){a.flagUsed();o=new f(a,undefined,false);o.loc=t.loc;e.state.module.addPresentationalDependency(o)}else{o=this.newRequireItemDependency(n);o.loc=t.loc;o.optional=!!e.scope.inTry;e.state.current.addDependency(o)}i.push(o)});const s=this.newRequireArrayDependency(i,n.range);s.loc=t.loc;s.optional=!!e.scope.inTry;e.state.module.addPresentationalDependency(s);return true}}processItem(e,t,n,i){if(n.isConditional()){n.options.forEach(n=>{const r=this.processItem(e,t,n);if(r===undefined){this.processContext(e,t,n)}});return true}else if(n.isString()){let s,o;if(n.string==="require"){s=new c("__webpack_require__",n.range,[r.require])}else if(n.string==="exports"){s=new c("exports",n.range,[r.exports])}else if(n.string==="module"){s=new c("module",n.range,[r.module])}else if(o=d(e.state,n.string,i)){o.flagUsed();s=new f(o,n.range,false)}else{s=this.newRequireItemDependency(n.string,n.range);s.optional=!!e.scope.inTry;e.state.current.addDependency(s);return true}s.loc=t.loc;e.state.module.addPresentationalDependency(s);return true}}processContext(e,t,n){const r=u.create(o,n.range,n,t,this.options,{category:"amd"},e);if(!r)return;r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}processCallDefine(e,t){let n,r,i,s;switch(t.arguments.length){case 1:if(g(t.arguments[0])){r=t.arguments[0]}else if(t.arguments[0].type==="ObjectExpression"){i=t.arguments[0]}else{i=r=t.arguments[0]}break;case 2:if(t.arguments[0].type==="Literal"){s=t.arguments[0].value;if(g(t.arguments[1])){r=t.arguments[1]}else if(t.arguments[1].type==="ObjectExpression"){i=t.arguments[1]}else{i=r=t.arguments[1]}}else{n=t.arguments[0];if(g(t.arguments[1])){r=t.arguments[1]}else if(t.arguments[1].type==="ObjectExpression"){i=t.arguments[1]}else{i=r=t.arguments[1]}}break;case 3:s=t.arguments[0].value;n=t.arguments[1];if(g(t.arguments[2])){r=t.arguments[2]}else if(t.arguments[2].type==="ObjectExpression"){i=t.arguments[2]}else{i=r=t.arguments[2]}break;default:return}l.bailout(e.state);let o=null;let a=0;if(r){if(m(r)){o=r.params}else if(h(r)){o=r.callee.object.params;a=r.arguments.length-1;if(a<0){a=0}}}let c=new Map;if(n){const r={};const i=e.evaluateExpression(n);const u=this.processArray(e,t,i,r,s);if(!u)return;if(o){o=o.slice(a).filter((t,n)=>{if(r[n]){c.set(t.name,e.getVariableInfo(r[n]));return false}return true})}}else{const t=["require","exports","module"];if(o){o=o.slice(a).filter((n,r)=>{if(t[r]){c.set(n.name,e.getVariableInfo(t[r]));return false}return true})}}let u;if(r&&m(r)){u=e.scope.inTry;e.inScope(o,()=>{for(const[t,n]of c){e.setVariable(t,n)}e.scope.inTry=u;if(r.body.type==="BlockStatement"){e.walkStatement(r.body)}else{e.walkExpression(r.body)}})}else if(r&&h(r)){u=e.scope.inTry;e.inScope(r.callee.object.params.filter(e=>!["require","module","exports"].includes(e.name)),()=>{for(const[t,n]of c){e.setVariable(t,n)}e.scope.inTry=u;if(r.callee.object.body.type==="BlockStatement"){e.walkStatement(r.callee.object.body)}else{e.walkExpression(r.callee.object.body)}});if(r.arguments){e.walkExpressions(r.arguments)}}else if(r||i){e.walkExpression(r||i)}const f=this.newDefineDependency(t.range,n?n.range:null,r?r.range:null,i?i.range:null,s?s:null);f.loc=t.loc;if(s){f.localModule=p(e.state,s)}e.state.module.addPresentationalDependency(f);return true}newDefineDependency(e,t,n,r,s){return new i(e,t,n,r,s)}newRequireArrayDependency(e,t){return new s(e,t)}newRequireItemDependency(e,t){return new a(e,t)}}e.exports=AMDDefineDependencyParserPlugin},19765:(e,t,n)=>{"use strict";const r=n(76150);const{approve:i,evaluateToIdentifier:s,evaluateToString:o,toConstantDependency:a}=n(48472);const c=n(46960);const u=n(98915);const l=n(95715);const f=n(38145);const p=n(19041);const d=n(45167);const h=n(29022);const{AMDDefineRuntimeModule:m,AMDOptionsRuntimeModule:g}=n(29035);const y=n(66298);const v=n(14229);const _=n(12584);class AMDPlugin{constructor(e,t){this.options=e;this.amdOptions=t}apply(e){const t=this.options;const n=this.amdOptions;e.hooks.compilation.tap("AMDPlugin",(e,{contextModuleFactory:b,normalModuleFactory:E})=>{e.dependencyTemplates.set(d,new d.Template);e.dependencyFactories.set(h,E);e.dependencyTemplates.set(h,new h.Template);e.dependencyTemplates.set(l,new l.Template);e.dependencyFactories.set(f,b);e.dependencyTemplates.set(f,new f.Template);e.dependencyTemplates.set(c,new c.Template);e.dependencyTemplates.set(_,new _.Template);e.dependencyTemplates.set(v,new v.Template);e.hooks.runtimeRequirementInModule.for(r.amdDefine).tap("AMDPlugin",(e,t)=>{t.add(r.require)});e.hooks.runtimeRequirementInModule.for(r.amdOptions).tap("AMDPlugin",(e,t)=>{t.add(r.requireScope)});e.hooks.runtimeRequirementInTree.for(r.amdDefine).tap("AMDPlugin",(t,n)=>{e.addRuntimeModule(t,new m)});e.hooks.runtimeRequirementInTree.for(r.amdOptions).tap("AMDPlugin",(t,r)=>{e.addRuntimeModule(t,new g(n))});const w=(e,n)=>{if(n.amd!==undefined&&!n.amd)return;const c=(t,n,i)=>{e.hooks.expression.for(t).tap("AMDPlugin",a(e,r.amdOptions,[r.amdOptions]));e.hooks.evaluateIdentifier.for(t).tap("AMDPlugin",s(t,n,i,true));e.hooks.evaluateTypeof.for(t).tap("AMDPlugin",o("object"));e.hooks.typeof.for(t).tap("AMDPlugin",a(e,JSON.stringify("object")))};new p(t).apply(e);new u(t).apply(e);c("define.amd","define",()=>"amd");c("require.amd","require",()=>["amd"]);c("__webpack_amd_options__","__webpack_amd_options__",()=>[]);e.hooks.expression.for("define").tap("AMDPlugin",t=>{const n=new y(r.amdDefine,t.range,[r.amdDefine]);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return true});e.hooks.typeof.for("define").tap("AMDPlugin",a(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for("define").tap("AMDPlugin",o("function"));e.hooks.canRename.for("define").tap("AMDPlugin",i);e.hooks.rename.for("define").tap("AMDPlugin",t=>{const n=new y(r.amdDefine,t.range,[r.amdDefine]);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return false});e.hooks.typeof.for("require").tap("AMDPlugin",a(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for("require").tap("AMDPlugin",o("function"))};E.hooks.parser.for("javascript/auto").tap("AMDPlugin",w);E.hooks.parser.for("javascript/dynamic").tap("AMDPlugin",w)})}}e.exports=AMDPlugin},95715:(e,t,n)=>{"use strict";const r=n(84304);const i=n(56202);const s=n(12197);class AMDRequireArrayDependency extends s{constructor(e,t){super();this.depsArray=e;this.range=t}get type(){return"amd require array"}get category(){return"amd"}serialize(e){const{write:t}=e;t(this.depsArray);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.depsArray=t();this.range=t();super.deserialize(e)}}i(AMDRequireArrayDependency,"webpack/lib/dependencies/AMDRequireArrayDependency");AMDRequireArrayDependency.Template=class AMDRequireArrayDependencyTemplate extends r{apply(e,t,n){const r=e;const i=this.getContent(r,n);t.replace(r.range[0],r.range[1]-1,i)}getContent(e,t){const n=e.depsArray.map(e=>{return this.contentForDependency(e,t)});return`[${n.join(", ")}]`}contentForDependency(e,{runtimeTemplate:t,moduleGraph:n,chunkGraph:r,runtimeRequirements:i}){if(typeof e==="string"){return e}if(e.localModule){return e.localModule.variableName()}else{return t.moduleExports({module:n.getModule(e),chunkGraph:r,request:e.request,runtimeRequirements:i})}}};e.exports=AMDRequireArrayDependency},38145:(e,t,n)=>{"use strict";const r=n(56202);const i=n(400);class AMDRequireContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return"amd require context"}get category(){return"amd"}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(AMDRequireContextDependency,"webpack/lib/dependencies/AMDRequireContextDependency");AMDRequireContextDependency.Template=n(42740);e.exports=AMDRequireContextDependency},83842:(e,t,n)=>{"use strict";const r=n(98221);const i=n(56202);class AMDRequireDependenciesBlock extends r{constructor(e,t){super(null,e,t)}}i(AMDRequireDependenciesBlock,"webpack/lib/dependencies/AMDRequireDependenciesBlock");e.exports=AMDRequireDependenciesBlock},19041:(e,t,n)=>{"use strict";const r=n(76150);const i=n(53558);const s=n(95715);const o=n(38145);const a=n(83842);const c=n(45167);const u=n(29022);const l=n(66298);const f=n(95601);const p=n(14229);const{getLocalModule:d}=n(61701);const h=n(12584);const m=n(36134);class AMDRequireDependenciesBlockParserPlugin{constructor(e){this.options=e}processFunctionArgument(e,t){let n=true;const r=m(t);if(r){e.inScope(r.fn.params.filter(e=>{return!["require","module","exports"].includes(e.name)}),()=>{if(r.fn.body.type==="BlockStatement"){e.walkStatement(r.fn.body)}else{e.walkExpression(r.fn.body)}});e.walkExpressions(r.expressions);if(r.needThis===false){n=false}}else{e.walkExpression(t)}return n}apply(e){e.hooks.call.for("require").tap("AMDRequireDependenciesBlockParserPlugin",this.processCallRequire.bind(this,e))}processArray(e,t,n){if(n.isArray()){for(const r of n.items){const n=this.processItem(e,t,r);if(n===undefined){this.processContext(e,t,r)}}return true}else if(n.isConstArray()){const r=[];for(const i of n.array){let n,s;if(i==="require"){n="__webpack_require__"}else if(["exports","module"].includes(i)){n=i}else if(s=d(e.state,i)){s.flagUsed();n=new p(s,undefined,false);n.loc=t.loc;e.state.module.addPresentationalDependency(n)}else{n=this.newRequireItemDependency(i);n.loc=t.loc;n.optional=!!e.scope.inTry;e.state.current.addDependency(n)}r.push(n)}const i=this.newRequireArrayDependency(r,n.range);i.loc=t.loc;i.optional=!!e.scope.inTry;e.state.module.addPresentationalDependency(i);return true}}processItem(e,t,n){if(n.isConditional()){for(const r of n.options){const n=this.processItem(e,t,r);if(n===undefined){this.processContext(e,t,r)}}return true}else if(n.isString()){let i,s;if(n.string==="require"){i=new l("__webpack_require__",n.string,[r.require])}else if(n.string==="module"){i=new l(e.state.module.buildInfo.moduleArgument,n.range,[r.module])}else if(n.string==="exports"){i=new l(e.state.module.buildInfo.exportsArgument,n.range,[r.exports])}else if(s=d(e.state,n.string)){s.flagUsed();i=new p(s,n.range,false)}else{i=this.newRequireItemDependency(n.string,n.range);i.loc=t.loc;i.optional=!!e.scope.inTry;e.state.current.addDependency(i);return true}i.loc=t.loc;e.state.module.addPresentationalDependency(i);return true}}processContext(e,t,n){const r=f.create(o,n.range,n,t,this.options,{category:"amd"},e);if(!r)return;r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}processArrayForRequestString(e){if(e.isArray()){const t=e.items.map(e=>this.processItemForRequestString(e));if(t.every(Boolean))return t.join(" ")}else if(e.isConstArray()){return e.array.join(" ")}}processItemForRequestString(e){if(e.isConditional()){const t=e.options.map(e=>this.processItemForRequestString(e));if(t.every(Boolean))return t.join("|")}else if(e.isString()){return e.string}}processCallRequire(e,t){let n;let r;let s;let o;const a=e.state.current;if(t.arguments.length>=1){n=e.evaluateExpression(t.arguments[0]);r=this.newRequireDependenciesBlock(t.loc,this.processArrayForRequestString(n));s=this.newRequireDependency(t.range,n.range,t.arguments.length>1?t.arguments[1].range:null,t.arguments.length>2?t.arguments[2].range:null);s.loc=t.loc;r.addDependency(s);e.state.current=r}if(t.arguments.length===1){e.inScope([],()=>{o=this.processArray(e,t,n)});e.state.current=a;if(!o)return;e.state.current.addBlock(r);return true}if(t.arguments.length===2||t.arguments.length===3){try{e.inScope([],()=>{o=this.processArray(e,t,n)});if(!o){const n=new h("unsupported",t.range);a.addPresentationalDependency(n);if(e.state.module){e.state.module.addError(new i("Cannot statically analyse 'require(…, …)' in line "+t.loc.start.line,t.loc))}r=null;return true}s.functionBindThis=this.processFunctionArgument(e,t.arguments[1]);if(t.arguments.length===3){s.errorCallbackBindThis=this.processFunctionArgument(e,t.arguments[2])}}finally{e.state.current=a;if(r)e.state.current.addBlock(r)}return true}}newRequireDependenciesBlock(e,t){return new a(e,t)}newRequireDependency(e,t,n,r){return new c(e,t,n,r)}newRequireItemDependency(e,t){return new u(e,t)}newRequireArrayDependency(e,t){return new s(e,t)}}e.exports=AMDRequireDependenciesBlockParserPlugin},45167:(e,t,n)=>{"use strict";const r=n(76150);const i=n(56202);const s=n(12197);class AMDRequireDependency extends s{constructor(e,t,n,r){super();this.outerRange=e;this.arrayRange=t;this.functionRange=n;this.errorCallbackRange=r;this.functionBindThis=false;this.errorCallbackBindThis=false}get category(){return"amd"}serialize(e){const{write:t}=e;t(this.outerRange);t(this.arrayRange);t(this.functionRange);t(this.errorCallbackRange);t(this.functionBindThis);t(this.errorCallbackBindThis);super.serialize(e)}deserialize(e){const{read:t}=e;this.outerRange=t();this.arrayRange=t();this.functionRange=t();this.errorCallbackRange=t();this.functionBindThis=t();this.errorCallbackBindThis=t();super.deserialize(e)}}i(AMDRequireDependency,"webpack/lib/dependencies/AMDRequireDependency");AMDRequireDependency.Template=class AMDRequireDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const c=i.getParentBlock(a);const u=n.blockPromise({chunkGraph:s,block:c,message:"AMD require",runtimeRequirements:o});if(a.arrayRange&&!a.functionRange){const e=`${u}.then(function() {`;const n=`;}).catch(${r.uncaughtErrorHandler})`;o.add(r.uncaughtErrorHandler);t.replace(a.outerRange[0],a.arrayRange[0]-1,e);t.replace(a.arrayRange[1],a.outerRange[1]-1,n);return}if(a.functionRange&&!a.arrayRange){const e=`${u}.then((`;const n=`).bind(exports, __webpack_require__, exports, module)).catch(${r.uncaughtErrorHandler})`;o.add(r.uncaughtErrorHandler);t.replace(a.outerRange[0],a.functionRange[0]-1,e);t.replace(a.functionRange[1],a.outerRange[1]-1,n);return}if(a.arrayRange&&a.functionRange&&a.errorCallbackRange){const e=`${u}.then(function() { `;const n=`}${a.functionBindThis?".bind(this)":""}).catch(`;const r=`${a.errorCallbackBindThis?".bind(this)":""})`;t.replace(a.outerRange[0],a.arrayRange[0]-1,e);t.insert(a.arrayRange[0]+.9,"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");t.replace(a.arrayRange[1],a.functionRange[0]-1,"; (");t.insert(a.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");t.replace(a.functionRange[1],a.errorCallbackRange[0]-1,n);t.replace(a.errorCallbackRange[1],a.outerRange[1]-1,r);return}if(a.arrayRange&&a.functionRange){const e=`${u}.then(function() { `;const n=`}${a.functionBindThis?".bind(this)":""}).catch(${r.uncaughtErrorHandler})`;o.add(r.uncaughtErrorHandler);t.replace(a.outerRange[0],a.arrayRange[0]-1,e);t.insert(a.arrayRange[0]+.9,"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");t.replace(a.arrayRange[1],a.functionRange[0]-1,"; (");t.insert(a.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");t.replace(a.functionRange[1],a.outerRange[1]-1,n)}}};e.exports=AMDRequireDependency},29022:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(87283);class AMDRequireItemDependency extends i{constructor(e,t){super(e);this.range=t}get type(){return"amd require"}get category(){return"amd"}}r(AMDRequireItemDependency,"webpack/lib/dependencies/AMDRequireItemDependency");AMDRequireItemDependency.Template=s;e.exports=AMDRequireItemDependency},29035:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class AMDDefineRuntimeModule extends i{constructor(){super("amd define")}generate(){return s.asString([`${r.amdDefine} = function () {`,s.indent("throw new Error('define cannot be used indirect');"),"};"])}}class AMDOptionsRuntimeModule extends i{constructor(e){super("amd options");this.options=e}generate(){return s.asString([`${r.amdOptions} = ${JSON.stringify(this.options)};`])}}t.AMDDefineRuntimeModule=AMDDefineRuntimeModule;t.AMDOptionsRuntimeModule=AMDOptionsRuntimeModule},59455:(e,t,n)=>{"use strict";const r=n(84304);const i=n(63272);const s=n(56202);const o=n(12197);class CachedConstDependency extends o{constructor(e,t,n){super();this.expression=e;this.range=t;this.identifier=n}updateHash(e,t){e.update(this.identifier+"");e.update(this.range+"");e.update(this.expression+"")}serialize(e){const{write:t}=e;t(this.expression);t(this.range);t(this.identifier);super.serialize(e)}deserialize(e){const{read:t}=e;this.expression=t();this.range=t();this.identifier=t();super.deserialize(e)}}s(CachedConstDependency,"webpack/lib/dependencies/CachedConstDependency");CachedConstDependency.Template=class CachedConstDependencyTemplate extends r{apply(e,t,{runtimeTemplate:n,dependencyTemplates:r,initFragments:s}){const o=e;s.push(new i(`var ${o.identifier} = ${o.expression};\n`,i.STAGE_CONSTANTS,0,`const ${o.identifier}`));if(typeof o.range==="number"){t.insert(o.range,o.identifier);return}t.replace(o.range[0],o.range[1]-1,o.identifier)}};e.exports=CachedConstDependency},73456:(e,t,n)=>{"use strict";const r=n(76150);t.handleDependencyBase=((e,t,n)=>{let i=undefined;let s;switch(e){case"exports":n.add(r.exports);i=t.exportsArgument;s="expression";break;case"module.exports":n.add(r.module);i=`${t.moduleArgument}.exports`;s="expression";break;case"this":n.add(r.thisAsExports);i="this";s="expression";break;case"Object.defineProperty(exports)":n.add(r.exports);i=t.exportsArgument;s="Object.defineProperty";break;case"Object.defineProperty(module.exports)":n.add(r.module);i=`${t.moduleArgument}.exports`;s="Object.defineProperty";break;case"Object.defineProperty(this)":n.add(r.thisAsExports);i="this";s="Object.defineProperty";break;default:throw new Error(`Unsupported base ${e}`)}return[s,i]})},1248:(e,t,n)=>{"use strict";const r=n(28706);const{UsageState:i}=n(76632);const s=n(58159);const{equals:o}=n(73910);const a=n(56202);const c=n(68038);const{handleDependencyBase:u}=n(73456);const l=n(79983);const f=n(18971);const p=Symbol("CommonJsExportRequireDependency.ids");const d={};class CommonJsExportRequireDependency extends l{constructor(e,t,n,r,i,s,o){super(i);this.range=e;this.valueRange=t;this.base=n;this.names=r;this.ids=s;this.resultUsed=o;this.asiSafe=false}get type(){return"cjs export require"}getIds(e){return e.getMeta(this)[p]||this.ids}setIds(e,t){e.getMeta(this)[p]=t}getReferencedExports(e,t){const n=this.getIds(e);const s=()=>{if(n.length===0){return r.EXPORTS_OBJECT_REFERENCED}else{return[{name:n,canMangle:false}]}};if(this.resultUsed)return s();let o=e.getExportsInfo(e.getParentModule(this));for(const e of this.names){const n=o.getReadOnlyExportInfo(e);const a=n.getUsed(t);if(a===i.Unused)return r.NO_EXPORTS_REFERENCED;if(a!==i.OnlyPropertiesUsed)return s();o=n.exportsInfo;if(!o)return s()}if(o.otherExportsInfo.getUsed(t)!==i.Unused){return s()}const a=[];for(const e of o.orderedExports){f(t,a,n.concat(e.name),e,false)}return a.map(e=>({name:e,canMangle:false}))}getExports(e){const t=this.getIds(e);if(this.names.length===1){const n=this.names[0];const r=e.getModule(this);return{exports:[{name:n,from:r,export:t.length===0?null:t,canMangle:!(n in d)&&false}],dependencies:[r]}}else if(this.names.length>0){const e=this.names[0];return{exports:[{name:e,canMangle:!(e in d)&&false}],dependencies:undefined}}else{const n=e.getModule(this);const r=this.getStarReexports(e,undefined,n);if(r){return{exports:Array.from(r.exports,e=>{return{name:e,from:n,export:t.concat(e),canMangle:!(e in d)&&false}}),dependencies:[n]}}else{return{exports:true,from:t.length===0?n:undefined,canMangle:false,dependencies:[n]}}}}getStarReexports(e,t,n=e.getModule(this)){let r=e.getExportsInfo(n);const s=this.getIds(e);if(s.length>0)r=r.getNestedExportsInfo(s);let o=e.getExportsInfo(e.getParentModule(this));if(this.names.length>0)o=o.getNestedExportsInfo(this.names);const a=r&&r.otherExportsInfo.provided===false;const c=o&&o.otherExportsInfo.getUsed(t)===i.Unused;if(!a&&!c){return}const u=n.getExportsType(e,false)==="namespace";const l=new Set;const f=new Set;if(c){for(const e of o.orderedExports){const n=e.name;if(e.getUsed(t)===i.Unused)continue;if(n==="__esModule"&&u){l.add(n)}else if(r){const e=r.getReadOnlyExportInfo(n);if(e.provided===false)continue;l.add(n);if(e.provided===true)continue;f.add(n)}else{l.add(n);f.add(n)}}}else if(a){for(const e of r.orderedExports){const n=e.name;if(e.provided===false)continue;if(o){const e=o.getReadOnlyExportInfo(n);if(e.getUsed(t)===i.Unused)continue}l.add(n);if(e.provided===true)continue;f.add(n)}if(u){l.add("__esModule");f.delete("__esModule")}}return{exports:l,checked:f}}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);t(this.base);t(this.names);t(this.ids);t(this.resultUsed);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();this.base=t();this.names=t();this.ids=t();this.resultUsed=t();super.deserialize(e)}}a(CommonJsExportRequireDependency,"webpack/lib/dependencies/CommonJsExportRequireDependency");CommonJsExportRequireDependency.Template=class CommonJsExportRequireDependencyTemplate extends l.Template{apply(e,t,{module:n,runtimeTemplate:r,chunkGraph:i,moduleGraph:a,runtimeRequirements:l,runtime:f}){const p=e;const d=a.getExportsInfo(n).getUsedName(p.names,f);const[h,m]=u(p.base,n,l);const g=a.getModule(p);let y=r.moduleExports({module:g,chunkGraph:i,request:p.request,weak:p.weak,runtimeRequirements:l});const v=p.getIds(a);const _=a.getExportsInfo(g).getUsedName(v,f);if(_){const e=o(_,v)?"":s.toNormalComment(c(v))+" ";y+=`${e}${c(_)}`}switch(h){case"expression":t.replace(p.range[0],p.range[1]-1,d?`${m}${c(d)} = ${y}`:`/* unused reexport */ ${y}`);return;case"Object.defineProperty":throw new Error("TODO");default:throw new Error("Unexpected type")}}};e.exports=CommonJsExportRequireDependency},26702:(e,t,n)=>{"use strict";const r=n(63272);const i=n(56202);const s=n(68038);const{handleDependencyBase:o}=n(73456);const a=n(12197);const c={};class CommonJsExportsDependency extends a{constructor(e,t,n,r){super();this.range=e;this.valueRange=t;this.base=n;this.names=r}get type(){return"cjs exports"}getExports(e){const t=this.names[0];return{exports:[{name:t,canMangle:!(t in c)}],dependencies:undefined}}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);t(this.base);t(this.names);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();this.base=t();this.names=t();super.deserialize(e)}}i(CommonJsExportsDependency,"webpack/lib/dependencies/CommonJsExportsDependency");CommonJsExportsDependency.Template=class CommonJsExportsDependencyTemplate extends a.Template{apply(e,t,{module:n,moduleGraph:i,initFragments:a,runtimeRequirements:c,runtime:u}){const l=e;const f=i.getExportsInfo(n).getUsedName(l.names,u);const[p,d]=o(l.base,n,c);switch(p){case"expression":if(!f){a.push(new r("var __webpack_unused_export__;\n",r.STAGE_CONSTANTS,0,"__webpack_unused_export__"));t.replace(l.range[0],l.range[1]-1,"__webpack_unused_export__");return}t.replace(l.range[0],l.range[1]-1,`${d}${s(f)}`);return;case"Object.defineProperty":if(!f){a.push(new r("var __webpack_unused_export__;\n",r.STAGE_CONSTANTS,0,"__webpack_unused_export__"));t.replace(l.range[0],l.valueRange[0]-1,"__webpack_unused_export__ = (");t.replace(l.valueRange[1],l.range[1]-1,")");return}t.replace(l.range[0],l.valueRange[0]-1,`Object.defineProperty(${d}${s(f.slice(0,-1))}, ${JSON.stringify(f[f.length-1])}, (`);t.replace(l.valueRange[1],l.range[1]-1,"))");return}}};e.exports=CommonJsExportsDependency},48235:(e,t,n)=>{"use strict";const r=n(76150);const i=n(72380);const{evaluateToString:s}=n(48472);const o=n(68038);const a=n(1248);const c=n(26702);const u=n(94147);const l=n(28140);const f=n(25702);const p=n(2706);const d=e=>{if(e.type!=="ObjectExpression")return;for(const t of e.properties){if(t.computed)continue;const e=t.key;if(e.type!=="Identifier"||e.name!=="value")continue;return t.value}};const h=e=>{switch(e.type){case"Literal":return!!e.value;case"UnaryExpression":if(e.operator==="!")return m(e.argument)}return false};const m=e=>{switch(e.type){case"Literal":return!e.value;case"UnaryExpression":if(e.operator==="!")return h(e.argument)}return false};const g=(e,t)=>{const n=[];while(t.type==="MemberExpression"){if(t.object.type==="Super")return;if(!t.property)return;const e=t.property;if(t.computed){if(e.type!=="Literal")return;n.push(`${e.value}`)}else{if(e.type!=="Identifier")return;n.push(e.name)}t=t.object}if(t.type!=="CallExpression"||t.arguments.length!==1)return;const r=t.callee;if(r.type!=="Identifier"||e.getVariableInfo(r.name)!=="require"){return}const i=t.arguments[0];if(i.type==="SpreadElement")return;const s=e.evaluateExpression(i);return{argument:s,ids:n.reverse()}};class CommonJsExportsParserPlugin{constructor(e){this.moduleGraph=e}apply(e){const t=()=>{l.enable(e.state)};const n=(t,n,r)=>{if(!l.isEnabled(e.state))return;if(n.length>0&&n[0]==="__esModule"){if(h(r)&&t){l.setFlagged(e.state)}else{l.setDynamic(e.state)}}};const m=t=>{l.bailout(e.state);if(t)y(t)};const y=t=>{this.moduleGraph.getOptimizationBailout(e.state.module).push(`CommonJS bailout: ${t}`)};e.hooks.evaluateTypeof.for("module").tap("CommonJsExportsParserPlugin",s("object"));e.hooks.evaluateTypeof.for("exports").tap("CommonJsPlugin",s("object"));const v=(r,i,s)=>{if(f.isEnabled(e.state))return;const o=g(e,r.right);if(o&&o.argument.isString()&&(s.length===0||s[0]!=="__esModule")){t();if(s.length===0)l.setDynamic(e.state);const n=new a(r.range,null,i,s,o.argument.string,o.ids,!e.isStatementLevelExpression(r));n.loc=r.loc;n.optional=!!e.scope.inTry;e.state.module.addDependency(n);return true}if(s.length===0)return;t();const u=s;n(e.statementPath.length===1&&e.isStatementLevelExpression(r),u,r.right);const p=new c(r.left.range,null,i,u);p.loc=r.loc;e.state.module.addDependency(p);e.walkExpression(r.right);return true};e.hooks.assignMemberChain.for("exports").tap("CommonJsExportsParserPlugin",(e,t)=>{return v(e,"exports",t)});e.hooks.assignMemberChain.for("this").tap("CommonJsExportsParserPlugin",(t,n)=>{if(!e.scope.topLevelScope)return;return v(t,"this",n)});e.hooks.assignMemberChain.for("module").tap("CommonJsExportsParserPlugin",(e,t)=>{if(t[0]!=="exports")return;return v(e,"module.exports",t.slice(1))});e.hooks.call.for("Object.defineProperty").tap("CommonJsExportsParserPlugin",r=>{const i=r;if(!e.isStatementLevelExpression(i))return;if(i.arguments.length!==3)return;if(i.arguments[0].type==="SpreadElement")return;if(i.arguments[1].type==="SpreadElement")return;if(i.arguments[2].type==="SpreadElement")return;const s=e.evaluateExpression(i.arguments[0]);if(!s||!s.isIdentifier())return;if(s.identifier!=="exports"&&s.identifier!=="module.exports"&&(s.identifier!=="this"||!e.scope.topLevelScope)){return}const o=e.evaluateExpression(i.arguments[1]);if(!o)return;const a=o.asString();if(typeof a!=="string")return;t();const u=i.arguments[2];n(e.statementPath.length===1,[a],d(u));const l=new c(i.range,i.arguments[2].range,`Object.defineProperty(${s.identifier})`,[a]);l.loc=i.loc;e.state.module.addDependency(l);e.walkExpression(i.arguments[2]);return true});const _=(t,n,r,s=undefined)=>{if(f.isEnabled(e.state))return;if(r.length===0){m(`${n} is used directly at ${i(t.loc)}`)}if(s&&r.length===1){y(`${n}${o(r)}(...) prevents optimization as ${n} is passed as call context as ${i(t.loc)}`)}const a=new u(t.range,n,r,!!s);a.loc=t.loc;e.state.module.addDependency(a);if(s){e.walkExpressions(s.arguments)}return true};e.hooks.callMemberChain.for("exports").tap("CommonJsExportsParserPlugin",(e,t)=>{return _(e.callee,"exports",t,e)});e.hooks.expressionMemberChain.for("exports").tap("CommonJsExportsParserPlugin",(e,t)=>{return _(e,"exports",t)});e.hooks.expression.for("exports").tap("CommonJsExportsParserPlugin",e=>{return _(e,"exports",[])});e.hooks.callMemberChain.for("module").tap("CommonJsExportsParserPlugin",(e,t)=>{if(t[0]!=="exports")return;return _(e.callee,"module.exports",t.slice(1),e)});e.hooks.expressionMemberChain.for("module").tap("CommonJsExportsParserPlugin",(e,t)=>{if(t[0]!=="exports")return;return _(e,"module.exports",t.slice(1))});e.hooks.expression.for("module.exports").tap("CommonJsExportsParserPlugin",e=>{return _(e,"module.exports",[])});e.hooks.callMemberChain.for("this").tap("CommonJsExportsParserPlugin",(t,n)=>{if(!e.scope.topLevelScope)return;return _(t.callee,"this",n,t)});e.hooks.expressionMemberChain.for("this").tap("CommonJsExportsParserPlugin",(t,n)=>{if(!e.scope.topLevelScope)return;return _(t,"this",n)});e.hooks.expression.for("this").tap("CommonJsExportsParserPlugin",t=>{if(!e.scope.topLevelScope)return;return _(t,"this",[])});e.hooks.expression.for("module").tap("CommonJsPlugin",t=>{m();const n=f.isEnabled(e.state);const i=new p(n?r.harmonyModuleDecorator:r.nodeModuleDecorator,!n);i.loc=t.loc;e.state.module.addDependency(i);return true})}}e.exports=CommonJsExportsParserPlugin},87519:(e,t,n)=>{"use strict";const r=n(58159);const{equals:i}=n(73910);const s=n(56202);const o=n(68038);const a=n(79983);class CommonJsFullRequireDependency extends a{constructor(e,t,n){super(e);this.range=t;this.names=n;this.call=false;this.asiSafe=false}getReferencedExports(e,t){if(this.call){const t=e.getModule(this);if(!t||t.getExportsType(e,false)!=="namespace"){return[this.names.slice(0,-1)]}}return[this.names]}serialize(e){const{write:t}=e;t(this.names);t(this.call);t(this.asiSafe);super.serialize(e)}deserialize(e){const{read:t}=e;this.names=t();this.call=t();this.asiSafe=t();super.deserialize(e)}get type(){return"cjs full require"}get category(){return"commonjs"}}CommonJsFullRequireDependency.Template=class CommonJsFullRequireDependencyTemplate extends a.Template{apply(e,t,{module:n,runtimeTemplate:s,moduleGraph:a,chunkGraph:c,runtimeRequirements:u,runtime:l,initFragments:f}){const p=e;if(!p.range)return;const d=a.getModule(p);let h=s.moduleExports({module:d,chunkGraph:c,request:p.request,weak:p.weak,runtimeRequirements:u});const m=p.names;const g=a.getExportsInfo(d).getUsedName(m,l);if(g){const e=i(g,m)?"":r.toNormalComment(o(m))+" ";h+=`${e}${o(g)}`}t.replace(p.range[0],p.range[1]-1,h)}};s(CommonJsFullRequireDependency,"webpack/lib/dependencies/CommonJsFullRequireDependency");e.exports=CommonJsFullRequireDependency},42218:(e,t,n)=>{"use strict";const r=n(76150);const{evaluateToIdentifier:i,evaluateToString:s,expressionIsUnsupported:o,toConstantDependency:a}=n(48472);const c=n(87519);const u=n(51454);const l=n(37313);const f=n(66298);const p=n(95601);const d=n(14229);const{getLocalModule:h}=n(61701);const m=n(70340);const g=n(84817);const y=n(76913);const v=n(23380);class CommonJsImportsParserPlugin{constructor(e){this.options=e}apply(e){const t=this.options;const n=(t,n)=>{e.hooks.typeof.for(t).tap("CommonJsPlugin",a(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for(t).tap("CommonJsPlugin",s("function"));e.hooks.evaluateIdentifier.for(t).tap("CommonJsPlugin",i(t,"require",n,true))};n("require",()=>[]);n("require.resolve",()=>["resolve"]);n("require.resolveWeak",()=>["resolveWeak"]);e.hooks.assign.for("require").tap("CommonJsPlugin",t=>{const n=new f("var require;",0);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return true});e.hooks.expression.for("require.main.require").tap("CommonJsPlugin",o(e,"require.main.require is not supported by webpack."));e.hooks.call.for("require.main.require").tap("CommonJsPlugin",o(e,"require.main.require is not supported by webpack."));e.hooks.expression.for("module.parent.require").tap("CommonJsPlugin",o(e,"module.parent.require is not supported by webpack."));e.hooks.call.for("module.parent.require").tap("CommonJsPlugin",o(e,"module.parent.require is not supported by webpack."));e.hooks.canRename.for("require").tap("CommonJsPlugin",()=>true);e.hooks.rename.for("require").tap("CommonJsPlugin",t=>{const n=new f("undefined",t.range);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return false});e.hooks.expression.for("require.cache").tap("CommonJsImportsParserPlugin",a(e,r.moduleCache,[r.moduleCache,r.moduleId,r.moduleLoaded]));e.hooks.expression.for("require").tap("CommonJsImportsParserPlugin",n=>{const r=new u({request:t.unknownContextRequest,recursive:t.unknownContextRecursive,regExp:t.unknownContextRegExp,mode:"sync"},n.range);r.critical=t.unknownContextCritical&&"require function is used in a way in which dependencies cannot be statically extracted";r.loc=n.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true});const _=(t,n)=>{if(n.isString()){const r=new l(n.string,n.range);r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}};const b=(n,r)=>{const i=p.create(u,n.range,r,n,t,{category:"commonjs"},e);if(!i)return;i.loc=n.loc;i.optional=!!e.scope.inTry;e.state.current.addDependency(i);return true};const E=t=>n=>{if(n.arguments.length!==1)return;let r;const i=e.evaluateExpression(n.arguments[0]);if(i.isConditional()){let t=false;for(const e of i.options){const r=_(n,e);if(r===undefined){t=true}}if(!t){const t=new m(n.callee.range);t.loc=n.loc;e.state.module.addPresentationalDependency(t);return true}}if(i.isString()&&(r=h(e.state,i.string))){r.flagUsed();const i=new d(r,n.range,t);i.loc=n.loc;e.state.module.addPresentationalDependency(i);return true}else{const t=_(n,i);if(t===undefined){b(n,i)}else{const t=new m(n.callee.range);t.loc=n.loc;e.state.module.addPresentationalDependency(t)}return true}};e.hooks.call.for("require").tap("CommonJsImportsParserPlugin",E(false));e.hooks.new.for("require").tap("CommonJsImportsParserPlugin",E(true));e.hooks.call.for("module.require").tap("CommonJsImportsParserPlugin",E(false));e.hooks.new.for("module.require").tap("CommonJsImportsParserPlugin",E(true));const w=(t,n,r,i)=>{if(r.arguments.length!==1)return;const s=e.evaluateExpression(r.arguments[0]);if(s.isString()&&!h(e.state,s.string)){const n=new c(s.string,t.range,i);n.asiSafe=!e.isAsiPosition(t.range[0]);n.loc=t.loc;e.state.module.addDependency(n);return true}};const S=(t,n,r,i)=>{if(r.arguments.length!==1)return;const s=e.evaluateExpression(r.arguments[0]);if(s.isString()&&!h(e.state,s.string)){const n=new c(s.string,t.callee.range,i);n.call=true;n.asiSafe=!e.isAsiPosition(t.range[0]);n.loc=t.callee.loc;e.state.module.addDependency(n);e.walkExpressions(t.arguments);return true}};e.hooks.memberChainOfCallMemberChain.for("require").tap("CommonJsImportsParserPlugin",w);e.hooks.memberChainOfCallMemberChain.for("module.require").tap("CommonJsImportsParserPlugin",w);e.hooks.callMemberChainOfCallMemberChain.for("require").tap("CommonJsImportsParserPlugin",S);e.hooks.callMemberChainOfCallMemberChain.for("module.require").tap("CommonJsImportsParserPlugin",S);const k=(t,n)=>{if(t.arguments.length!==1)return;const r=e.evaluateExpression(t.arguments[0]);if(r.isConditional()){for(const e of r.options){const r=D(t,e,n);if(r===undefined){x(t,e,n)}}const i=new v(t.callee.range);i.loc=t.loc;e.state.module.addPresentationalDependency(i);return true}else{const i=D(t,r,n);if(i===undefined){x(t,r,n)}const s=new v(t.callee.range);s.loc=t.loc;e.state.module.addPresentationalDependency(s);return true}};const D=(t,n,r)=>{if(n.isString()){const i=new y(n.string,n.range);i.loc=t.loc;i.optional=!!e.scope.inTry;i.weak=r;e.state.current.addDependency(i);return true}};const x=(n,r,i)=>{const s=p.create(g,r.range,r,n,t,{category:"commonjs",mode:i?"weak":"sync"},e);if(!s)return;s.loc=n.loc;s.optional=!!e.scope.inTry;e.state.current.addDependency(s);return true};e.hooks.call.for("require.resolve").tap("RequireResolveDependencyParserPlugin",e=>{return k(e,false)});e.hooks.call.for("require.resolveWeak").tap("RequireResolveDependencyParserPlugin",e=>{return k(e,true)})}}e.exports=CommonJsImportsParserPlugin},91630:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(31141);const o=n(58159);const a=n(26702);const c=n(87519);const u=n(51454);const l=n(37313);const f=n(94147);const p=n(2706);const d=n(70340);const h=n(84817);const m=n(76913);const g=n(23380);const y=n(35424);const v=n(48235);const _=n(42218);const{evaluateToIdentifier:b,toConstantDependency:E}=n(48472);const w=n(1248);class CommonJsPlugin{constructor(e){this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("CommonJsPlugin",(e,{contextModuleFactory:n,normalModuleFactory:i})=>{e.dependencyFactories.set(l,i);e.dependencyTemplates.set(l,new l.Template);e.dependencyFactories.set(c,i);e.dependencyTemplates.set(c,new c.Template);e.dependencyFactories.set(u,n);e.dependencyTemplates.set(u,new u.Template);e.dependencyFactories.set(m,i);e.dependencyTemplates.set(m,new m.Template);e.dependencyFactories.set(h,n);e.dependencyTemplates.set(h,new h.Template);e.dependencyTemplates.set(g,new g.Template);e.dependencyTemplates.set(d,new d.Template);e.dependencyTemplates.set(a,new a.Template);e.dependencyFactories.set(w,i);e.dependencyTemplates.set(w,new w.Template);const o=new s(e.moduleGraph);e.dependencyFactories.set(f,o);e.dependencyTemplates.set(f,new f.Template);e.dependencyFactories.set(p,o);e.dependencyTemplates.set(p,new p.Template);e.hooks.runtimeRequirementInModule.for(r.harmonyModuleDecorator).tap("CommonJsPlugin",(e,t)=>{t.add(r.module);t.add(r.requireScope)});e.hooks.runtimeRequirementInModule.for(r.nodeModuleDecorator).tap("CommonJsPlugin",(e,t)=>{t.add(r.module);t.add(r.requireScope)});e.hooks.runtimeRequirementInTree.for(r.harmonyModuleDecorator).tap("CommonJsPlugin",(t,n)=>{e.addRuntimeModule(t,new HarmonyModuleDecoratorRuntimeModule)});e.hooks.runtimeRequirementInTree.for(r.nodeModuleDecorator).tap("CommonJsPlugin",(t,n)=>{e.addRuntimeModule(t,new NodeModuleDecoratorRuntimeModule)});const S=(n,i)=>{if(i.commonjs!==undefined&&!i.commonjs)return;n.hooks.typeof.for("module").tap("CommonJsPlugin",E(n,JSON.stringify("object")));n.hooks.expression.for("require.main").tap("CommonJsPlugin",E(n,`${r.moduleCache}[${r.entryModuleId}]`,[r.moduleCache,r.entryModuleId]));n.hooks.expression.for("module.loaded").tap("CommonJsPlugin",e=>{n.state.module.buildInfo.moduleConcatenationBailout="module.loaded";const t=new y([r.moduleLoaded]);t.loc=e.loc;n.state.module.addPresentationalDependency(t);return true});n.hooks.expression.for("module.id").tap("CommonJsPlugin",e=>{n.state.module.buildInfo.moduleConcatenationBailout="module.id";const t=new y([r.moduleId]);t.loc=e.loc;n.state.module.addPresentationalDependency(t);return true});n.hooks.evaluateIdentifier.for("module.hot").tap("CommonJsPlugin",b("module.hot","module",()=>["hot"],null));new _(t).apply(n);new v(e.moduleGraph).apply(n)};i.hooks.parser.for("javascript/auto").tap("CommonJsPlugin",S);i.hooks.parser.for("javascript/dynamic").tap("CommonJsPlugin",S)})}}class HarmonyModuleDecoratorRuntimeModule extends i{constructor(){super("harmony module decorator")}generate(){const{runtimeTemplate:e}=this.compilation;return o.asString([`${r.harmonyModuleDecorator} = ${e.basicFunction("module",["module = Object.create(module);","if (!module.children) module.children = [];","Object.defineProperty(module, 'exports', {",o.indent(["enumerable: true,",`set: ${e.basicFunction("",["throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);"])}`]),"});","return module;"])};`])}}class NodeModuleDecoratorRuntimeModule extends i{constructor(){super("node module decorator")}generate(){const{runtimeTemplate:e}=this.compilation;return o.asString([`${r.nodeModuleDecorator} = ${e.basicFunction("module",["module.paths = [];","if (!module.children) module.children = [];","return module;"])};`])}}e.exports=CommonJsPlugin},51454:(e,t,n)=>{"use strict";const r=n(56202);const i=n(400);const s=n(42740);class CommonJsRequireContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return"cjs require context"}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(CommonJsRequireContextDependency,"webpack/lib/dependencies/CommonJsRequireContextDependency");CommonJsRequireContextDependency.Template=s;e.exports=CommonJsRequireContextDependency},37313:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(80791);class CommonJsRequireDependency extends i{constructor(e,t){super(e);this.range=t}get type(){return"cjs require"}get category(){return"commonjs"}}CommonJsRequireDependency.Template=s;r(CommonJsRequireDependency,"webpack/lib/dependencies/CommonJsRequireDependency");e.exports=CommonJsRequireDependency},94147:(e,t,n)=>{"use strict";const r=n(76150);const{equals:i}=n(73910);const s=n(56202);const o=n(68038);const a=n(12197);class CommonJsSelfReferenceDependency extends a{constructor(e,t,n,r){super();this.range=e;this.base=t;this.names=n;this.call=r}get type(){return"cjs self exports reference"}get category(){return"self"}getResourceIdentifier(){return`self`}getReferencedExports(e,t){return[this.call?this.names.slice(0,-1):this.names]}serialize(e){const{write:t}=e;t(this.range);t(this.base);t(this.names);t(this.call);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.base=t();this.names=t();this.call=t();super.deserialize(e)}}s(CommonJsSelfReferenceDependency,"webpack/lib/dependencies/CommonJsSelfReferenceDependency");CommonJsSelfReferenceDependency.Template=class CommonJsSelfReferenceDependencyTemplate extends a.Template{apply(e,t,{module:n,moduleGraph:s,runtime:a,runtimeRequirements:c}){const u=e;let l;if(u.names.length===0){l=u.names}else{l=s.getExportsInfo(n).getUsedName(u.names,a)}if(!l){throw new Error("Self-reference dependency has unused export name: This should not happen")}let f=undefined;switch(u.base){case"exports":c.add(r.exports);f=n.exportsArgument;break;case"module.exports":c.add(r.module);f=`${n.moduleArgument}.exports`;break;case"this":c.add(r.thisAsExports);f="this";break;default:throw new Error(`Unsupported base ${u.base}`)}if(f===u.base&&i(l,u.names)){return}t.replace(u.range[0],u.range[1]-1,`${f}${o(l)}`)}};e.exports=CommonJsSelfReferenceDependency},66298:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class ConstDependency extends i{constructor(e,t,n){super();this.expression=e;this.range=t;this.runtimeRequirements=n?new Set(n):null}updateHash(e,t){e.update(this.range+"");e.update(this.expression+"");if(this.runtimeRequirements)e.update(Array.from(this.runtimeRequirements).join()+"")}serialize(e){const{write:t}=e;t(this.expression);t(this.range);t(this.runtimeRequirements);super.serialize(e)}deserialize(e){const{read:t}=e;this.expression=t();this.range=t();this.runtimeRequirements=t();super.deserialize(e)}}r(ConstDependency,"webpack/lib/dependencies/ConstDependency");ConstDependency.Template=class ConstDependencyTemplate extends i.Template{apply(e,t,n){const r=e;if(r.runtimeRequirements){for(const e of r.runtimeRequirements){n.runtimeRequirements.add(e)}}if(typeof r.range==="number"){t.insert(r.range,r.expression);return}t.replace(r.range[0],r.range[1]-1,r.expression)}};e.exports=ConstDependency},400:(e,t,n)=>{"use strict";const r=n(28706);const i=n(84304);const s=n(56202);const o=n(27503);const a=o(()=>n(75314));const c=e=>e?e+"":"";class ContextDependency extends r{constructor(e){super();this.options=e;this.userRequest=this.options&&this.options.request;this.critical=false;this.hadGlobalOrStickyRegExp=false;if(this.options&&(this.options.regExp.global||this.options.regExp.sticky)){this.options={...this.options,regExp:null};this.hadGlobalOrStickyRegExp=true}this.request=undefined;this.range=undefined;this.valueRange=undefined;this.replaces=undefined}get category(){return"commonjs"}getResourceIdentifier(){return`context${this.options.request} ${this.options.recursive} `+`${c(this.options.regExp)} ${c(this.options.include)} ${c(this.options.exclude)} `+`${this.options.mode} ${this.options.chunkName} `+`${JSON.stringify(this.options.groupOptions)}`}getWarnings(e){let t=super.getWarnings(e);if(this.critical){if(!t)t=[];const e=a();t.push(new e(this.critical))}if(this.hadGlobalOrStickyRegExp){if(!t)t=[];const e=a();t.push(new e("Contexts can't use RegExps with the 'g' or 'y' flags."))}return t}serialize(e){const{write:t}=e;t(this.options);t(this.userRequest);t(this.critical);t(this.hadGlobalOrStickyRegExp);t(this.request);t(this.range);t(this.valueRange);t(this.prepend);t(this.replaces);super.serialize(e)}deserialize(e){const{read:t}=e;this.options=t();this.userRequest=t();this.critical=t();this.hadGlobalOrStickyRegExp=t();this.request=t();this.range=t();this.valueRange=t();this.prepend=t();this.replaces=t();super.deserialize(e)}}s(ContextDependency,"webpack/lib/dependencies/ContextDependency");ContextDependency.Template=i;e.exports=ContextDependency},95601:(e,t,n)=>{"use strict";const{parseResource:r}=n(49197);const i=e=>{return e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&")};const s=e=>{const t=e.lastIndexOf("/");let n=".";if(t>=0){n=e.substr(0,t);e=`.${e.substr(t)}`}return{context:n,prefix:e}};t.create=((e,t,n,o,a,c,u)=>{if(n.isTemplateString()){let l=n.quasis[0].string;let f=n.quasis.length>1?n.quasis[n.quasis.length-1].string:"";const p=n.range;const{context:d,prefix:h}=s(l);const{path:m,query:g,fragment:y}=r(f,u);const v=n.quasis.slice(1,n.quasis.length-1);const _=a.wrappedContextRegExp.source+v.map(e=>i(e.string)+a.wrappedContextRegExp.source).join("");const b=new RegExp(`^${i(h)}${_}${i(m)}$`);const E=new e({request:d+g+y,recursive:a.wrappedContextRecursive,regExp:b,mode:"sync",...c},t,p);E.loc=o.loc;const w=[];n.parts.forEach((e,t)=>{if(t%2===0){let r=e.range;let i=e.string;if(n.templateStringKind==="cooked"){i=JSON.stringify(i);i=i.slice(1,i.length-1)}if(t===0){i=h;r=[n.range[0],e.range[1]];i=(n.templateStringKind==="cooked"?"`":"String.raw`")+i}else if(t===n.parts.length-1){i=m;r=[e.range[0],n.range[1]];i=i+"`"}else if(e.expression&&e.expression.type==="TemplateElement"&&e.expression.value.raw===i){return}w.push({range:r,value:i})}else{u.walkExpression(e.expression)}});E.replaces=w;E.critical=a.wrappedContextCritical&&"a part of the request of a dependency is an expression";return E}else if(n.isWrapped()&&(n.prefix&&n.prefix.isString()||n.postfix&&n.postfix.isString())){let l=n.prefix&&n.prefix.isString()?n.prefix.string:"";let f=n.postfix&&n.postfix.isString()?n.postfix.string:"";const p=n.prefix&&n.prefix.isString()?n.prefix.range:null;const d=n.postfix&&n.postfix.isString()?n.postfix.range:null;const h=n.range;const{context:m,prefix:g}=s(l);const{path:y,query:v,fragment:_}=r(f,u);const b=new RegExp(`^${i(g)}${a.wrappedContextRegExp.source}${i(y)}$`);const E=new e({request:m+v+_,recursive:a.wrappedContextRecursive,regExp:b,mode:"sync",...c},t,h);E.loc=o.loc;const w=[];if(p){w.push({range:p,value:JSON.stringify(g)})}if(d){w.push({range:d,value:JSON.stringify(y)})}E.replaces=w;E.critical=a.wrappedContextCritical&&"a part of the request of a dependency is an expression";if(u&&n.wrappedInnerExpressions){for(const e of n.wrappedInnerExpressions){if(e.expression)u.walkExpression(e.expression)}}return E}else{const r=new e({request:a.exprContextRequest,recursive:a.exprContextRecursive,regExp:a.exprContextRegExp,mode:"sync",...c},t,n.range);r.loc=o.loc;r.critical=a.exprContextCritical&&"the request of a dependency is an expression";u.walkExpression(n.expression);return r}})},94148:(e,t,n)=>{"use strict";const r=n(400);class ContextDependencyTemplateAsId extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){const o=e;const a=n.moduleExports({module:r.getModule(o),chunkGraph:i,request:o.request,weak:o.weak,runtimeRequirements:s});if(r.getModule(o)){if(o.valueRange){if(Array.isArray(o.replaces)){for(let e=0;e{"use strict";const r=n(400);class ContextDependencyTemplateAsRequireCall extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){const o=e;const a=n.moduleExports({module:r.getModule(o),chunkGraph:i,request:o.request,runtimeRequirements:s});if(r.getModule(o)){if(o.valueRange){if(Array.isArray(o.replaces)){for(let e=0;e{"use strict";const r=n(28706);const i=n(56202);const s=n(79983);class ContextElementDependency extends s{constructor(e,t,n,r){super(e);this.referencedExports=r;this._category=n;if(t){this.userRequest=t}}get type(){return"context element"}get category(){return this._category}getReferencedExports(e,t){return this.referencedExports?this.referencedExports.map(e=>({name:e,canMangle:false})):r.EXPORTS_OBJECT_REFERENCED}serialize(e){e.write(this.referencedExports);super.serialize(e)}deserialize(e){this.referencedExports=e.read();super.deserialize(e)}}i(ContextElementDependency,"webpack/lib/dependencies/ContextElementDependency");e.exports=ContextElementDependency},75314:(e,t,n)=>{"use strict";const r=n(81627);const i=n(56202);class CriticalDependencyWarning extends r{constructor(e){super();this.name="CriticalDependencyWarning";this.message="Critical dependency: "+e;Error.captureStackTrace(this,this.constructor)}}i(CriticalDependencyWarning,"webpack/lib/dependencies/CriticalDependencyWarning");e.exports=CriticalDependencyWarning},49422:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);class DelegatedSourceDependency extends i{constructor(e){super(e)}get type(){return"delegated source"}get category(){return"esm"}}r(DelegatedSourceDependency,"webpack/lib/dependencies/DelegatedSourceDependency");e.exports=DelegatedSourceDependency},95189:(e,t,n)=>{"use strict";const r=n(28706);const i=n(56202);class DllEntryDependency extends r{constructor(e,t){super();this.dependencies=e;this.name=t}get type(){return"dll entry"}serialize(e){const{write:t}=e;t(this.dependencies);t(this.name);super.serialize(e)}deserialize(e){const{read:t}=e;this.dependencies=t();this.name=t();super.deserialize(e)}}i(DllEntryDependency,"webpack/lib/dependencies/DllEntryDependency");e.exports=DllEntryDependency},28140:(e,t)=>{"use strict";const n=new WeakMap;t.bailout=(e=>{const t=n.get(e);n.set(e,false);if(t===true){e.module.buildMeta.exportsType=undefined;e.module.buildMeta.defaultObject=false}});t.enable=(e=>{const t=n.get(e);if(t===false)return;n.set(e,true);if(t!==true){e.module.buildMeta.exportsType="default";e.module.buildMeta.defaultObject="redirect"}});t.setFlagged=(e=>{const t=n.get(e);if(t!==true)return;const r=e.module.buildMeta;if(r.exportsType==="dynamic")return;r.exportsType="flagged"});t.setDynamic=(e=>{const t=n.get(e);if(t!==true)return;e.module.buildMeta.exportsType="dynamic"});t.isEnabled=(e=>{const t=n.get(e);return t===true})},66583:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);class EntryDependency extends i{constructor(e){super(e)}get type(){return"entry"}get category(){return"esm"}}r(EntryDependency,"webpack/lib/dependencies/EntryDependency");e.exports=EntryDependency},51420:(e,t,n)=>{"use strict";const{UsageState:r}=n(76632);const i=n(56202);const s=n(12197);const o=(e,t,n,i,s)=>{if(!n){switch(i){case"usedExports":{const n=e.getExportsInfo(t).getUsedExports(s);if(typeof n==="boolean"||n===undefined||n===null){return n}return Array.from(n).sort()}}}switch(i){case"used":return e.getExportsInfo(t).getUsed(n,s)!==r.Unused;case"useInfo":{const i=e.getExportsInfo(t).getUsed(n,s);switch(i){case r.Used:case r.OnlyPropertiesUsed:return true;case r.Unused:return false;case r.NoInfo:return undefined;case r.Unknown:return null;default:throw new Error(`Unexpected UsageState ${i}`)}}case"provideInfo":return e.getExportsInfo(t).isExportProvided(n)}return undefined};class ExportsInfoDependency extends s{constructor(e,t,n){super();this.range=e;this.exportName=t;this.property=n}updateHash(e,t){const{chunkGraph:n,runtime:r}=t;const{moduleGraph:i}=n;const s=i.getParentModule(this);const a=o(i,s,this.exportName,this.property,r);e.update(a===undefined?"undefined":JSON.stringify(a))}serialize(e){const{write:t}=e;t(this.range);t(this.exportName);t(this.property);super.serialize(e)}static deserialize(e){const t=new ExportsInfoDependency(e.read(),e.read(),e.read());t.deserialize(e);return t}}i(ExportsInfoDependency,"webpack/lib/dependencies/ExportsInfoDependency");ExportsInfoDependency.Template=class ExportsInfoDependencyTemplate extends s.Template{apply(e,t,{module:n,moduleGraph:r,runtime:i}){const s=e;const a=o(r,n,s.exportName,s.property,i);t.replace(s.range[0],s.range[1]-1,a===undefined?"undefined":JSON.stringify(a))}};e.exports=ExportsInfoDependency},27790:(e,t,n)=>{"use strict";const r=n(56202);const i=n(37359);const s=n(12197);class HarmonyAcceptDependency extends s{constructor(e,t,n){super();this.range=e;this.dependencies=t;this.hasCallback=n}get type(){return"accepted harmony modules"}serialize(e){const{write:t}=e;t(this.range);t(this.dependencies);t(this.hasCallback);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.dependencies=t();this.hasCallback=t();super.deserialize(e)}}r(HarmonyAcceptDependency,"webpack/lib/dependencies/HarmonyAcceptDependency");HarmonyAcceptDependency.Template=class HarmonyAcceptDependencyTemplate extends s.Template{apply(e,t,n){const r=e;const{module:s,runtimeTemplate:o}=n;const a=r.dependencies.filter(e=>i.Template.isImportEmitted(e,s)).map(e=>{const t=e.getImportStatement(true,n);return t[0]+t[1]}).join("");if(r.hasCallback){if(o.supportsArrowFunction()){t.insert(r.range[0],`__WEBPACK_OUTDATED_DEPENDENCIES__ => { ${a}(`);t.insert(r.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }")}else{t.insert(r.range[0],`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${a}(`);t.insert(r.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this)")}return}const c=o.supportsArrowFunction();t.insert(r.range[1]-.5,`, ${c?"() =>":"function()"} { ${a} }`)}};e.exports=HarmonyAcceptDependency},80654:(e,t,n)=>{"use strict";const r=n(56202);const i=n(37359);class HarmonyAcceptImportDependency extends i{constructor(e){super(e,NaN);this.weak=true}get type(){return"harmony accept"}}r(HarmonyAcceptImportDependency,"webpack/lib/dependencies/HarmonyAcceptImportDependency");HarmonyAcceptImportDependency.Template=class HarmonyAcceptImportDependencyTemplate extends i.Template{};e.exports=HarmonyAcceptImportDependency},54290:(e,t,n)=>{"use strict";const{UsageState:r}=n(76632);const i=n(63272);const s=n(76150);const o=n(56202);const a=n(12197);class HarmonyCompatibilityDependency extends a{get type(){return"harmony export header"}}o(HarmonyCompatibilityDependency,"webpack/lib/dependencies/HarmonyCompatibilityDependency");HarmonyCompatibilityDependency.Template=class HarmonyExportDependencyTemplate extends a.Template{apply(e,t,{module:n,runtimeTemplate:o,moduleGraph:a,initFragments:c,runtimeRequirements:u,runtime:l}){const f=a.getExportsInfo(n);if(f.getReadOnlyExportInfo("__esModule").getUsed(l)!==r.Unused){const e=o.defineEsModuleFlagStatement({exportsArgument:n.exportsArgument,runtimeRequirements:u});c.push(new i(e,i.STAGE_HARMONY_EXPORTS,0,"harmony compatibility"))}if(a.isAsync(n)){u.add(s.module);const e=f.isUsed(l);if(e)u.add(s.exports);c.push(new i(`${n.moduleArgument}.exports = (async () => {\n`,i.STAGE_ASYNC_BOUNDARY,0,undefined,e?`\nreturn ${n.exportsArgument};\n})();`:"\n})();"))}}};e.exports=HarmonyCompatibilityDependency},11720:(e,t,n)=>{"use strict";const r=n(28140);const i=n(54290);const s=n(25702);e.exports=class HarmonyDetectionParserPlugin{constructor(e){const{topLevelAwait:t=false}=e||{};this.topLevelAwait=t}apply(e){e.hooks.program.tap("HarmonyDetectionParserPlugin",t=>{const n=e.state.module.type==="javascript/esm";const o=n||t.body.some(e=>e.type==="ImportDeclaration"||e.type==="ExportDefaultDeclaration"||e.type==="ExportNamedDeclaration"||e.type==="ExportAllDeclaration");if(o){const t=e.state.module;const o=new i;o.loc={start:{line:-1,column:0},end:{line:-1,column:0},index:-3};t.addPresentationalDependency(o);r.bailout(e.state);s.enable(e.state,n);e.scope.isStrict=true}});e.hooks.topLevelAwait.tap("HarmonyDetectionParserPlugin",()=>{const t=e.state.module;if(!this.topLevelAwait){throw new Error("The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)")}if(!s.isEnabled(e.state)){throw new Error("Top-level-await is only supported in EcmaScript Modules")}t.buildMeta.async=true});const t=()=>{if(s.isEnabled(e.state)){return true}};const n=()=>{if(s.isEnabled(e.state)){return null}};const o=["define","exports"];for(const r of o){e.hooks.evaluateTypeof.for(r).tap("HarmonyDetectionParserPlugin",n);e.hooks.typeof.for(r).tap("HarmonyDetectionParserPlugin",t);e.hooks.evaluate.for(r).tap("HarmonyDetectionParserPlugin",n);e.hooks.expression.for(r).tap("HarmonyDetectionParserPlugin",t);e.hooks.call.for(r).tap("HarmonyDetectionParserPlugin",t)}}}},16081:(e,t,n)=>{"use strict";const r=n(58018);const i=n(66298);const s=n(55037);const o=n(48752);const a=n(44576);const c=n(14696);const{harmonySpecifierTag:u}=n(29381);const l=n(69707);e.exports=class HarmonyExportDependencyParserPlugin{constructor(e){const{module:t}=e;this.strictExportPresence=t.strictExportPresence}apply(e){e.hooks.export.tap("HarmonyExportDependencyParserPlugin",t=>{const n=new o(t.declaration&&t.declaration.range,t.range);n.loc=Object.create(t.loc);n.loc.index=-1;e.state.module.addPresentationalDependency(n);return true});e.hooks.exportImport.tap("HarmonyExportDependencyParserPlugin",(t,n)=>{e.state.lastHarmonyImportOrder=(e.state.lastHarmonyImportOrder||0)+1;const r=new i("",t.range);r.loc=Object.create(t.loc);r.loc.index=-1;e.state.module.addPresentationalDependency(r);const s=new l(n,e.state.lastHarmonyImportOrder);s.loc=Object.create(t.loc);s.loc.index=-1;e.state.current.addDependency(s);return true});e.hooks.exportExpression.tap("HarmonyExportDependencyParserPlugin",(t,n)=>{const i=n.type==="FunctionDeclaration";const o=e.getComments([t.range[0],n.range[0]]);const a=new s(n.range,t.range,o.map(e=>{switch(e.type){case"Block":return`/*${e.value}*/`;case"Line":return`//${e.value}\n`}return""}).join(""),n.type.endsWith("Declaration")&&n.id?n.id.name:i?{id:n.id?n.id.name:undefined,range:[n.range[0],n.params.length>0?n.params[0].range[0]:n.body.range[0]],prefix:`${n.async?"async ":""}function `,suffix:`${n.generator?"*":""}(${n.params.length>0?"":") "}`}:undefined);a.loc=Object.create(t.loc);a.loc.index=-1;e.state.current.addDependency(a);r.addVariableUsage(e,n.type.endsWith("Declaration")&&n.id?n.id.name:"*default*","default");return true});e.hooks.exportSpecifier.tap("HarmonyExportDependencyParserPlugin",(t,n,i,s)=>{const o=e.getTagData(n,u);let l;const f=e.state.harmonyNamedExports=e.state.harmonyNamedExports||new Set;f.add(i);r.addVariableUsage(e,n,i);if(o){l=new a(o.source,o.sourceOrder,o.ids,i,f,null,this.strictExportPresence)}else{l=new c(n,i)}l.loc=Object.create(t.loc);l.loc.index=s;e.state.current.addDependency(l);return true});e.hooks.exportImportSpecifier.tap("HarmonyExportDependencyParserPlugin",(t,n,r,i,s)=>{const o=e.state.harmonyNamedExports=e.state.harmonyNamedExports||new Set;let c=null;if(i){o.add(i)}else{c=e.state.harmonyStarExports=e.state.harmonyStarExports||[]}const u=new a(n,e.state.lastHarmonyImportOrder,r?[r]:[],i,o,c&&c.slice(),this.strictExportPresence);if(c){c.push(u)}u.loc=Object.create(t.loc);u.loc.index=s;e.state.current.addDependency(u);return true})}}},55037:(e,t,n)=>{"use strict";const r=n(76150);const i=n(56202);const s=n(82296);const o=n(12197);class HarmonyExportExpressionDependency extends o{constructor(e,t,n,r){super();this.range=e;this.rangeStatement=t;this.prefix=n;this.declarationId=r}get type(){return"harmony export expression"}getExports(e){return{exports:["default"],terminalBinding:true,dependencies:undefined}}serialize(e){const{write:t}=e;t(this.range);t(this.rangeStatement);t(this.prefix);t(this.declarationId);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.rangeStatement=t();this.prefix=t();this.declarationId=t();super.deserialize(e)}}i(HarmonyExportExpressionDependency,"webpack/lib/dependencies/HarmonyExportExpressionDependency");HarmonyExportExpressionDependency.Template=class HarmonyExportDependencyTemplate extends o.Template{apply(e,t,{module:n,moduleGraph:i,runtimeTemplate:o,runtimeRequirements:a,initFragments:c,runtime:u}){const l=e;const f=i.getExportsInfo(n).getUsedName("default",u);const{declarationId:p}=l;const d=n.exportsArgument;if(p){let e;if(typeof p==="string"){e=p}else{e="__WEBPACK_DEFAULT_EXPORT__";t.replace(p.range[0],p.range[1]-1,`${p.prefix}${e}${p.suffix}`)}if(f){const t=new Map;t.set(f,`/* export default binding */ ${e}`);c.push(new s(d,t))}t.replace(l.rangeStatement[0],l.range[0]-1,`/* harmony default export */ ${l.prefix}`)}else{let e;if(f){a.add(r.exports);if(o.supportsConst()){const t="__WEBPACK_DEFAULT_EXPORT__";e=`/* harmony default export */ const ${t} = `;const n=new Map;n.set(f,t);c.push(new s(d,n))}else{e=`/* harmony default export */ ${d}[${JSON.stringify(f)}] = `}}else{e="/* unused harmony default export */ var _unused_webpack_default_export = "}if(l.range){t.replace(l.rangeStatement[0],l.range[0]-1,e+"("+l.prefix);t.replace(l.range[1],l.rangeStatement[1]-.5,");");return}t.replace(l.rangeStatement[0],l.rangeStatement[1]-1,e)}}};e.exports=HarmonyExportExpressionDependency},48752:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class HarmonyExportHeaderDependency extends i{constructor(e,t){super();this.range=e;this.rangeStatement=t}get type(){return"harmony export header"}serialize(e){const{write:t}=e;t(this.range);t(this.rangeStatement);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.rangeStatement=t();super.deserialize(e)}}r(HarmonyExportHeaderDependency,"webpack/lib/dependencies/HarmonyExportHeaderDependency");HarmonyExportHeaderDependency.Template=class HarmonyExportDependencyTemplate extends i.Template{apply(e,t,n){const r=e;const i="";const s=r.range?r.range[0]-1:r.rangeStatement[1]-1;t.replace(r.rangeStatement[0],s,i)}};e.exports=HarmonyExportHeaderDependency},44576:(e,t,n)=>{"use strict";const r=n(28706);const{UsageState:i}=n(76632);const s=n(36756);const o=n(63272);const a=n(76150);const c=n(58159);const u=n(56202);const l=n(68038);const f=n(82296);const p=n(37359);const d=n(18971);const h=Symbol("HarmonyExportImportedSpecifierDependency.ids");class NormalReexportItem{constructor(e,t,n,r){this.name=e;this.ids=t;this.exportInfo=n;this.checked=r}}class ExportMode{constructor(e){this.type=e;this.items=null;this.name=null;this.partialNamespaceExportInfo=null;this.ignored=null;this.userRequest=null;this.fakeType=0}}class HarmonyExportImportedSpecifierDependency extends p{constructor(e,t,n,r,i,s,o){super(e,t);this.ids=n;this.name=r;this.activeExports=i;this.otherStarExports=s;this.strictExportPresence=o}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony export imported specifier"}getIds(e){return e.getMeta(this)[h]||this.ids}setIds(e,t){e.getMeta(this)[h]=t}getMode(e,t){const n=this.name;const r=this.getIds(e);const s=e.getParentModule(this);const o=e.getModule(this);const a=e.getExportsInfo(s);if(!o){const e=new ExportMode("missing");e.userRequest=this.userRequest;return e}if(n?a.getUsed(n,t)===i.Unused:a.isUsed(t)===false){const e=new ExportMode("unused");e.name=n||"*";return e}const c=o.getExportsType(e,s.buildMeta.strictHarmonyModule);if(n&&r.length>0&&r[0]==="default"){switch(c){case"dynamic":{const e=new ExportMode("reexport-dynamic-default");e.name=n;return e}case"default-only":case"default-with-named":{const e=a.getReadOnlyExportInfo(n);const t=new ExportMode("reexport-named-default");t.name=n;t.partialNamespaceExportInfo=e;return t}}}if(n){let e;const t=a.getReadOnlyExportInfo(n);if(r.length>0){switch(c){case"default-only":e=new ExportMode("reexport-undefined");e.name=n;break;default:e=new ExportMode("normal-reexport");e.items=[new NormalReexportItem(n,r,t,false)];break}}else{switch(c){case"default-only":e=new ExportMode("reexport-fake-namespace-object");e.name=n;e.partialNamespaceExportInfo=t;e.fakeType=0;break;case"default-with-named":e=new ExportMode("reexport-fake-namespace-object");e.name=n;e.partialNamespaceExportInfo=t;e.fakeType=2;break;case"dynamic":e=new ExportMode("reexport-fake-namespace-object");e.name=n;e.partialNamespaceExportInfo=t;e.fakeType=6;break;default:e=new ExportMode("reexport-namespace-object");e.name=n;e.partialNamespaceExportInfo=t}}return e}const{ignoredExports:u,exports:l,checked:f}=this.getStarReexports(e,t,a,o);if(!l){const e=new ExportMode("dynamic-reexport");e.ignored=u;return e}if(l.size===0){const e=new ExportMode("empty-star");return e}const p=new ExportMode("normal-reexport");p.items=Array.from(l,e=>new NormalReexportItem(e,[e],a.getReadOnlyExportInfo(e),f.has(e)));return p}getStarReexports(e,t,n=e.getExportsInfo(e.getParentModule(this)),r=e.getModule(this)){const s=e.getExportsInfo(r);const o=s.otherExportsInfo.provided===false;const a=n.otherExportsInfo.getUsed(t)===i.Unused;const c=new Set(["default",...this.activeExports,...this._discoverActiveExportsFromOtherStarExports(e).keys()]);if(!o&&!a){return{ignoredExports:c}}const u=new Set;const l=new Set;if(a){for(const e of n.orderedExports){const n=e.name;if(c.has(n))continue;if(e.getUsed(t)===i.Unused)continue;const r=s.getReadOnlyExportInfo(n);if(r.provided===false)continue;u.add(n);if(r.provided===true)continue;l.add(n)}}else if(o){for(const e of s.orderedExports){const r=e.name;if(c.has(r))continue;if(e.provided===false)continue;const s=n.getReadOnlyExportInfo(r);if(s.getUsed(t)===i.Unused)continue;u.add(r);if(e.provided===true)continue;l.add(r)}}return{ignoredExports:c,exports:u,checked:l}}getCondition(e){return(t,n)=>{const r=this.getMode(e,n);return r.type!=="unused"&&r.type!=="empty-star"}}getReferencedExports(e,t){const n=this.getMode(e,t);switch(n.type){case"missing":case"unused":case"empty-star":case"reexport-undefined":return r.NO_EXPORTS_REFERENCED;case"reexport-dynamic-default":return r.EXPORTS_OBJECT_REFERENCED;case"reexport-named-default":{if(!n.partialNamespaceExportInfo)return r.EXPORTS_OBJECT_REFERENCED;const e=[];d(t,e,[],n.partialNamespaceExportInfo);return e}case"reexport-namespace-object":case"reexport-fake-namespace-object":{if(!n.partialNamespaceExportInfo)return r.EXPORTS_OBJECT_REFERENCED;const e=[];d(t,e,[],n.partialNamespaceExportInfo,n.type==="reexport-fake-namespace-object");return e}case"dynamic-reexport":return r.EXPORTS_OBJECT_REFERENCED;case"normal-reexport":{const e=[];for(const{ids:r,exportInfo:i}of n.items){d(t,e,r,i,false)}return e}default:throw new Error(`Unknown mode ${n.type}`)}}_discoverActiveExportsFromOtherStarExports(e){if(!this.otherStarExports){return new Map}const t=new Map;for(const n of this.otherStarExports){const r=e.getModule(n);if(r){const i=e.getExportsInfo(r);for(const e of i.exports){if(e.provided===true&&!t.has(e.name)){t.set(e.name,n)}}}}return t}getExports(e){const t=this.getMode(e,undefined);switch(t.type){case"missing":return undefined;case"dynamic-reexport":{const n=e.getModule(this);return{exports:true,from:n,canMangle:false,excludeExports:t.ignored,dependencies:[n]}}case"empty-star":return{exports:[],dependencies:[e.getModule(this)]};case"normal-reexport":{const n=e.getModule(this);return{exports:Array.from(t.items,e=>({name:e.name,from:n,export:e.ids})),dependencies:[n]}}case"reexport-dynamic-default":{const n=e.getModule(this);return{exports:[{name:t.name,from:n,export:["default"]}],dependencies:[n]}}case"reexport-undefined":return{exports:[t.name],dependencies:[e.getModule(this)]};case"reexport-fake-namespace-object":return{exports:[{name:t.name,from:e.getModule(this),export:null,exports:[{name:"default",canMangle:false,from:e.getModule(this),export:null}]}],dependencies:[e.getModule(this)]};case"reexport-namespace-object":return{exports:[{name:t.name,from:e.getModule(this),export:null}],dependencies:[e.getModule(this)]};case"reexport-named-default":return{exports:[{name:t.name,from:e.getModule(this),export:["default"]}],dependencies:[e.getModule(this)]};default:throw new Error(`Unknown mode ${t.type}`)}}getWarnings(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return null}return this._getErrors(e)}getErrors(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return this._getErrors(e)}return null}_getErrors(e){const t=this.getIds(e);let n=this.getLinkingErrors(e,t,`(reexported as '${this.name}')`);if(t.length===0&&this.name===null){const t=this._discoverActiveExportsFromOtherStarExports(e);if(t.size>0){const r=e.getModule(this);if(r){const i=e.getExportsInfo(r);const o=new Map;for(const n of i.orderedExports){if(n.provided!==true)continue;if(n.name==="default")continue;if(this.activeExports.has(n.name))continue;const i=t.get(n.name);if(!i)continue;const s=n.getTerminalBinding(e);if(!s)continue;const a=e.getModule(i);if(a===r)continue;const c=e.getExportInfo(a,n.name);const u=c.getTerminalBinding(e);if(!u)continue;if(s===u)continue;const l=o.get(i.request);if(l===undefined){o.set(i.request,[n.name])}else{l.push(n.name)}}for(const[e,t]of o){if(!n)n=[];n.push(new s(`The requested module '${this.request}' contains conflicting star exports for the ${t.length>1?"names":"name"} ${t.map(e=>`'${e}'`).join(", ")} with the previous requested module '${e}'`))}}}}return n}updateHash(e,t){const{chunkGraph:n,runtime:r}=t;super.updateHash(e,t);const i=this.getMode(n.moduleGraph,r);e.update(i.type);if(i.items){for(const t of i.items){e.update(t.name);e.update(t.ids.join());if(t.checked)e.update("checked")}}if(i.ignored){e.update("ignored");for(const t of i.ignored){e.update(t)}}e.update(i.name||"")}serialize(e){const{write:t}=e;t(this.ids);t(this.name);t(this.activeExports);t(this.otherStarExports);t(this.strictExportPresence);super.serialize(e)}deserialize(e){const{read:t}=e;this.ids=t();this.name=t();this.activeExports=t();this.otherStarExports=t();this.strictExportPresence=t();super.deserialize(e)}}u(HarmonyExportImportedSpecifierDependency,"webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency");e.exports=HarmonyExportImportedSpecifierDependency;HarmonyExportImportedSpecifierDependency.Template=class HarmonyExportImportedSpecifierDependencyTemplate extends p.Template{apply(e,t,n){const r=e;const i=r.getMode(n.moduleGraph,n.runtime);if(i.type!=="unused"&&i.type!=="empty-star"){super.apply(e,t,n);this._addExportFragments(n.initFragments,r,i,n.module,n.moduleGraph,n.runtime,n.runtimeTemplate,n.runtimeRequirements)}}_addExportFragments(e,t,n,r,i,s,u,l){const f=i.getModule(t);const p=t.getImportVar(i);switch(n.type){case"missing":case"empty-star":e.push(new o("/* empty/unused harmony star reexport */\n",o.STAGE_HARMONY_EXPORTS,1));break;case"unused":e.push(new o(`${c.toNormalComment(`unused harmony reexport ${n.name}`)}\n`,o.STAGE_HARMONY_EXPORTS,1));break;case"reexport-dynamic-default":e.push(this.getReexportFragment(r,"reexport default from dynamic",i.getExportsInfo(r).getUsedName(n.name,s),p,null,l));break;case"reexport-fake-namespace-object":e.push(...this.getReexportFakeNamespaceObjectFragments(r,i.getExportsInfo(r).getUsedName(n.name,s),p,n.fakeType,l));break;case"reexport-undefined":e.push(this.getReexportFragment(r,"reexport non-default export from non-harmony",i.getExportsInfo(r).getUsedName(n.name,s),"undefined","",l));break;case"reexport-named-default":e.push(this.getReexportFragment(r,"reexport default export from named module",i.getExportsInfo(r).getUsedName(n.name,s),p,"",l));break;case"reexport-namespace-object":e.push(this.getReexportFragment(r,"reexport module object",i.getExportsInfo(r).getUsedName(n.name,s),p,"",l));break;case"normal-reexport":for(const{name:a,ids:c,checked:u}of n.items){if(u){e.push(new o("/* harmony reexport (checked) */ "+this.getConditionalReexportStatement(r,a,p,c,l),o.STAGE_HARMONY_IMPORTS,t.sourceOrder))}else{e.push(this.getReexportFragment(r,"reexport safe",i.getExportsInfo(r).getUsedName(a,s),p,i.getExportsInfo(f).getUsedName(c,s),l))}}break;case"dynamic-reexport":{const i=n.ignored;const s=u.supportsConst()&&u.supportsArrowFunction();let c="/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n"+`/* harmony reexport (unknown) */ for(${s?"const":"var"} __WEBPACK_IMPORT_KEY__ in ${p}) `;if(i.size>1){c+="if("+JSON.stringify(Array.from(i))+".indexOf(__WEBPACK_IMPORT_KEY__) < 0) "}else if(i.size===1){c+=`if(__WEBPACK_IMPORT_KEY__ !== ${JSON.stringify(i.values().next().value)}) `}c+=`__WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = `;if(s){c+=`() => ${p}[__WEBPACK_IMPORT_KEY__]`}else{c+=`function(key) { return ${p}[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)`}l.add(a.exports);l.add(a.definePropertyGetters);const f=r.exportsArgument;e.push(new o(`${c}\n/* harmony reexport (unknown) */ ${a.definePropertyGetters}(${f}, __WEBPACK_REEXPORT_OBJECT__);\n`,o.STAGE_HARMONY_IMPORTS,t.sourceOrder));break}default:throw new Error(`Unknown mode ${n.type}`)}}getReexportFragment(e,t,n,r,i,s){const o=this.getReturnValue(r,i);s.add(a.exports);s.add(a.definePropertyGetters);const c=new Map;c.set(n,`/* ${t} */ ${o}`);return new f(e.exportsArgument,c)}getReexportFakeNamespaceObjectFragments(e,t,n,r,i){i.add(a.exports);i.add(a.definePropertyGetters);i.add(a.createFakeNamespaceObject);const s=new Map;s.set(t,`/* reexport fake namespace object from non-harmony */ ${n}_namespace_cache || (${n}_namespace_cache = ${a.createFakeNamespaceObject}(${n}${r?`, ${r}`:""}))`);return[new o(`var ${n}_namespace_cache;\n`,o.STAGE_CONSTANTS,-1,`${n}_namespace_cache`),new f(e.exportsArgument,s)]}getConditionalReexportStatement(e,t,n,r,i){if(r===false){return"/* unused export */\n"}const s=e.exportsArgument;const o=this.getReturnValue(n,r);i.add(a.exports);i.add(a.definePropertyGetters);i.add(a.hasOwnProperty);return`if(${a.hasOwnProperty}(${n}, ${JSON.stringify(r[0])})) ${a.definePropertyGetters}(${s}, { ${JSON.stringify(t)}: function() { return ${o}; } });\n`}getReturnValue(e,t){if(t===null){return`${e}_default.a`}if(t===""){return e}if(t===false){return"/* unused export */ undefined"}return`${e}${l(t)}`}}},82296:(e,t,n)=>{"use strict";const r=n(63272);const i=n(76150);const s=e=>{let t="";let n=true;for(const r of e){if(n){n=false}else{t+=", "}t+=r}return t};const o=new Map;const a=new Set;class HarmonyExportInitFragment extends r{constructor(e,t=o,n=a){super(undefined,r.STAGE_HARMONY_EXPORTS,1,"harmony-exports");this.exportsArgument=e;this.exportMap=t;this.unusedExports=n}merge(e){let t;if(this.exportMap.size===0){t=e.exportMap}else if(e.exportMap.size===0){t=this.exportMap}else{t=new Map(e.exportMap);for(const[e,n]of this.exportMap){if(!t.has(e))t.set(e,n)}}let n;if(this.unusedExports.size===0){n=e.unusedExports}else if(e.unusedExports.size===0){n=this.unusedExports}else{n=new Set(e.unusedExports);for(const e of this.unusedExports){n.add(e)}}return new HarmonyExportInitFragment(this.exportsArgument,t,n)}getContent({runtimeTemplate:e,runtimeRequirements:t}){t.add(i.exports);t.add(i.definePropertyGetters);const n=this.unusedExports.size>1?`/* unused harmony exports ${s(this.unusedExports)} */\n`:this.unusedExports.size>0?`/* unused harmony export ${this.unusedExports.values().next().value} */\n`:"";const r=[];for(const[t,n]of this.exportMap){r.push(`\n/* harmony export */ ${JSON.stringify(t)}: ${e.returningFunction(n)}`)}const o=this.exportMap.size>0?`/* harmony export */ ${i.definePropertyGetters}(${this.exportsArgument}, {${r.join(",")}\n/* harmony export */ });\n`:"";return`${o}${n}`}}e.exports=HarmonyExportInitFragment},14696:(e,t,n)=>{"use strict";const r=n(56202);const i=n(82296);const s=n(12197);class HarmonyExportSpecifierDependency extends s{constructor(e,t){super();this.id=e;this.name=t}get type(){return"harmony export specifier"}getExports(e){return{exports:[this.name],terminalBinding:true,dependencies:undefined}}serialize(e){const{write:t}=e;t(this.id);t(this.name);super.serialize(e)}deserialize(e){const{read:t}=e;this.id=t();this.name=t();super.deserialize(e)}}r(HarmonyExportSpecifierDependency,"webpack/lib/dependencies/HarmonyExportSpecifierDependency");HarmonyExportSpecifierDependency.Template=class HarmonyExportSpecifierDependencyTemplate extends s.Template{apply(e,t,{module:n,moduleGraph:r,initFragments:s,runtimeRequirements:o,runtime:a}){const c=e;const u=r.getExportsInfo(n).getUsedName(c.name,a);if(!u){const e=new Set;e.add(c.name||"namespace");s.push(new i(n.exportsArgument,undefined,e));return}const l=new Map;l.set(u,`/* binding */ ${c.id}`);s.push(new i(n.exportsArgument,l,undefined))}};e.exports=HarmonyExportSpecifierDependency},25702:(e,t)=>{"use strict";const n=new WeakMap;t.enable=((e,t)=>{const r=n.get(e);if(r===false)return;n.set(e,true);if(r!==true){e.module.buildMeta.exportsType="namespace";e.module.buildInfo.strict=true;e.module.buildInfo.exportsArgument="__webpack_exports__";if(t){e.module.buildMeta.strictHarmonyModule=true;e.module.buildInfo.moduleArgument="__webpack_module__"}}});t.isEnabled=(e=>{const t=n.get(e);return t===true})},37359:(e,t,n)=>{"use strict";const r=n(28706);const i=n(36756);const s=n(63272);const o=n(58159);const a=n(10813);const c=n(79983);class HarmonyImportDependency extends c{constructor(e,t){super(e);this.sourceOrder=t}get category(){return"esm"}getReferencedExports(e,t){return r.NO_EXPORTS_REFERENCED}getImportVar(e){const t=e.getParentModule(this);const n=e.getMeta(t);let r=n.importVarMap;if(!r)n.importVarMap=r=new Map;let i=r.get(e.getModule(this));if(i)return i;i=`${o.toIdentifier(`${this.userRequest}`)}__WEBPACK_IMPORTED_MODULE_${r.size}__`;r.set(e.getModule(this),i);return i}getImportStatement(e,{runtimeTemplate:t,module:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){return t.importStatement({update:e,module:r.getModule(this),chunkGraph:i,importVar:this.getImportVar(r),request:this.request,originModule:n,runtimeRequirements:s})}getLinkingErrors(e,t,n){const r=e.getModule(this);if(!r||r.getNumberOfErrors()>0){return}const s=e.getParentModule(this);const o=r.getExportsType(e,s.buildMeta.strictHarmonyModule);switch(o){case"default-only":if(t.length>0&&t[0]!=="default"){return[new i(`Can't import the named export ${t.map(e=>`'${e}'`).join(".")} ${n} from default-exporting module (only default export is available)`)]}return;case"default-with-named":if(t.length>0&&t[0]!=="default"&&r.buildMeta.defaultObject==="redirect-warn"){return[new i(`Should not import the named export ${t.map(e=>`'${e}'`).join(".")} ${n} from default-exporting module (only default export is available soon)`)]}return;case"namespace":{if(t.length===0){return}if(e.isExportProvided(r,t)!==false){return}let s=0;let o=e.getExportsInfo(r);while(s`'${e}'`).join(".")} ${n} was not found in '${this.userRequest}'${r}`)]}o=r.getNestedExportsInfo()}return[new i(`export ${t.map(e=>`'${e}'`).join(".")} ${n} was not found in '${this.userRequest}'`)]}}}updateHash(e,t){const{chunkGraph:n}=t;const{moduleGraph:r}=n;super.updateHash(e,t);const i=r.getModule(this);if(i){const t=r.getParentModule(this);e.update(i.getExportsType(r,t.buildMeta&&t.buildMeta.strictHarmonyModule));if(r.isAsync(i))e.update("async")}e.update(`${this.sourceOrder}`)}serialize(e){const{write:t}=e;t(this.sourceOrder);super.serialize(e)}deserialize(e){const{read:t}=e;this.sourceOrder=t();super.deserialize(e)}}e.exports=HarmonyImportDependency;const u=new WeakMap;HarmonyImportDependency.Template=class HarmonyImportDependencyTemplate extends c.Template{apply(e,t,n){const r=e;const{module:i,moduleGraph:o,runtime:c}=n;const l=o.getConnection(r);if(l&&!l.isActive(c))return;const f=l&&l.module;const p=f?f.identifier():r.request;const d=`harmony import ${p}`;if(i){let e=u.get(r);if(e===undefined){e=new WeakSet;u.set(r,e)}e.add(i)}const h=r.getImportStatement(false,n);if(n.moduleGraph.isAsync(f)){n.initFragments.push(new s(h[0],s.STAGE_HARMONY_IMPORTS,r.sourceOrder,d));n.initFragments.push(new a(new Set([r.getImportVar(n.moduleGraph)])));n.initFragments.push(new s(h[1],s.STAGE_ASYNC_HARMONY_IMPORTS,r.sourceOrder,d+" compat"))}else{n.initFragments.push(new s(h[0]+h[1],s.STAGE_HARMONY_IMPORTS,r.sourceOrder,d))}}static isImportEmitted(e,t){const n=u.get(e);return n!==undefined&&n.has(t)}}},29381:(e,t,n)=>{"use strict";const r=n(79972);const i=n(58018);const s=n(66298);const o=n(27790);const a=n(80654);const c=n(25702);const u=n(69707);const l=n(2230);const f=Symbol("harmony import");e.exports=class HarmonyImportDependencyParserPlugin{constructor(e){const{module:t}=e;this.strictExportPresence=t.strictExportPresence;this.strictThisContextOnImports=t.strictThisContextOnImports}apply(e){e.hooks.import.tap("HarmonyImportDependencyParserPlugin",(t,n)=>{e.state.lastHarmonyImportOrder=(e.state.lastHarmonyImportOrder||0)+1;const r=new s("",t.range);r.loc=t.loc;e.state.module.addPresentationalDependency(r);const i=new u(n,e.state.lastHarmonyImportOrder);i.loc=t.loc;e.state.module.addDependency(i);return true});e.hooks.importSpecifier.tap("HarmonyImportDependencyParserPlugin",(t,n,r,i)=>{const s=r===null?[]:[r];e.tagVariable(i,f,{name:i,source:n,ids:s,sourceOrder:e.state.lastHarmonyImportOrder});return true});e.hooks.expression.for(f).tap("HarmonyImportDependencyParserPlugin",t=>{const n=e.currentTagData;const r=new l(n.source,n.sourceOrder,n.ids,n.name,t.range,this.strictExportPresence);r.shorthand=e.scope.inShorthand;r.directImport=true;r.asiSafe=!e.isAsiPosition(t.range[0]);r.loc=t.loc;e.state.module.addDependency(r);i.onUsage(e.state,e=>r.usedByExports=e);return true});e.hooks.expressionMemberChain.for(f).tap("HarmonyImportDependencyParserPlugin",(t,n)=>{const r=e.currentTagData;const s=r.ids.concat(n);const o=new l(r.source,r.sourceOrder,s,r.name,t.range,this.strictExportPresence);o.asiSafe=!e.isAsiPosition(t.range[0]);o.loc=t.loc;e.state.module.addDependency(o);i.onUsage(e.state,e=>o.usedByExports=e);return true});e.hooks.callMemberChain.for(f).tap("HarmonyImportDependencyParserPlugin",(t,n)=>{const r=t.arguments;t=t.callee;const s=e.currentTagData;const o=s.ids.concat(n);const a=new l(s.source,s.sourceOrder,o,s.name,t.range,this.strictExportPresence);a.directImport=n.length===0;a.call=true;a.asiSafe=!e.isAsiPosition(t.range[0]);a.namespaceObjectAsContext=n.length>0&&this.strictThisContextOnImports;a.loc=t.loc;e.state.module.addDependency(a);if(r)e.walkExpressions(r);i.onUsage(e.state,e=>a.usedByExports=e);return true});const{hotAcceptCallback:t,hotAcceptWithoutCallback:n}=r.getParserHooks(e);t.tap("HarmonyImportDependencyParserPlugin",(t,n)=>{if(!c.isEnabled(e.state)){return}const r=n.map(n=>{const r=new a(n);r.loc=t.loc;e.state.module.addDependency(r);return r});if(r.length>0){const n=new o(t.range,r,true);n.loc=t.loc;e.state.module.addDependency(n)}});n.tap("HarmonyImportDependencyParserPlugin",(t,n)=>{if(!c.isEnabled(e.state)){return}const r=n.map(n=>{const r=new a(n);r.loc=t.loc;e.state.module.addDependency(r);return r});if(r.length>0){const n=new o(t.range,r,false);n.loc=t.loc;e.state.module.addDependency(n)}})}};e.exports.harmonySpecifierTag=f},69707:(e,t,n)=>{"use strict";const r=n(56202);const i=n(37359);class HarmonyImportSideEffectDependency extends i{constructor(e,t){super(e,t)}get type(){return"harmony side effect evaluation"}getCondition(e){return e=>{const t=e.resolvedModule;return!t||t.factoryMeta===undefined||!t.factoryMeta.sideEffectFree}}}r(HarmonyImportSideEffectDependency,"webpack/lib/dependencies/HarmonyImportSideEffectDependency");HarmonyImportSideEffectDependency.Template=i.Template;e.exports=HarmonyImportSideEffectDependency},2230:(e,t,n)=>{"use strict";const r=n(28706);const{UsageState:i}=n(76632);const s=n(56202);const o=n(37359);const a=Symbol("HarmonyImportSpecifierDependency.ids");class HarmonyImportSpecifierDependency extends o{constructor(e,t,n,r,i,s){super(e,t);this.ids=n;this.name=r;this.range=i;this.strictExportPresence=s;this.namespaceObjectAsContext=false;this.call=undefined;this.directImport=undefined;this.shorthand=undefined;this.asiSafe=false;this.usedByExports=undefined}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony import specifier"}getIds(e){return e.getMeta(this)[a]||this.ids}setIds(e,t){e.getMeta(this)[a]=t}getCondition(e){return(t,n)=>this.checkUsedByExports(e,n)}checkUsedByExports(e,t){if(this.usedByExports===false)return false;if(this.usedByExports!==true&&this.usedByExports!==undefined){const n=e.getParentModule(this);const r=e.getExportsInfo(n);let s=false;for(const e of this.usedByExports){if(r.getUsed(e,t)!==i.Unused)s=true}if(!s)return false}return true}getReferencedExports(e,t){let n=this.getIds(e);if(n.length>0&&n[0]==="default"){const t=e.getParentModule(this);const i=e.getModule(this);switch(i.getExportsType(e,t.buildMeta.strictHarmonyModule)){case"default-only":case"default-with-named":if(n.length===1)return r.EXPORTS_OBJECT_REFERENCED;n=n.slice(1);break;case"dynamic":return r.EXPORTS_OBJECT_REFERENCED}}if(this.namespaceObjectAsContext){if(n.length===1)return r.EXPORTS_OBJECT_REFERENCED;n=n.slice(0,-1)}return[n]}getWarnings(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return null}return this._getErrors(e)}getErrors(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return this._getErrors(e)}return null}_getErrors(e){const t=this.getIds(e);return this.getLinkingErrors(e,t,`(imported as '${this.name}')`)}getNumberOfIdOccurrences(){return 0}updateHash(e,t){const{chunkGraph:n}=t;super.updateHash(e,t);const r=n.moduleGraph;const i=r.getModule(this);const s=this.getIds(r);e.update(s.join());if(i){const n=r.getExportsInfo(i);e.update(`${n.getUsedName(s,t.runtime)}`)}}serialize(e){const{write:t}=e;t(this.ids);t(this.name);t(this.range);t(this.strictExportPresence);t(this.namespaceObjectAsContext);t(this.call);t(this.directImport);t(this.shorthand);t(this.asiSafe);t(this.usedByExports);super.serialize(e)}deserialize(e){const{read:t}=e;this.ids=t();this.name=t();this.range=t();this.strictExportPresence=t();this.namespaceObjectAsContext=t();this.call=t();this.directImport=t();this.shorthand=t();this.asiSafe=t();this.usedByExports=t();super.deserialize(e)}}s(HarmonyImportSpecifierDependency,"webpack/lib/dependencies/HarmonyImportSpecifierDependency");HarmonyImportSpecifierDependency.Template=class HarmonyImportSpecifierDependencyTemplate extends o.Template{apply(e,t,n){const r=e;const{moduleGraph:i,runtime:s}=n;const o=i.getConnection(r);if(o&&!o.isActive(s))return;super.apply(e,t,n);const{runtimeTemplate:a,module:c,initFragments:u,runtimeRequirements:l}=n;const f=r.getIds(i);const p=a.exportFromImport({moduleGraph:i,module:i.getModule(r),request:r.request,exportName:f,originModule:c,asiSafe:r.asiSafe||r.shorthand,isCall:r.call,callContext:!r.directImport,defaultInterop:true,importVar:r.getImportVar(i),initFragments:u,runtime:s,runtimeRequirements:l});if(r.shorthand){t.insert(r.range[1],`: ${p}`)}else{t.replace(r.range[0],r.range[1]-1,p)}}};e.exports=HarmonyImportSpecifierDependency},26165:(e,t,n)=>{"use strict";const r=n(27790);const i=n(80654);const s=n(54290);const o=n(55037);const a=n(48752);const c=n(44576);const u=n(14696);const l=n(69707);const f=n(2230);const p=n(11720);const d=n(16081);const h=n(29381);const m=n(13197);class HarmonyModulesPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("HarmonyModulesPlugin",(e,{normalModuleFactory:t})=>{e.dependencyTemplates.set(s,new s.Template);e.dependencyFactories.set(l,t);e.dependencyTemplates.set(l,new l.Template);e.dependencyFactories.set(f,t);e.dependencyTemplates.set(f,new f.Template);e.dependencyTemplates.set(a,new a.Template);e.dependencyTemplates.set(o,new o.Template);e.dependencyTemplates.set(u,new u.Template);e.dependencyFactories.set(c,t);e.dependencyTemplates.set(c,new c.Template);e.dependencyTemplates.set(r,new r.Template);e.dependencyFactories.set(i,t);e.dependencyTemplates.set(i,new i.Template);const n=(e,t)=>{if(t.harmony!==undefined&&!t.harmony)return;new p(this.options).apply(e);new h(this.options).apply(e);new d(this.options).apply(e);(new m).apply(e)};t.hooks.parser.for("javascript/auto").tap("HarmonyModulesPlugin",n);t.hooks.parser.for("javascript/esm").tap("HarmonyModulesPlugin",n)})}}e.exports=HarmonyModulesPlugin},13197:(e,t,n)=>{"use strict";const r=n(66298);const i=n(25702);class HarmonyTopLevelThisParserPlugin{apply(e){e.hooks.expression.for("this").tap("HarmonyTopLevelThisParserPlugin",t=>{if(!e.scope.topLevelScope)return;if(i.isEnabled(e.state)){const n=new r("undefined",t.range,null);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return this}})}}e.exports=HarmonyTopLevelThisParserPlugin},4828:(e,t,n)=>{"use strict";const r=n(56202);const i=n(400);const s=n(42740);class ImportContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return`import() context ${this.options.mode}`}get category(){return"esm"}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(ImportContextDependency,"webpack/lib/dependencies/ImportContextDependency");ImportContextDependency.Template=s;e.exports=ImportContextDependency},20013:(e,t,n)=>{"use strict";const r=n(28706);const i=n(56202);const s=n(79983);class ImportDependency extends s{constructor(e,t,n){super(e);this.range=t;this.referencedExports=n}get type(){return"import()"}get category(){return"esm"}getReferencedExports(e,t){return this.referencedExports?this.referencedExports.map(e=>({name:e,canMangle:false})):r.EXPORTS_OBJECT_REFERENCED}serialize(e){e.write(this.range);e.write(this.referencedExports);super.serialize(e)}deserialize(e){this.range=e.read();this.referencedExports=e.read();super.deserialize(e)}}i(ImportDependency,"webpack/lib/dependencies/ImportDependency");ImportDependency.Template=class ImportDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,module:r,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const c=i.getParentBlock(a);const u=n.moduleNamespacePromise({chunkGraph:s,block:c,module:i.getModule(a),request:a.request,strict:r.buildMeta.strictHarmonyModule,message:"import()",runtimeRequirements:o});t.replace(a.range[0],a.range[1]-1,u)}};e.exports=ImportDependency},75708:(e,t,n)=>{"use strict";const r=n(56202);const i=n(20013);class ImportEagerDependency extends i{constructor(e,t,n){super(e,t,n)}get type(){return"import() eager"}get category(){return"esm"}}r(ImportEagerDependency,"webpack/lib/dependencies/ImportEagerDependency");ImportEagerDependency.Template=class ImportEagerDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n,module:r,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const c=n.moduleNamespacePromise({chunkGraph:s,module:i.getModule(a),request:a.request,strict:r.buildMeta.strictHarmonyModule,message:"import() eager",runtimeRequirements:o});t.replace(a.range[0],a.range[1]-1,c)}};e.exports=ImportEagerDependency},76302:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(80791);class ImportMetaHotAcceptDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"import.meta.webpackHot.accept"}get category(){return"esm"}}r(ImportMetaHotAcceptDependency,"webpack/lib/dependencies/ImportMetaHotAcceptDependency");ImportMetaHotAcceptDependency.Template=s;e.exports=ImportMetaHotAcceptDependency},5389:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(80791);class ImportMetaHotDeclineDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"import.meta.webpackHot.decline"}get category(){return"esm"}}r(ImportMetaHotDeclineDependency,"webpack/lib/dependencies/ImportMetaHotDeclineDependency");ImportMetaHotDeclineDependency.Template=s;e.exports=ImportMetaHotDeclineDependency},38586:(e,t,n)=>{"use strict";const{pathToFileURL:r}=n(78835);const i=n(23280);const s=n(58159);const o=n(87250);const{evaluateToIdentifier:a,toConstantDependency:c,evaluateToString:u,evaluateToNumber:l}=n(48472);const f=n(27503);const p=n(68038);const d=n(66298);const h=f(()=>n(75314));class ImportMetaPlugin{apply(e){e.hooks.compilation.tap("ImportMetaPlugin",(e,{normalModuleFactory:t})=>{const f=e=>{return r(e.resource).toString()};const m=(e,t)=>{e.hooks.typeof.for("import.meta").tap("ImportMetaPlugin",c(e,JSON.stringify("object")));e.hooks.metaProperty.tap("ImportMetaPlugin",c(e,"Object()"));e.hooks.metaProperty.tap("ImportMetaPlugin",t=>{const n=h();e.state.module.addWarning(new i(e.state.module,new n("Accessing import.meta directly is unsupported (only property access is supported)"),t.loc));const r=new d("Object()",t.range);r.loc=t.loc;e.state.module.addPresentationalDependency(r);return true});e.hooks.evaluateTypeof.for("import.meta").tap("ImportMetaPlugin",u("object"));e.hooks.evaluateIdentifier.for("import.meta").tap("ImportMetaPlugin",a("import.meta","import.meta",()=>[],true));e.hooks.typeof.for("import.meta.url").tap("ImportMetaPlugin",c(e,JSON.stringify("string")));e.hooks.expression.for("import.meta.url").tap("ImportMetaPlugin",t=>{const n=new d(JSON.stringify(f(e.state.module)),t.range);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return true});e.hooks.evaluateTypeof.for("import.meta.url").tap("ImportMetaPlugin",u("string"));e.hooks.evaluateIdentifier.for("import.meta.url").tap("ImportMetaPlugin",t=>{return(new o).setString(f(e.state.module)).setRange(t.range)});const r=parseInt(n(61733).i8,10);e.hooks.typeof.for("import.meta.webpack").tap("ImportMetaPlugin",c(e,JSON.stringify("number")));e.hooks.expression.for("import.meta.webpack").tap("ImportMetaPlugin",c(e,JSON.stringify(r)));e.hooks.evaluateTypeof.for("import.meta.webpack").tap("ImportMetaPlugin",u("number"));e.hooks.evaluateIdentifier.for("import.meta.webpack").tap("ImportMetaPlugin",l(r));e.hooks.unhandledExpressionMemberChain.for("import.meta").tap("ImportMetaPlugin",(t,n)=>{const r=new d(`${s.toNormalComment("unsupported import.meta."+n.join("."))} undefined${p(n,1)}`,t.range);r.loc=t.loc;e.state.module.addPresentationalDependency(r);return true});e.hooks.evaluate.for("MemberExpression").tap("ImportMetaPlugin",e=>{const t=e;if(t.object.type==="MetaProperty"&&t.property.type===(t.computed?"Literal":"Identifier")){return(new o).setUndefined().setRange(t.range)}})};t.hooks.parser.for("javascript/auto").tap("ImportMetaPlugin",m);t.hooks.parser.for("javascript/esm").tap("ImportMetaPlugin",m)})}}e.exports=ImportMetaPlugin},81467:(e,t,n)=>{"use strict";const r=n(98221);const i=n(47207);const s=n(53558);const o=n(95601);const a=n(4828);const c=n(20013);const u=n(75708);const l=n(12849);class ImportParserPlugin{constructor(e){this.options=e}apply(e){e.hooks.importCall.tap("ImportParserPlugin",t=>{const n=e.evaluateExpression(t.source);let f=null;let p="lazy";let d=null;let h=null;let m=null;const g={};const{options:y,errors:v}=e.parseCommentOptions(t.range);if(v){for(const t of v){const{comment:n}=t;e.state.module.addWarning(new i(`Compilation error while processing magic comment(-s): /*${n.value}*/: ${t.message}`,n.loc))}}if(y){if(y.webpackIgnore!==undefined){if(typeof y.webpackIgnore!=="boolean"){e.state.module.addWarning(new s(`\`webpackIgnore\` expected a boolean, but received: ${y.webpackIgnore}.`,t.loc))}else{if(y.webpackIgnore){return false}}}if(y.webpackChunkName!==undefined){if(typeof y.webpackChunkName!=="string"){e.state.module.addWarning(new s(`\`webpackChunkName\` expected a string, but received: ${y.webpackChunkName}.`,t.loc))}else{f=y.webpackChunkName}}if(y.webpackMode!==undefined){if(typeof y.webpackMode!=="string"){e.state.module.addWarning(new s(`\`webpackMode\` expected a string, but received: ${y.webpackMode}.`,t.loc))}else{p=y.webpackMode}}if(y.webpackPrefetch!==undefined){if(y.webpackPrefetch===true){g.prefetchOrder=0}else if(typeof y.webpackPrefetch==="number"){g.prefetchOrder=y.webpackPrefetch}else{e.state.module.addWarning(new s(`\`webpackPrefetch\` expected true or a number, but received: ${y.webpackPrefetch}.`,t.loc))}}if(y.webpackPreload!==undefined){if(y.webpackPreload===true){g.preloadOrder=0}else if(typeof y.webpackPreload==="number"){g.preloadOrder=y.webpackPreload}else{e.state.module.addWarning(new s(`\`webpackPreload\` expected true or a number, but received: ${y.webpackPreload}.`,t.loc))}}if(y.webpackInclude!==undefined){if(!y.webpackInclude||y.webpackInclude.constructor.name!=="RegExp"){e.state.module.addWarning(new s(`\`webpackInclude\` expected a regular expression, but received: ${y.webpackInclude}.`,t.loc))}else{d=new RegExp(y.webpackInclude)}}if(y.webpackExclude!==undefined){if(!y.webpackExclude||y.webpackExclude.constructor.name!=="RegExp"){e.state.module.addWarning(new s(`\`webpackExclude\` expected a regular expression, but received: ${y.webpackExclude}.`,t.loc))}else{h=new RegExp(y.webpackExclude)}}if(y.webpackExports!==undefined){if(!(typeof y.webpackExports==="string"||Array.isArray(y.webpackExports)&&y.webpackExports.every(e=>typeof e==="string"))){e.state.module.addWarning(new s(`\`webpackExports\` expected a string or an array of strings, but received: ${y.webpackExports}.`,t.loc))}else{if(typeof y.webpackExports==="string"){m=[[y.webpackExports]]}else{m=Array.from(y.webpackExports,e=>[e])}}}}if(n.isString()){if(p!=="lazy"&&p!=="eager"&&p!=="weak"){e.state.module.addWarning(new s(`\`webpackMode\` expected 'lazy', 'eager' or 'weak', but received: ${p}.`,t.loc))}if(p==="eager"){const r=new u(n.string,t.range,m);e.state.current.addDependency(r)}else if(p==="weak"){const r=new l(n.string,t.range,m);e.state.current.addDependency(r)}else{const i=new r({...g,name:f},t.loc,n.string);const s=new c(n.string,t.range,m);s.loc=t.loc;i.addDependency(s);e.state.current.addBlock(i)}return true}else{if(p!=="lazy"&&p!=="lazy-once"&&p!=="eager"&&p!=="weak"){e.state.module.addWarning(new s(`\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${p}.`,t.loc));p="lazy"}if(p==="weak"){p="async-weak"}const r=o.create(a,t.range,n,t,this.options,{chunkName:f,groupOptions:g,include:d,exclude:h,mode:p,namespaceObject:e.state.module.buildMeta.strictHarmonyModule?"strict":true,category:"esm",referencedExports:m},e);if(!r)return;r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}})}}e.exports=ImportParserPlugin},54975:(e,t,n)=>{"use strict";const r=n(4828);const i=n(20013);const s=n(75708);const o=n(81467);const a=n(12849);class ImportPlugin{constructor(e){this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("ImportPlugin",(e,{contextModuleFactory:n,normalModuleFactory:c})=>{e.dependencyFactories.set(i,c);e.dependencyTemplates.set(i,new i.Template);e.dependencyFactories.set(s,c);e.dependencyTemplates.set(s,new s.Template);e.dependencyFactories.set(a,c);e.dependencyTemplates.set(a,new a.Template);e.dependencyFactories.set(r,n);e.dependencyTemplates.set(r,new r.Template);const u=(e,n)=>{if(n.import!==undefined&&!n.import)return;new o(t).apply(e)};c.hooks.parser.for("javascript/auto").tap("ImportPlugin",u);c.hooks.parser.for("javascript/dynamic").tap("ImportPlugin",u);c.hooks.parser.for("javascript/esm").tap("ImportPlugin",u)})}}e.exports=ImportPlugin},12849:(e,t,n)=>{"use strict";const r=n(56202);const i=n(20013);class ImportWeakDependency extends i{constructor(e,t,n){super(e,t,n);this.weak=true}get type(){return"import() weak"}}r(ImportWeakDependency,"webpack/lib/dependencies/ImportWeakDependency");ImportWeakDependency.Template=class ImportDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n,module:r,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const c=n.moduleNamespacePromise({chunkGraph:s,module:i.getModule(a),request:a.request,strict:r.buildMeta.strictHarmonyModule,message:"import() weak",weak:true,runtimeRequirements:o});t.replace(a.range[0],a.range[1]-1,c)}};e.exports=ImportWeakDependency},38895:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);const s=e=>{if(e&&typeof e==="object"){if(Array.isArray(e)){return e.map((e,t)=>{return{name:`${t}`,canMangle:true,exports:s(e)}})}else{const t=[];for(const n of Object.keys(e)){t.push({name:n,canMangle:true,exports:s(e[n])})}return t}}return undefined};class JsonExportsDependency extends i{constructor(e){super();this.exports=e}get type(){return"json exports"}getExports(e){return{exports:this.exports,dependencies:undefined}}updateHash(e,t){e.update(this.exports?JSON.stringify(this.exports):"undefined");super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.exports);super.serialize(e)}deserialize(e){const{read:t}=e;this.exports=t();super.deserialize(e)}}r(JsonExportsDependency,"webpack/lib/dependencies/JsonExportsDependency");e.exports=JsonExportsDependency;e.exports.getExportsFromData=s},32876:(e,t,n)=>{"use strict";const r=n(79983);class LoaderDependency extends r{constructor(e){super(e)}get type(){return"loader"}get category(){return"loader"}}e.exports=LoaderDependency},2451:(e,t,n)=>{"use strict";const r=n(53520);const i=n(32876);class LoaderPlugin{apply(e){e.hooks.compilation.tap("LoaderPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t)});e.hooks.compilation.tap("LoaderPlugin",e=>{const t=e.moduleGraph;r.getCompilationHooks(e).loader.tap("LoaderPlugin",n=>{n.loadModule=((r,s)=>{const o=new i(r);o.loc={name:r};const a=e.dependencyFactories.get(o.constructor);if(a===undefined){return s(new Error(`No module factory available for dependency type: ${o.constructor.name}`))}e.buildQueue.increaseParallelism();e.handleModuleCreation({factory:a,dependencies:[o],originModule:n._module,context:n.context,recursive:false},r=>{e.buildQueue.decreaseParallelism();if(r){return s(r)}const i=t.getModule(o);if(!i){return s(new Error("Cannot load the module"))}const a=i.originalSource();if(!a){throw new Error("The module created for a LoaderDependency must have an original source")}let c,u;if(a.sourceAndMap){const e=a.sourceAndMap();u=e.map;c=e.source}else{u=a.map();c=a.source()}if(i.buildInfo.fileDependencies){for(const e of i.buildInfo.fileDependencies){n.addDependency(e)}}if(i.buildInfo.contextDependencies){for(const e of i.buildInfo.contextDependencies){n.addContextDependency(e)}}return s(null,c,u,i)})})})})}}e.exports=LoaderPlugin},77230:(e,t,n)=>{"use strict";const r=n(56202);class LocalModule{constructor(e,t){this.name=e;this.idx=t;this.used=false}flagUsed(){this.used=true}variableName(){return"__WEBPACK_LOCAL_MODULE_"+this.idx+"__"}serialize(e){const{write:t}=e;t(this.name);t(this.idx);t(this.used)}deserialize(e){const{read:t}=e;this.name=t();this.idx=t();this.used=t()}}r(LocalModule,"webpack/lib/dependencies/LocalModule");e.exports=LocalModule},14229:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class LocalModuleDependency extends i{constructor(e,t,n){super();this.localModule=e;this.range=t;this.callNew=n}serialize(e){const{write:t}=e;t(this.localModule);t(this.range);t(this.callNew);super.serialize(e)}deserialize(e){const{read:t}=e;this.localModule=t();this.range=t();this.callNew=t();super.deserialize(e)}}r(LocalModuleDependency,"webpack/lib/dependencies/LocalModuleDependency");LocalModuleDependency.Template=class LocalModuleDependencyTemplate extends i.Template{apply(e,t,n){const r=e;if(!r.range)return;const i=r.callNew?`new (function () { return ${r.localModule.variableName()}; })()`:r.localModule.variableName();t.replace(r.range[0],r.range[1]-1,i)}};e.exports=LocalModuleDependency},61701:(e,t,n)=>{"use strict";const r=n(77230);const i=(e,t)=>{if(t.charAt(0)!==".")return t;var n=e.split("/");var r=t.split("/");n.pop();for(let e=0;e{if(!e.localModules){e.localModules=[]}const n=new r(t,e.localModules.length);e.localModules.push(n);return n});t.getLocalModule=((e,t,n)=>{if(!e.localModules)return null;if(n){t=i(n,t)}for(let n=0;n{"use strict";const r=n(28706);const i=n(63272);const s=n(76150);const o=n(56202);const a=n(12197);class ModuleDecoratorDependency extends a{constructor(e,t){super();this.decorator=e;this.allowExportsAccess=t}get type(){return"module decorator"}get category(){return"self"}getResourceIdentifier(){return`self`}getReferencedExports(e,t){return this.allowExportsAccess?r.EXPORTS_OBJECT_REFERENCED:r.NO_EXPORTS_REFERENCED}updateHash(e,t){super.updateHash(e,t);e.update(this.decorator);e.update(`${this.allowExportsAccess}`)}serialize(e){const{write:t}=e;t(this.decorator);t(this.allowExportsAccess);super.serialize(e)}deserialize(e){const{read:t}=e;this.decorator=t();this.allowExportsAccess=t();super.deserialize(e)}}o(ModuleDecoratorDependency,"webpack/lib/dependencies/ModuleDecoratorDependency");ModuleDecoratorDependency.Template=class ModuleDecoratorDependencyTemplate extends a.Template{apply(e,t,{module:n,chunkGraph:r,initFragments:o,runtimeRequirements:a}){const c=e;a.add(s.moduleLoaded);a.add(s.moduleId);a.add(s.module);a.add(c.decorator);o.push(new i(`/* module decorator */ ${n.moduleArgument} = ${c.decorator}(${n.moduleArgument});\n`,i.STAGE_PROVIDES,0,`module decorator ${r.getModuleId(n)}`))}};e.exports=ModuleDecoratorDependency},79983:(e,t,n)=>{"use strict";const r=n(28706);const i=n(84304);class ModuleDependency extends r{constructor(e){super();this.request=e;this.userRequest=e;this.range=undefined}getResourceIdentifier(){return`module${this.request}`}serialize(e){const{write:t}=e;t(this.request);t(this.userRequest);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.request=t();this.userRequest=t();this.range=t();super.deserialize(e)}}ModuleDependency.Template=i;e.exports=ModuleDependency},80791:(e,t,n)=>{"use strict";const r=n(79983);class ModuleDependencyTemplateAsId extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i}){const s=e;if(!s.range)return;const o=n.moduleId({module:r.getModule(s),chunkGraph:i,request:s.request,weak:s.weak});t.replace(s.range[0],s.range[1]-1,o)}}e.exports=ModuleDependencyTemplateAsId},87283:(e,t,n)=>{"use strict";const r=n(79983);class ModuleDependencyTemplateAsRequireId extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){const o=e;if(!o.range)return;const a=n.moduleExports({module:r.getModule(o),chunkGraph:i,request:o.request,weak:o.weak,runtimeRequirements:s});t.replace(o.range[0],o.range[1]-1,a)}}e.exports=ModuleDependencyTemplateAsRequireId},21809:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(80791);class ModuleHotAcceptDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"module.hot.accept"}get category(){return"commonjs"}}r(ModuleHotAcceptDependency,"webpack/lib/dependencies/ModuleHotAcceptDependency");ModuleHotAcceptDependency.Template=s;e.exports=ModuleHotAcceptDependency},73158:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(80791);class ModuleHotDeclineDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"module.hot.decline"}get category(){return"commonjs"}}r(ModuleHotDeclineDependency,"webpack/lib/dependencies/ModuleHotDeclineDependency");ModuleHotDeclineDependency.Template=s;e.exports=ModuleHotDeclineDependency},12197:(e,t,n)=>{"use strict";const r=n(28706);const i=n(84304);class NullDependency extends r{get type(){return"null"}updateHash(e,t){}serialize({write:e}){e(this.loc)}deserialize({read:e}){this.loc=e()}}NullDependency.Template=class NullDependencyTemplate extends i{apply(e,t,n){}};e.exports=NullDependency},88281:(e,t,n)=>{"use strict";const r=n(79983);class PrefetchDependency extends r{constructor(e){super(e)}get type(){return"prefetch"}get category(){return"esm"}}e.exports=PrefetchDependency},1335:(e,t,n)=>{"use strict";const r=n(63272);const i=n(56202);const s=n(79983);const o=e=>e!==null&&e.length>0?e.map(e=>`[${JSON.stringify(e)}]`).join(""):"";class ProvidedDependency extends s{constructor(e,t,n,r){super(e);this.identifier=t;this.path=n;this.range=r}get type(){return"provided"}get category(){return"esm"}updateHash(e,t){super.updateHash(e,t);e.update(this.identifier);e.update(this.path?this.path.join(","):"null")}serialize(e){const{write:t}=e;t(this.identifier);t(this.path);super.serialize(e)}deserialize(e){const{read:t}=e;this.identifier=t();this.path=t();super.deserialize(e)}}i(ProvidedDependency,"webpack/lib/dependencies/ProvidedDependency");class ProvidedDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:i,chunkGraph:s,initFragments:a,runtimeRequirements:c}){const u=e;a.push(new r(`/* provided dependency */ var ${u.identifier} = ${n.moduleExports({module:i.getModule(u),chunkGraph:s,request:u.request,runtimeRequirements:c})}${o(u.path)};\n`,r.STAGE_PROVIDES,1,`provided ${u.identifier}`));t.replace(u.range[0],u.range[1]-1,u.identifier)}}ProvidedDependency.Template=ProvidedDependencyTemplate;e.exports=ProvidedDependency},53567:(e,t,n)=>{"use strict";const{UsageState:r}=n(76632);const i=n(56202);const s=n(12197);class PureExpressionDependency extends s{constructor(e){super();this.range=e;this.usedByExports=false}updateHash(e,t){e.update(this.range+"")}serialize(e){const{write:t}=e;t(this.range);t(this.usedByExports);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.usedByExports=t();super.deserialize(e)}}i(PureExpressionDependency,"webpack/lib/dependencies/PureExpressionDependency");PureExpressionDependency.Template=class PureExpressionDependencyTemplate extends s.Template{apply(e,t,{moduleGraph:n,runtime:i}){const s=e;if(s.usedByExports!==false){const e=n.getParentModule(s);const t=n.getExportsInfo(e);for(const e of s.usedByExports){if(t.getUsed(e,i)!==r.Unused){return}}}t.insert(s.range[0],"(/* unused pure expression or super */ null && (");t.insert(s.range[1],"))")}};e.exports=PureExpressionDependency},19204:(e,t,n)=>{"use strict";const r=n(56202);const i=n(400);const s=n(87283);class RequireContextDependency extends i{constructor(e,t){super(e);this.range=t}get type(){return"require.context"}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();super.deserialize(e)}}r(RequireContextDependency,"webpack/lib/dependencies/RequireContextDependency");RequireContextDependency.Template=s;e.exports=RequireContextDependency},38947:(e,t,n)=>{"use strict";const r=n(19204);e.exports=class RequireContextDependencyParserPlugin{apply(e){e.hooks.call.for("require.context").tap("RequireContextDependencyParserPlugin",t=>{let n=/^\.\/.*$/;let i=true;let s="sync";switch(t.arguments.length){case 4:{const n=e.evaluateExpression(t.arguments[3]);if(!n.isString())return;s=n.string}case 3:{const r=e.evaluateExpression(t.arguments[2]);if(!r.isRegExp())return;n=r.regExp}case 2:{const n=e.evaluateExpression(t.arguments[1]);if(!n.isBoolean())return;i=n.bool}case 1:{const o=e.evaluateExpression(t.arguments[0]);if(!o.isString())return;const a=new r({request:o.string,recursive:i,regExp:n,mode:s},t.range);a.loc=t.loc;a.optional=!!e.scope.inTry;e.state.current.addDependency(a);return true}}})}}},67634:(e,t,n)=>{"use strict";const{cachedSetProperty:r}=n(90149);const i=n(90872);const s=n(19204);const o=n(38947);const a={};class RequireContextPlugin{apply(e){e.hooks.compilation.tap("RequireContextPlugin",(t,{contextModuleFactory:n,normalModuleFactory:c})=>{t.dependencyFactories.set(s,n);t.dependencyTemplates.set(s,new s.Template);t.dependencyFactories.set(i,c);const u=(e,t)=>{if(t.requireContext!==undefined&&!t.requireContext)return;(new o).apply(e)};c.hooks.parser.for("javascript/auto").tap("RequireContextPlugin",u);c.hooks.parser.for("javascript/dynamic").tap("RequireContextPlugin",u);n.hooks.alternativeRequests.tap("RequireContextPlugin",(t,n)=>{if(t.length===0)return t;const i=e.resolverFactory.get("normal",r(n.resolveOptions||a,"dependencyType",n.category)).options;let s;if(!i.fullySpecified){s=[];for(const e of t){const{request:t,context:n}=e;for(const e of i.extensions){if(t.endsWith(e)){s.push({context:n,request:t.slice(0,-e.length)})}}if(!i.enforceExtension){s.push(e)}}t=s;s=[];for(const e of t){const{request:t,context:n}=e;for(const e of i.mainFiles){if(t.endsWith(`/${e}`)){s.push({context:n,request:t.slice(0,-e.length)});s.push({context:n,request:t.slice(0,-e.length-1)})}}s.push(e)}t=s}s=[];for(const e of t){let t=false;for(const n of i.modules){if(Array.isArray(n)){for(const r of n){if(e.request.startsWith(`./${r}/`)){s.push({context:e.context,request:e.request.slice(r.length+3)});t=true}}}else{const t=n.replace(/\\/g,"/");const r=e.context.replace(/\\/g,"/")+e.request.slice(1);if(r.startsWith(t)){s.push({context:e.context,request:r.slice(t.length+1)})}}}if(!t){s.push(e)}}return s})})}}e.exports=RequireContextPlugin},15196:(e,t,n)=>{"use strict";const r=n(98221);const i=n(56202);class RequireEnsureDependenciesBlock extends r{constructor(e,t){super(e,t,null)}}i(RequireEnsureDependenciesBlock,"webpack/lib/dependencies/RequireEnsureDependenciesBlock");e.exports=RequireEnsureDependenciesBlock},90616:(e,t,n)=>{"use strict";const r=n(15196);const i=n(15427);const s=n(81058);const o=n(36134);e.exports=class RequireEnsureDependenciesBlockParserPlugin{apply(e){e.hooks.call.for("require.ensure").tap("RequireEnsureDependenciesBlockParserPlugin",t=>{let n=null;let a=null;let c=null;switch(t.arguments.length){case 4:{const r=e.evaluateExpression(t.arguments[3]);if(!r.isString())return;n=r.string}case 3:{a=t.arguments[2];c=o(a);if(!c&&!n){const r=e.evaluateExpression(t.arguments[2]);if(!r.isString())return;n=r.string}}case 2:{const u=e.evaluateExpression(t.arguments[0]);const l=u.isArray()?u.items:[u];const f=t.arguments[1];const p=o(f);if(p){e.walkExpressions(p.expressions)}if(c){e.walkExpressions(c.expressions)}const d=new r(n,t.loc);const h=t.arguments.length===4||!n&&t.arguments.length===3;const m=new i(t.range,t.arguments[1].range,h&&t.arguments[2].range);m.loc=t.loc;d.addDependency(m);const g=e.state.current;e.state.current=d;try{let n=false;e.inScope([],()=>{for(const e of l){if(e.isString()){const n=new s(e.string);n.loc=e.loc||t.loc;d.addDependency(n)}else{n=true}}});if(n){return}if(p){if(p.fn.body.type==="BlockStatement"){e.walkStatement(p.fn.body)}else{e.walkExpression(p.fn.body)}}g.addBlock(d)}finally{e.state.current=g}if(!p){e.walkExpression(f)}if(c){if(c.fn.body.type==="BlockStatement"){e.walkStatement(c.fn.body)}else{e.walkExpression(c.fn.body)}}else if(a){e.walkExpression(a)}return true}}})}}},15427:(e,t,n)=>{"use strict";const r=n(76150);const i=n(56202);const s=n(12197);class RequireEnsureDependency extends s{constructor(e,t,n){super();this.range=e;this.contentRange=t;this.errorHandlerRange=n}get type(){return"require.ensure"}serialize(e){const{write:t}=e;t(this.range);t(this.contentRange);t(this.errorHandlerRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.contentRange=t();this.errorHandlerRange=t();super.deserialize(e)}}i(RequireEnsureDependency,"webpack/lib/dependencies/RequireEnsureDependency");RequireEnsureDependency.Template=class RequireEnsureDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const c=i.getParentBlock(a);const u=n.blockPromise({chunkGraph:s,block:c,message:"require.ensure",runtimeRequirements:o});const l=a.range;const f=a.contentRange;const p=a.errorHandlerRange;t.replace(l[0],f[0]-1,`${u}.then((`);if(p){t.replace(f[1],p[0]-1,").bind(null, __webpack_require__)).catch(");t.replace(p[1],l[1]-1,")")}else{t.replace(f[1],l[1]-1,`).bind(null, __webpack_require__)).catch(${r.uncaughtErrorHandler})`)}}};e.exports=RequireEnsureDependency},81058:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);const s=n(12197);class RequireEnsureItemDependency extends i{constructor(e){super(e)}get type(){return"require.ensure item"}get category(){return"commonjs"}}r(RequireEnsureItemDependency,"webpack/lib/dependencies/RequireEnsureItemDependency");RequireEnsureItemDependency.Template=s.Template;e.exports=RequireEnsureItemDependency},51727:(e,t,n)=>{"use strict";const r=n(15427);const i=n(81058);const s=n(90616);const{evaluateToString:o,toConstantDependency:a}=n(48472);class RequireEnsurePlugin{apply(e){e.hooks.compilation.tap("RequireEnsurePlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t);e.dependencyTemplates.set(i,new i.Template);e.dependencyTemplates.set(r,new r.Template);const n=(e,t)=>{if(t.requireEnsure!==undefined&&!t.requireEnsure)return;(new s).apply(e);e.hooks.evaluateTypeof.for("require.ensure").tap("RequireEnsurePlugin",o("function"));e.hooks.typeof.for("require.ensure").tap("RequireEnsurePlugin",a(e,JSON.stringify("function")))};t.hooks.parser.for("javascript/auto").tap("RequireEnsurePlugin",n);t.hooks.parser.for("javascript/dynamic").tap("RequireEnsurePlugin",n)})}}e.exports=RequireEnsurePlugin},70340:(e,t,n)=>{"use strict";const r=n(76150);const i=n(56202);const s=n(12197);class RequireHeaderDependency extends s{constructor(e){super();if(!Array.isArray(e))throw new Error("range must be valid");this.range=e}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}static deserialize(e){const t=new RequireHeaderDependency(e.read());t.deserialize(e);return t}}i(RequireHeaderDependency,"webpack/lib/dependencies/RequireHeaderDependency");RequireHeaderDependency.Template=class RequireHeaderDependencyTemplate extends s.Template{apply(e,t,{runtimeRequirements:n}){const i=e;n.add(r.require);t.replace(i.range[0],i.range[1]-1,"__webpack_require__")}};e.exports=RequireHeaderDependency},63556:(e,t,n)=>{"use strict";const r=n(28706);const i=n(58159);const s=n(56202);const o=n(79983);class RequireIncludeDependency extends o{constructor(e,t){super(e);this.range=t}getReferencedExports(e,t){return r.NO_EXPORTS_REFERENCED}get type(){return"require.include"}get category(){return"commonjs"}}s(RequireIncludeDependency,"webpack/lib/dependencies/RequireIncludeDependency");RequireIncludeDependency.Template=class RequireIncludeDependencyTemplate extends o.Template{apply(e,t,{runtimeTemplate:n}){const r=e;const s=n.outputOptions.pathinfo?i.toComment(`require.include ${n.requestShortener.shorten(r.request)}`):"";t.replace(r.range[0],r.range[1]-1,`undefined${s}`)}};e.exports=RequireIncludeDependency},1913:(e,t,n)=>{"use strict";const r=n(81627);const{evaluateToString:i,toConstantDependency:s}=n(48472);const o=n(56202);const a=n(63556);e.exports=class RequireIncludeDependencyParserPlugin{constructor(e){this.warn=e}apply(e){const{warn:t}=this;e.hooks.call.for("require.include").tap("RequireIncludeDependencyParserPlugin",n=>{if(n.arguments.length!==1)return;const r=e.evaluateExpression(n.arguments[0]);if(!r.isString())return;if(t){e.state.module.addWarning(new RequireIncludeDeprecationWarning(n.loc))}const i=new a(r.string,n.range);i.loc=n.loc;e.state.current.addDependency(i);return true});e.hooks.evaluateTypeof.for("require.include").tap("RequireIncludePlugin",n=>{if(t){e.state.module.addWarning(new RequireIncludeDeprecationWarning(n.loc))}return i("function")(n)});e.hooks.typeof.for("require.include").tap("RequireIncludePlugin",n=>{if(t){e.state.module.addWarning(new RequireIncludeDeprecationWarning(n.loc))}return s(e,JSON.stringify("function"))(n)})}};class RequireIncludeDeprecationWarning extends r{constructor(e){super("require.include() is deprecated and will be removed soon.");this.name="RequireIncludeDeprecationWarning";this.loc=e;Error.captureStackTrace(this,this.constructor)}}o(RequireIncludeDeprecationWarning,"webpack/lib/dependencies/RequireIncludeDependencyParserPlugin","RequireIncludeDeprecationWarning")},3085:(e,t,n)=>{"use strict";const r=n(63556);const i=n(1913);class RequireIncludePlugin{apply(e){e.hooks.compilation.tap("RequireIncludePlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(r,t);e.dependencyTemplates.set(r,new r.Template);const n=(e,t)=>{if(t.requireInclude===false)return;const n=t.requireInclude===undefined;new i(n).apply(e)};t.hooks.parser.for("javascript/auto").tap("RequireIncludePlugin",n);t.hooks.parser.for("javascript/dynamic").tap("RequireIncludePlugin",n)})}}e.exports=RequireIncludePlugin},84817:(e,t,n)=>{"use strict";const r=n(56202);const i=n(400);const s=n(94148);class RequireResolveContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return"amd require context"}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(RequireResolveContextDependency,"webpack/lib/dependencies/RequireResolveContextDependency");RequireResolveContextDependency.Template=s;e.exports=RequireResolveContextDependency},76913:(e,t,n)=>{"use strict";const r=n(28706);const i=n(56202);const s=n(79983);const o=n(80791);class RequireResolveDependency extends s{constructor(e,t){super(e);this.range=t}get type(){return"require.resolve"}get category(){return"commonjs"}getReferencedExports(e,t){return r.NO_EXPORTS_REFERENCED}}i(RequireResolveDependency,"webpack/lib/dependencies/RequireResolveDependency");RequireResolveDependency.Template=o;e.exports=RequireResolveDependency},23380:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class RequireResolveHeaderDependency extends i{constructor(e){super();if(!Array.isArray(e))throw new Error("range must be valid");this.range=e}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}static deserialize(e){const t=new RequireResolveHeaderDependency(e.read());t.deserialize(e);return t}}r(RequireResolveHeaderDependency,"webpack/lib/dependencies/RequireResolveHeaderDependency");RequireResolveHeaderDependency.Template=class RequireResolveHeaderDependencyTemplate extends i.Template{apply(e,t,n){const r=e;t.replace(r.range[0],r.range[1]-1,"/*require.resolve*/")}applyAsTemplateArgument(e,t,n){n.replace(t.range[0],t.range[1]-1,"/*require.resolve*/")}};e.exports=RequireResolveHeaderDependency},35424:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class RuntimeRequirementsDependency extends i{constructor(e){super();this.runtimeRequirements=new Set(e)}updateHash(e,t){e.update(Array.from(this.runtimeRequirements).join()+"")}serialize(e){const{write:t}=e;t(this.runtimeRequirements);super.serialize(e)}deserialize(e){const{read:t}=e;this.runtimeRequirements=t();super.deserialize(e)}}r(RuntimeRequirementsDependency,"webpack/lib/dependencies/RuntimeRequirementsDependency");RuntimeRequirementsDependency.Template=class RuntimeRequirementsDependencyTemplate extends i.Template{apply(e,t,{runtimeRequirements:n}){const r=e;for(const e of r.runtimeRequirements){n.add(e)}}};e.exports=RuntimeRequirementsDependency},96076:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class StaticExportsDependency extends i{constructor(e,t){super();this.exports=e;this.canMangle=t}get type(){return"static exports"}getExports(e){return{exports:this.exports,canMangle:this.canMangle,dependencies:undefined}}updateHash(e,t){e.update(JSON.stringify(this.exports));if(this.canMangle)e.update("canMangle");super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.exports);t(this.canMangle);super.serialize(e)}deserialize(e){const{read:t}=e;this.exports=t();this.canMangle=t();super.deserialize(e)}}r(StaticExportsDependency,"webpack/lib/dependencies/StaticExportsDependency");e.exports=StaticExportsDependency},62630:(e,t,n)=>{"use strict";const r=n(76150);const i=n(81627);const{evaluateToString:s,expressionIsUnsupported:o,toConstantDependency:a}=n(48472);const c=n(56202);const u=n(66298);const l=n(60125);class SystemPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("SystemPlugin",(e,{normalModuleFactory:t})=>{e.hooks.runtimeRequirementInModule.for(r.system).tap("SystemPlugin",(e,t)=>{t.add(r.requireScope)});e.hooks.runtimeRequirementInTree.for(r.system).tap("SystemPlugin",(t,n)=>{e.addRuntimeModule(t,new l)});const n=(e,t)=>{if(t.system===undefined||!t.system){return}const n=t=>{e.hooks.evaluateTypeof.for(t).tap("SystemPlugin",s("undefined"));e.hooks.expression.for(t).tap("SystemPlugin",o(e,t+" is not supported by webpack."))};e.hooks.typeof.for("System.import").tap("SystemPlugin",a(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for("System.import").tap("SystemPlugin",s("function"));e.hooks.typeof.for("System").tap("SystemPlugin",a(e,JSON.stringify("object")));e.hooks.evaluateTypeof.for("System").tap("SystemPlugin",s("object"));n("System.set");n("System.get");n("System.register");e.hooks.expression.for("System").tap("SystemPlugin",t=>{const n=new u(r.system,t.range,[r.system]);n.loc=t.loc;e.state.module.addPresentationalDependency(n);return true});e.hooks.call.for("System.import").tap("SystemPlugin",t=>{e.state.module.addWarning(new SystemImportDeprecationWarning(t.loc));return e.hooks.importCall.call({type:"ImportExpression",source:t.arguments[0],loc:t.loc,range:t.range})})};t.hooks.parser.for("javascript/auto").tap("SystemPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("SystemPlugin",n)})}}class SystemImportDeprecationWarning extends i{constructor(e){super("System.import() is deprecated and will be removed soon. Use import() instead.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="SystemImportDeprecationWarning";this.loc=e;Error.captureStackTrace(this,this.constructor)}}c(SystemImportDeprecationWarning,"webpack/lib/dependencies/SystemPlugin","SystemImportDeprecationWarning");e.exports=SystemPlugin;e.exports.SystemImportDeprecationWarning=SystemImportDeprecationWarning},60125:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class SystemRuntimeModule extends i{constructor(){super("system")}generate(){return s.asString([`${r.system} = {`,s.indent(["import: function () {",s.indent("throw new Error('System.import cannot be used indirectly');"),"}"]),"};"])}}e.exports=SystemRuntimeModule},12584:(e,t,n)=>{"use strict";const r=n(56202);const i=n(12197);class UnsupportedDependency extends i{constructor(e,t){super();this.request=e;this.range=t}serialize(e){const{write:t}=e;t(this.request);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.request=t();this.range=t();super.deserialize(e)}}r(UnsupportedDependency,"webpack/lib/dependencies/UnsupportedDependency");UnsupportedDependency.Template=class UnsupportedDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n}){const r=e;t.replace(r.range[0],r.range[1],n.missingModule({request:r.request}))}};e.exports=UnsupportedDependency},30697:(e,t,n)=>{"use strict";const r=n(56202);const i=n(79983);class WebAssemblyExportImportedDependency extends i{constructor(e,t,n,r){super(t);this.exportName=e;this.name=n;this.valueType=r}getReferencedExports(e,t){return[[this.name]]}get type(){return"wasm export import"}get category(){return"wasm"}serialize(e){const{write:t}=e;t(this.exportName);t(this.name);t(this.valueType);super.serialize(e)}deserialize(e){const{read:t}=e;this.exportName=t();this.name=t();this.valueType=t();super.deserialize(e)}}r(WebAssemblyExportImportedDependency,"webpack/lib/dependencies/WebAssemblyExportImportedDependency");e.exports=WebAssemblyExportImportedDependency},33081:(e,t,n)=>{"use strict";const r=n(56202);const i=n(87132);const s=n(79983);class WebAssemblyImportDependency extends s{constructor(e,t,n,r){super(e);this.name=t;this.description=n;this.onlyDirectImport=r}get type(){return"wasm import"}get category(){return"wasm"}getReferencedExports(e,t){return[[this.name]]}getErrors(e){const t=e.getModule(this);if(this.onlyDirectImport&&t&&!t.type.startsWith("webassembly")){return[new i(`Import "${this.name}" from "${this.request}" with ${this.onlyDirectImport} can only be used for direct wasm to wasm dependencies`)]}}serialize(e){const{write:t}=e;t(this.name);t(this.description);t(this.onlyDirectImport);super.serialize(e)}deserialize(e){const{read:t}=e;this.name=t();this.description=t();this.onlyDirectImport=t();super.deserialize(e)}}r(WebAssemblyImportDependency,"webpack/lib/dependencies/WebAssemblyImportDependency");e.exports=WebAssemblyImportDependency},36134:e=>{"use strict";e.exports=(e=>{if(e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"){return{fn:e,expressions:[],needThis:false}}if(e.type==="CallExpression"&&e.callee.type==="MemberExpression"&&e.callee.object.type==="FunctionExpression"&&e.callee.property.type==="Identifier"&&e.callee.property.name==="bind"&&e.arguments.length===1){return{fn:e.callee.object,expressions:[e.arguments[0]],needThis:undefined}}if(e.type==="CallExpression"&&e.callee.type==="FunctionExpression"&&e.callee.body.type==="BlockStatement"&&e.arguments.length===1&&e.arguments[0].type==="ThisExpression"&&e.callee.body.body&&e.callee.body.body.length===1&&e.callee.body.body[0].type==="ReturnStatement"&&e.callee.body.body[0].argument&&e.callee.body.body[0].argument.type==="FunctionExpression"){return{fn:e.callee.body.body[0].argument,expressions:[],needThis:true}}})},18971:(e,t,n)=>{"use strict";const{UsageState:r}=n(76632);const i=(e,t,n,s,o=false,a=new Set)=>{if(!s){t.push(n);return}const c=s.getUsed(e);if(c===r.Unused)return;if(a.has(s)){t.push(n);return}a.add(s);if(c!==r.OnlyPropertiesUsed||!s.exportsInfo||s.exportsInfo.otherExportsInfo.getUsed(e)!==r.Unused){a.delete(s);t.push(n);return}const u=s.exportsInfo;for(const r of u.orderedExports){i(e,t,o&&r.name==="default"?n:n.concat(r.name),r,false,a)}a.delete(s)};e.exports=i},25726:(e,t,n)=>{"use strict";const r=n(61050);class ElectronTargetPlugin{constructor(e){this._main=e}apply(e){new r("commonjs",this._main?["app","auto-updater","browser-window","clipboard","content-tracing","crash-reporter","dialog","electron","global-shortcut","ipc","ipc-main","menu","menu-item","native-image","original-fs","power-monitor","power-save-blocker","protocol","screen","session","shell","tray","web-contents"]:["clipboard","crash-reporter","desktop-capturer","electron","ipc","ipc-renderer","native-image","original-fs","remote","screen","shell","web-frame"]).apply(e)}}e.exports=ElectronTargetPlugin},44547:(e,t,n)=>{"use strict";const r=n(81627);class BuildCycleError extends r{constructor(e){super("There is a circular build dependency, which makes it impossible to create this module");this.name="BuildCycleError";this.module=e;Error.captureStackTrace(this,this.constructor)}}e.exports=BuildCycleError},72380:e=>{"use strict";const t=e=>{if(e&&typeof e==="object"){if("line"in e&&"column"in e){return`${e.line}:${e.column}`}else if("line"in e){return`${e.line}:?`}}return""};const n=e=>{if(e&&typeof e==="object"){if("start"in e&&e.start&&"end"in e&&e.end){if(typeof e.start==="object"&&typeof e.start.line==="number"&&typeof e.end==="object"&&typeof e.end.line==="number"&&typeof e.end.column==="number"&&e.start.line===e.end.line){return`${t(e.start)}-${e.end.column}`}else if(typeof e.start==="object"&&typeof e.start.line==="number"&&typeof e.start.column!=="number"&&typeof e.end==="object"&&typeof e.end.line==="number"&&typeof e.end.column!=="number"){return`${e.start.line}-${e.end.line}`}else{return`${t(e.start)}-${t(e.end)}`}}if("start"in e&&e.start){return t(e.start)}if("name"in e&&"index"in e){return`${e.name}[${e.index}]`}if("name"in e){return e.name}}return""};e.exports=n},49464:e=>{"use strict";var t=undefined;var n=undefined;var r=undefined;var i=undefined;var s=undefined;var o=undefined;var a=undefined;e.exports=function(){var e={};var c=n;var u;var l=[];var f=[];var p="idle";var d;var h;var m;r=e;t.push(function(e){var t=e.module;var n=createRequire(e.require,e.id);t.hot=createModuleHotObject(e.id,t);t.parents=l;t.children=[];l=[];e.require=n});s={};o={};function createRequire(e,t){var n=c[t];if(!n)return e;var r=function(r){if(n.hot.active){if(c[r]){var i=c[r].parents;if(i.indexOf(t)===-1){i.push(t)}}else{l=[t];u=r}if(n.children.indexOf(r)===-1){n.children.push(r)}}else{console.trace("[HMR] unexpected require("+r+") from disposed module "+t);l=[]}return e(r)};var i=function(t){return{configurable:true,enumerable:true,get:function(){return e[t]},set:function(n){e[t]=n}}};for(var s in e){if(Object.prototype.hasOwnProperty.call(e,s)&&s!=="e"){Object.defineProperty(r,s,i(s))}}r.e=function(t){return trackBlockingPromise(e.e(t))};return r}function createModuleHotObject(t,n){var r={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:false,_selfDeclined:false,_selfInvalidated:false,_disposeHandlers:[],_main:u!==t,_requireSelf:function(){l=n.parents.slice();u=t;a(t)},active:true,accept:function(e,t){if(e===undefined)r._selfAccepted=true;else if(typeof e==="function")r._selfAccepted=e;else if(typeof e==="object"&&e!==null)for(var n=0;n=0)r._disposeHandlers.splice(t,1)},invalidate:function(){this._selfInvalidated=true;switch(p){case"idle":h=[];Object.keys(o).forEach(function(e){o[e](t,h)});setStatus("ready");break;case"ready":Object.keys(o).forEach(function(e){o[e](t,h)});break;case"prepare":case"check":case"dispose":case"apply":(m=m||[]).push(t);break;default:break}},check:hotCheck,apply:hotApply,status:function(e){if(!e)return p;f.push(e)},addStatusHandler:function(e){f.push(e)},removeStatusHandler:function(e){var t=f.indexOf(e);if(t>=0)f.splice(t,1)},data:e[t]};u=undefined;return r}function setStatus(e){p=e;for(var t=0;t0){setStatus("abort");return Promise.resolve().then(function(){throw n[0]})}setStatus("dispose");t.forEach(function(e){if(e.dispose)e.dispose()});setStatus("apply");var r;var i=function(e){if(!r)r=e};var s=[];t.forEach(function(e){if(e.apply){var t=e.apply(i);if(t){for(var n=0;n{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class HotModuleReplacementRuntimeModule extends i{constructor(){super("hot module replacement",5)}generate(){return s.getFunctionContent(n(49464)).replace(/\$getFullHash\$/g,r.getFullHash).replace(/\$interceptModuleExecution\$/g,r.interceptModuleExecution).replace(/\$moduleCache\$/g,r.moduleCache).replace(/\$hmrModuleData\$/g,r.hmrModuleData).replace(/\$hmrDownloadManifest\$/g,r.hmrDownloadManifest).replace(/\$hmrInvalidateModuleHandlers\$/g,r.hmrInvalidateModuleHandlers).replace(/\$hmrDownloadUpdateHandlers\$/g,r.hmrDownloadUpdateHandlers)}}e.exports=HotModuleReplacementRuntimeModule},22215:e=>{"use strict";var t=undefined;var n=undefined;var r=undefined;var i=undefined;var s=undefined;var o=undefined;var a=undefined;var c=undefined;var u=undefined;var l=undefined;e.exports=function(){var e;var f;var p;var d;function applyHandler(n){if(s)delete s.$key$Hmr;e=undefined;function getAffectedModuleEffects(e){var t=[e];var n={};var i=t.map(function(e){return{chain:[e],id:e}});while(i.length>0){var s=i.pop();var o=s.id;var a=s.chain;var c=r[o];if(!c||c.hot._selfAccepted&&!c.hot._selfInvalidated)continue;if(c.hot._selfDeclined){return{type:"self-declined",chain:a,moduleId:o}}if(c.hot._main){return{type:"unaccepted",chain:a,moduleId:o}}for(var u=0;u ")}switch(v.type){case"self-declined":if(n.onDeclined)n.onDeclined(v);if(!n.ignoreDeclined)_=new Error("Aborted because of self decline: "+v.moduleId+w);break;case"declined":if(n.onDeclined)n.onDeclined(v);if(!n.ignoreDeclined)_=new Error("Aborted because of declined dependency: "+v.moduleId+" in "+v.parentId+w);break;case"unaccepted":if(n.onUnaccepted)n.onUnaccepted(v);if(!n.ignoreUnaccepted)_=new Error("Aborted because "+g+" is not accepted"+w);break;case"accepted":if(n.onAccepted)n.onAccepted(v);b=true;break;case"disposed":if(n.onDisposed)n.onDisposed(v);E=true;break;default:throw new Error("Unexception type "+v.type)}if(_){return{error:_}}if(b){h[g]=y;addAllToSet(u,v.outdatedModules);for(g in v.outdatedDependencies){if(o(v.outdatedDependencies,g)){if(!c[g])c[g]=[];addAllToSet(c[g],v.outdatedDependencies[g])}}}if(E){addAllToSet(u,[v.moduleId]);h[g]=m}}}f=undefined;var S=[];for(var k=0;k0){var i=n.pop();var s=r[i];if(!s)continue;var l={};var f=s.hot._disposeHandlers;for(k=0;k=0){d.parents.splice(e,1)}}}var h;for(var m in c){if(o(c,m)){s=r[m];if(s){x=c[m];for(k=0;k=0)s.children.splice(e,1)}}}}},apply:function(e){for(var t in h){if(o(h,t)){i[t]=h[t]}}for(var s=0;s{"use strict";const{find:r}=n(26221);const{compareModulesByPreOrderIndexOrIdentifier:i,compareModulesByPostOrderIndexOrIdentifier:s}=n(68673);class ChunkModuleIdRangePlugin{constructor(e){this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("ChunkModuleIdRangePlugin",e=>{const n=e.moduleGraph;e.hooks.moduleIds.tap("ChunkModuleIdRangePlugin",o=>{const a=e.chunkGraph;const c=r(e.chunks,e=>e.name===t.name);if(!c){throw new Error(`ChunkModuleIdRangePlugin: Chunk with name '${t.name}"' was not found`)}let u;if(t.order){let e;switch(t.order){case"index":case"preOrderIndex":e=i(n);break;case"index2":case"postOrderIndex":e=s(n);break;default:throw new Error("ChunkModuleIdRangePlugin: unexpected value of order")}u=a.getOrderedChunkModules(c,e)}else{u=Array.from(o).filter(e=>{return a.isModuleInChunk(e,c)}).sort(i(n))}let l=t.start||0;for(let e=0;et.end)break}})})}}e.exports=ChunkModuleIdRangePlugin},90444:(e,t,n)=>{"use strict";const{compareChunksNatural:r}=n(68673);const{getFullChunkName:i,getUsedChunkIds:s,assignDeterministicIds:o}=n(30328);class DeterministicChunkIdsPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.compilation.tap("DeterministicChunkIdsPlugin",t=>{t.hooks.chunkIds.tap("DeterministicChunkIdsPlugin",n=>{const a=t.chunkGraph;const c=this.options.context?this.options.context:e.context;const u=this.options.maxLength||3;const l=r(a);const f=s(t);o(Array.from(n).filter(e=>{return e.id===null}),t=>i(t,a,c,e.root),l,(e,t)=>{const n=f.size;f.add(`${t}`);if(n===f.size)return false;e.id=t;e.ids=[t];return true},[Math.pow(10,u)],10,f.size)})})}}e.exports=DeterministicChunkIdsPlugin},35579:(e,t,n)=>{"use strict";const{compareModulesByPreOrderIndexOrIdentifier:r}=n(68673);const{getUsedModuleIds:i,getFullModuleName:s,assignDeterministicIds:o}=n(30328);class DeterministicModuleIdsPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.compilation.tap("DeterministicModuleIdsPlugin",t=>{t.hooks.moduleIds.tap("DeterministicModuleIdsPlugin",n=>{const a=t.chunkGraph;const c=this.options.context?this.options.context:e.context;const u=this.options.maxLength||3;const l=i(t);o(Array.from(n).filter(e=>{if(!e.needId)return false;if(a.getNumberOfModuleChunks(e)===0)return false;return a.getModuleId(e)===null}),t=>s(t,c,e.root),r(t.moduleGraph),(e,t)=>{const n=l.size;l.add(`${t}`);if(n===l.size)return false;a.setModuleId(e,t);return true},[Math.pow(10,u)],10,l.size)})})}}e.exports=DeterministicModuleIdsPlugin},35853:(e,t,n)=>{"use strict";e=n.nmd(e);const r=n(15235);const i=n(1842);const{compareModulesByPreOrderIndexOrIdentifier:s}=n(68673);const o=n(35891);const{getUsedModuleIds:a,getFullModuleName:c}=n(30328);class HashedModuleIdsPlugin{constructor(e={}){r(i,e,{name:"Hashed Module Ids Plugin",baseDataPath:"options"});this.options={context:null,hashFunction:"md4",hashDigest:"base64",hashDigestLength:4,...e}}apply(t){const n=this.options;t.hooks.compilation.tap("HashedModuleIdsPlugin",r=>{r.hooks.moduleIds.tap("HashedModuleIdsPlugin",i=>{const u=r.chunkGraph;const l=this.options.context?this.options.context:t.context;const f=a(r);const p=Array.from(i).filter(t=>{if(!t.needId)return false;if(u.getNumberOfModuleChunks(t)===0)return false;return u.getModuleId(e)===null}).sort(s(r.moduleGraph));for(const e of p){const r=c(e,l,t.root);const i=o(n.hashFunction);i.update(r||"");const s=i.digest(n.hashDigest);let a=n.hashDigestLength;while(f.has(s.substr(0,a)))a++;const p=s.substr(0,a);u.setModuleId(e,p);f.add(p)}})})}}e.exports=HashedModuleIdsPlugin},30328:(e,t,n)=>{"use strict";const r=n(35891);const{makePathsRelative:i}=n(49197);const s=n(12631);const o=(e,t)=>{const n=r("md4");n.update(e);const i=n.digest("hex");return i.substr(0,t)};const a=e=>{if(e.length>21)return e;const t=e.charCodeAt(0);if(t<49){if(t!==45)return e}else if(t>57){return e}if(e===+e+""){return`_${e}`}return e};const c=e=>{return e.replace(/^(\.\.?\/)+/,"").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_")};t.requestToId=c;const u=(e,t)=>{if(e.length<100)return e;return e.slice(0,100-6-t.length)+t+o(e,6)};const l=(e,t,n)=>{return a(e.libIdent({context:t,associatedObjectForCache:n})||"")};t.getShortModuleName=l;const f=(e,t,n,r)=>{const i=p(t,n,r);return`${e}?${o(i,4)}`};t.getLongModuleName=f;const p=(e,t,n)=>{return i(t,e.identifier(),n)};t.getFullModuleName=p;const d=(e,t,n,r,i)=>{const s=t.getChunkRootModules(e);const o=s.map(e=>c(l(e,n,i)));e.idNameHints.sort();const a=Array.from(e.idNameHints).concat(o).join(r);return u(a,r)};t.getShortChunkName=d;const h=(e,t,n,r,i)=>{const s=t.getChunkRootModules(e);const o=s.map(e=>c(l(e,n,i)));const a=s.map(e=>c(f("",e,n,i)));e.idNameHints.sort();const p=Array.from(e.idNameHints).concat(o,a).join(r);return u(p,r)};t.getLongChunkName=h;const m=(e,t,n,r)=>{if(e.name)return e.name;const s=t.getChunkRootModules(e);const o=s.map(e=>i(n,e.identifier(),r));return o.join()};t.getFullChunkName=m;const g=(e,t,n)=>{let r=e.get(t);if(r===undefined){r=[];e.set(t,r)}r.push(n)};const y=e=>{const t=e.chunkGraph;const n=new Set;if(e.usedModuleIds){for(const t of e.usedModuleIds){n.add(t+"")}}for(const r of e.modules){const e=t.getModuleId(r);if(e!==null){n.add(e+"")}}return n};t.getUsedModuleIds=y;const v=e=>{const t=new Set;if(e.usedChunkIds){for(const n of e.usedChunkIds){t.add(n+"")}}for(const n of e.chunks){const e=n.id;if(e!==null){t.add(e+"")}}return t};t.getUsedChunkIds=v;const _=(e,t,n,r,i,s)=>{const o=new Map;for(const n of e){const e=t(n);g(o,e,n)}const a=new Map;for(const[e,t]of o){if(t.length>1||!e){for(const r of t){const t=n(r,e);g(a,t,r)}}else{g(a,e,t[0])}}const c=[];for(const[e,t]of a){if(!e){for(const e of t){c.push(e)}}else if(t.length===1&&!i.has(e)){s(t[0],e);i.add(e)}else{t.sort(r);let n=0;for(const r of t){while(a.has(e+n)&&i.has(e+n))n++;s(r,e+n);i.add(e+n);n++}}}c.sort(r);return c};t.assignNames=_;const b=(e,t,n,r,i=[10],o=10,a=0)=>{e.sort(n);const c=Math.min(Math.ceil(e.length*20)+a,Number.MAX_SAFE_INTEGER);let u=0;let l=i[u];while(l{const n=t.chunkGraph;const r=y(t);let i=0;let s;if(r.size>0){s=(e=>{if(n.getModuleId(e)===null){while(r.has(i+""))i++;n.setModuleId(e,i++)}})}else{s=(e=>{if(n.getModuleId(e)===null){n.setModuleId(e,i++)}})}for(const t of e){s(t)}};t.assignAscendingModuleIds=E;const w=(e,t)=>{const n=v(t);let r=0;if(n.size>0){for(const t of e){if(t.id===null){while(n.has(r+""))r++;t.id=r;t.ids=[r];r++}}}else{for(const t of e){if(t.id===null){t.id=r;t.ids=[r];r++}}}};t.assignAscendingChunkIds=w},64779:(e,t,n)=>{"use strict";const{compareChunksNatural:r}=n(68673);const{getShortChunkName:i,getLongChunkName:s,assignNames:o,getUsedChunkIds:a,assignAscendingChunkIds:c}=n(30328);class NamedChunkIdsPlugin{constructor(e){this.delimiter=e&&e.delimiter||"-";this.context=e&&e.context}apply(e){e.hooks.compilation.tap("NamedChunkIdsPlugin",t=>{t.hooks.chunkIds.tap("NamedChunkIdsPlugin",n=>{const u=t.chunkGraph;const l=this.context?this.context:e.context;const f=this.delimiter;const p=o(Array.from(n).filter(e=>{if(e.name){e.id=e.name;e.ids=[e.name]}return e.id===null}),t=>i(t,u,l,f,e.root),t=>s(t,u,l,f,e.root),r(u),a(t),(e,t)=>{e.id=t;e.ids=[t]});if(p.length>0){c(p,t)}})})}}e.exports=NamedChunkIdsPlugin},9297:(e,t,n)=>{"use strict";const{compareModulesByIdentifier:r}=n(68673);const{getShortModuleName:i,getLongModuleName:s,assignNames:o,getUsedModuleIds:a,assignAscendingModuleIds:c}=n(30328);class NamedModuleIdsPlugin{constructor(e){this.options=e||{}}apply(e){const{root:t}=e;e.hooks.compilation.tap("NamedModuleIdsPlugin",n=>{n.hooks.moduleIds.tap("NamedModuleIdsPlugin",u=>{const l=n.chunkGraph;const f=this.options.context?this.options.context:e.context;const p=o(Array.from(u).filter(e=>{if(!e.needId)return false;if(l.getNumberOfModuleChunks(e)===0)return false;return l.getModuleId(e)===null}),e=>i(e,f,t),(e,n)=>s(n,e,f,t),r,a(n),(e,t)=>l.setModuleId(e,t));if(p.length>0){c(p,n)}})})}}e.exports=NamedModuleIdsPlugin},18298:(e,t,n)=>{"use strict";const{compareChunksNatural:r}=n(68673);const{assignAscendingChunkIds:i}=n(30328);class NaturalChunkIdsPlugin{apply(e){e.hooks.compilation.tap("NaturalChunkIdsPlugin",e=>{e.hooks.chunkIds.tap("NaturalChunkIdsPlugin",t=>{const n=e.chunkGraph;const s=r(n);const o=Array.from(t).sort(s);i(o,e)})})}}e.exports=NaturalChunkIdsPlugin},97781:(e,t,n)=>{"use strict";const{compareModulesByPreOrderIndexOrIdentifier:r}=n(68673);const{assignAscendingModuleIds:i}=n(30328);class NaturalModuleIdsPlugin{apply(e){e.hooks.compilation.tap("NaturalModuleIdsPlugin",e=>{e.hooks.moduleIds.tap("NaturalModuleIdsPlugin",t=>{const n=e.chunkGraph;const s=Array.from(t).filter(e=>e.needId&&n.getNumberOfModuleChunks(e)>0&&n.getModuleId(e)===null).sort(r(e.moduleGraph));i(s,e)})})}}e.exports=NaturalModuleIdsPlugin},86169:(e,t,n)=>{"use strict";const r=n(15235);const i=n(66451);const{compareChunksNatural:s}=n(68673);const{assignAscendingChunkIds:o}=n(30328);class OccurrenceChunkIdsPlugin{constructor(e={}){r(i,e,{name:"Occurrence Order Chunk Ids Plugin",baseDataPath:"options"});this.options=e}apply(e){const t=this.options.prioritiseInitial;e.hooks.compilation.tap("OccurrenceChunkIdsPlugin",e=>{e.hooks.chunkIds.tap("OccurrenceChunkIdsPlugin",n=>{const r=e.chunkGraph;const i=new Map;const a=s(r);for(const e of n){let t=0;for(const n of e.groupsIterable){for(const e of n.parentsIterable){if(e.isInitial())t++}}i.set(e,t)}const c=Array.from(n).sort((e,n)=>{if(t){const t=i.get(e);const r=i.get(n);if(t>r)return-1;if(ts)return-1;if(r{"use strict";const r=n(15235);const i=n(25049);const{compareModulesByPreOrderIndexOrIdentifier:s}=n(68673);const{assignAscendingModuleIds:o}=n(30328);class OccurrenceModuleIdsPlugin{constructor(e={}){r(i,e,{name:"Occurrence Order Module Ids Plugin",baseDataPath:"options"});this.options=e}apply(e){const t=this.options.prioritiseInitial;e.hooks.compilation.tap("OccurrenceModuleIdsPlugin",e=>{const n=e.moduleGraph;e.hooks.moduleIds.tap("OccurrenceModuleIdsPlugin",r=>{const i=e.chunkGraph;const a=Array.from(r).filter(e=>e.needId&&i.getNumberOfModuleChunks(e)>0&&i.getModuleId(e)===null);const c=new Map;const u=new Map;const l=new Map;const f=new Map;for(const e of a){let t=0;let n=0;for(const r of i.getModuleChunksIterable(e)){if(r.canBeInitial())t++;if(i.isEntryModuleInChunk(e,r))n++}l.set(e,t);f.set(e,n)}const p=e=>{let t=0;for(const n of e){if(!n.isActive(undefined))continue;if(!n.originModule)continue;t+=l.get(n.originModule)}return t};const d=e=>{let t=0;for(const n of e){if(!n.isActive(undefined))continue;if(!n.originModule)continue;if(!n.dependency)continue;const e=n.dependency.getNumberOfIdOccurrences();if(e===0)continue;t+=e*i.getNumberOfModuleChunks(n.originModule)}return t};if(t){for(const e of a){const t=p(n.getIncomingConnections(e))+l.get(e)+f.get(e);c.set(e,t)}}for(const e of r){const t=d(n.getIncomingConnections(e))+i.getNumberOfModuleChunks(e)+f.get(e);u.set(e,t)}const h=s(e.moduleGraph);a.sort((e,n)=>{if(t){const t=c.get(e);const r=c.get(n);if(t>r)return-1;if(ti)return-1;if(r{"use strict";const r=n(31669);const i=n(27503);const s=e=>{const t=i(e);const n=(...e)=>{return t()(...e)};return n};const o=(e,t)=>{const n=Object.getOwnPropertyDescriptors(t);for(const t of Object.keys(n)){const r=n[t];if(r.get){const n=r.get;Object.defineProperty(e,t,{configurable:false,enumerable:true,get:i(n)})}else if(typeof r.value==="object"){Object.defineProperty(e,t,{configurable:false,enumerable:true,writable:false,value:o({},r.value)})}else{throw new Error("Exposed values must be either a getter or an nested object")}}return Object.freeze(e)};const a=s(()=>n(2982));e.exports=o(a,{get webpack(){return n(2982)},get validate(){const e=n(33316);const t=n(76518);return n=>e(t,n)},get validateSchema(){const e=n(33316);return e},get version(){return n(61733).i8},get cli(){return n(61634)},get AutomaticPrefetchPlugin(){return n(20383)},get BannerPlugin(){return n(58779)},get Cache(){return n(54725)},get Chunk(){return n(62433)},get ChunkGraph(){return n(45137)},get Compilation(){return n(3080)},get Compiler(){return n(63076)},get ContextExclusionPlugin(){return n(51709)},get ContextReplacementPlugin(){return n(26552)},get DefinePlugin(){return n(24820)},get DelegatedPlugin(){return n(82354)},get Dependency(){return n(28706)},get DllPlugin(){return n(73887)},get DllReferencePlugin(){return n(83515)},get EntryPlugin(){return n(59674)},get EnvironmentPlugin(){return n(64856)},get EvalDevToolModulePlugin(){return n(91331)},get EvalSourceMapDevToolPlugin(){return n(23641)},get ExternalModule(){return n(16734)},get ExternalsPlugin(){return n(61050)},get Generator(){return n(36253)},get HotModuleReplacementPlugin(){return n(79972)},get IgnorePlugin(){return n(69276)},get JavascriptModulesPlugin(){return r.deprecate(()=>n(18161),"webpack.JavascriptModulesPlugin has moved to webpack.javascript.JavascriptModulesPlugin","DEP_WEBPACK_JAVASCRIPT_MODULES_PLUGIN")()},get LibManifestPlugin(){return n(77750)},get LibraryTemplatePlugin(){return r.deprecate(()=>n(43351),"webpack.LibraryTemplatePlugin is deprecated and has been replaced by compilation.outputOptions.library or compilation.addEntry + passing a library option","DEP_WEBPACK_LIBRARY_TEMPLATE_PLUGIN")()},get LoaderOptionsPlugin(){return n(19674)},get LoaderTargetPlugin(){return n(97736)},get Module(){return n(53453)},get ModuleFilenameHelpers(){return n(70354)},get ModuleGraph(){return n(75412)},get NoEmitOnErrorsPlugin(){return n(66962)},get NormalModule(){return n(53520)},get NormalModuleReplacementPlugin(){return n(92234)},get MultiCompiler(){return n(63433)},get Parser(){return n(2172)},get PrefetchPlugin(){return n(13125)},get ProgressPlugin(){return n(52923)},get ProvidePlugin(){return n(40313)},get RuntimeGlobals(){return n(76150)},get RuntimeModule(){return n(66804)},get SingleEntryPlugin(){return r.deprecate(()=>n(59674),"SingleEntryPlugin was renamed to EntryPlugin","DEP_WEBPACK_SINGLE_ENTRY_PLUGIN")()},get SourceMapDevToolPlugin(){return n(2e4)},get Stats(){return n(10140)},get Template(){return n(58159)},get UsageState(){return n(76632).UsageState},get WatchIgnorePlugin(){return n(91265)},get WebpackOptionsApply(){return n(81721)},get WebpackOptionsDefaulter(){return r.deprecate(()=>n(94820),"webpack.WebpackOptionsDefaulter is deprecated and has been replaced by webpack.config.getNormalizedWebpackOptions and webpack.config.applyWebpackOptionsDefaults","DEP_WEBPACK_OPTIONS_DEFAULTER")()},get WebpackOptionsValidationError(){return n(15235).ValidationError},get ValidationError(){return n(15235).ValidationError},cache:{get MemoryCachePlugin(){return n(47786)}},config:{get getNormalizedWebpackOptions(){return n(96590).getNormalizedWebpackOptions},get applyWebpackOptionsDefaults(){return n(54411).applyWebpackOptionsDefaults}},ids:{get ChunkModuleIdRangePlugin(){return n(30484)},get NaturalModuleIdsPlugin(){return n(97781)},get OccurrenceModuleIdsPlugin(){return n(76059)},get NamedModuleIdsPlugin(){return n(9297)},get DeterministicChunkIdsPlugin(){return n(90444)},get DeterministicModuleIdsPlugin(){return n(35579)},get NamedChunkIdsPlugin(){return n(64779)},get OccurrenceChunkIdsPlugin(){return n(86169)},get HashedModuleIdsPlugin(){return n(35853)}},javascript:{get JavascriptModulesPlugin(){return n(18161)}},optimize:{get AggressiveMergingPlugin(){return n(61332)},get AggressiveSplittingPlugin(){return r.deprecate(()=>n(94827),"AggressiveSplittingPlugin is deprecated in favor of SplitChunksPlugin","DEP_WEBPACK_AGGRESSIVE_SPLITTING_PLUGIN")()},get LimitChunkCountPlugin(){return n(92922)},get MinChunkSizePlugin(){return n(52383)},get ModuleConcatenationPlugin(){return n(35442)},get RuntimeChunkPlugin(){return n(4674)},get SideEffectsFlagPlugin(){return n(63410)},get SplitChunksPlugin(){return n(40051)}},runtime:{get LoadScriptRuntimeModule(){return n(67104)}},prefetch:{get ChunkPrefetchPreloadPlugin(){return n(5538)}},web:{get FetchCompileAsyncWasmPlugin(){return n(52687)},get FetchCompileWasmPlugin(){return n(71100)},get JsonpTemplatePlugin(){return n(58421)}},webworker:{get WebWorkerTemplatePlugin(){return n(67439)}},node:{get NodeEnvironmentPlugin(){return n(93632)},get NodeSourcePlugin(){return n(92662)},get NodeTargetPlugin(){return n(84980)},get NodeTemplatePlugin(){return n(91591)},get ReadFileCompileWasmPlugin(){return n(71049)}},electron:{get ElectronTargetPlugin(){return n(25726)}},wasm:{get AsyncWebAssemblyModulesPlugin(){return n(82422)}},library:{get AbstractLibraryPlugin(){return n(9786)},get EnableLibraryPlugin(){return n(13984)}},container:{get ContainerPlugin(){return n(10419)},get ContainerReferencePlugin(){return n(68839)},get ModuleFederationPlugin(){return n(8019)},get scope(){return n(97264).scope}},sharing:{get ConsumeSharedPlugin(){return n(71968)},get ProvideSharedPlugin(){return n(48151)},get SharePlugin(){return n(16471)},get scope(){return n(97264).scope}},debug:{get ProfilingPlugin(){return n(26802)}},util:{get createHash(){return n(35891)},get comparators(){return n(68673)},get serialization(){return n(24568)}},get sources(){return n(48135)},experiments:{schemes:{get HttpUriPlugin(){return n(7201)},get HttpsUriPlugin(){return n(1161)}}}})},87250:e=>{"use strict";const t=0;const n=1;const r=2;const i=3;const s=4;const o=5;const a=6;const c=7;const u=8;const l=9;const f=10;const p=11;const d=12;const h=13;class BasicEvaluatedExpression{constructor(){this.type=t;this.range=undefined;this.falsy=false;this.truthy=false;this.nullish=undefined;this.sideEffects=true;this.bool=undefined;this.number=undefined;this.bigint=undefined;this.regExp=undefined;this.string=undefined;this.quasis=undefined;this.parts=undefined;this.array=undefined;this.items=undefined;this.options=undefined;this.prefix=undefined;this.postfix=undefined;this.wrappedInnerExpressions=undefined;this.identifier=undefined;this.rootInfo=undefined;this.getMembers=undefined;this.expression=undefined}isUnknown(){return this.type===t}isNull(){return this.type===r}isUndefined(){return this.type===n}isString(){return this.type===i}isNumber(){return this.type===s}isBigInt(){return this.type===h}isBoolean(){return this.type===o}isRegExp(){return this.type===a}isConditional(){return this.type===c}isArray(){return this.type===u}isConstArray(){return this.type===l}isIdentifier(){return this.type===f}isWrapped(){return this.type===p}isTemplateString(){return this.type===d}isPrimitiveType(){switch(this.type){case n:case r:case i:case s:case o:case h:case p:case d:return true;case a:case u:case l:return false;default:return undefined}}isCompileTimeValue(){switch(this.type){case n:case r:case i:case s:case o:case a:case l:case h:return true;default:return false}}asCompileTimeValue(){switch(this.type){case n:return undefined;case r:return null;case i:return this.string;case s:return this.number;case o:return this.bool;case a:return this.regExp;case l:return this.array;case h:return this.bigint;default:throw new Error("asCompileTimeValue must only be called for compile-time values")}}isTruthy(){return this.truthy}isFalsy(){return this.falsy}isNullish(){return this.nullish}couldHaveSideEffects(){return this.sideEffects}asBool(){if(this.truthy)return true;if(this.falsy||this.nullish)return false;if(this.isBoolean())return this.bool;if(this.isNull())return false;if(this.isUndefined())return false;if(this.isString())return this.string!=="";if(this.isNumber())return this.number!==0;if(this.isBigInt())return this.bigint!==BigInt(0);if(this.isRegExp())return true;if(this.isArray())return true;if(this.isConstArray())return true;if(this.isWrapped()){return this.prefix&&this.prefix.asBool()||this.postfix&&this.postfix.asBool()?true:undefined}if(this.isTemplateString()){const e=this.asString();if(typeof e==="string")return e!==""}return undefined}asNullish(){const e=this.isNullish();if(e===true||this.isNull()||this.isUndefined())return true;if(e===false)return false;if(this.isTruthy())return false;if(this.isBoolean())return false;if(this.isString())return false;if(this.isNumber())return false;if(this.isBigInt())return false;if(this.isRegExp())return false;if(this.isArray())return false;if(this.isConstArray())return false;if(this.isTemplateString())return false;if(this.isRegExp())return false;return undefined}asString(){if(this.isBoolean())return`${this.bool}`;if(this.isNull())return"null";if(this.isUndefined())return"undefined";if(this.isString())return this.string;if(this.isNumber())return`${this.number}`;if(this.isBigInt())return`${this.bigint}`;if(this.isRegExp())return`${this.regExp}`;if(this.isArray()){let e=[];for(const t of this.items){const n=t.asString();if(n===undefined)return undefined;e.push(n)}return`${e}`}if(this.isConstArray())return`${this.array}`;if(this.isTemplateString()){let e="";for(const t of this.parts){const n=t.asString();if(n===undefined)return undefined;e+=n}return e}return undefined}setString(e){this.type=i;this.string=e;this.sideEffects=false;return this}setUndefined(){this.type=n;this.sideEffects=false;return this}setNull(){this.type=r;this.sideEffects=false;return this}setNumber(e){this.type=s;this.number=e;this.sideEffects=false;return this}setBigInt(e){this.type=h;this.bigint=e;this.sideEffects=false;return this}setBoolean(e){this.type=o;this.bool=e;this.sideEffects=false;return this}setRegExp(e){this.type=a;this.regExp=e;this.sideEffects=false;return this}setIdentifier(e,t,n){this.type=f;this.identifier=e;this.rootInfo=t;this.getMembers=n;this.sideEffects=true;return this}setWrapped(e,t,n){this.type=p;this.prefix=e;this.postfix=t;this.wrappedInnerExpressions=n;this.sideEffects=true;return this}setOptions(e){this.type=c;this.options=e;this.sideEffects=true;return this}addOptions(e){if(!this.options){this.type=c;this.options=[];this.sideEffects=true}for(const t of e){this.options.push(t)}return this}setItems(e){this.type=u;this.items=e;this.sideEffects=e.some(e=>e.couldHaveSideEffects());return this}setArray(e){this.type=l;this.array=e;this.sideEffects=false;return this}setTemplateString(e,t,n){this.type=d;this.quasis=e;this.parts=t;this.templateStringKind=n;this.sideEffects=t.some(e=>e.sideEffects);return this}setTruthy(){this.falsy=false;this.truthy=true;this.nullish=false;return this}setFalsy(){this.falsy=true;this.truthy=false;return this}setNullish(e){this.nullish=e;return this}setRange(e){this.range=e;return this}setSideEffects(e=true){this.sideEffects=e;return this}setExpression(e){this.expression=e;return this}}e.exports=BasicEvaluatedExpression},99371:(e,t,n)=>{"use strict";const r=n(31669);const{RawSource:i,ReplaceSource:s}=n(48135);const o=n(36253);const a=n(63272);const c=r.deprecate((e,t,n)=>e.getInitFragments(t,n),"DependencyTemplate.getInitFragment is deprecated (use apply(dep, source, { initFragments }) instead)","DEP_WEBPACK_JAVASCRIPT_GENERATOR_GET_INIT_FRAGMENTS");const u=new Set(["javascript"]);class JavascriptGenerator extends o{getTypes(e){return u}getSize(e,t){const n=e.originalSource();if(!n){return 39}return n.size()}generate(e,t){const n=e.originalSource();if(!n){return new i("throw new Error('No source available');")}const r=new s(n);const o=[];this.sourceModule(e,o,r,t);return a.addToSource(r,o,t)}sourceModule(e,t,n,r){for(const i of e.dependencies){this.sourceDependency(e,i,t,n,r)}if(e.presentationalDependencies!==undefined){for(const i of e.presentationalDependencies){this.sourceDependency(e,i,t,n,r)}}for(const i of e.blocks){this.sourceBlock(e,i,t,n,r)}}sourceBlock(e,t,n,r,i){for(const s of t.dependencies){this.sourceDependency(e,s,n,r,i)}for(const s of t.blocks){this.sourceBlock(e,s,n,r,i)}}sourceDependency(e,t,n,r,i){const s=t.constructor;const o=i.dependencyTemplates.get(s);if(!o){throw new Error("No template for dependency: "+t.constructor.name)}const a={runtimeTemplate:i.runtimeTemplate,dependencyTemplates:i.dependencyTemplates,moduleGraph:i.moduleGraph,chunkGraph:i.chunkGraph,module:e,runtime:i.runtime,runtimeRequirements:i.runtimeRequirements,initFragments:n};o.apply(t,r,a);if("getInitFragments"in o){const e=c(o,t,a);if(e){for(const t of e){n.push(t)}}}}}e.exports=JavascriptGenerator},18161:(e,t,n)=>{"use strict";const{SyncWaterfallHook:r,SyncHook:i}=n(92960);const{ConcatSource:s,OriginalSource:o,PrefixSource:a,RawSource:c,CachedSource:u}=n(48135);const l=n(3080);const{tryRunOrWebpackError:f}=n(3728);const p=n(22352);const d=n(76150);const h=n(58159);const m=n(14146);const{compareModulesByIdentifier:g}=n(68673);const y=n(35891);const v=n(99371);const _=n(3711);const b=(e,t)=>{for(const n of e){if(t(n))return true}return false};const E=(e,t)=>{if(t.getNumberOfEntryModules(e)>0)return true;return t.getChunkModulesIterableBySourceType(e,"javascript")?true:false};const w=new WeakMap;class JavascriptModulesPlugin{static getCompilationHooks(e){if(!(e instanceof l)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let t=w.get(e);if(t===undefined){t={renderModuleContent:new r(["source","module","renderContext"]),renderModuleContainer:new r(["source","module","renderContext"]),renderModulePackage:new r(["source","module","renderContext"]),render:new r(["source","renderContext"]),renderChunk:new r(["source","renderContext"]),renderMain:new r(["source","renderContext"]),renderRequire:new r(["code","renderContext"]),chunkHash:new i(["chunk","hash","context"])};w.set(e,t)}return t}constructor(e={}){this.options=e;this._moduleFactoryCache=new WeakMap}apply(e){e.hooks.compilation.tap("JavascriptModulesPlugin",(e,{normalModuleFactory:t})=>{const n=JavascriptModulesPlugin.getCompilationHooks(e);t.hooks.createParser.for("javascript/auto").tap("JavascriptModulesPlugin",e=>{return new _(e,"auto")});t.hooks.createParser.for("javascript/dynamic").tap("JavascriptModulesPlugin",e=>{return new _(e,"script")});t.hooks.createParser.for("javascript/esm").tap("JavascriptModulesPlugin",e=>{return new _(e,"module")});t.hooks.createGenerator.for("javascript/auto").tap("JavascriptModulesPlugin",()=>{return new v});t.hooks.createGenerator.for("javascript/dynamic").tap("JavascriptModulesPlugin",()=>{return new v});t.hooks.createGenerator.for("javascript/esm").tap("JavascriptModulesPlugin",()=>{return new v});e.hooks.renderManifest.tap("JavascriptModulesPlugin",(e,t)=>{const{hash:r,chunk:i,chunkGraph:s,moduleGraph:o,runtimeTemplate:a,dependencyTemplates:c,outputOptions:u,codeGenerationResults:l}=t;const f=i instanceof p?i:null;let d;const h=JavascriptModulesPlugin.getChunkFilenameTemplate(i,u);if(f){d=(()=>this.renderChunk({chunk:i,dependencyTemplates:c,runtimeTemplate:a,moduleGraph:o,chunkGraph:s,codeGenerationResults:l},n))}else if(i.hasRuntime()){d=(()=>this.renderMain({hash:r,chunk:i,dependencyTemplates:c,runtimeTemplate:a,moduleGraph:o,chunkGraph:s,codeGenerationResults:l},n))}else{if(!E(i,s)){return e}d=(()=>this.renderChunk({chunk:i,dependencyTemplates:c,runtimeTemplate:a,moduleGraph:o,chunkGraph:s,codeGenerationResults:l},n))}e.push({render:d,filenameTemplate:h,pathOptions:{hash:r,runtime:i.runtime,chunk:i,contentHashType:"javascript"},identifier:f?`hotupdatechunk${i.id}`:`chunk${i.id}`,hash:i.hash});return e});e.hooks.chunkHash.tap("JavascriptModulesPlugin",(e,t,r)=>{n.chunkHash.call(e,t,r);if(e.hasRuntime()){const i=this.renderBootstrap({hash:"0000",chunk:e,chunkGraph:r.chunkGraph,moduleGraph:r.moduleGraph,runtimeTemplate:r.runtimeTemplate},n);for(const e of Object.keys(i)){t.update(e);if(Array.isArray(i[e])){for(const n of i[e]){t.update(n)}}else{t.update(JSON.stringify(i[e]))}}}});e.hooks.contentHash.tap("JavascriptModulesPlugin",t=>{const{chunkGraph:r,moduleGraph:i,runtimeTemplate:s,outputOptions:{hashSalt:o,hashDigest:a,hashDigestLength:c,hashFunction:u}}=e;const l=t instanceof p?t:null;const f=y(u);if(o)f.update(o);f.update(`${t.id} `);f.update(t.ids?t.ids.join(","):"");n.chunkHash.call(t,f,{chunkGraph:r,moduleGraph:i,runtimeTemplate:s});const d=r.getChunkModulesIterableBySourceType(t,"javascript");if(d){const e=new m;for(const n of d){e.add(r.getModuleHash(n,t.runtime))}e.updateHash(f)}const h=r.getChunkModulesIterableBySourceType(t,"runtime");if(h){const e=new m;for(const n of h){e.add(r.getModuleHash(n,t.runtime))}e.updateHash(f)}if(l){f.update(JSON.stringify(l.removedModules))}const g=f.digest(a);t.contentHash.javascript=g.substr(0,c)})})}static getChunkFilenameTemplate(e,t){if(e.filenameTemplate){return e.filenameTemplate}else if(e instanceof p){return t.hotUpdateChunkFilename}else if(e.hasRuntime()||e.isOnlyInitial()){return t.filename}else{return t.chunkFilename}}renderModule(e,t,n,r){const{chunk:i,chunkGraph:o,runtimeTemplate:a,codeGenerationResults:c}=t;try{const l=c.getSource(e,i.runtime,"javascript");if(!l)return null;const p=f(()=>n.renderModuleContent.call(l,e,t),"JavascriptModulesPlugin.getCompilationHooks().renderModuleContent");let h;if(r){const c=o.getModuleRuntimeRequirements(e,i.runtime);const l=c.has(d.module);const m=c.has(d.exports);const g=c.has(d.require)||c.has(d.requireScope);const y=c.has(d.thisAsExports);const v=e.buildInfo.strict&&r!=="strict";const _=this._moduleFactoryCache.get(p);let b;if(_&&_.needModule===l&&_.needExports===m&&_.needRequire===g&&_.needThisAsExports===y&&_.needStrict===v){b=_.source}else{const t=new s;const n=[];if(m||g||l)n.push(l?e.moduleArgument:"__unused_webpack_"+e.moduleArgument);if(m||g)n.push(m?e.exportsArgument:"__unused_webpack_"+e.exportsArgument);if(g)n.push("__webpack_require__");if(!y&&a.supportsArrowFunction()){t.add("/***/ (("+n.join(", ")+") => {\n\n")}else{t.add("/***/ (function("+n.join(", ")+") {\n\n")}if(v){t.add('"use strict";\n')}t.add(p);t.add("\n\n/***/ })");b=new u(t);this._moduleFactoryCache.set(p,{source:b,needModule:l,needExports:m,needRequire:g,needThisAsExports:y,needStrict:v})}h=f(()=>n.renderModuleContainer.call(b,e,t),"JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer")}else{h=p}return f(()=>n.renderModulePackage.call(h,e,t),"JavascriptModulesPlugin.getCompilationHooks().renderModulePackage")}catch(t){t.module=e;throw t}}renderChunk(e,t){const{chunk:n,chunkGraph:r}=e;const i=r.getOrderedChunkModulesIterableBySourceType(n,"javascript",g);const o=h.renderChunkModules(e,i?Array.from(i):[],n=>this.renderModule(n,e,t,true))||new c("{}");let a=f(()=>t.renderChunk.call(o,e),"JavascriptModulesPlugin.getCompilationHooks().renderChunk");a=f(()=>t.render.call(a,e),"JavascriptModulesPlugin.getCompilationHooks().render");n.rendered=true;return new s(a,";")}renderMain(e,t){const{chunk:n,chunkGraph:r,runtimeTemplate:i}=e;const c=r.getTreeRuntimeRequirements(n);const u=i.isIIFE();const l=this.renderBootstrap(e,t);const p=Array.from(r.getOrderedChunkModulesIterableBySourceType(n,"javascript",g)||[]);const m=p.every(e=>e.buildInfo.strict);let y;if(l.allowInlineStartup){y=new Set(r.getChunkEntryModulesIterable(n))}let v=new s;let _;if(u){if(i.supportsArrowFunction()){v.add("/******/ (() => { // webpackBootstrap\n")}else{v.add("/******/ (function() { // webpackBootstrap\n")}_="/******/ \t"}else{_="/******/ "}if(m){v.add(_+'"use strict";\n')}const b=h.renderChunkModules(e,y?p.filter(e=>!y.has(e)):p,n=>this.renderModule(n,e,t,m?"strict":true),_);if(b||c.has(d.moduleFactories)||c.has(d.moduleFactoriesAddOnly)){v.add(_+"var __webpack_modules__ = (");v.add(b||"{}");v.add(");\n");v.add("/************************************************************************/\n")}if(l.header.length>0){v.add(new a(_,new o(h.asString(l.header)+"\n","webpack/bootstrap")));v.add("/************************************************************************/\n")}const E=e.chunkGraph.getChunkRuntimeModulesInOrder(n);if(E.length>0){v.add(new a(_,h.renderRuntimeModules(E,e)));v.add("/************************************************************************/\n")}if(y){for(const n of y){const r=this.renderModule(n,e,t,false);if(r){const e=!m&&n.buildInfo.strict;const t=e||y.size>1||b;if(t){if(i.supportsArrowFunction()){v.add("(() => {\n");if(e)v.add('"use strict";\n');v.add(r);v.add("\n})();\n\n")}else{v.add("!function() {\n");if(e)v.add('"use strict";\n');v.add(r);v.add("\n}();\n")}}else{v.add(r);v.add("\n")}}}}else{v.add(new a(_,new o(h.asString(l.startup)+"\n","webpack/startup")))}if(u){v.add("/******/ })()\n")}let w=f(()=>t.renderMain.call(v,e),"JavascriptModulesPlugin.getCompilationHooks().renderMain");if(!w){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderMain plugins should return something")}w=f(()=>t.render.call(w,e),"JavascriptModulesPlugin.getCompilationHooks().render");if(!w){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().render plugins should return something")}n.rendered=true;return u?new s(w,";"):w}renderBootstrap(e,t){const{chunkGraph:n,moduleGraph:r,chunk:i,runtimeTemplate:s}=e;const o=n.getTreeRuntimeRequirements(i);const a=o.has(d.require);const c=o.has(d.moduleCache);const u=o.has(d.moduleFactories);const l=o.has(d.module);const f=o.has(d.exports);const p=o.has(d.requireScope);const m=o.has(d.interceptModuleExecution);const g=o.has(d.returnExportsFromRuntime);const y=a||m||g||l||f;const v={header:[],startup:[],allowInlineStartup:true};let _=v.header;let E=v.startup;if(v.allowInlineStartup&&u){E.push("// module factories are used so entry inlining is disabled");v.allowInlineStartup=false}if(v.allowInlineStartup&&c){E.push("// module cache are used so entry inlining is disabled");v.allowInlineStartup=false}if(v.allowInlineStartup&&m){E.push("// module execution is intercepted so entry inlining is disabled");v.allowInlineStartup=false}if(v.allowInlineStartup&&g){E.push("// module exports must be returned from runtime so entry inlining is disabled");v.allowInlineStartup=false}if(y||c){_.push("// The module cache");_.push("var __webpack_module_cache__ = {};");_.push("")}if(y){_.push("// The require function");_.push(`function __webpack_require__(moduleId) {`);_.push(h.indent(this.renderRequire(e,t)));_.push("}");_.push("")}else if(o.has(d.requireScope)){_.push("// The require scope");_.push("var __webpack_require__ = {};");_.push("")}if(u||o.has(d.moduleFactoriesAddOnly)){_.push("// expose the modules object (__webpack_modules__)");_.push(`${d.moduleFactories} = __webpack_modules__;`);_.push("")}if(c){_.push("// expose the module cache");_.push(`${d.moduleCache} = __webpack_module_cache__;`);_.push("")}if(m){_.push("// expose the module execution interceptor");_.push(`${d.interceptModuleExecution} = [];`);_.push("")}if(!o.has(d.startupNoDefault)){if(n.getNumberOfEntryModules(i)>0){const e=[];const t=n.getTreeRuntimeRequirements(i);e.push(g?"// Load entry module and return exports":"// Load entry module");let o=n.getNumberOfEntryModules(i);for(const s of n.getChunkEntryModulesIterable(i)){if(v.allowInlineStartup&&b(r.getIncomingConnections(s),e=>e.originModule&&e.isActive(i.runtime))){e.push("// This entry module is referenced by other modules so it can't be inlined");v.allowInlineStartup=false}const a=--o===0&&g?"return ":"";const c=n.getModuleId(s);const u=n.getModuleRuntimeRequirements(s,i.runtime);let l=JSON.stringify(c);if(t.has(d.entryModuleId)){l=`${d.entryModuleId} = ${l}`}if(y){e.push(`${a}__webpack_require__(${l});`);if(v.allowInlineStartup){if(u.has(d.module)){v.allowInlineStartup=false;e.push("// This entry module used 'module' so it can't be inlined")}else if(u.has(d.exports)){e.push("// This entry module used 'exports' so it can't be inlined");v.allowInlineStartup=false}}}else if(p){e.push(`__webpack_modules__[${l}](0, 0, __webpack_require__);`)}else{e.push(`__webpack_modules__[${l}]();`)}}if(t.has(d.startup)){v.allowInlineStartup=false;_.push(h.asString(["// the startup function",`${d.startup} = ${s.basicFunction("",e)};`]));_.push("");E.push("// run startup");E.push(`return ${d.startup}();`)}else{E.push(h.asString(["// startup",h.asString(e)]))}}else if(o.has(d.startup)){_.push(h.asString(["// the startup function","// It's empty as no entry modules are in this chunk",`${d.startup} = ${s.basicFunction("","")}`]));_.push("")}}else if(o.has(d.startup)){v.allowInlineStartup=false;E.push("// run startup");E.push(`return ${d.startup}();`)}return v}renderRequire(e,t){const{chunk:n,chunkGraph:r,runtimeTemplate:{outputOptions:i}}=e;const s=r.getTreeRuntimeRequirements(n);const o=s.has(d.interceptModuleExecution)?h.asString(["var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ };",`${d.interceptModuleExecution}.forEach(function(handler) { handler(execOptions); });`,"module = execOptions.module;","execOptions.factory.call(module.exports, module, module.exports, execOptions.require);"]):s.has(d.thisAsExports)?h.asString(["__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);"]):h.asString(["__webpack_modules__[moduleId](module, module.exports, __webpack_require__);"]);const a=s.has(d.moduleId);const c=s.has(d.moduleLoaded);const u=h.asString(["// Check if module is in cache","if(__webpack_module_cache__[moduleId]) {",h.indent("return __webpack_module_cache__[moduleId].exports;"),"}","// Create a new module (and put it into the cache)","var module = __webpack_module_cache__[moduleId] = {",h.indent([a?"id: moduleId,":"// no module.id needed",c?"loaded: false,":"// no module.loaded needed","exports: {}"]),"};","",i.strictModuleExceptionHandling?h.asString(["// Execute the module function","var threw = true;","try {",h.indent([o,"threw = false;"]),"} finally {",h.indent(["if(threw) delete __webpack_module_cache__[moduleId];"]),"}"]):h.asString(["// Execute the module function",o]),c?h.asString(["","// Flag the module as loaded","module.loaded = true;",""]):"","// Return the exports of the module","return module.exports;"]);return f(()=>t.renderRequire.call(u,e),"JavascriptModulesPlugin.getCompilationHooks().renderRequire")}}e.exports=JavascriptModulesPlugin;e.exports.chunkHasJs=E},3711:(e,t,n)=>{"use strict";const{Parser:r}=n(20976);const{SyncBailHook:i,HookMap:s}=n(92960);const o=n(92184);const a=n(2172);const c=n(80371);const u=n(27503);const l=n(87250);const f=[];const p=r;class VariableInfo{constructor(e,t,n){this.declaredScope=e;this.freeName=t;this.tagInfo=n}}const d=(e,t)=>{if(!t)return e;if(!e)return t;return[e[0],t[1]]};const h=(e,t)=>{let n=e;for(let e=t.length-1;e>=0;e--){n=n+"."+t[e]}return n};const m=e=>{switch(e.type){case"Identifier":return e.name;case"ThisExpression":return"this";case"MetaProperty":return"import.meta";default:return undefined}};const g={ranges:true,locations:true,ecmaVersion:11,sourceType:"module",allowAwaitOutsideFunction:true,onComment:null};const y=new RegExp(/(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/);const v={options:null,errors:null};class JavascriptParser extends a{constructor(e,t="auto"){super();this.hooks=Object.freeze({evaluateTypeof:new s(()=>new i(["expression"])),evaluate:new s(()=>new i(["expression"])),evaluateIdentifier:new s(()=>new i(["expression"])),evaluateDefinedIdentifier:new s(()=>new i(["expression"])),evaluateCallExpressionMember:new s(()=>new i(["expression","param"])),preStatement:new i(["statement"]),blockPreStatement:new i(["declaration"]),statement:new i(["statement"]),statementIf:new i(["statement"]),classExtendsExpression:new i(["expression","statement"]),classBodyElement:new i(["element","statement"]),label:new s(()=>new i(["statement"])),import:new i(["statement","source"]),importSpecifier:new i(["statement","source","exportName","identifierName"]),export:new i(["statement"]),exportImport:new i(["statement","source"]),exportDeclaration:new i(["statement","declaration"]),exportExpression:new i(["statement","declaration"]),exportSpecifier:new i(["statement","identifierName","exportName","index"]),exportImportSpecifier:new i(["statement","source","identifierName","exportName","index"]),preDeclarator:new i(["declarator","statement"]),declarator:new i(["declarator","statement"]),varDeclaration:new s(()=>new i(["declaration"])),varDeclarationLet:new s(()=>new i(["declaration"])),varDeclarationConst:new s(()=>new i(["declaration"])),varDeclarationVar:new s(()=>new i(["declaration"])),pattern:new s(()=>new i(["pattern"])),canRename:new s(()=>new i(["initExpression"])),rename:new s(()=>new i(["initExpression"])),assign:new s(()=>new i(["expression"])),assignMemberChain:new s(()=>new i(["expression","members"])),typeof:new s(()=>new i(["expression"])),importCall:new i(["expression"]),topLevelAwait:new i(["expression"]),call:new s(()=>new i(["expression"])),callMemberChain:new s(()=>new i(["expression","members"])),memberChainOfCallMemberChain:new s(()=>new i(["expression","calleeMembers","callExpression","members"])),callMemberChainOfCallMemberChain:new s(()=>new i(["expression","calleeMembers","innerCallExpression","members"])),optionalChaining:new i(["optionalChaining"]),new:new s(()=>new i(["expression"])),metaProperty:new i(["metaProperty"]),expression:new s(()=>new i(["expression"])),expressionMemberChain:new s(()=>new i(["expression","members"])),unhandledExpressionMemberChain:new s(()=>new i(["expression","members"])),expressionConditionalOperator:new i(["expression"]),expressionLogicalOperator:new i(["expression"]),program:new i(["ast","comments"]),finish:new i(["ast","comments"])});this.options=e;this.sourceType=t;this.scope=undefined;this.state=undefined;this.comments=undefined;this.semicolons=undefined;this.statementPath=undefined;this.prevStatement=undefined;this.currentTagData=undefined;this.initializeEvaluating()}initializeEvaluating(){this.hooks.evaluate.for("Literal").tap("JavascriptParser",e=>{const t=e;switch(typeof t.value){case"number":return(new l).setNumber(t.value).setRange(t.range);case"bigint":return(new l).setBigInt(t.value).setRange(t.range);case"string":return(new l).setString(t.value).setRange(t.range);case"boolean":return(new l).setBoolean(t.value).setRange(t.range)}if(t.value===null){return(new l).setNull().setRange(t.range)}if(t.value instanceof RegExp){return(new l).setRegExp(t.value).setRange(t.range)}});this.hooks.evaluate.for("LogicalExpression").tap("JavascriptParser",e=>{const t=e;const n=this.evaluateExpression(t.left);if(!n)return;if(t.operator==="&&"){const e=n.asBool();if(e===false)return n.setRange(t.range);if(e!==true)return}else if(t.operator==="||"){const e=n.asBool();if(e===true)return n.setRange(t.range);if(e!==false)return}else if(t.operator==="??"){const e=n.asNullish();if(e===false)return n.setRange(t.range);if(e!==true)return}else return;const r=this.evaluateExpression(t.right);if(!r)return;if(n.couldHaveSideEffects())r.setSideEffects();return r.setRange(t.range)});const e=(e,t,n)=>{switch(typeof e){case"boolean":return(new l).setBoolean(e).setSideEffects(n).setRange(t.range);case"number":return(new l).setNumber(e).setSideEffects(n).setRange(t.range);case"bigint":return(new l).setBigInt(e).setSideEffects(n).setRange(t.range);case"string":return(new l).setString(e).setSideEffects(n).setRange(t.range)}};this.hooks.evaluate.for("BinaryExpression").tap("JavascriptParser",t=>{const n=t;const r=t=>{const r=this.evaluateExpression(n.left);if(!r||!r.isCompileTimeValue())return;const i=this.evaluateExpression(n.right);if(!i||!i.isCompileTimeValue())return;const s=t(r.asCompileTimeValue(),i.asCompileTimeValue());return e(s,n,r.couldHaveSideEffects()||i.couldHaveSideEffects())};const i=(e,t)=>e===true&&t===false||e===false&&t===true;const s=(e,t,n,r)=>{const i=e=>{let t="";for(const n of e){const e=n.asString();if(e!==undefined)t+=e;else break}return t};const s=e=>{let t="";for(let n=e.length-1;n>=0;n--){const r=e[n].asString();if(r!==undefined)t=r+t;else break}return t};const o=i(e.parts);const a=i(t.parts);const c=s(e.parts);const u=s(t.parts);const l=Math.min(o.length,a.length);const f=Math.min(c.length,u.length);if(o.slice(0,l)!==a.slice(0,l)||c.slice(-f)!==u.slice(-f)){return n.setBoolean(!r).setSideEffects(e.couldHaveSideEffects()||t.couldHaveSideEffects())}};const o=e=>{const t=this.evaluateExpression(n.left);if(!t)return;const r=this.evaluateExpression(n.right);if(!r)return;const o=new l;o.setRange(n.range);const a=t.isCompileTimeValue();const c=r.isCompileTimeValue();if(a&&c){return o.setBoolean(e===(t.asCompileTimeValue()===r.asCompileTimeValue())).setSideEffects(t.couldHaveSideEffects()||r.couldHaveSideEffects())}if(t.isArray()&&r.isArray()){return o.setBoolean(!e).setSideEffects(t.couldHaveSideEffects()||r.couldHaveSideEffects())}if(t.isTemplateString()&&r.isTemplateString()){return s(t,r,o,e)}const u=t.isPrimitiveType();const f=r.isPrimitiveType();if(u===false&&(a||f===true)||f===false&&(c||u===true)||i(t.asBool(),r.asBool())||i(t.asNullish(),r.asNullish())){return o.setBoolean(!e).setSideEffects(t.couldHaveSideEffects()||r.couldHaveSideEffects())}};const a=e=>{const t=this.evaluateExpression(n.left);if(!t)return;const r=this.evaluateExpression(n.right);if(!r)return;const i=new l;i.setRange(n.range);const o=t.isCompileTimeValue();const a=r.isCompileTimeValue();if(o&&a){return i.setBoolean(e===(t.asCompileTimeValue()==r.asCompileTimeValue())).setSideEffects(t.couldHaveSideEffects()||r.couldHaveSideEffects())}if(t.isArray()&&r.isArray()){return i.setBoolean(!e).setSideEffects(t.couldHaveSideEffects()||r.couldHaveSideEffects())}if(t.isTemplateString()&&r.isTemplateString()){return s(t,r,i,e)}};if(n.operator==="+"){const e=this.evaluateExpression(n.left);if(!e)return;const t=this.evaluateExpression(n.right);if(!t)return;const r=new l;if(e.isString()){if(t.isString()){r.setString(e.string+t.string)}else if(t.isNumber()){r.setString(e.string+t.number)}else if(t.isWrapped()&&t.prefix&&t.prefix.isString()){r.setWrapped((new l).setString(e.string+t.prefix.string).setRange(d(e.range,t.prefix.range)),t.postfix,t.wrappedInnerExpressions)}else if(t.isWrapped()){r.setWrapped(e,t.postfix,t.wrappedInnerExpressions)}else{r.setWrapped(e,null,[t])}}else if(e.isNumber()){if(t.isString()){r.setString(e.number+t.string)}else if(t.isNumber()){r.setNumber(e.number+t.number)}else{return}}else if(e.isBigInt()){if(t.isBigInt()){r.setBigInt(e.bigint+t.bigint)}}else if(e.isWrapped()){if(e.postfix&&e.postfix.isString()&&t.isString()){r.setWrapped(e.prefix,(new l).setString(e.postfix.string+t.string).setRange(d(e.postfix.range,t.range)),e.wrappedInnerExpressions)}else if(e.postfix&&e.postfix.isString()&&t.isNumber()){r.setWrapped(e.prefix,(new l).setString(e.postfix.string+t.number).setRange(d(e.postfix.range,t.range)),e.wrappedInnerExpressions)}else if(t.isString()){r.setWrapped(e.prefix,t,e.wrappedInnerExpressions)}else if(t.isNumber()){r.setWrapped(e.prefix,(new l).setString(t.number+"").setRange(t.range),e.wrappedInnerExpressions)}else if(t.isWrapped()){r.setWrapped(e.prefix,t.postfix,e.wrappedInnerExpressions&&t.wrappedInnerExpressions&&e.wrappedInnerExpressions.concat(e.postfix?[e.postfix]:[]).concat(t.prefix?[t.prefix]:[]).concat(t.wrappedInnerExpressions))}else{r.setWrapped(e.prefix,null,e.wrappedInnerExpressions&&e.wrappedInnerExpressions.concat(e.postfix?[e.postfix,t]:[t]))}}else{if(t.isString()){r.setWrapped(null,t,[e])}else if(t.isWrapped()){r.setWrapped(null,t.postfix,t.wrappedInnerExpressions&&(t.prefix?[e,t.prefix]:[e]).concat(t.wrappedInnerExpressions))}else{return}}if(e.couldHaveSideEffects()||t.couldHaveSideEffects())r.setSideEffects();r.setRange(n.range);return r}else if(n.operator==="-"){return r((e,t)=>e-t)}else if(n.operator==="*"){return r((e,t)=>e*t)}else if(n.operator==="/"){return r((e,t)=>e/t)}else if(n.operator==="**"){return r((e,t)=>e**t)}else if(n.operator==="==="){return o(true)}else if(n.operator==="=="){return a(true)}else if(n.operator==="!=="){return o(false)}else if(n.operator==="!="){return a(false)}else if(n.operator==="&"){return r((e,t)=>e&t)}else if(n.operator==="|"){return r((e,t)=>e|t)}else if(n.operator==="^"){return r((e,t)=>e^t)}else if(n.operator===">>>"){return r((e,t)=>e>>>t)}else if(n.operator===">>"){return r((e,t)=>e>>t)}else if(n.operator==="<<"){return r((e,t)=>e<e"){return r((e,t)=>e>t)}else if(n.operator==="<="){return r((e,t)=>e<=t)}else if(n.operator===">="){return r((e,t)=>e>=t)}});this.hooks.evaluate.for("UnaryExpression").tap("JavascriptParser",t=>{const n=t;const r=t=>{const r=this.evaluateExpression(n.argument);if(!r||!r.isCompileTimeValue())return;const i=t(r.asCompileTimeValue());return e(i,n,r.couldHaveSideEffects())};if(n.operator==="typeof"){switch(n.argument.type){case"Identifier":{const e=this.callHooksForName(this.hooks.evaluateTypeof,n.argument.name,n);if(e!==undefined)return e;break}case"MetaProperty":{const e=this.callHooksForName(this.hooks.evaluateTypeof,"import.meta",n);if(e!==undefined)return e;break}case"MemberExpression":{const e=this.callHooksForExpression(this.hooks.evaluateTypeof,n.argument,n);if(e!==undefined)return e;break}case"ChainExpression":{const e=this.callHooksForExpression(this.hooks.evaluateTypeof,n.argument.expression,n);if(e!==undefined)return e;break}case"FunctionExpression":{return(new l).setString("function").setRange(n.range)}}const e=this.evaluateExpression(n.argument);if(e.isUnknown())return;if(e.isString()){return(new l).setString("string").setRange(n.range)}if(e.isWrapped()){return(new l).setString("string").setSideEffects().setRange(n.range)}if(e.isUndefined()){return(new l).setString("undefined").setRange(n.range)}if(e.isNumber()){return(new l).setString("number").setRange(n.range)}if(e.isBigInt()){return(new l).setString("bigint").setRange(n.range)}if(e.isBoolean()){return(new l).setString("boolean").setRange(n.range)}if(e.isConstArray()||e.isRegExp()||e.isNull()){return(new l).setString("object").setRange(n.range)}if(e.isArray()){return(new l).setString("object").setSideEffects(e.couldHaveSideEffects()).setRange(n.range)}}else if(n.operator==="!"){const e=this.evaluateExpression(n.argument);if(!e)return;const t=e.asBool();if(typeof t!=="boolean")return;return(new l).setBoolean(!t).setSideEffects(e.couldHaveSideEffects()).setRange(n.range)}else if(n.operator==="~"){return r(e=>~e)}else if(n.operator==="+"){return r(e=>+e)}else if(n.operator==="-"){return r(e=>-e)}});this.hooks.evaluateTypeof.for("undefined").tap("JavascriptParser",e=>{return(new l).setString("undefined").setRange(e.range)});const t=(e,t)=>{let n=undefined;let r=undefined;this.hooks.evaluate.for(e).tap("JavascriptParser",e=>{const i=e;const s=t(e);if(s!==undefined){return this.callHooksForInfoWithFallback(this.hooks.evaluateIdentifier,s.name,e=>{n=i;r=s},e=>{const t=this.hooks.evaluateDefinedIdentifier.get(e);if(t!==undefined){return t.call(i)}},i)}});this.hooks.evaluate.for(e).tap({name:"JavascriptParser",stage:100},e=>{const i=n===e?r:t(e);if(i!==undefined){return(new l).setIdentifier(i.name,i.rootInfo,i.getMembers).setRange(e.range)}})};t("Identifier",e=>{const t=this.getVariableInfo(e.name);if(typeof t==="string"||t instanceof VariableInfo&&typeof t.freeName==="string"){return{name:t,rootInfo:t,getMembers:()=>[]}}});t("ThisExpression",e=>{const t=this.getVariableInfo("this");if(typeof t==="string"||t instanceof VariableInfo&&typeof t.freeName==="string"){return{name:t,rootInfo:t,getMembers:()=>[]}}});this.hooks.evaluate.for("MetaProperty").tap("JavascriptParser",e=>{const t=e;return this.callHooksForName(this.hooks.evaluateIdentifier,"import.meta",t)});t("MemberExpression",e=>this.getMemberExpressionInfo(e,["expression"]));this.hooks.evaluate.for("CallExpression").tap("JavascriptParser",e=>{const t=e;if(t.callee.type!=="MemberExpression"||t.callee.property.type!==(t.callee.computed?"Literal":"Identifier")){return}const n=this.evaluateExpression(t.callee.object);if(!n)return;const r=t.callee.property.type==="Literal"?`${t.callee.property.value}`:t.callee.property.name;const i=this.hooks.evaluateCallExpressionMember.get(r);if(i!==undefined){return i.call(t,n)}});this.hooks.evaluateCallExpressionMember.for("indexOf").tap("JavascriptParser",(e,t)=>{if(!t.isString())return;if(e.arguments.length===0)return;const[n,r]=e.arguments;if(n.type==="SpreadElement")return;const i=this.evaluateExpression(n);if(!i.isString())return;const s=i.string;let o;if(r){if(r.type==="SpreadElement")return;const e=this.evaluateExpression(r);if(!e.isNumber())return;o=t.string.indexOf(s,e.number)}else{o=t.string.indexOf(s)}return(new l).setNumber(o).setSideEffects(t.couldHaveSideEffects()).setRange(e.range)});this.hooks.evaluateCallExpressionMember.for("replace").tap("JavascriptParser",(e,t)=>{if(!t.isString())return;if(e.arguments.length!==2)return;if(e.arguments[0].type==="SpreadElement")return;if(e.arguments[1].type==="SpreadElement")return;let n=this.evaluateExpression(e.arguments[0]);let r=this.evaluateExpression(e.arguments[1]);if(!n.isString()&&!n.isRegExp())return;const i=n.regExp||n.string;if(!r.isString())return;const s=r.string;return(new l).setString(t.string.replace(i,s)).setSideEffects(t.couldHaveSideEffects()).setRange(e.range)});["substr","substring","slice"].forEach(e=>{this.hooks.evaluateCallExpressionMember.for(e).tap("JavascriptParser",(t,n)=>{if(!n.isString())return;let r;let i,s=n.string;switch(t.arguments.length){case 1:if(t.arguments[0].type==="SpreadElement")return;r=this.evaluateExpression(t.arguments[0]);if(!r.isNumber())return;i=s[e](r.number);break;case 2:{if(t.arguments[0].type==="SpreadElement")return;if(t.arguments[1].type==="SpreadElement")return;r=this.evaluateExpression(t.arguments[0]);const n=this.evaluateExpression(t.arguments[1]);if(!r.isNumber())return;if(!n.isNumber())return;i=s[e](r.number,n.number);break}default:return}return(new l).setString(i).setSideEffects(n.couldHaveSideEffects()).setRange(t.range)})});const n=(e,t)=>{const n=[];const r=[];for(let i=0;i0){const e=r[r.length-1];const n=this.evaluateExpression(t.expressions[i-1]);const a=n.asString();if(typeof a==="string"&&!n.couldHaveSideEffects()){e.setString(e.string+a+o);e.setRange([e.range[0],s.range[1]]);e.setExpression(undefined);continue}r.push(n)}const a=(new l).setString(o).setRange(s.range).setExpression(s);n.push(a);r.push(a)}return{quasis:n,parts:r}};this.hooks.evaluate.for("TemplateLiteral").tap("JavascriptParser",e=>{const t=e;const{quasis:r,parts:i}=n("cooked",t);if(i.length===1){return i[0].setRange(t.range)}return(new l).setTemplateString(r,i,"cooked").setRange(t.range)});this.hooks.evaluate.for("TaggedTemplateExpression").tap("JavascriptParser",e=>{const t=e;const r=this.evaluateExpression(t.tag);if(r.isIdentifier()&&r.identifier!=="String.raw")return;const{quasis:i,parts:s}=n("raw",t.quasi);return(new l).setTemplateString(i,s,"raw").setRange(t.range)});this.hooks.evaluateCallExpressionMember.for("concat").tap("JavascriptParser",(e,t)=>{if(!t.isString()&&!t.isWrapped())return;let n=null;let r=false;const i=[];for(let t=e.arguments.length-1;t>=0;t--){const s=e.arguments[t];if(s.type==="SpreadElement")return;const o=this.evaluateExpression(s);if(r||!o.isString()&&!o.isNumber()){r=true;i.push(o);continue}const a=o.isString()?o.string:""+o.number;const c=a+(n?n.string:"");const u=[o.range[0],(n||o).range[1]];n=(new l).setString(c).setSideEffects(n&&n.couldHaveSideEffects()||o.couldHaveSideEffects()).setRange(u)}if(r){const r=t.isString()?t:t.prefix;const s=t.isWrapped()&&t.wrappedInnerExpressions?t.wrappedInnerExpressions.concat(i.reverse()):i.reverse();return(new l).setWrapped(r,n,s).setRange(e.range)}else if(t.isWrapped()){const r=n||t.postfix;const s=t.wrappedInnerExpressions?t.wrappedInnerExpressions.concat(i.reverse()):i.reverse();return(new l).setWrapped(t.prefix,r,s).setRange(e.range)}else{const r=t.string+(n?n.string:"");return(new l).setString(r).setSideEffects(n&&n.couldHaveSideEffects()||t.couldHaveSideEffects()).setRange(e.range)}});this.hooks.evaluateCallExpressionMember.for("split").tap("JavascriptParser",(e,t)=>{if(!t.isString())return;if(e.arguments.length!==1)return;if(e.arguments[0].type==="SpreadElement")return;let n;const r=this.evaluateExpression(e.arguments[0]);if(r.isString()){n=t.string.split(r.string)}else if(r.isRegExp()){n=t.string.split(r.regExp)}else{return}return(new l).setArray(n).setSideEffects(t.couldHaveSideEffects()).setRange(e.range)});this.hooks.evaluate.for("ConditionalExpression").tap("JavascriptParser",e=>{const t=e;const n=this.evaluateExpression(t.test);const r=n.asBool();let i;if(r===undefined){const e=this.evaluateExpression(t.consequent);const n=this.evaluateExpression(t.alternate);if(!e||!n)return;i=new l;if(e.isConditional()){i.setOptions(e.options)}else{i.setOptions([e])}if(n.isConditional()){i.addOptions(n.options)}else{i.addOptions([n])}}else{i=this.evaluateExpression(r?t.consequent:t.alternate);if(n.couldHaveSideEffects())i.setSideEffects()}i.setRange(t.range);return i});this.hooks.evaluate.for("ArrayExpression").tap("JavascriptParser",e=>{const t=e;const n=t.elements.map(e=>{return e!==null&&e.type!=="SpreadElement"&&this.evaluateExpression(e)});if(!n.every(Boolean))return;return(new l).setItems(n).setRange(t.range)});this.hooks.evaluate.for("ChainExpression").tap("JavascriptParser",e=>{const t=e;const n=[];let r=t.expression;while(r.type==="MemberExpression"||r.type==="CallExpression"){if(r.type==="MemberExpression"){if(r.optional){n.push(r.object)}r=r.object}else{if(r.optional){n.push(r.callee)}r=r.callee}}while(n.length>0){const t=n.pop();const r=this.evaluateExpression(t);if(r&&r.asNullish()){return r.setRange(e.range)}}return this.evaluateExpression(t.expression)})}getRenameIdentifier(e){const t=this.evaluateExpression(e);if(t&&t.isIdentifier()){return t.identifier}}walkClass(e){if(e.superClass){if(!this.hooks.classExtendsExpression.call(e.superClass,e)){this.walkExpression(e.superClass)}}if(e.body&&e.body.type==="ClassBody"){const t=this.scope.topLevelScope;for(const n of e.body.body){if(!this.hooks.classBodyElement.call(n,e)){if(n.type==="MethodDefinition"){this.scope.topLevelScope=false;this.walkMethodDefinition(n);this.scope.topLevelScope=t}}}}}walkMethodDefinition(e){if(e.computed&&e.key){this.walkExpression(e.key)}if(e.value){this.walkExpression(e.value)}}preWalkStatements(e){for(let t=0,n=e.length;t{const t=e.body;this.blockPreWalkStatements(t);this.walkStatements(t)})}walkExpressionStatement(e){this.walkExpression(e.expression)}preWalkIfStatement(e){this.preWalkStatement(e.consequent);if(e.alternate){this.preWalkStatement(e.alternate)}}walkIfStatement(e){const t=this.hooks.statementIf.call(e);if(t===undefined){this.walkExpression(e.test);this.walkStatement(e.consequent);if(e.alternate){this.walkStatement(e.alternate)}}else{if(t){this.walkStatement(e.consequent)}else if(e.alternate){this.walkStatement(e.alternate)}}}preWalkLabeledStatement(e){this.preWalkStatement(e.body)}walkLabeledStatement(e){const t=this.hooks.label.get(e.label.name);if(t!==undefined){const n=t.call(e);if(n===true)return}this.walkStatement(e.body)}preWalkWithStatement(e){this.preWalkStatement(e.body)}walkWithStatement(e){this.walkExpression(e.object);this.walkStatement(e.body)}preWalkSwitchStatement(e){this.preWalkSwitchCases(e.cases)}walkSwitchStatement(e){this.walkExpression(e.discriminant);this.walkSwitchCases(e.cases)}walkTerminatingStatement(e){if(e.argument)this.walkExpression(e.argument)}walkReturnStatement(e){this.walkTerminatingStatement(e)}walkThrowStatement(e){this.walkTerminatingStatement(e)}preWalkTryStatement(e){this.preWalkStatement(e.block);if(e.handler)this.preWalkCatchClause(e.handler);if(e.finializer)this.preWalkStatement(e.finializer)}walkTryStatement(e){if(this.scope.inTry){this.walkStatement(e.block)}else{this.scope.inTry=true;this.walkStatement(e.block);this.scope.inTry=false}if(e.handler)this.walkCatchClause(e.handler);if(e.finalizer)this.walkStatement(e.finalizer)}preWalkWhileStatement(e){this.preWalkStatement(e.body)}walkWhileStatement(e){this.walkExpression(e.test);this.walkStatement(e.body)}preWalkDoWhileStatement(e){this.preWalkStatement(e.body)}walkDoWhileStatement(e){this.walkStatement(e.body);this.walkExpression(e.test)}preWalkForStatement(e){if(e.init){if(e.init.type==="VariableDeclaration"){this.preWalkStatement(e.init)}}this.preWalkStatement(e.body)}walkForStatement(e){this.inBlockScope(()=>{if(e.init){if(e.init.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(e.init);this.walkStatement(e.init)}else{this.walkExpression(e.init)}}if(e.test){this.walkExpression(e.test)}if(e.update){this.walkExpression(e.update)}const t=e.body;if(t.type==="BlockStatement"){this.blockPreWalkStatements(t.body);this.walkStatements(t.body)}else{this.walkStatement(t)}})}preWalkForInStatement(e){if(e.left.type==="VariableDeclaration"){this.preWalkVariableDeclaration(e.left)}this.preWalkStatement(e.body)}walkForInStatement(e){this.inBlockScope(()=>{if(e.left.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(e.left);this.walkVariableDeclaration(e.left)}else{this.walkPattern(e.left)}this.walkExpression(e.right);const t=e.body;if(t.type==="BlockStatement"){this.blockPreWalkStatements(t.body);this.walkStatements(t.body)}else{this.walkStatement(t)}})}preWalkForOfStatement(e){if(e.await&&this.scope.topLevelScope===true){this.hooks.topLevelAwait.call(e)}if(e.left.type==="VariableDeclaration"){this.preWalkVariableDeclaration(e.left)}this.preWalkStatement(e.body)}walkForOfStatement(e){this.inBlockScope(()=>{if(e.left.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(e.left);this.walkVariableDeclaration(e.left)}else{this.walkPattern(e.left)}this.walkExpression(e.right);const t=e.body;if(t.type==="BlockStatement"){this.blockPreWalkStatements(t.body);this.walkStatements(t.body)}else{this.walkStatement(t)}})}preWalkFunctionDeclaration(e){if(e.id){this.defineVariable(e.id.name)}}walkFunctionDeclaration(e){const t=this.scope.topLevelScope;this.scope.topLevelScope=false;this.inFunctionScope(true,e.params,()=>{for(const t of e.params){this.walkPattern(t)}if(e.body.type==="BlockStatement"){this.detectMode(e.body.body);this.preWalkStatement(e.body);this.walkStatement(e.body)}else{this.walkExpression(e.body)}});this.scope.topLevelScope=t}blockPreWalkImportDeclaration(e){const t=e.source.value;this.hooks.import.call(e,t);for(const n of e.specifiers){const r=n.local.name;switch(n.type){case"ImportDefaultSpecifier":if(!this.hooks.importSpecifier.call(e,t,"default",r)){this.defineVariable(r)}break;case"ImportSpecifier":if(!this.hooks.importSpecifier.call(e,t,n.imported.name,r)){this.defineVariable(r)}break;case"ImportNamespaceSpecifier":if(!this.hooks.importSpecifier.call(e,t,null,r)){this.defineVariable(r)}break;default:this.defineVariable(r)}}}enterDeclaration(e,t){switch(e.type){case"VariableDeclaration":for(const n of e.declarations){switch(n.type){case"VariableDeclarator":{this.enterPattern(n.id,t);break}}}break;case"FunctionDeclaration":this.enterPattern(e.id,t);break;case"ClassDeclaration":this.enterPattern(e.id,t);break}}blockPreWalkExportNamedDeclaration(e){let t;if(e.source){t=e.source.value;this.hooks.exportImport.call(e,t)}else{this.hooks.export.call(e)}if(e.declaration){if(!this.hooks.exportDeclaration.call(e,e.declaration)){this.preWalkStatement(e.declaration);this.blockPreWalkStatement(e.declaration);let t=0;this.enterDeclaration(e.declaration,n=>{this.hooks.exportSpecifier.call(e,n,n,t++)})}}if(e.specifiers){for(let n=0;n{let r=t.get(e);if(r===undefined||!r.call(n)){r=this.hooks.varDeclaration.get(e);if(r===undefined||!r.call(n)){this.defineVariable(e)}}})}break}}}}walkVariableDeclaration(e){for(const t of e.declarations){switch(t.type){case"VariableDeclarator":{const n=t.init&&this.getRenameIdentifier(t.init);if(n&&t.id.type==="Identifier"){const e=this.hooks.canRename.get(n);if(e!==undefined&&e.call(t.init)){const e=this.hooks.rename.get(n);if(e===undefined||!e.call(t.init)){this.setVariable(t.id.name,n)}break}}if(!this.hooks.declarator.call(t,e)){this.walkPattern(t.id);if(t.init)this.walkExpression(t.init)}break}}}}blockPreWalkClassDeclaration(e){if(e.id){this.defineVariable(e.id.name)}}walkClassDeclaration(e){this.walkClass(e)}preWalkSwitchCases(e){for(let t=0,n=e.length;t{const t=e.length;for(let n=0;n0){this.blockPreWalkStatements(t.consequent)}}for(let n=0;n0){this.walkStatements(t.consequent)}}})}preWalkCatchClause(e){this.preWalkStatement(e.body)}walkCatchClause(e){this.inBlockScope(()=>{if(e.param!==null){this.enterPattern(e.param,e=>{this.defineVariable(e)});this.walkPattern(e.param)}this.blockPreWalkStatement(e.body);this.walkStatement(e.body)})}walkPattern(e){switch(e.type){case"ArrayPattern":this.walkArrayPattern(e);break;case"AssignmentPattern":this.walkAssignmentPattern(e);break;case"MemberExpression":this.walkMemberExpression(e);break;case"ObjectPattern":this.walkObjectPattern(e);break;case"RestElement":this.walkRestElement(e);break}}walkAssignmentPattern(e){this.walkExpression(e.right);this.walkPattern(e.left)}walkObjectPattern(e){for(let t=0,n=e.properties.length;t{for(const t of e.params){this.walkPattern(t)}if(e.body.type==="BlockStatement"){this.detectMode(e.body.body);this.preWalkStatement(e.body);this.walkStatement(e.body)}else{this.walkExpression(e.body)}});this.scope.topLevelScope=t}walkArrowFunctionExpression(e){const t=this.scope.topLevelScope;this.scope.topLevelScope=t?"arrow":false;this.inFunctionScope(false,e.params,()=>{for(const t of e.params){this.walkPattern(t)}if(e.body.type==="BlockStatement"){this.detectMode(e.body.body);this.preWalkStatement(e.body);this.walkStatement(e.body)}else{this.walkExpression(e.body)}});this.scope.topLevelScope=t}walkSequenceExpression(e){if(!e.expressions)return;const t=this.statementPath[this.statementPath.length-1];if(t===e||t.type==="ExpressionStatement"&&t.expression===e){const t=this.statementPath.pop();for(const t of e.expressions){this.statementPath.push(t);this.walkExpression(t);this.statementPath.pop()}this.statementPath.push(t)}else{this.walkExpressions(e.expressions)}}walkUpdateExpression(e){this.walkExpression(e.argument)}walkUnaryExpression(e){if(e.operator==="typeof"){const t=this.callHooksForExpression(this.hooks.typeof,e.argument,e);if(t===true)return;if(e.argument.type==="ChainExpression"){const t=this.callHooksForExpression(this.hooks.typeof,e.argument.expression,e);if(t===true)return}}this.walkExpression(e.argument)}walkLeftRightExpression(e){this.walkExpression(e.left);this.walkExpression(e.right)}walkBinaryExpression(e){this.walkLeftRightExpression(e)}walkLogicalExpression(e){const t=this.hooks.expressionLogicalOperator.call(e);if(t===undefined){this.walkLeftRightExpression(e)}else{if(t){this.walkExpression(e.right)}}}walkAssignmentExpression(e){if(e.left.type==="Identifier"){const t=this.getRenameIdentifier(e.right);if(t){if(this.callHooksForInfo(this.hooks.canRename,t,e.right)){if(!this.callHooksForInfo(this.hooks.rename,t,e.right)){this.setVariable(e.left.name,this.getVariableInfo(t))}return}}this.walkExpression(e.right);this.enterPattern(e.left,(t,n)=>{if(!this.callHooksForName(this.hooks.assign,t,e)){this.walkExpression(e.left)}});return}if(e.left.type.endsWith("Pattern")){this.walkExpression(e.right);this.enterPattern(e.left,(t,n)=>{if(!this.callHooksForName(this.hooks.assign,t,e)){this.defineVariable(t)}});this.walkPattern(e.left)}else if(e.left.type==="MemberExpression"){const t=this.getMemberExpressionInfo(e.left,["expression"]);if(t){if(this.callHooksForInfo(this.hooks.assignMemberChain,t.rootInfo,e,t.getMembers())){return}}this.walkExpression(e.right);this.walkExpression(e.left)}else{this.walkExpression(e.right);this.walkExpression(e.left)}}walkConditionalExpression(e){const t=this.hooks.expressionConditionalOperator.call(e);if(t===undefined){this.walkExpression(e.test);this.walkExpression(e.consequent);if(e.alternate){this.walkExpression(e.alternate)}}else{if(t){this.walkExpression(e.consequent)}else if(e.alternate){this.walkExpression(e.alternate)}}}walkNewExpression(e){const t=this.callHooksForExpression(this.hooks.new,e.callee,e);if(t===true)return;this.walkExpression(e.callee);if(e.arguments){this.walkExpressions(e.arguments)}}walkYieldExpression(e){if(e.argument){this.walkExpression(e.argument)}}walkTemplateLiteral(e){if(e.expressions){this.walkExpressions(e.expressions)}}walkTaggedTemplateExpression(e){if(e.tag){this.walkExpression(e.tag)}if(e.quasi&&e.quasi.expressions){this.walkExpressions(e.quasi.expressions)}}walkClassExpression(e){this.walkClass(e)}walkChainExpression(e){const t=this.hooks.optionalChaining.call(e);if(t===undefined){if(e.expression.type==="CallExpression"){this.walkCallExpression(e.expression)}else{this.walkMemberExpression(e.expression)}}}_walkIIFE(e,t,n){const r=e=>{const t=this.getRenameIdentifier(e);if(t){if(this.callHooksForInfo(this.hooks.canRename,t,e)){if(!this.callHooksForInfo(this.hooks.rename,t,e)){return this.getVariableInfo(t)}}}this.walkExpression(e)};const{params:i}=e;const s=n?r(n):null;const o=t.map(r);const a=this.scope.topLevelScope;this.scope.topLevelScope=false;const c=i.filter((e,t)=>!o[t]);if(e.id){c.push(e.id.name)}this.inFunctionScope(true,c,()=>{if(s){this.setVariable("this",s)}for(let e=0;e0){this._walkIIFE(e.callee.object,e.arguments.slice(1),e.arguments[0])}else if(e.callee.type==="FunctionExpression"){this._walkIIFE(e.callee,e.arguments,null)}else{if(e.callee.type==="MemberExpression"){const t=this.getMemberExpressionInfo(e.callee,["call"]);if(t&&t.type==="call"){const n=this.callHooksForInfo(this.hooks.callMemberChainOfCallMemberChain,t.rootInfo,e,t.getCalleeMembers(),t.call,t.getMembers());if(n===true)return}}const t=this.evaluateExpression(e.callee);if(t.isIdentifier()){const n=this.callHooksForInfo(this.hooks.callMemberChain,t.rootInfo,e,t.getMembers());if(n===true)return;const r=this.callHooksForInfo(this.hooks.call,t.identifier,e);if(r===true)return}if(e.callee){if(e.callee.type==="MemberExpression"){this.walkExpression(e.callee.object);if(e.callee.computed===true)this.walkExpression(e.callee.property)}else{this.walkExpression(e.callee)}}if(e.arguments)this.walkExpressions(e.arguments)}}walkMemberExpression(e){const t=this.getMemberExpressionInfo(e,["call","expression"]);if(t){switch(t.type){case"expression":{const n=this.callHooksForInfo(this.hooks.expression,t.name,e);if(n===true)return;const r=t.getMembers();const i=this.callHooksForInfo(this.hooks.expressionMemberChain,t.rootInfo,e,r);if(i===true)return;this.walkMemberExpressionWithExpressionName(e,t.name,t.rootInfo,r.slice(),()=>this.callHooksForInfo(this.hooks.unhandledExpressionMemberChain,t.rootInfo,e,r));return}case"call":{const n=this.callHooksForInfo(this.hooks.memberChainOfCallMemberChain,t.rootInfo,e,t.getCalleeMembers(),t.call,t.getMembers());if(n===true)return;this.walkExpression(t.call);return}}}this.walkExpression(e.object);if(e.computed===true)this.walkExpression(e.property)}walkMemberExpressionWithExpressionName(e,t,n,r,i){if(e.object.type==="MemberExpression"){const s=e.property.name||`${e.property.value}`;t=t.slice(0,-s.length-1);r.pop();const o=this.callHooksForInfo(this.hooks.expression,t,e.object);if(o===true)return;this.walkMemberExpressionWithExpressionName(e.object,t,n,r,i)}else if(!i||!i()){this.walkExpression(e.object)}if(e.computed===true)this.walkExpression(e.property)}walkThisExpression(e){this.callHooksForName(this.hooks.expression,"this",e)}walkIdentifier(e){this.callHooksForName(this.hooks.expression,e.name,e)}walkMetaProperty(e){this.hooks.metaProperty.call(e)}callHooksForExpression(e,t,...n){const r=this.getMemberExpressionInfo(t,["expression"]);if(r!==undefined){return this.callHooksForInfoWithFallback(e,r.name,undefined,undefined,...n)}}callHooksForExpressionWithFallback(e,t,n,r,...i){const s=this.getMemberExpressionInfo(t,["expression"]);if(s!==undefined){return this.callHooksForInfoWithFallback(e,s.name,n&&(e=>n(e,s.rootInfo,s.getMembers)),r&&(()=>r(s.name)),...i)}}callHooksForName(e,t,...n){return this.callHooksForNameWithFallback(e,t,undefined,undefined,...n)}callHooksForInfo(e,t,...n){return this.callHooksForInfoWithFallback(e,t,undefined,undefined,...n)}callHooksForInfoWithFallback(e,t,n,r,...i){let s;if(typeof t==="string"){s=t}else{if(!(t instanceof VariableInfo)){if(r!==undefined){return r()}return}let n=t.tagInfo;while(n!==undefined){const t=e.get(n.tag);if(t!==undefined){this.currentTagData=n.data;const e=t.call(...i);this.currentTagData=undefined;if(e!==undefined)return e}n=n.next}if(t.freeName===true){if(r!==undefined){return r()}return}s=t.freeName}const o=e.get(s);if(o!==undefined){const e=o.call(...i);if(e!==undefined)return e}if(n!==undefined){return n(s)}}callHooksForNameWithFallback(e,t,n,r,...i){return this.callHooksForInfoWithFallback(e,this.getVariableInfo(t),n,r,...i)}inScope(e,t){const n=this.scope;this.scope={topLevelScope:n.topLevelScope,inTry:false,inShorthand:false,isStrict:n.isStrict,isAsmJs:n.isAsmJs,definitions:n.definitions.createChild()};this.undefineVariable("this");this.enterPatterns(e,(e,t)=>{this.defineVariable(e)});t();this.scope=n}inFunctionScope(e,t,n){const r=this.scope;this.scope={topLevelScope:r.topLevelScope,inTry:false,inShorthand:false,isStrict:r.isStrict,isAsmJs:r.isAsmJs,definitions:r.definitions.createChild()};if(e){this.undefineVariable("this")}this.enterPatterns(t,(e,t)=>{this.defineVariable(e)});n();this.scope=r}inBlockScope(e){const t=this.scope;this.scope={topLevelScope:t.topLevelScope,inTry:t.inTry,inShorthand:false,isStrict:t.isStrict,isAsmJs:t.isAsmJs,definitions:t.definitions.createChild()};e();this.scope=t}detectMode(e){const t=e.length>=1&&e[0].type==="ExpressionStatement"&&e[0].expression.type==="Literal";if(t&&e[0].expression.value==="use strict"){this.scope.isStrict=true}if(t&&e[0].expression.value==="use asm"){this.scope.isAsmJs=true}}enterPatterns(e,t){for(const n of e){if(typeof n!=="string"){this.enterPattern(n,t)}else if(n){t(n)}}}enterPattern(e,t){if(!e)return;switch(e.type){case"ArrayPattern":this.enterArrayPattern(e,t);break;case"AssignmentPattern":this.enterAssignmentPattern(e,t);break;case"Identifier":this.enterIdentifier(e,t);break;case"ObjectPattern":this.enterObjectPattern(e,t);break;case"RestElement":this.enterRestElement(e,t);break;case"Property":if(e.shorthand&&e.value.type==="Identifier"){this.scope.inShorthand=e.value.name;this.enterIdentifier(e.value,t);this.scope.inShorthand=false}else{this.enterPattern(e.value,t)}break}}enterIdentifier(e,t){if(!this.callHooksForName(this.hooks.pattern,e.name,e)){t(e.name,e)}}enterObjectPattern(e,t){for(let n=0,r=e.properties.length;ni.add(e)})}const s=this.scope;const o=this.state;const a=this.comments;const u=this.semicolons;const l=this.statementPath;const f=this.prevStatement;this.scope={topLevelScope:true,inTry:false,inShorthand:false,isStrict:false,isAsmJs:false,definitions:new c};this.state=t;this.comments=r;this.semicolons=i;this.statementPath=[];this.prevStatement=undefined;if(this.hooks.program.call(n,r)===undefined){this.detectMode(n.body);this.preWalkStatements(n.body);this.blockPreWalkStatements(n.body);this.walkStatements(n.body)}this.hooks.finish.call(n,r);this.scope=s;this.state=o;this.comments=a;this.semicolons=u;this.statementPath=l;this.prevStatement=f;return t}evaluate(e){const t=JavascriptParser.parse("("+e+")",{sourceType:this.sourceType,locations:false});if(t.body.length!==1||t.body[0].type!=="ExpressionStatement"){throw new Error("evaluate: Source is not a expression")}return this.evaluateExpression(t.body[0].expression)}getComments(e){return this.comments.filter(t=>t.range[0]>=e[0]&&t.range[1]<=e[1])}isAsiPosition(e){if(this.prevStatement===undefined)return false;const t=this.statementPath[this.statementPath.length-1];return t.range[0]===e&&this.semicolons.has(this.prevStatement.range[1])}isStatementLevelExpression(e){const t=this.statementPath[this.statementPath.length-1];return e===t||t.type==="ExpressionStatement"&&t.expression===e}getTagData(e,t){const n=this.scope.definitions.get(e);if(n instanceof VariableInfo){let e=n.tagInfo;while(e!==undefined){if(e.tag===t)return e.data;e=e.next}}}tagVariable(e,t,n){const r=this.scope.definitions.get(e);let i;if(r===undefined){i=new VariableInfo(this.scope,e,{tag:t,data:n,next:undefined})}else if(r instanceof VariableInfo){i=new VariableInfo(r.declaredScope,r.freeName,{tag:t,data:n,next:r.tagInfo})}else{i=new VariableInfo(r,true,{tag:t,data:n,next:undefined})}this.scope.definitions.set(e,i)}defineVariable(e){const t=this.scope.definitions.get(e);if(t instanceof VariableInfo&&t.declaredScope===this.scope)return;this.scope.definitions.set(e,this.scope)}undefineVariable(e){this.scope.definitions.delete(e)}isVariableDefined(e){const t=this.scope.definitions.get(e);if(t===undefined)return false;if(t instanceof VariableInfo){return t.freeName===true}return true}getVariableInfo(e){const t=this.scope.definitions.get(e);if(t===undefined){return e}else{return t}}setVariable(e,t){if(typeof t==="string"){if(t===e){this.scope.definitions.delete(e)}else{this.scope.definitions.set(e,new VariableInfo(this.scope,t,undefined))}}else{this.scope.definitions.set(e,t)}}parseCommentOptions(e){const t=this.getComments(e);if(t.length===0){return v}let n={};let r=[];for(const e of t){const{value:t}=e;if(t&&y.test(t)){try{const i=o.runInNewContext(`(function(){return {${t}};})()`);Object.assign(n,i)}catch(t){t.comment=e;r.push(t)}}}return{options:n,errors:r}}extractMemberExpressionChain(e){let t=e;const n=[];while(t.type==="MemberExpression"){if(t.computed){if(t.property.type!=="Literal")break;n.push(`${t.property.value}`)}else{if(t.property.type!=="Identifier")break;n.push(t.property.name)}t=t.object}return{members:n,object:t}}getFreeInfoFromVariable(e){const t=this.getVariableInfo(e);let n;if(t instanceof VariableInfo){n=t.freeName;if(typeof n!=="string")return undefined}else if(typeof t!=="string"){return undefined}else{n=t}return{info:t,name:n}}getMemberExpressionInfo(e,t){const n=new Set(t);const{object:r,members:i}=this.extractMemberExpressionChain(e);switch(r.type){case"CallExpression":{if(!n.has("call"))return undefined;let e=r.callee;let t=f;if(e.type==="MemberExpression"){({object:e,members:t}=this.extractMemberExpressionChain(e))}const s=m(e);if(!s)return undefined;const o=this.getFreeInfoFromVariable(s);if(!o)return undefined;const{info:a,name:c}=o;const l=h(c,t);return{type:"call",call:r,calleeName:l,rootInfo:a,getCalleeMembers:u(()=>t.reverse()),name:h(`${l}()`,i),getMembers:u(()=>i.reverse())}}case"Identifier":case"MetaProperty":case"ThisExpression":{if(!n.has("expression"))return undefined;const e=m(r);if(!e)return undefined;const t=this.getFreeInfoFromVariable(e);if(!t)return undefined;const{info:s,name:o}=t;return{type:"expression",name:h(o,i),rootInfo:s,getMembers:u(()=>i.reverse())}}}}getNameForExpression(e){return this.getMemberExpressionInfo(e,["expression"])}static parse(e,t){const n=t?t.sourceType:"module";const r={...g,allowReturnOutsideFunction:n==="script",...t,sourceType:n==="auto"?"module":n};let i;let s;let o=false;try{i=p.parse(e,r)}catch(e){s=e;o=true}if(o&&n==="auto"){r.sourceType="script";if(!("allowReturnOutsideFunction"in t)){r.allowReturnOutsideFunction=true}if(Array.isArray(r.onComment)){r.onComment.length=0}try{i=p.parse(e,r);o=false}catch(e){}}if(o){throw s}return i}}e.exports=JavascriptParser},48472:(e,t,n)=>{"use strict";const r=n(53558);const i=n(66298);const s=n(87250);t.toConstantDependency=((e,t,n)=>{return function constDependency(r){const s=new i(t,r.range,n);s.loc=r.loc;e.state.module.addPresentationalDependency(s);return true}});t.evaluateToString=(e=>{return function stringExpression(t){return(new s).setString(e).setRange(t.range)}});t.evaluateToNumber=(e=>{return function stringExpression(t){return(new s).setNumber(e).setRange(t.range)}});t.evaluateToBoolean=(e=>{return function booleanExpression(t){return(new s).setBoolean(e).setRange(t.range)}});t.evaluateToIdentifier=((e,t,n,r)=>{return function identifierExpression(i){let o=(new s).setIdentifier(e,t,n).setSideEffects(false).setRange(i.range);switch(r){case true:o.setTruthy();o.setNullish(false);break;case null:o.setFalsy();o.setNullish(true);break;case false:o.setFalsy();break}return o}});t.expressionIsUnsupported=((e,t)=>{return function unsupportedExpression(n){const s=new i("(void 0)",n.range,null);s.loc=n.loc;e.state.module.addPresentationalDependency(s);if(!e.state.module)return;e.state.module.addWarning(new r(t,n.loc));return true}});t.skipTraversal=(()=>true);t.approve=(()=>true)},79279:(e,t,n)=>{"use strict";const{ConcatSource:r,RawSource:i}=n(48135);const{UsageState:s}=n(76632);const o=n(36253);const a=n(76150);const c=e=>{const t=JSON.stringify(e);if(!t){return undefined}return t.replace(/\u2028|\u2029/g,e=>e==="\u2029"?"\\u2029":"\\u2028")};const u=(e,t,n)=>{if(t.otherExportsInfo.getUsed(n)!==s.Unused)return e;const r=Array.isArray(e)?[]:{};for(const n of t.exports){if(n.name in r)return e}for(const i of Object.keys(e)){const o=t.getReadOnlyExportInfo(i);const a=o.getUsed(n);if(a===s.Unused)continue;let c;if(a===s.OnlyPropertiesUsed&&o.exportsInfo){c=u(e[i],o.exportsInfo,n)}else{c=e[i]}const l=o.getUsedName(i,n);r[l]=c}if(Array.isArray(r)){let e=0;for(let t=0;t20&&typeof h==="object"?`JSON.parse(${JSON.stringify(m)})`:m;f.add(`${e.moduleArgument}.exports = ${g};`);return f}}e.exports=JsonGenerator},9483:(e,t,n)=>{"use strict";const r=n(15235);const i=n(27503);const s=n(79279);const o=n(79232);const a=i(()=>n(18496));class JsonModulesPlugin{apply(e){e.hooks.compilation.tap("JsonModulesPlugin",(e,{normalModuleFactory:t})=>{t.hooks.createParser.for("json").tap("JsonModulesPlugin",e=>{r(a(),e,{name:"Json Modules Plugin",baseDataPath:"parser"});return new o(e)});t.hooks.createGenerator.for("json").tap("JsonModulesPlugin",()=>{return new s})})}}e.exports=JsonModulesPlugin},79232:(e,t,n)=>{"use strict";const r=n(78688);const i=n(2172);const s=n(38895);class JsonParser extends i{constructor(e){super();this.options=e||{}}parse(e,t){if(Buffer.isBuffer(e)){e=e.toString("utf-8")}const n=typeof this.options.parse==="function"?this.options.parse:r;const i=typeof e==="object"?e:n(e[0]==="\ufeff"?e.slice(1):e);t.module.buildInfo.jsonData=i;t.module.buildInfo.strict=true;t.module.buildMeta.exportsType="default";t.module.buildMeta.defaultObject=typeof i==="object"?"redirect-warn":false;t.module.addDependency(new s(s.getExportsFromData(i)));return t}}e.exports=JsonParser},9786:(e,t,n)=>{"use strict";const r=n(76150);const i=n(18161);class AbstractLibraryPlugin{constructor({pluginName:e,type:t}){this._pluginName=e;this._type=t;this._parseCache=new WeakMap}apply(e){const{_pluginName:t}=this;e.hooks.thisCompilation.tap(t,e=>{e.hooks.finishModules.tap(t,()=>{for(const[t,{dependencies:n,options:{library:r}}]of e.entries){const i=this._parseOptionsCached(r!==undefined?r:e.outputOptions.library);if(i!==false){const r=n[n.length-1];if(r){const n=e.moduleGraph.getModule(r);if(n){this.finishEntryModule(n,t,{options:i,compilation:e})}}}}});const n=t=>{if(e.chunkGraph.getNumberOfEntryModules(t)===0)return false;const n=e.entries.get(t.name);const r=n&&n.options.library;return this._parseOptionsCached(r!==undefined?r:e.outputOptions.library)};e.hooks.additionalChunkRuntimeRequirements.tap(t,(t,r)=>{const i=n(t);if(i!==false){this.runtimeRequirements(t,r,{options:i,compilation:e})}});const r=i.getCompilationHooks(e);r.render.tap(t,(t,r)=>{const i=n(r.chunk);if(i===false)return t;return this.render(t,r,{options:i,compilation:e})});r.chunkHash.tap(t,(t,r,i)=>{const s=n(t);if(s===false)return;this.chunkHash(t,r,i,{options:s,compilation:e})})})}_parseOptionsCached(e){if(!e)return false;if(e.type!==this._type)return false;const t=this._parseCache.get(e);if(t!==undefined)return t;const n=this.parseOptions(e);this._parseCache.set(e,n);return n}parseOptions(e){const t=n(75884);throw new t}finishEntryModule(e,t,n){}runtimeRequirements(e,t,n){t.add(r.returnExportsFromRuntime)}render(e,t,n){return e}chunkHash(e,t,n,r){const i=this._parseOptionsCached(r.compilation.outputOptions.library);t.update(this._pluginName);t.update(JSON.stringify(i))}}e.exports=AbstractLibraryPlugin},17982:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const i=n(16734);const s=n(58159);const o=n(9786);class AmdLibraryPlugin extends o{constructor(e){super({pluginName:"AmdLibraryPlugin",type:e.type});this.requireAsWrapper=e.requireAsWrapper}parseOptions(e){const{name:t}=e;if(this.requireAsWrapper){if(t){throw new Error("AMD library name must be unset")}}else{if(t&&typeof t!=="string"){throw new Error("AMD library name must be a simple string or unset")}}return{name:t}}render(e,{chunkGraph:t,chunk:n,runtimeTemplate:o},{options:a,compilation:c}){const u=o.supportsArrowFunction();const l=t.getChunkModules(n).filter(e=>e instanceof i);const f=l;const p=JSON.stringify(f.map(e=>typeof e.request==="object"&&!Array.isArray(e.request)?e.request.amd:e.request));const d=f.map(e=>`__WEBPACK_EXTERNAL_MODULE_${s.toIdentifier(`${t.getModuleId(e)}`)}__`).join(", ");const h=u?`(${d}) => `:`function(${d}) { return `;const m=u?"":"}";if(this.requireAsWrapper){return new r(`require(${p}, ${h}`,e,`${m});`)}else if(a.name){const t=c.getPath(a.name,{chunk:n});return new r(`define(${JSON.stringify(t)}, ${p}, ${h}`,e,`${m});`)}else if(d){return new r(`define(${p}, ${h}`,e,`${m});`)}else{return new r(`define(${h}`,e,`${m});`)}}chunkHash(e,t,n,{options:r,compilation:i}){t.update("AmdLibraryPlugin");if(this.requireAsWrapper){t.update("requireAsWrapper")}else if(r.name){t.update("named");const n=i.getPath(r.name,{chunk:e});t.update(n)}}}e.exports=AmdLibraryPlugin},69444:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const i=n(68038);const s=n(9786);const o=(e,t,n=false)=>{const r=e[0];if(e.length===1&&!n)return r;let s=t>0?r:`(${r} = typeof ${r} === "undefined" ? {} : ${r})`;let o=1;let a;if(t>o){a=e.slice(1,t);o=t;s+=i(a)}else{a=[]}const c=n?e.length:e.length-1;for(;oa.getPath(e,{chunk:i}));const f=new r;if(this.declare){const e=l[0];f.add(`${this.declare} ${e};`)}if(!s.name&&this.unnamed==="copy"){f.add(`(function(e, a) { for(var i in a) e[i] = a[i]; if(a.__esModule) Object.defineProperty(e, "__esModule", { value: true }); }(${o(l,c.length,true)},\n`);f.add(e);f.add("\n))")}else{f.add(`${o(l,c.length,false)} =\n`);f.add(e)}return f}chunkHash(e,t,n,{options:r,compilation:i}){t.update("AssignLibraryPlugin");const s=this.prefix==="global"?[i.outputOptions.globalObject]:this.prefix;const o=r.name?s.concat(r.name):s;const a=o.map(t=>i.getPath(t,{chunk:e}));if(!r.name&&this.unnamed==="copy"){t.update("copy")}if(this.declare){t.update(this.declare)}t.update(a.join("."))}}e.exports=AssignLibraryPlugin},13984:(e,t,n)=>{"use strict";const r=new WeakMap;const i=e=>{let t=r.get(e);if(t===undefined){t=new Set;r.set(e,t)}return t};class EnableLibraryPlugin{constructor(e){this.type=e}static checkEnabled(e,t){if(!i(e).has(t)){throw new Error(`Library type "${t}" is not enabled. `+"EnableLibraryPlugin need to be used to enable this type of library. "+'This usually happens through the "output.enabledLibraryTypes" option. '+'If you are using a function as entry which sets "library", you need to add all potential library types to "output.enabledLibraryTypes". '+Array.from(i(e)).join(", "))}}apply(e){const{type:t}=this;const r=i(e);if(r.has(t))return;r.add(t);if(typeof t==="string"){const r=n(97140);new r({type:t,nsObjectUsed:t!=="module"}).apply(e);switch(t){case"var":{const r=n(69444);new r({type:t,prefix:[],declare:"var",unnamed:"error"}).apply(e);break}case"assign":{const r=n(69444);new r({type:t,prefix:[],declare:false,unnamed:"error"}).apply(e);break}case"this":{const r=n(69444);new r({type:t,prefix:["this"],declare:false,unnamed:"copy"}).apply(e);break}case"window":{const r=n(69444);new r({type:t,prefix:["window"],declare:false,unnamed:"copy"}).apply(e);break}case"self":{const r=n(69444);new r({type:t,prefix:["self"],declare:false,unnamed:"copy"}).apply(e);break}case"global":{const r=n(69444);new r({type:t,prefix:"global",declare:false,unnamed:"copy"}).apply(e);break}case"commonjs":{const r=n(69444);new r({type:t,prefix:["exports"],declare:false,unnamed:"copy"}).apply(e);break}case"commonjs2":case"commonjs-module":{const r=n(69444);new r({type:t,prefix:["module","exports"],declare:false,unnamed:"assign"}).apply(e);break}case"amd":case"amd-require":{const r=n(17982);new r({type:t,requireAsWrapper:t==="amd-require"}).apply(e);break}case"umd":case"umd2":{const r=n(76456);new r({type:t,optionalAmdExternalAsGlobal:t==="umd2"}).apply(e);break}case"system":{const r=n(59405);new r({type:t}).apply(e);break}case"jsonp":{const r=n(63154);new r({type:t}).apply(e);break}case"module":break;default:throw new Error(`Unsupported library type ${t}`)}}else{}}}e.exports=EnableLibraryPlugin},97140:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const{UsageState:i}=n(76632);const s=n(68038);const{getEntryRuntime:o}=n(37416);const a=n(9786);class ExportPropertyLibraryPlugin extends a{constructor({type:e,nsObjectUsed:t}){super({pluginName:"ExportPropertyLibraryPlugin",type:e});this.nsObjectUsed=t}parseOptions(e){return{export:e.export}}finishEntryModule(e,t,{options:n,compilation:r,compilation:{moduleGraph:s}}){const a=o(r,t);if(n.export){const t=s.getExportInfo(e,Array.isArray(n.export)?n.export[0]:n.export);t.setUsed(i.Used,a);t.canMangleUse=false}else{const t=s.getExportsInfo(e);if(this.nsObjectUsed){t.setUsedInUnknownWay(a)}else{t.setAllKnownExportsUsed(a)}}s.addExtraReason(e,"used as library export")}render(e,t,{options:n}){if(!n.export)return e;const i=s(Array.isArray(n.export)?n.export:[n.export]);return new r(e,i)}}e.exports=ExportPropertyLibraryPlugin},63154:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const i=n(9786);class JsonpLibraryPlugin extends i{constructor(e){super({pluginName:"JsonpLibraryPlugin",type:e.type})}parseOptions(e){const{name:t}=e;if(typeof t!=="string"){throw new Error("Jsonp library name must be a simple string")}return{name:t}}render(e,{chunk:t},{options:n,compilation:i}){const s=i.getPath(n.name,{chunk:t});return new r(`${s}(`,e,")")}chunkHash(e,t,n,{options:r,compilation:i}){t.update("JsonpLibraryPlugin");t.update(i.getPath(r.name,{chunk:e}))}}e.exports=JsonpLibraryPlugin},59405:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const{UsageState:i}=n(76632);const s=n(16734);const o=n(58159);const a=n(68038);const c=n(9786);class SystemLibraryPlugin extends c{constructor(e){super({pluginName:"SystemLibraryPlugin",type:e.type})}parseOptions(e){const{name:t}=e;if(t&&typeof t!=="string"){throw new Error("System.js library name must be a simple string or unset")}return{name:t}}render(e,{chunkGraph:t,moduleGraph:n,chunk:c},{options:u,compilation:l}){const f=t.getChunkModules(c).filter(e=>e instanceof s);const p=f;const d=u.name?`${JSON.stringify(l.getPath(u.name,{chunk:c}))}, `:"";const h=JSON.stringify(p.map(e=>typeof e.request==="object"&&!Array.isArray(e.request)?e.request.amd:e.request));const m="__WEBPACK_DYNAMIC_EXPORT__";const g=p.map(e=>`__WEBPACK_EXTERNAL_MODULE_${o.toIdentifier(`${t.getModuleId(e)}`)}__`);const y=g.map(e=>`var ${e} = {};`).join("\n");const v=[];const _=g.length===0?"":o.asString(["setters: [",o.indent(p.map((e,t)=>{const r=g[t];const s=n.getExportsInfo(e);const u=s.otherExportsInfo.getUsed(c.runtime)===i.Unused;const l=[];const f=[];for(const e of s.orderedExports){const t=e.getUsedName(undefined,c.runtime);if(t){if(u||t!==e.name){l.push(`${r}${a([t])} = module${a([e.name])};`);f.push(e.name)}}else{f.push(e.name)}}if(!u){if(!Array.isArray(e.request)||e.request.length===1){v.push(`Object.defineProperty(${r}, "__esModule", { value: true });`)}if(f.length>0){const e=`${r}handledNames`;v.push(`var ${e} = ${JSON.stringify(f)};`);l.push(o.asString(["Object.keys(module).forEach(function(key) {",o.indent([`if(${e}.indexOf(key) >= 0)`,o.indent(`${r}[key] = module[key];`)]),"});"]))}else{l.push(o.asString(["Object.keys(module).forEach(function(key) {",o.indent([`${r}[key] = module[key];`]),"});"]))}}if(l.length===0)return"function() {}";return o.asString(["function(module) {",o.indent(l),"}"])}).join(",\n")),"],"]);return new r(o.asString([`System.register(${d}${h}, function(${m}, __system_context__) {`,o.indent([y,o.asString(v),"return {",o.indent([_,"execute: function() {",o.indent(`${m}(`)])]),""]),e,o.asString(["",o.indent([o.indent([o.indent([");"]),"}"]),"};"]),"})"]))}chunkHash(e,t,n,{options:r,compilation:i}){t.update("SystemLibraryPlugin");if(r.name){t.update(i.getPath(r.name,{chunk:e}))}}}e.exports=SystemLibraryPlugin},76456:(e,t,n)=>{"use strict";const{ConcatSource:r,OriginalSource:i}=n(48135);const s=n(16734);const o=n(58159);const a=n(9786);const c=e=>{return e.map(e=>`[${JSON.stringify(e)}]`).join("")};const u=(e,t,n=", ")=>{const r=Array.isArray(t)?t:[t];return r.map((t,n)=>{const i=e?e+c(r.slice(0,n+1)):r[0]+c(r.slice(1,n+1));if(n===r.length-1)return i;if(n===0&&e===undefined)return`${i} = typeof ${i} === "object" ? ${i} : {}`;return`${i} = ${i} || {}`}).join(n)};class UmdLibraryPlugin extends a{constructor(e){super({pluginName:"UmdLibraryPlugin",type:e.type});this.optionalAmdExternalAsGlobal=e.optionalAmdExternalAsGlobal}parseOptions(e){let t;let n;if(typeof e.name==="object"&&!Array.isArray(e.name)){t=e.name.root||e.name.amd||e.name.commonjs;n=e.name}else{t=e.name;const r=Array.isArray(t)?t[0]:t;n={commonjs:r,root:e.name,amd:r}}return{name:t,names:n,auxiliaryComment:e.auxiliaryComment,namedDefine:e.umdNamedDefine}}render(e,{chunkGraph:t,runtimeTemplate:n,chunk:a,moduleGraph:l},{options:f,compilation:p}){const d=t.getChunkModules(a).filter(e=>e instanceof s&&(e.externalType==="umd"||e.externalType==="umd2"));let h=d;const m=[];let g=[];if(this.optionalAmdExternalAsGlobal){for(const e of h){if(e.isOptional(l)){m.push(e)}else{g.push(e)}}h=g.concat(m)}else{g=h}const y=e=>{return p.getPath(e,{chunk:a})};const v=e=>{return`[${y(e.map(e=>JSON.stringify(typeof e.request==="object"?e.request.amd:e.request)).join(", "))}]`};const _=e=>{return y(e.map(e=>{let t=e.request;if(typeof t==="object")t=t.root;return`root${c([].concat(t))}`}).join(", "))};const b=e=>{return y(h.map(t=>{let n;let r=t.request;if(typeof r==="object"){r=r[e]}if(r===undefined){throw new Error("Missing external configuration for type:"+e)}if(Array.isArray(r)){n=`require(${JSON.stringify(r[0])})${c(r.slice(1))}`}else{n=`require(${JSON.stringify(r)})`}if(t.isOptional(l)){n=`(function webpackLoadOptionalExternalModule() { try { return ${n}; } catch(e) {} }())`}return n}).join(", "))};const E=e=>{return e.map(e=>`__WEBPACK_EXTERNAL_MODULE_${o.toIdentifier(`${t.getModuleId(e)}`)}__`).join(", ")};const w=e=>{return JSON.stringify(y([].concat(e).pop()))};let S;if(m.length>0){const e=E(g);const t=g.length>0?E(g)+", "+_(m):_(m);S=`function webpackLoadOptionalExternalModuleAmd(${e}) {\n`+`\t\t\treturn factory(${t});\n`+"\t\t}"}else{S="factory"}const{auxiliaryComment:k,namedDefine:D,names:x}=f;const C=e=>{if(k){if(typeof k==="string")return"\t//"+k+"\n";if(k[e])return"\t//"+k[e]+"\n"}return""};return new r(new i("(function webpackUniversalModuleDefinition(root, factory) {\n"+C("commonjs2")+"\tif(typeof exports === 'object' && typeof module === 'object')\n"+"\t\tmodule.exports = factory("+b("commonjs2")+");\n"+C("amd")+"\telse if(typeof define === 'function' && define.amd)\n"+(g.length>0?x.amd&&D===true?"\t\tdefine("+w(x.amd)+", "+v(g)+", "+S+");\n":"\t\tdefine("+v(g)+", "+S+");\n":x.amd&&D===true?"\t\tdefine("+w(x.amd)+", [], "+S+");\n":"\t\tdefine([], "+S+");\n")+(x.root||x.commonjs?C("commonjs")+"\telse if(typeof exports === 'object')\n"+"\t\texports["+w(x.commonjs||x.root)+"] = factory("+b("commonjs")+");\n"+C("root")+"\telse\n"+"\t\t"+y(u("root",x.root||x.commonjs))+" = factory("+_(h)+");\n":"\telse {\n"+(h.length>0?"\t\tvar a = typeof exports === 'object' ? factory("+b("commonjs")+") : factory("+_(h)+");\n":"\t\tvar a = factory();\n")+"\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n"+"\t}\n")+`})(${n.outputOptions.globalObject}, function(${E(h)}) {\nreturn `,"webpack/universalModuleDefinition"),e,";\n})")}}e.exports=UmdLibraryPlugin},78539:(e,t)=>{"use strict";const n=Object.freeze({error:"error",warn:"warn",info:"info",log:"log",debug:"debug",trace:"trace",group:"group",groupCollapsed:"groupCollapsed",groupEnd:"groupEnd",profile:"profile",profileEnd:"profileEnd",time:"time",clear:"clear",status:"status"});t.LogType=n;const r=Symbol("webpack logger raw log method");const i=Symbol("webpack logger times");const s=Symbol("webpack logger aggregated times");class WebpackLogger{constructor(e,t){this[r]=e;this.getChildLogger=t}error(...e){this[r](n.error,e)}warn(...e){this[r](n.warn,e)}info(...e){this[r](n.info,e)}log(...e){this[r](n.log,e)}debug(...e){this[r](n.debug,e)}assert(e,...t){if(!e){this[r](n.error,t)}}trace(){this[r](n.trace,["Trace"])}clear(){this[r](n.clear)}status(...e){this[r](n.status,e)}group(...e){this[r](n.group,e)}groupCollapsed(...e){this[r](n.groupCollapsed,e)}groupEnd(...e){this[r](n.groupEnd,e)}profile(e){this[r](n.profile,[e])}profileEnd(e){this[r](n.profileEnd,[e])}time(e){this[i]=this[i]||new Map;this[i].set(e,process.hrtime())}timeLog(e){const t=this[i]&&this[i].get(e);if(!t){throw new Error(`No such label '${e}' for WebpackLogger.timeLog()`)}const s=process.hrtime(t);this[r](n.time,[e,...s])}timeEnd(e){const t=this[i]&&this[i].get(e);if(!t){throw new Error(`No such label '${e}' for WebpackLogger.timeEnd()`)}const s=process.hrtime(t);this[i].delete(e);this[r](n.time,[e,...s])}timeAggregate(e){const t=this[i]&&this[i].get(e);if(!t){throw new Error(`No such label '${e}' for WebpackLogger.timeAggregate()`)}const n=process.hrtime(t);this[i].delete(e);this[s]=this[s]||new Map;const r=this[s].get(e);if(r!==undefined){if(n[1]+r[1]>1e9){n[0]+=r[0]+1;n[1]=n[1]-1e9+r[1]}else{n[0]+=r[0];n[1]+=r[1]}}this[s].set(e,n)}timeAggregateEnd(e){if(this[s]===undefined)return;const t=this[s].get(e);if(t===undefined)return;this[r](n.time,[e,...t])}}t.Logger=WebpackLogger},70108:(e,t,n)=>{"use strict";const{LogType:r}=n(78539);const i=e=>{if(typeof e==="string"){const t=new RegExp(`[\\\\/]${e.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return e=>t.test(e)}if(e&&typeof e==="object"&&typeof e.test==="function"){return t=>e.test(t)}if(typeof e==="function"){return e}if(typeof e==="boolean"){return()=>e}};const s={none:6,false:6,error:5,warn:4,info:3,log:2,true:2,verbose:1};e.exports=(({level:e="info",debug:t=false,console:n})=>{const o=typeof t==="boolean"?[()=>t]:[].concat(t).map(i);const a=s[`${e}`]||0;const c=(e,t,i)=>{const c=()=>{if(Array.isArray(i)){if(i.length>0&&typeof i[0]==="string"){return[`[${e}] ${i[0]}`,...i.slice(1)]}else{return[`[${e}]`,...i]}}else{return[]}};const u=o.some(t=>t(e));switch(t){case r.debug:if(!u)return;if(typeof n.debug==="function"){n.debug(...c())}else{n.log(...c())}break;case r.log:if(!u&&a>s.log)return;n.log(...c());break;case r.info:if(!u&&a>s.info)return;n.info(...c());break;case r.warn:if(!u&&a>s.warn)return;n.warn(...c());break;case r.error:if(!u&&a>s.error)return;n.error(...c());break;case r.trace:if(!u)return;n.trace();break;case r.groupCollapsed:if(!u&&a>s.log)return;if(!u&&a>s.verbose){if(typeof n.groupCollapsed==="function"){n.groupCollapsed(...c())}else{n.log(...c())}break}case r.group:if(!u&&a>s.log)return;if(typeof n.group==="function"){n.group(...c())}else{n.log(...c())}break;case r.groupEnd:if(!u&&a>s.log)return;if(typeof n.groupEnd==="function"){n.groupEnd()}break;case r.time:{if(!u&&a>s.log)return;const t=i[1]*1e3+i[2]/1e6;const r=`[${e}] ${i[0]}: ${t} ms`;if(typeof n.logTime==="function"){n.logTime(r)}else{n.log(r)}break}case r.profile:if(typeof n.profile==="function"){n.profile(...c())}break;case r.profileEnd:if(typeof n.profileEnd==="function"){n.profileEnd(...c())}break;case r.clear:if(!u&&a>s.log)return;if(typeof n.clear==="function"){n.clear()}break;case r.status:if(!u&&a>s.info)return;if(typeof n.status==="function"){if(i.length===0){n.status()}else{n.status(...c())}}else{if(i.length!==0){n.info(...c())}}break;default:throw new Error(`Unexpected LogType ${t}`)}};return c})},50595:e=>{"use strict";const t=e=>{let t=0;for(const n of e)t+=n;return t};const n=(e,r)=>{const i=e.map(e=>`${e}`.length);const s=r-i.length+1;if(s>0&&e.length===1){if(s>=e[0].length){return e}else if(s>3){return["..."+e[0].slice(-s+3)]}else{return[e[0].slice(-s)]}}if(sMath.min(e,6)))){if(e.length>1)return n(e.slice(0,e.length-1),r);return[]}let o=t(i);if(o<=s)return e;while(o>s){const e=Math.max(...i);const t=i.filter(t=>t!==e);const n=t.length>0?Math.max(...t):0;const r=e-n;let a=i.length-t.length;let c=o-s;for(let t=0;t{const n=`${e}`;const r=i[t];if(n.length===r){return n}else if(r>5){return"..."+n.slice(-r+3)}else if(r>0){return n.slice(-r)}else{return""}})};e.exports=n},93632:(e,t,n)=>{"use strict";const r=n(76537);const i=n(15808);const s=n(70108);const o=n(2255);const a=n(56642);class NodeEnvironmentPlugin{constructor(e){this.options=e||{}}apply(e){e.infrastructureLogger=s(Object.assign({level:"info",debug:false,console:a},this.options.infrastructureLogging));e.inputFileSystem=new r(i,6e4);const t=e.inputFileSystem;e.outputFileSystem=i;e.intermediateFileSystem=i;e.watchFileSystem=new o(e.inputFileSystem);e.hooks.beforeRun.tap("NodeEnvironmentPlugin",e=>{if(e.inputFileSystem===t){t.purge()}})}}e.exports=NodeEnvironmentPlugin},92662:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66298);e.exports=class NodeSourcePlugin{constructor(e){this._options=e}apply(e){const t=this._options;if(t===false){return}e.hooks.compilation.tap("NodeSourcePlugin",(e,{normalModuleFactory:n})=>{const s=(e,n)=>{if(n.node===false)return;let s=t;if(n.node){s={...s,...n.node}}if(s.global){e.hooks.expression.for("global").tap("NodeSourcePlugin",t=>{const n=new i(r.global,t.range,[r.global]);n.loc=t.loc;e.state.module.addPresentationalDependency(n)})}};n.hooks.parser.for("javascript/auto").tap("NodeSourcePlugin",s);n.hooks.parser.for("javascript/dynamic").tap("NodeSourcePlugin",s);n.hooks.parser.for("javascript/esm").tap("NodeSourcePlugin",s)})}}},84980:(e,t,n)=>{"use strict";const r=n(61050);const i=n(32282).builtinModules||Object.keys(process.binding("natives"));class NodeTargetPlugin{apply(e){new r("commonjs",i).apply(e)}}e.exports=NodeTargetPlugin},91591:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const i=n(76150);const s=n(58159);const o=n(18161);const{getChunkFilenameTemplate:a}=n(18161);const c=n(64997);class NodeTemplatePlugin{constructor(e){e=e||{};this.asyncChunkLoading=e.asyncChunkLoading}apply(e){const t=this.asyncChunkLoading?n(26020):n(75491);new c({asyncChunkLoading:this.asyncChunkLoading,exposedGlobal:"module.exports"}).apply(e);e.hooks.thisCompilation.tap("NodeTemplatePlugin",e=>{const n=o.getCompilationHooks(e);n.renderChunk.tap("NodeTemplatePlugin",(t,n)=>{const{chunk:o,chunkGraph:c,runtimeTemplate:u}=n;const l=new r;l.add(`exports.id = ${JSON.stringify(o.id)};\n`);l.add(`exports.ids = ${JSON.stringify(o.ids)};\n`);l.add(`exports.modules = `);l.add(t);l.add(";\n");const f=c.getChunkRuntimeModulesInOrder(o);if(f.length>0){l.add("exports.runtime =\n");l.add(s.renderChunkRuntimeModules(f,n))}const p=Array.from(c.getChunkEntryModulesWithChunkGroupIterable(o));if(p.length>0){const t=p[0][1].getRuntimeChunk();const n=e.getPath(a(o,e.outputOptions),{chunk:o,contentHashType:"javascript"}).split("/");const s=e.getPath(a(t,e.outputOptions),{chunk:t,contentHashType:"javascript"}).split("/");n.pop();while(n.length>0&&s.length>0&&n[0]===s[0]){n.shift();s.shift()}const f=(n.length>0?"../".repeat(n.length):"./")+s.join("/");const d=new r;d.add(`(${u.supportsArrowFunction()?"() => ":"function() "}{\n`);d.add("var exports = {};\n");d.add(l);d.add(";\n\n// load runtime\n");d.add(`var __webpack_require__ = require(${JSON.stringify(f)});\n`);d.add(`${i.externalInstallChunk}(exports);\n`);for(let e=0;ee!==o&&e!==t).map(e=>e.id))}, ${JSON.stringify(c.getModuleId(n))});\n`)}d.add("})()");return d}return l});n.render.tap("NodeTemplatePlugin",(e,t)=>{const{chunk:n,chunkGraph:r}=t;if(!n.hasRuntime())return e;if(r.getNumberOfEntryModules(n)>0)return e});n.chunkHash.tap("NodeTemplatePlugin",(e,t)=>{if(e.hasRuntime())return;t.update("node");t.update("1")});const c=new WeakSet;const u=(n,r)=>{if(c.has(n))return;c.add(n);r.add(i.moduleFactoriesAddOnly);r.add(i.hasOwnProperty);e.addRuntimeModule(n,new t(r))};e.hooks.additionalTreeRuntimeRequirements.tap("NodeTemplatePlugin",(t,n)=>{if(Array.from(t.getAllReferencedChunks()).some(n=>n!==t&&e.chunkGraph.getNumberOfEntryModules(n)>0)){n.add(i.startupEntrypoint);n.add(i.externalInstallChunk)}});e.hooks.runtimeRequirementInTree.for(i.ensureChunkHandlers).tap("NodeTemplatePlugin",u);e.hooks.runtimeRequirementInTree.for(i.hmrDownloadUpdateHandlers).tap("NodeTemplatePlugin",u);e.hooks.runtimeRequirementInTree.for(i.hmrDownloadManifest).tap("NodeTemplatePlugin",u);e.hooks.runtimeRequirementInTree.for(i.ensureChunkHandlers).tap("NodeTemplatePlugin",(e,t)=>{t.add(i.getChunkScriptFilename)});e.hooks.runtimeRequirementInTree.for(i.hmrDownloadUpdateHandlers).tap("NodeTemplatePlugin",(e,t)=>{t.add(i.getChunkUpdateScriptFilename);t.add(i.moduleCache);t.add(i.hmrModuleData);t.add(i.moduleFactoriesAddOnly)});e.hooks.runtimeRequirementInTree.for(i.hmrDownloadManifest).tap("NodeTemplatePlugin",(e,t)=>{t.add(i.getUpdateManifestFilename)})})}}e.exports=NodeTemplatePlugin},2255:(e,t,n)=>{"use strict";const r=n(92512);class NodeWatchFileSystem{constructor(e){this.inputFileSystem=e;this.watcherOptions={aggregateTimeout:0};this.watcher=new r(this.watcherOptions)}watch(e,t,n,i,s,o,a){if(!e||typeof e[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'files'")}if(!t||typeof t[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'directories'")}if(!n||typeof n[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'missing'")}if(typeof o!=="function"){throw new Error("Invalid arguments: 'callback'")}if(typeof i!=="number"&&i){throw new Error("Invalid arguments: 'startTime'")}if(typeof s!=="object"){throw new Error("Invalid arguments: 'options'")}if(typeof a!=="function"&&a){throw new Error("Invalid arguments: 'callbackUndelayed'")}const c=this.watcher;this.watcher=new r(s);if(a){this.watcher.once("change",a)}this.watcher.once("aggregated",(e,t)=>{if(this.inputFileSystem&&this.inputFileSystem.purge){for(const t of e){this.inputFileSystem.purge(t)}for(const e of t){this.inputFileSystem.purge(e)}}const n=this.watcher.getTimeInfoEntries();o(null,n,n,e,t)});this.watcher.watch({files:e,directories:t,missing:n,startTime:i});if(c){c.close()}return{close:()=>{if(this.watcher){this.watcher.close();this.watcher=null}},pause:()=>{if(this.watcher){this.watcher.pause()}},getFileTimeInfoEntries:()=>{if(this.watcher){return this.watcher.getTimeInfoEntries()}else{return new Map}},getContextTimeInfoEntries:()=>{if(this.watcher){return this.watcher.getTimeInfoEntries()}else{return new Map}}}}}e.exports=NodeWatchFileSystem},26020:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const{chunkHasJs:o,getChunkFilenameTemplate:a}=n(18161);const c=n(87274);const{getUndoPath:u}=n(49197);class ReadFileChunkLoadingRuntimeModule extends i{constructor(e){super("readFile chunk loading",10);this.runtimeRequirements=e}generate(){const{chunk:e}=this;const{chunkGraph:t,runtimeTemplate:i}=this.compilation;const l=r.ensureChunkHandlers;const f=this.runtimeRequirements.has(r.externalInstallChunk);const p=this.runtimeRequirements.has(r.ensureChunkHandlers);const d=this.runtimeRequirements.has(r.hmrDownloadUpdateHandlers);const h=this.runtimeRequirements.has(r.hmrDownloadManifest);const m=c(t.getChunkConditionMap(e,o));const g=this.compilation.getPath(a(e,this.compilation.outputOptions),{chunk:e,contentHashType:"javascript"});const y=u(g,false);return s.asString(["// object to store loaded chunks",'// "0" means "already loaded", Promise means loading',"var installedChunks = {",s.indent(e.ids.map(e=>`${JSON.stringify(e)}: 0`).join(",\n")),"};","",p||f?`var installChunk = ${i.basicFunction("chunk",["var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",s.indent([`if(${r.hasOwnProperty}(moreModules, moduleId)) {`,s.indent([`${r.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(__webpack_require__);`,"var callbacks = [];","for(var i = 0; i < chunkIds.length; i++) {",s.indent(["if(installedChunks[chunkIds[i]])",s.indent(["callbacks = callbacks.concat(installedChunks[chunkIds[i]][0]);"]),"installedChunks[chunkIds[i]] = 0;"]),"}","for(i = 0; i < callbacks.length; i++)",s.indent("callbacks[i]();")])};`:"// no chunk install function needed","",p?s.asString(["// ReadFile + VM.run chunk loading for javascript",`${l}.readFileVm = function(chunkId, promises) {`,m!==false?s.indent(["","var installedChunkData = installedChunks[chunkId];",'if(installedChunkData !== 0) { // 0 means "already installed".',s.indent(['// array of [resolve, reject, promise] means "currently loading"',"if(installedChunkData) {",s.indent(["promises.push(installedChunkData[2]);"]),"} else {",s.indent([m===true?"if(true) { // all chunks have JS":`if(${m("chunkId")}) {`,s.indent(["// load the chunk and return promise to it","var promise = new Promise(function(resolve, reject) {",s.indent(["installedChunkData = installedChunks[chunkId] = [resolve, reject];",`var filename = require('path').join(__dirname, ${JSON.stringify(y)} + ${r.getChunkScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",s.indent(["if(err) return reject(err);","var chunk = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(chunk, require, require('path').dirname(filename), filename);","installChunk(chunk);"]),"});"]),"});","promises.push(installedChunkData[2] = promise);"]),"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):s.indent(["installedChunks[chunkId] = 0;"]),"};"]):"// no chunk loading","",f?s.asString(["module.exports = __webpack_require__;",`${r.externalInstallChunk} = installChunk;`]):"// no external install chunk","",d?s.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",s.indent(["return new Promise(function(resolve, reject) {",s.indent([`var filename = require('path').join(__dirname, ${JSON.stringify(y)} + ${r.getChunkUpdateScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",s.indent(["if(err) return reject(err);","var update = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(update, require, require('path').dirname(filename), filename);","var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",s.indent([`if(${r.hasOwnProperty}(updatedModules, moduleId)) {`,s.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","resolve();"]),"});"]),"});"]),"}","",s.getFunctionContent(n(22215)).replace(/\$key\$/g,"readFileVm").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,r.moduleCache).replace(/\$moduleFactories\$/g,r.moduleFactories).replace(/\$ensureChunkHandlers\$/g,r.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,r.hasOwnProperty).replace(/\$hmrModuleData\$/g,r.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,r.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,r.hmrInvalidateModuleHandlers)]):"// no HMR","",h?s.asString([`${r.hmrDownloadManifest} = function() {`,s.indent(["return new Promise(function(resolve, reject) {",s.indent([`var filename = require('path').join(__dirname, ${JSON.stringify(y)} + ${r.getUpdateManifestFilename}());`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",s.indent(["if(err) {",s.indent(['if(err.code === "ENOENT") return resolve();',"return reject(err);"]),"}","try { resolve(JSON.parse(content)); }","catch(e) { reject(e); }"]),"});"]),"});"]),"}"]):"// no HMR manifest"])}}e.exports=ReadFileChunkLoadingRuntimeModule},21273:(e,t,n)=>{"use strict";const r=n(76150);const i=n(58159);const s=n(21941);class ReadFileCompileAsyncWasmPlugin{apply(e){e.hooks.thisCompilation.tap("ReadFileCompileAsyncWasmPlugin",e=>{const t=e=>i.asString(["new Promise(function (resolve, reject) {",i.indent(["var { readFile } = require('fs');","var { join } = require('path');","","try {",i.indent([`readFile(join(__dirname, ${e}), function(err, buffer){`,i.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",i.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);e.hooks.runtimeRequirementInTree.for(r.instantiateWasm).tap("ReadFileCompileAsyncWasmPlugin",(n,i)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/async")){return}i.add(r.publicPath);e.addRuntimeModule(n,new s({generateLoadBinaryCode:t,supportsStreaming:false}))})})}}e.exports=ReadFileCompileAsyncWasmPlugin},71049:(e,t,n)=>{"use strict";const r=n(76150);const i=n(58159);const s=n(95982);class ReadFileCompileWasmPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.thisCompilation.tap("ReadFileCompileWasmPlugin",e=>{const t=e=>i.asString(["new Promise(function (resolve, reject) {",i.indent(["var { readFile } = require('fs');","var { join } = require('path');","","try {",i.indent([`readFile(join(__dirname, ${e}), function(err, buffer){`,i.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",i.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("ReadFileCompileWasmPlugin",(n,i)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/sync")){return}i.add(r.moduleCache);e.addRuntimeModule(n,new s({generateLoadBinaryCode:t,supportsStreaming:false,mangleImports:this.options.mangleImports}))})})}}e.exports=ReadFileCompileWasmPlugin},75491:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const{chunkHasJs:o,getChunkFilenameTemplate:a}=n(18161);const c=n(87274);const{getUndoPath:u}=n(49197);class RequireChunkLoadingRuntimeModule extends i{constructor(e){super("require chunk loading",10);this.runtimeRequirements=e}generate(){const{chunk:e}=this;const{chunkGraph:t,runtimeTemplate:i}=this.compilation;const l=r.ensureChunkHandlers;const f=this.runtimeRequirements.has(r.externalInstallChunk);const p=this.runtimeRequirements.has(r.ensureChunkHandlers);const d=this.runtimeRequirements.has(r.hmrDownloadUpdateHandlers);const h=this.runtimeRequirements.has(r.hmrDownloadManifest);const m=c(t.getChunkConditionMap(e,o));const g=this.compilation.getPath(a(e,this.compilation.outputOptions),{chunk:e,contentHashType:"javascript"});const y=u(g,true);return s.asString(["// object to store loaded chunks",'// "1" means "loaded", otherwise not loaded yet',"var installedChunks = {",s.indent(e.ids.map(e=>`${JSON.stringify(e)}: 1`).join(",\n")),"};","",p||f?`var installChunk = ${i.basicFunction("chunk",["var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",s.indent([`if(${r.hasOwnProperty}(moreModules, moduleId)) {`,s.indent([`${r.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(__webpack_require__);`,"for(var i = 0; i < chunkIds.length; i++)",s.indent("installedChunks[chunkIds[i]] = 1;")])};`:"// no chunk install function needed","",p?s.asString(["// require() chunk loading for javascript",`${l}.require = function(chunkId, promises) {`,m!==false?s.indent(["",'// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",s.indent([m===true?"if(true) { // all chunks have JS":`if(${m("chunkId")}) {`,s.indent([`installChunk(require(${JSON.stringify(y)} + ${r.getChunkScriptFilename}(chunkId)));`]),"} else installedChunks[chunkId] = 1;",""]),"}"]):"installedChunks[chunkId] = 1;","};"]):"// no chunk loading","",f?s.asString(["module.exports = __webpack_require__;",`${r.externalInstallChunk} = installChunk;`]):"// no external install chunk","",d?s.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",s.indent([`var update = require(${JSON.stringify(y)} + ${r.getChunkUpdateScriptFilename}(chunkId));`,"var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",s.indent([`if(${r.hasOwnProperty}(updatedModules, moduleId)) {`,s.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);"]),"}","",s.getFunctionContent(n(22215)).replace(/\$key\$/g,"require").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,r.moduleCache).replace(/\$moduleFactories\$/g,r.moduleFactories).replace(/\$ensureChunkHandlers\$/g,r.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,r.hasOwnProperty).replace(/\$hmrModuleData\$/g,r.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,r.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,r.hmrInvalidateModuleHandlers)]):"// no HMR","",h?s.asString([`${r.hmrDownloadManifest} = function() {`,s.indent(["return Promise.resolve().then(function() {",s.indent([`return require(${JSON.stringify(y)} + ${r.getUpdateManifestFilename}());`]),'}).catch(function(err) { if(err.code !== "MODULE_NOT_FOUND") throw err; });']),"}"]):"// no HMR manifest"])}}e.exports=RequireChunkLoadingRuntimeModule},56642:(e,t,n)=>{"use strict";const r=n(31669);const i=n(50595);const s=process.stderr.isTTY&&process.env.TERM!=="dumb";let o=undefined;let a=false;let c="";let u=0;const l=(e,t,n,r)=>{if(e==="")return e;t=c+t;if(s){return t+n+e.replace(/\n/g,r+"\n"+t+n)+r}else{return t+e.replace(/\n/g,"\n"+t)}};const f=()=>{if(a){process.stderr.write("\r");a=false}};const p=()=>{if(!o)return;const e=process.stderr.columns;const t=e?i(o,e-1):o;const n=t.join(" ");const r=`${n}`;process.stderr.write(`\r${r}`);a=true};const d=(e,t,n)=>{return(...i)=>{if(u>0)return;f();const s=l(r.format(...i),e,t,n);process.stderr.write(s+"\n");p()}};const h=d("<-> ","","");const m=d("<+> ","","");e.exports={log:d(" ","",""),debug:d(" ","",""),trace:d(" ","",""),info:d(" ","",""),warn:d(" ","",""),error:d(" ","",""),logTime:d(" ","",""),group:(...e)=>{h(...e);if(u>0){u++}else{c+=" "}},groupCollapsed:(...e)=>{m(...e);u++},groupEnd:()=>{if(u>0)u--;else if(c.length>=2)c=c.slice(0,c.length-2)},profile:console.profile&&(e=>console.profile(e)),profileEnd:console.profileEnd&&(e=>console.profileEnd(e)),clear:s&&console.clear&&(()=>{f();console.clear();p()}),status:s?(e,...t)=>{t=t.filter(Boolean);if(e===undefined&&t.length===0){f();o=undefined}else if(typeof e==="string"&&e.startsWith("[webpack.Progress] ")){o=[e.slice(19),...t];p()}else if(e==="[webpack.Progress]"){o=[...t];p()}else{o=[e,...t];p()}}:d(" ","","")}},61332:(e,t,n)=>{"use strict";const{STAGE_ADVANCED:r}=n(82414);class AggressiveMergingPlugin{constructor(e){if(e!==undefined&&typeof e!=="object"||Array.isArray(e)){throw new Error("Argument should be an options object. To use defaults, pass in nothing.\nFor more info on options, see https://webpack.js.org/plugins/")}this.options=e||{}}apply(e){const t=this.options;const n=t.minSizeReduce||1.5;e.hooks.thisCompilation.tap("AggressiveMergingPlugin",e=>{e.hooks.optimizeChunks.tap({name:"AggressiveMergingPlugin",stage:r},t=>{const r=e.chunkGraph;let i=[];for(const e of t){if(e.canBeInitial())continue;for(const n of t){if(n.canBeInitial())continue;if(n===e)break;if(!r.canChunksBeIntegrated(e,n)){continue}const t=r.getChunkSize(n,{chunkOverhead:0});const s=r.getChunkSize(e,{chunkOverhead:0});const o=r.getIntegratedChunksSize(n,e,{chunkOverhead:0});const a=(t+s)/o;i.push({a:e,b:n,improvement:a})}}i.sort((e,t)=>{return t.improvement-e.improvement});const s=i[0];if(!s)return;if(s.improvement{"use strict";const r=n(15235);const i=n(69127);const{STAGE_ADVANCED:s}=n(82414);const{intersect:o}=n(26221);const{compareModulesByIdentifier:a,compareChunks:c}=n(68673);const u=n(49197);const l=(e,t,n)=>{return r=>{e.disconnectChunkAndModule(t,r);e.connectChunkAndModule(n,r)}};const f=(e,t)=>{return n=>{return!e.isEntryModuleInChunk(n,t)}};const p=new WeakSet;class AggressiveSplittingPlugin{constructor(e={}){r(i,e,{name:"Aggressive Splitting Plugin",baseDataPath:"options"});this.options=e;if(typeof this.options.minSize!=="number"){this.options.minSize=30*1024}if(typeof this.options.maxSize!=="number"){this.options.maxSize=50*1024}if(typeof this.options.chunkOverhead!=="number"){this.options.chunkOverhead=0}if(typeof this.options.entryChunkMultiplicator!=="number"){this.options.entryChunkMultiplicator=1}}static wasChunkRecorded(e){return p.has(e)}apply(e){e.hooks.thisCompilation.tap("AggressiveSplittingPlugin",t=>{let n=false;let r;let i;let d;t.hooks.optimize.tap("AggressiveSplittingPlugin",()=>{r=[];i=new Set;d=new Map});t.hooks.optimizeChunks.tap({name:"AggressiveSplittingPlugin",stage:s},n=>{const s=t.chunkGraph;const p=new Map;const h=new Map;const m=u.makePathsRelative.bindContextCache(e.context,e.root);for(const e of t.modules){const t=m(e.identifier());p.set(t,e);h.set(e,t)}const g=new Set;for(const e of n){g.add(e.id)}const y=t.records&&t.records.aggressiveSplits||[];const v=r?y.concat(r):y;const _=this.options.minSize;const b=this.options.maxSize;const E=e=>{if(e.id!==undefined&&g.has(e.id)){return false}const n=e.modules.map(e=>p.get(e));if(!n.every(Boolean))return false;let r=0;for(const e of n)r+=e.size();if(r!==e.size)return false;const a=o(n.map(e=>new Set(s.getModuleChunksIterable(e))));if(a.size===0)return false;if(a.size===1&&s.getNumberOfChunkModules(Array.from(a)[0])===n.length){const t=Array.from(a)[0];if(i.has(t))return false;i.add(t);d.set(t,e);return true}const c=t.addChunk();c.chunkReason="aggressive splitted";for(const e of a){n.forEach(l(s,e,c));e.split(c);e.name=null}i.add(c);d.set(c,e);if(e.id!==null&&e.id!==undefined){c.id=e.id;c.ids=[e.id]}return true};let w=false;for(let e=0;e{const n=s.getChunkModulesSize(t)-s.getChunkModulesSize(e);if(n)return n;const r=s.getNumberOfChunkModules(e)-s.getNumberOfChunkModules(t);if(r)return r;return S(e,t)});for(const e of k){if(i.has(e))continue;const t=s.getChunkModulesSize(e);if(t>b&&s.getNumberOfChunkModules(e)>1){const t=s.getOrderedChunkModules(e,a).filter(f(s,e));const n=[];let i=0;for(let e=0;eb&&i>=_){break}i=s;n.push(r)}if(n.length===0)continue;const o={modules:n.map(e=>h.get(e)).sort(),size:i};if(E(o)){r=(r||[]).concat(o);w=true}}}if(w)return true});t.hooks.recordHash.tap("AggressiveSplittingPlugin",e=>{const r=new Set;const i=new Set;for(const e of t.chunks){const t=d.get(e);if(t!==undefined){if(t.hash&&e.hash!==t.hash){i.add(t)}}}if(i.size>0){e.aggressiveSplits=e.aggressiveSplits.filter(e=>!i.has(e));n=true}else{for(const e of t.chunks){const t=d.get(e);if(t!==undefined){t.hash=e.hash;t.id=e.id;r.add(t);p.add(e)}}const s=t.records&&t.records.aggressiveSplits;if(s){for(const e of s){if(!i.has(e))r.add(e)}}e.aggressiveSplits=Array.from(r);n=false}});t.hooks.needAdditionalSeal.tap("AggressiveSplittingPlugin",()=>{if(n){n=false;return true}})})}}e.exports=AggressiveSplittingPlugin},95734:(e,t,n)=>{"use strict";const r=n(19579);const{CachedSource:i,ConcatSource:s,ReplaceSource:o}=n(48135);const a=n(84304);const{UsageState:c}=n(76632);const u=n(53453);const l=n(76150);const f=n(58159);const p=n(54290);const d=n(55037);const h=n(44576);const m=n(14696);const g=n(37359);const y=n(69707);const v=n(2230);const _=n(3711);const{equals:b}=n(73910);const E=n(83379);const{concatComparators:w,keepOriginalOrder:S}=n(68673);const k=n(35891);const D=n(49197).contextify;const x=n(56202);const C=n(68038);const A=["__WEBPACK_MODULE_DEFAULT_EXPORT__","abstract,arguments,async,await,boolean,break,byte,case,catch,char,class,const,continue","debugger,default,delete,do,double,else,enum,eval,export,extends,false,final,finally,float","for,function,goto,if,implements,import,in,instanceof,int,interface,let,long,native,new,null","package,private,protected,public,return,short,static,super,switch,synchronized,this,throw","throws,transient,true,try,typeof,var,void,volatile,while,with,yield","module,__dirname,__filename,exports","Array,Date,eval,function,hasOwnProperty,Infinity,isFinite,isNaN,isPrototypeOf,length,Math","NaN,name,Number,Object,prototype,String,toString,undefined,valueOf","alert,all,anchor,anchors,area,assign,blur,button,checkbox,clearInterval,clearTimeout","clientInformation,close,closed,confirm,constructor,crypto,decodeURI,decodeURIComponent","defaultStatus,document,element,elements,embed,embeds,encodeURI,encodeURIComponent,escape","event,fileUpload,focus,form,forms,frame,innerHeight,innerWidth,layer,layers,link,location","mimeTypes,navigate,navigator,frames,frameRate,hidden,history,image,images,offscreenBuffering","open,opener,option,outerHeight,outerWidth,packages,pageXOffset,pageYOffset,parent,parseFloat","parseInt,password,pkcs11,plugin,prompt,propertyIsEnum,radio,reset,screenX,screenY,scroll","secure,select,self,setInterval,setTimeout,status,submit,taint,text,textarea,top,unescape","untaint,window","onblur,onclick,onerror,onfocus,onkeydown,onkeypress,onkeyup,onmouseover,onload,onmouseup,onmousedown,onsubmit"].join(",").split(",");const T=(e,t)=>{const n=e.sourceOrder;const r=t.sourceOrder;if(isNaN(n)){if(!isNaN(r)){return 1}}else{if(isNaN(r)){return-1}if(n!==r){return n{let t="";let n=true;for(const r of e){if(n){n=false}else{t+=", "}t+=r}return t};const O=(e,t,n,r,i,s,o)=>{const a=t.namespaceObjectName;if(!t.hasNamespaceObject){t.hasNamespaceObject=true;const c=[];const u=e.getExportsInfo(t.module);for(const a of u.orderedExports){const u=a.getUsedName(undefined,r);if(u){const l=P(e,t,[a.name],n,r,i,s,false,undefined,o,true);c.push(`\n ${JSON.stringify(u)}: ${s.returningFunction(l)}`)}}t.namespaceObjectSource=`var ${a} = {};\n${l.makeNamespaceObject}(${a});\n${l.definePropertyGetters}(${a}, {${c.join(",")}\n});\n`}return a};const F=(e,t,n,r,i,s,o,a,c)=>{let u=n.name;const l=t.getExportsType(e,a);if(r.length===0){switch(l){case"default-only":case"default-with-named":n.interopNamespaceObjectUsed=true;u=n.interopNamespaceObjectName;break;case"namespace":case"dynamic":break;default:throw new Error(`Unexpected exportsType ${l}`)}}else{switch(l){case"namespace":break;case"default-with-named":if(r[0]==="default"){u=n.name;r=r.slice(1)}break;case"default-only":if(r[0]==="default"){u=n.name}else{u="/* non-default import from default-exporting module */undefined"}r=r.slice(1);break;case"dynamic":if(r[0]==="default"){n.interopDefaultAccessUsed=true;u=s?`${n.interopDefaultAccessName}()`:c?`(${n.interopDefaultAccessName}())`:`${n.interopDefaultAccessName}.a`;r=r.slice(1)}break;default:throw new Error(`Unexpected exportsType ${l}`)}}const p=r.length===0||e.getExportsInfo(t).getUsedName(r,i);if(!p)return"/* unused export */undefined";const d=b(p,r)?"":f.toNormalComment(`${r.join(".")}`);const h=`${u}${d}${C(p)}`;if(s&&o===false){return c?`(0,${h})`:`Object(${h})`}return h};const I=(e,t,n)=>{if(e.has(n)){throw new Error(`Circular reexports ${Array.from(e,e=>`"${e.module.readableIdentifier(t)}".${e.exportName.join(".")}`).join(" --\x3e ")} -(circular)-> "${n.module.readableIdentifier(t)}".${n.exportName.join(".")}`)}e.add(n)};const R=(e,t,n,r,i=new Set)=>{switch(e.type){case"concatenated":{if(t.length===0){return{info:e,ids:t,exportName:t}}const s=t[0];const o=e.exportMap.get(s);if(o){return{info:e,ids:[o,...t.slice(1)],exportName:t}}const a=e.reexportMap.get(s);if(a){I(i,r,a);const e=n.get(a.module);if(e){return R(e,[...a.exportName,...t.slice(1)],n,r,i)}}return{info:e,ids:null,exportName:t}}case"external":{return{info:e,ids:t,exportName:t}}}};const P=(e,t,n,r,i,s,o,a,u,l,p)=>{const d=R(t,n,r,s);switch(d.info.type){case"concatenated":{const{info:t,ids:n,exportName:a}=d;if(!n){const e=`Cannot get final name for export "${a}" in "${t.module.readableIdentifier(s)}"`+` (known exports: ${Array.from(t.exportMap.keys()).join(" ")}, `+`known reexports: ${Array.from(t.reexportMap.keys()).join(" ")})`;return`${f.toNormalComment(e)} undefined${C(a,1)}`}if(n.length===0){return O(e,t,r,i,s,o,l)}const u=n[0];const p=e.getExportsInfo(t.module);if(p.getUsed(a,i)===c.Unused){return`/* unused export */ undefined${C(a,1)}`}const h=t.internalNames.get(u);if(!h){throw new Error(`The export "${u}" in "${t.module.readableIdentifier(s)}" has no internal name`)}return`${h}${C(a,1)}`}case"external":{const{info:t,ids:n}=d;const r=t.module;return F(e,r,t,n,i,a,u,l,p)}}};const N=(e,t,n,r)=>{let i=e;while(i){if(n.has(i))break;if(r.has(i))break;n.add(i);for(const e of i.variables){t.add(e.name)}i=i.upper}};const L=e=>{let t=e.references;const n=new Set(e.identifiers);for(const r of e.scope.childScopes){for(const e of r.variables){if(e.identifiers.some(e=>n.has(e))){t=t.concat(e.references);break}}}return t};const B=(e,t)=>{if(e===t){return[]}const n=t.range;const r=e=>{if(!e)return undefined;const r=e.range;if(r){if(r[0]<=n[0]&&r[1]>=n[1]){const n=B(e,t);if(n){n.push(e);return n}}}return undefined};if(Array.isArray(e)){for(let t=0;t{const t=new Map;for(const n of e){t.set(n.module,n)}return t};const U=({info:e,ids:t=undefined,call:n=false,directImport:r=false,strict:i=false,asiSafe:s=false})=>{const o=n?"_call":"";const a=r?"_directImport":"";const c=i?"_strict":"";const u=s?"_asiSafe":"";const l=t?Buffer.from(JSON.stringify(t),"utf-8").toString("hex"):"ns";return`__WEBPACK_MODULE_REFERENCE__${e.index}_${l}${o}${a}${c}${u}__`};const z=/^__WEBPACK_MODULE_REFERENCE__(\d+)_([\da-f]+|ns)(_call)?(_directImport)?(_strict)?(_asiSafe)?__$/;const H=e=>{return z.test(e)};const V=(e,t)=>{const n=z.exec(e);if(!n)return null;const r=+n[1];return{index:r,info:t[r],ids:n[2]==="ns"?[]:JSON.parse(Buffer.from(n[2],"hex").toString("utf-8")),call:!!n[3],directImport:!!n[4],strict:!!n[5],asiSafe:!!n[6]}};const G=new Set(["javascript"]);const q=(e,t,n)=>{const r=t.getModule(e);if(!r)return[];const i=e.getIds(t);if(i.length>0){return[{name:e.name,ids:i}]}if(e.name){return[{name:e.name,ids:[]}]}const{exports:s}=e.getStarReexports(t,n,undefined,r);if(s){return Array.from(s,e=>{return{name:e,ids:[e]}})}throw new Error("ConcatenatedModule: unknown exports")};class ConcatenatedModule extends u{static create(e,t,n){const r=ConcatenatedModule._createIdentifier(e,t,n);return new ConcatenatedModule({identifier:r,rootModule:e,modules:t})}constructor({identifier:e,rootModule:t,modules:n}){super("javascript/esm",null);this._identifier=e;this.rootModule=t;this._modules=n;this.factoryMeta=t&&t.factoryMeta}updateCacheModule(e){super.updateCacheModule(e);const t=e;this._identifier=t._identifier;this.rootModule=t.rootModule;this._modules=t._modules}getSourceTypes(){return G}get modules(){return Array.from(this._modules)}identifier(){return this._identifier}readableIdentifier(e){return this.rootModule.readableIdentifier(e)+` + ${this._modules.size-1} modules`}libIdent(e){return this.rootModule.libIdent(e)}nameForCondition(){return this.rootModule.nameForCondition()}build(e,t,n,r,i){const{rootModule:s}=this;this.buildInfo={strict:true,cacheable:true,moduleArgument:s.buildInfo.moduleArgument,exportsArgument:s.buildInfo.exportsArgument,fileDependencies:new E,contextDependencies:new E,missingDependencies:new E,assets:undefined};this.buildMeta=s.buildMeta;this.clearDependenciesAndBlocks();this.clearWarningsAndErrors();for(const e of this._modules){if(!e.buildInfo.cacheable){this.buildInfo.cacheable=false}for(const n of e.dependencies.filter(e=>!(e instanceof g)||!this._modules.has(t.moduleGraph.getModule(e)))){this.dependencies.push(n)}for(const t of e.blocks){this.blocks.push(t)}if(e.buildInfo.fileDependencies){this.buildInfo.fileDependencies.addAll(e.buildInfo.fileDependencies)}if(e.buildInfo.contextDependencies){this.buildInfo.contextDependencies.addAll(e.buildInfo.contextDependencies)}if(e.buildInfo.missingDependencies){this.buildInfo.missingDependencies.addAll(e.buildInfo.missingDependencies)}const n=e.getWarnings();if(n!==undefined){for(const e of n){this.addWarning(e)}}const r=e.getErrors();if(r!==undefined){for(const e of r){this.addError(e)}}if(e.buildInfo.assets){if(this.buildInfo.assets===undefined){this.buildInfo.assets=Object.create(null)}Object.assign(this.buildInfo.assets,e.buildInfo.assets)}if(e.buildInfo.assetsInfo){if(this.buildInfo.assetsInfo===undefined){this.buildInfo.assetsInfo=new Map}for(const[t,n]of e.buildInfo.assetsInfo){this.buildInfo.assetsInfo.set(t,n)}}}i()}size(e){let t=0;for(const n of this._modules){t+=n.size(e)}return t}_createConcatenationList(e,t,n,r){const i=[];const s=new Set;const o=t=>{let i=Array.from(r.getOutgoingConnections(t));if(t===e){for(const e of r.getOutgoingConnections(this))i.push(e)}const s=i.filter(e=>{if(!(e.dependency instanceof g))return false;return e&&e.module&&e.isActive(n)}).map(e=>({connection:e,sourceOrder:e.dependency.sourceOrder}));s.sort(w(T,S(s)));return s.map(({connection:e})=>e)};const a=e=>{const n=e.module;if(!n)return;if(s.has(n)){return}if(t.has(n)){s.add(n);const t=o(n);t.forEach(a);i.push({type:"concatenated",module:e.module})}else{s.add(e.module);i.push({type:"external",get module(){return e.module}})}};s.add(e);const c=o(e);c.forEach(a);i.push({type:"concatenated",module:e});return i}static _createIdentifier(e,t,n){const r=D.bindContextCache(e.context,n);let i=[];for(const e of t){i.push(r(e.identifier()))}i.sort();const s=k("md4");s.update(i.join(" "));return e.identifier()+"|"+s.digest("hex")}codeGeneration({dependencyTemplates:e,runtimeTemplate:t,moduleGraph:n,chunkGraph:r,runtime:o}){const a=new Set;const u=t.requestShortener;const f=this._getModulesWithInfo(n,o);const p=j(f);const g=this._getInnerDependencyTemplates(e,p);for(const e of f){this._analyseModule(e,g,t,n,r,o)}const y=new Set(A);const v=new Map;const _=(e,t)=>{const n=`${e}-${t}`;let r=v.get(n);if(r===undefined){r={usedNames:new Set,alreadyCheckedScopes:new Set};v.set(n,r)}return r};const b=new Set;for(const e of f){if(e.type==="concatenated"){const t=[];if(e.moduleScope){b.add(e.moduleScope);for(const n of e.moduleScope.childScopes){if(n.type!=="class")continue;const e=n.block;if((e.type==="ClassDeclaration"||e.type==="ClassExpression")&&e.superClass){t.push({range:e.superClass.range,variables:n.variables})}}}if(e.globalScope){for(const n of e.globalScope.through){const e=n.identifier.name;if(H(e)){const r=V(e,f);if(!r||r.ids.length<1)continue;const i=R(r.info,r.ids,p,u);if(!i.ids)continue;const{usedNames:s,alreadyCheckedScopes:o}=_(i.info.module.identifier(),i.info.type==="external"?"external":i.ids.length>0?i.ids[0]:"");for(const e of t){if(e.range[0]<=n.identifier.range[0]&&e.range[1]>=n.identifier.range[1]){for(const t of e.variables){s.add(t.name)}}}N(n.from,s,o,b)}else{y.add(e)}}}}}for(const e of f){switch(e.type){case"concatenated":{const{usedNames:t}=_(e.module.identifier(),"");const n=this.findNewName("namespaceObject",y,t,e.module.readableIdentifier(u));y.add(n);e.namespaceObjectName=n;for(const t of e.moduleScope.variables){const n=t.name;const{usedNames:r,alreadyCheckedScopes:i}=_(e.module.identifier(),n);if(y.has(n)||r.has(n)){const s=L(t);for(const e of s){N(e.from,r,i,b)}const o=this.findNewName(n,y,r,e.module.readableIdentifier(u));y.add(o);e.internalNames.set(n,o);const a=e.source;const c=new Set(s.map(e=>e.identifier).concat(t.identifiers));for(const t of c){const n=t.range;const r=B(e.ast,t);if(r&&r.length>1&&r[1].type==="Property"&&r[1].shorthand){a.insert(n[1],`: ${o}`)}else{a.replace(n[0],n[1]-1,o)}}}else{y.add(n);e.internalNames.set(n,n)}}break}case"external":{const{usedNames:t}=_(e.module.identifier(),"external");const n=this.findNewName("",y,t,e.module.readableIdentifier(u));y.add(n);e.name=n;if(e.module.buildMeta.exportsType==="default"||e.module.buildMeta.exportsType==="flagged"||e.module.buildMeta.exportsType==="dynamic"||!e.module.buildMeta.exportsType){const n=this.findNewName("namespaceObject",y,t,e.module.readableIdentifier(u));y.add(n);e.interopNamespaceObjectName=n}if(e.module.buildMeta.exportsType==="dynamic"||!e.module.buildMeta.exportsType){const n=this.findNewName("default",y,t,e.module.readableIdentifier(u));y.add(n);e.interopDefaultAccessName=n}break}}}for(const e of f){if(e.type==="concatenated"){for(const r of e.globalScope.through){const i=r.identifier.name;const s=V(i,f);if(s){const i=P(n,s.info,s.ids,p,o,u,t,s.call,!s.directImport,s.strict,s.asiSafe);const a=r.identifier.range;const c=e.source;c.replace(a[0],a[1]-1,i)}}}}const E=new Map;const w=new Set;const S=p.get(this.rootModule);for(const e of this.rootModule.dependencies){if(e instanceof m){const t=n.getExportsInfo(this.rootModule).getUsedName(e.name,o);if(t){if(!E.has(t)){E.set(t,()=>`/* binding */ ${S.internalNames.get(e.id)}`)}}else{w.add(e.name||"namespace")}}else if(e instanceof d){const t=n.getExportsInfo(this.rootModule).getUsedName("default",o);if(t){if(!E.has(t)){E.set(t,()=>`/* default */ ${S.internalNames.get(typeof e.declarationId==="string"?e.declarationId:"__WEBPACK_MODULE_DEFAULT_EXPORT__")}`)}}else{w.add("default")}}else if(e instanceof h){const r=q(e,n,o);for(const i of r){const r=n.getModule(e);const s=n.getExportsInfo(this.rootModule).getUsedName(i.name,o);if(s){if(!E.has(s)){const e=p.get(r);if(!e){throw new Error(`Imported module ${r.identifier()} is not in moduleToInfoMap: ${Array.from(p.keys(),e=>e.identifier()).join(", ")}`)}E.set(s,r=>{const s=P(n,e,i.ids,p,o,r,t,false,false,this.rootModule.buildMeta.strictHarmonyModule,true);return`/* reexport */ ${s}`})}}else{w.add(i.name)}}}}const k=new s;if(n.getExportsInfo(this).otherExportsInfo.getUsed(o)!==c.Unused){k.add(`// ESM COMPAT FLAG\n`);k.add(t.defineEsModuleFlagStatement({exportsArgument:this.exportsArgument,runtimeRequirements:a}))}if(E.size>0){a.add(l.exports);a.add(l.definePropertyGetters);const e=[];for(const[n,r]of E){e.push(`\n ${JSON.stringify(n)}: ${t.returningFunction(r(u))}`)}k.add(`\n// EXPORTS\n`);k.add(`${l.definePropertyGetters}(${this.exportsArgument}, {${e.join(",")}\n});\n`)}if(w.size>0){k.add(`\n// UNUSED EXPORTS: ${M(w)}\n`)}for(const e of f){if(e.type==="concatenated"&&e.namespaceObjectSource){k.add(`\n// NAMESPACE OBJECT: ${e.module.readableIdentifier(u)}\n`);k.add(e.namespaceObjectSource);a.add(l.makeNamespaceObject);a.add(l.definePropertyGetters)}}for(const e of f){switch(e.type){case"concatenated":{k.add(`\n// CONCATENATED MODULE: ${e.module.readableIdentifier(u)}\n`);k.add(e.source);if(e.runtimeRequirements){for(const t of e.runtimeRequirements){a.add(t)}}break}case"external":k.add(`\n// EXTERNAL MODULE: ${e.module.readableIdentifier(u)}\n`);a.add(l.require);k.add(`var ${e.name} = __webpack_require__(${JSON.stringify(r.getModuleId(e.module))});\n`);if(e.interopNamespaceObjectUsed){if(e.module.buildMeta.exportsType==="default"){a.add(l.createFakeNamespaceObject);k.add(`var ${e.interopNamespaceObjectName} = /*#__PURE__*/${l.createFakeNamespaceObject}(${e.name}, 2);\n`)}else if(e.module.buildMeta.exportsType==="flagged"||e.module.buildMeta.exportsType==="dynamic"||!e.module.buildMeta.exportsType){a.add(l.createFakeNamespaceObject);k.add(`var ${e.interopNamespaceObjectName} = /*#__PURE__*/${l.createFakeNamespaceObject}(${e.name});\n`)}}if(e.interopDefaultAccessUsed){a.add(l.compatGetDefaultExport);k.add(`var ${e.interopDefaultAccessName} = /*#__PURE__*/${l.compatGetDefaultExport}(${e.name});\n`)}break;default:throw new Error(`Unsupported concatenation entry type ${e.type}`)}}const D={sources:new Map([["javascript",new i(k)]]),runtimeRequirements:a};return D}_analyseModule(e,t,n,i,s,a){if(e.type==="concatenated"){const c=e.module;try{const u=c.codeGeneration({dependencyTemplates:t,runtimeTemplate:n,moduleGraph:i,chunkGraph:s,runtime:a});const l=u.sources.get("javascript");const f=l.source().toString();let p;try{p=_.parse(f,{sourceType:"module"})}catch(e){if(e.loc&&typeof e.loc==="object"&&typeof e.loc.line==="number"){const t=e.loc.line;const n=f.split("\n");e.message+="\n| "+n.slice(Math.max(0,t-3),t+2).join("\n| ")}throw e}const d=r.analyze(p,{ecmaVersion:6,sourceType:"module",optimistic:true,ignoreEval:true,impliedStrict:true});const h=d.acquire(p);const m=h.childScopes[0];const g=new o(l);e.runtimeRequirements=u.runtimeRequirements;e.ast=p;e.internalSource=l;e.source=g;e.globalScope=h;e.moduleScope=m}catch(e){e.message+=`\nwhile analysing module ${c.identifier()} for concatenation`;throw e}}}_getHashDigest(e,t,n){const r=e.getModuleHash(this,n);const i=t.getHash();return`${r}-${i}`}_getModulesWithInfo(e,t){const n=[];let r=0;const i=this._createConcatenationList(this.rootModule,this._modules,undefined,e);for(const s of i){switch(s.type){case"concatenated":{const i=new Map;const o=new Map;for(const n of s.module.dependencies){if(n instanceof m){if(!i.has(n.name)){i.set(n.name,n.id)}}else if(n instanceof d){if(!i.has("default")){i.set("default",typeof n.declarationId==="string"?n.declarationId:"__WEBPACK_MODULE_DEFAULT_EXPORT__")}}else if(n instanceof h){const r=n.name;const i=n.getIds(e);const s=e.getModule(n);if(r){if(!o.has(r)){o.set(r,{module:s,exportName:i,dependency:n})}}else if(s){const{exports:r}=n.getStarReexports(e,t,undefined,s);if(r){for(const e of r){if(!o.has(e)){o.set(e,{module:s,exportName:[e],dependency:n})}}}}}}n.push({type:"concatenated",module:s.module,index:r++,ast:undefined,internalSource:undefined,runtimeRequirements:undefined,source:undefined,globalScope:undefined,moduleScope:undefined,internalNames:new Map,exportMap:i,reexportMap:o,hasNamespaceObject:false,namespaceObjectName:undefined,namespaceObjectSource:null});break}case"external":n.push({type:"external",module:s.module,index:r++,name:undefined,interopNamespaceObjectUsed:false,interopNamespaceObjectName:undefined,interopDefaultAccessUsed:false,interopDefaultAccessName:undefined});break;default:throw new Error(`Unsupported concatenation entry type ${s.type}`)}}return n}_getInnerDependencyTemplates(e,t){const n=e.clone();n.set(v,new HarmonyImportSpecifierDependencyConcatenatedTemplate(e.get(v),t));n.set(y,new HarmonyImportSideEffectDependencyConcatenatedTemplate(e.get(y),t));n.set(m,new NullTemplate);n.set(d,new HarmonyExportExpressionDependencyConcatenatedTemplate(e.get(d),this.rootModule,t));n.set(h,new NullTemplate);n.set(p,new NullTemplate);n.updateHash(this.identifier());return n}findNewName(e,t,n,r){let i=e;if(i==="__WEBPACK_MODULE_DEFAULT_EXPORT__")i="";r=r.replace(/\.+\/|(\/index)?\.([a-zA-Z0-9]{1,4})($|\s|\?)|\s*\+\s*\d+\s*modules/g,"");const s=r.split("/");while(s.length){i=s.pop()+(i?"_"+i:"");const e=f.toIdentifier(i);if(!t.has(e)&&(!n||!n.has(e)))return e}let o=0;let a=f.toIdentifier(`${i}_${o}`);while(t.has(a)||n&&n.has(a)){o++;a=f.toIdentifier(`${i}_${o}`)}return a}updateHash(e,t){const{chunkGraph:n,runtime:r}=t;for(const i of this._createConcatenationList(this.rootModule,this._modules,r,n.moduleGraph)){switch(i.type){case"concatenated":i.module.updateHash(e,t);break;case"external":e.update(`${n.getModuleId(i.module)}`);break}}super.updateHash(e,t)}static deserialize(e){const t=new ConcatenatedModule({identifier:undefined,rootModule:undefined,modules:undefined});t.deserialize(e);return t}}x(ConcatenatedModule,"webpack/lib/optimize/ConcatenatedModule");class HarmonyImportSpecifierDependencyConcatenatedTemplate extends a{constructor(e,t){super();this.originalTemplate=e;this.modulesMap=t}apply(e,t,n){const{moduleGraph:r,module:i}=n;const s=e;const o=r.getModule(s);const a=this.modulesMap.get(o);if(!a){this.originalTemplate.apply(e,t,n);return}let c;const u=s.getIds(r);if(u.length===0){c=U({info:a,strict:i.buildMeta.strictHarmonyModule,asiSafe:s.asiSafe})}else if(s.namespaceObjectAsContext&&u.length===1){c=U({info:a,strict:i.buildMeta.strictHarmonyModule,asiSafe:s.asiSafe})+C(u)}else{c=U({info:a,ids:u,call:s.call,directImport:s.directImport,strict:i.buildMeta.strictHarmonyModule,asiSafe:s.asiSafe})}if(s.shorthand){t.insert(s.range[1],": "+c)}else{t.replace(s.range[0],s.range[1]-1,c)}}}class HarmonyImportSideEffectDependencyConcatenatedTemplate extends a{constructor(e,t){super();this.originalTemplate=e;this.modulesMap=t}apply(e,t,n){const{moduleGraph:r}=n;const i=e;const s=r.getModule(i);const o=this.modulesMap.get(s);if(!o){this.originalTemplate.apply(e,t,n);return}}}class HarmonyExportExpressionDependencyConcatenatedTemplate extends a{constructor(e,t,n,r,i){super();this.originalTemplate=e;this.rootModule=t;this.modulesMap=n;this.exportsMap=r;this.unusedExports=i}apply(e,t,{module:n,moduleGraph:r,runtimeTemplate:i,initFragments:s}){const o=e;const{declarationId:a}=o;if(a){let e;if(typeof a==="string"){e=a}else{e="__WEBPACK_MODULE_DEFAULT_EXPORT__";t.replace(a.range[0],a.range[1]-1,`${a.prefix}${e}${a.suffix}`)}t.replace(o.rangeStatement[0],o.range[0]-1,`/* harmony default export */ ${o.prefix}`)}else{const e=`/* harmony default export */ ${i.supportsConst()?"const":"var"} __WEBPACK_MODULE_DEFAULT_EXPORT__ = `;if(o.range){t.replace(o.rangeStatement[0],o.range[0]-1,e+"("+o.prefix);t.replace(o.range[1],o.rangeStatement[1]-.5,");");return}t.replace(o.rangeStatement[0],o.rangeStatement[1]-1,e+o.prefix)}}}class NullTemplate{apply(){}}e.exports=ConcatenatedModule},38173:(e,t,n)=>{"use strict";const{STAGE_BASIC:r}=n(82414);class EnsureChunkConditionsPlugin{apply(e){e.hooks.compilation.tap("EnsureChunkConditionsPlugin",e=>{const t=t=>{const n=e.chunkGraph;const r=new Set;const i=new Set;for(const t of e.modules){for(const s of n.getModuleChunksIterable(t)){if(!t.chunkCondition(s,e)){r.add(s);for(const e of s.groupsIterable){i.add(e)}}}if(r.size===0)continue;const s=new Set;e:for(const n of i){for(const r of n.chunks){if(t.chunkCondition(r,e)){s.add(r);continue e}}if(n.isInitial()){throw new Error("Cannot fullfil chunk condition of "+t.identifier())}for(const e of n.parentsIterable){i.add(e)}}for(const e of r){n.disconnectChunkAndModule(e,t)}for(const e of s){n.connectChunkAndModule(e,t)}r.clear();i.clear()}};e.hooks.optimizeChunks.tap({name:"EnsureChunkConditionsPlugin",stage:r},t)})}}e.exports=EnsureChunkConditionsPlugin},76627:e=>{"use strict";class FlagIncludedChunksPlugin{apply(e){e.hooks.compilation.tap("FlagIncludedChunksPlugin",e=>{e.hooks.optimizeChunkIds.tap("FlagIncludedChunksPlugin",t=>{const n=e.chunkGraph;const r=new WeakMap;const i=e.modules.size;const s=1/Math.pow(1/i,1/31);const o=Array.from({length:31},(e,t)=>Math.pow(s,t)|0);let a=0;for(const t of e.modules){let e=30;while(a%o[e]!==0){e--}r.set(t,1<n.getNumberOfModuleChunks(t))i=t}e:for(const s of n.getModuleChunksIterable(i)){if(e===s)continue;const i=n.getNumberOfChunkModules(s);if(i===0)continue;if(r>i)continue;const o=c.get(s);if((o&t)!==t)continue;for(const t of n.getChunkModulesIterable(e)){if(!n.isModuleInChunk(t,s))continue e}s.ids.push(e.id)}}})})}}e.exports=FlagIncludedChunksPlugin},58018:(e,t)=>{"use strict";const n=new WeakMap;const r=Symbol("top level symbol");function getState(e){return n.get(e)}t.bailout=(e=>{n.set(e,false)});t.enable=(e=>{const t=n.get(e);if(t===false){return}n.set(e,{innerGraph:new Map,currentTopLevelSymbol:undefined,usageCallbackMap:new Map})});t.isEnabled=(e=>{const t=n.get(e);return!!t});t.addUsage=((e,t,n)=>{const r=getState(e);if(r){const{innerGraph:e}=r;const i=e.get(t);if(n===true){e.set(t,true)}else if(i===undefined){e.set(t,new Set([n]))}else if(i!==true){i.add(n)}}});t.addVariableUsage=((e,n,i)=>{const s=e.getTagData(n,r);if(s){t.addUsage(e.state,s,i)}});t.inferDependencyUsage=(e=>{const t=getState(e);if(!t){return}const{innerGraph:n,usageCallbackMap:r}=t;const i=new Set(n.keys());while(i.size>0){for(const e of i){let t=new Set;let r=true;const s=n.get(e);if(s!==true&&s!==undefined){for(const i of s){if(typeof i==="string"){t.add(i)}else{const o=n.get(i);if(o===true){t=true;break}if(o!==undefined){for(const n of o){if(n===e)continue;if(s.has(n))continue;t.add(n);if(typeof n!=="string"){r=false}}}}}if(t===true){n.set(e,true)}else if(t.size===0){n.set(e,undefined)}else{n.set(e,t)}}if(r){i.delete(e)}}}for(const[e,t]of r){const r=n.get(e);for(const e of t){e(r===undefined?false:r)}}});t.onUsage=((e,t)=>{const n=getState(e);if(n){const{usageCallbackMap:e,currentTopLevelSymbol:r}=n;if(r){let n=e.get(r);if(n===undefined){n=new Set;e.set(r,n)}n.add(t)}else{t(true)}}else{t(undefined)}});t.setTopLevelSymbol=((e,t)=>{const n=getState(e);if(n){n.currentTopLevelSymbol=t}});t.getTopLevelSymbol=(e=>{const t=getState(e);if(t){return t.currentTopLevelSymbol}});t.tagTopLevelSymbol=((e,t)=>{const n=getState(e.state);if(!n)return;e.defineVariable(t);const i=e.getTagData(t,r);if(i){return i}const s=new TopLevelSymbol(t);e.tagVariable(t,r,s);return s});class TopLevelSymbol{constructor(e){this.name=e}}t.TopLevelSymbol=TopLevelSymbol;t.topLevelSymbolTag=r},10032:(e,t,n)=>{"use strict";const{harmonySpecifierTag:r}=n(29381);const i=n(53567);const s=n(58018);const{topLevelSymbolTag:o}=s;const a=(e,t,n)=>{switch(e.type){case"Identifier":return t.isVariableDefined(e.name)||t.getTagData(e.name,r);case"ClassDeclaration":case"ClassExpression":if(e.body.type!=="ClassBody")return false;if(e.superClass&&!a(e.superClass,t,e.range[0])){return false}return e.body.body.every(e=>{switch(e.type){case"ClassProperty":if(e.static)return a(e.value,t,e.range[0]);break}return true});case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"Literal":return true;case"ConditionalExpression":return a(e.test,t,n)&&a(e.consequent,t,e.test.range[1])&&a(e.alternate,t,e.consequent.range[1]);case"SequenceExpression":return e.expressions.every(e=>{const r=a(e,t,n);n=e.range[1];return r});case"CallExpression":{const r=e.range[0]-n>12&&t.getComments([n,e.range[0]]).some(e=>e.type==="Block"&&/^\s*(#|@)__PURE__\s*$/.test(e.value));if(!r)return false;n=e.callee.range[1];return e.arguments.every(e=>{if(e.type==="SpreadElement")return false;const r=a(e,t,n);n=e.range[1];return r})}}return false};class InnerGraphPlugin{apply(e){e.hooks.compilation.tap("InnerGraphPlugin",(e,{normalModuleFactory:t})=>{const n=e.getLogger("webpack.InnerGraphPlugin");e.dependencyTemplates.set(i,new i.Template);const r=(e,t)=>{const r=t=>{s.onUsage(e.state,n=>{switch(n){case undefined:case true:return;default:{const r=new i(t.range);r.loc=t.loc;r.usedByExports=n;e.state.module.addDependency(r);break}}})};e.hooks.program.tap("InnerGraphPlugin",()=>{s.enable(e.state)});e.hooks.finish.tap("InnerGraphPlugin",()=>{if(!s.isEnabled(e.state))return;n.time("infer dependency usage");s.inferDependencyUsage(e.state);n.timeAggregate("infer dependency usage")});const c=new WeakMap;const u=new WeakMap;const l=new WeakMap;const f=new WeakMap;const p=new WeakSet;e.hooks.preStatement.tap("InnerGraphPlugin",t=>{if(!s.isEnabled(e.state))return;if(e.scope.topLevelScope===true){if(t.type==="FunctionDeclaration"){const n=t.id?t.id.name:"*default*";const r=s.tagTopLevelSymbol(e,n);c.set(t,r);return true}}});e.hooks.blockPreStatement.tap("InnerGraphPlugin",t=>{if(!s.isEnabled(e.state))return;if(e.scope.topLevelScope===true){if(t.type==="ClassDeclaration"){const n=t.id?t.id.name:"*default*";const r=s.tagTopLevelSymbol(e,n);l.set(t,r);return true}if(t.type==="ExportDefaultDeclaration"){const n="*default*";const r=s.tagTopLevelSymbol(e,n);const i=t.declaration;if(i.type==="ClassExpression"||i.type==="ClassDeclaration"){l.set(i,r)}else if(a(i,e,i.range[1])){c.set(t,r);if(!i.type.endsWith("FunctionExpression")&&!i.type.endsWith("Declaration")&&i.type!=="Literal"){u.set(t,i)}}}}});e.hooks.preDeclarator.tap("InnerGraphPlugin",(t,n)=>{if(!s.isEnabled(e.state))return;if(e.scope.topLevelScope===true&&t.init&&t.id.type==="Identifier"){const n=t.id.name;if(t.init.type==="ClassExpression"){const r=s.tagTopLevelSymbol(e,n);l.set(t.init,r)}else if(a(t.init,e,t.id.range[1])){const r=s.tagTopLevelSymbol(e,n);f.set(t,r);if(!t.init.type.endsWith("FunctionExpression")&&t.init.type!=="Literal"){p.add(t)}return true}}});e.hooks.statement.tap("InnerGraphPlugin",t=>{if(!s.isEnabled(e.state))return;if(e.scope.topLevelScope===true){s.setTopLevelSymbol(e.state,undefined);const n=c.get(t);if(n){s.setTopLevelSymbol(e.state,n);const r=u.get(t);if(r){s.onUsage(e.state,n=>{switch(n){case undefined:case true:return;default:{const s=new i(r.range);s.loc=t.loc;s.usedByExports=n;e.state.module.addDependency(s);break}}})}}}});e.hooks.classExtendsExpression.tap("InnerGraphPlugin",(t,n)=>{if(!s.isEnabled(e.state))return;if(e.scope.topLevelScope===true){const i=l.get(n);if(i&&a(t,e,n.id?n.id.range[1]:n.range[0])){s.setTopLevelSymbol(e.state,i);r(t)}}});e.hooks.classBodyElement.tap("InnerGraphPlugin",(t,n)=>{if(!s.isEnabled(e.state))return;if(e.scope.topLevelScope===true){const r=l.get(n);if(r){if(t.type==="MethodDefinition"){s.setTopLevelSymbol(e.state,r)}else if(t.type==="ClassProperty"&&!t.static){s.setTopLevelSymbol(e.state,r)}else{s.setTopLevelSymbol(e.state,undefined)}}}});e.hooks.declarator.tap("InnerGraphPlugin",(t,n)=>{if(!s.isEnabled(e.state))return;const o=f.get(t);if(o){s.setTopLevelSymbol(e.state,o);if(p.has(t)){if(t.init.type==="ClassExpression"){if(t.init.superClass){r(t.init.superClass)}}else{s.onUsage(e.state,n=>{switch(n){case undefined:case true:return;default:{const r=new i(t.init.range);r.loc=t.loc;r.usedByExports=n;e.state.module.addDependency(r);break}}})}}e.walkExpression(t.init);s.setTopLevelSymbol(e.state,undefined);return true}});e.hooks.expression.for(o).tap("InnerGraphPlugin",()=>{const t=e.currentTagData;const n=s.getTopLevelSymbol(e.state);s.addUsage(e.state,t,n||true)});e.hooks.assign.for(o).tap("InnerGraphPlugin",t=>{if(!s.isEnabled(e.state))return;if(t.operator==="=")return true})};t.hooks.parser.for("javascript/auto").tap("InnerGraphPlugin",r);t.hooks.parser.for("javascript/esm").tap("InnerGraphPlugin",r);e.hooks.finishModules.tap("InnerGraphPlugin",()=>{n.timeAggregateEnd("infer dependency usage")})})}}e.exports=InnerGraphPlugin},92922:(e,t,n)=>{"use strict";const r=n(15235);const i=n(97350);const{STAGE_ADVANCED:s}=n(82414);const o=n(37496);const{compareChunks:a}=n(68673);const c=(e,t,n)=>{const r=e.get(t);if(r===undefined){e.set(t,new Set([n]))}else{r.add(n)}};class LimitChunkCountPlugin{constructor(e){r(i,e,{name:"Limit Chunk Count Plugin",baseDataPath:"options"});this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("LimitChunkCountPlugin",e=>{e.hooks.optimizeChunks.tap({name:"LimitChunkCountPlugin",stage:s},n=>{const r=e.chunkGraph;const i=t.maxChunks;if(!i)return;if(i<1)return;if(e.chunks.size<=i)return;let s=e.chunks.size-i;const u=a(r);const l=Array.from(n).sort(u);const f=new o(e=>e.sizeDiff,(e,t)=>t-e,e=>e.integratedSize,(e,t)=>e-t,e=>e.bIdx-e.aIdx,(e,t)=>e-t,(e,t)=>e.bIdx-t.bIdx);const p=new Map;l.forEach((e,n)=>{for(let i=0;i0){const e=new Set(i.groupsIterable);for(const t of o.groupsIterable){e.add(t)}for(const t of e){for(const e of d){if(e!==i&&e!==o&&e.isInGroup(t)){s--;if(s<=0)break e;d.add(i);d.add(o);continue e}}for(const n of t.parentsIterable){e.add(n)}}}if(i.integrate(o,"limit")){e.chunks.delete(o);d.add(i);h=true;s--;if(s<=0)break;for(const e of p.get(i)){if(e.deleted)continue;e.deleted=true;f.delete(e)}for(const e of p.get(o)){if(e.deleted)continue;if(e.a===o){if(!r.canChunksBeIntegrated(i,e.b)){e.deleted=true;f.delete(e);continue}const n=i.integratedSize(e.b,t);const s=f.startUpdate(e);e.a=i;e.integratedSize=n;e.aSize=a;e.sizeDiff=e.bSize+a-n;s()}else if(e.b===o){if(!r.canChunksBeIntegrated(e.a,i)){e.deleted=true;f.delete(e);continue}const n=e.a.integratedSize(i,t);const s=f.startUpdate(e);e.b=i;e.integratedSize=n;e.bSize=a;e.sizeDiff=a+e.aSize-n;s()}}p.set(i,p.get(o));p.delete(o)}}if(h)return true})})}}e.exports=LimitChunkCountPlugin},41694:(e,t,n)=>{"use strict";const{UsageState:r}=n(76632);const{numberToIdentifier:i,NUMBER_OF_IDENTIFIER_START_CHARS:s,NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS:o}=n(58159);const{assignDeterministicIds:a}=n(30328);const{compareSelect:c,compareStringsNumeric:u}=n(68673);const l=[];const f=[];const p=e=>{if(e.otherExportsInfo.getUsed(undefined)!==r.Unused)return false;let t=false;for(const n of e.exports){if(n.canMangle===true){t=true}}return t};const d=c(e=>e.name,u);const h=(e,t,n)=>{if(!p(t))return;const c=new Set;const u=[];const m=n?f:l;for(const n of t.ownedExports){const t=n.name;if(!n.hasUsedName()){if(n.canMangle!==true||t.length===1&&/^[a-zA-Z0-9_$]/.test(t)||e&&t.length===2&&/^[a-zA-Z_$][a-zA-Z0-9_$]|^[1-9][0-9]/.test(t)||n.provided!==true&&n.name in m||n.provided===false&&n.getUsed(undefined)===r.Unused){n.setUsedName(t);c.add(t)}else{u.push(n)}}if(n.exportsInfoOwned){const t=n.getUsed(undefined);if(t===r.OnlyPropertiesUsed||t===r.Unused){h(e,n.exportsInfo,true)}}}if(e){a(u,e=>e.name,d,(e,t)=>{const n=i(t);const r=c.size;c.add(n);if(r===c.size)return false;e.setUsedName(n);return true},[s,s*o],o,c.size)}else{const e=[];const t=[];for(const n of u){if(n.getUsed(undefined)===r.Unused){t.push(n)}else{e.push(n)}}e.sort(d);t.sort(d);let n=0;for(const r of[e,t]){for(const e of r){let t;do{t=i(n++)}while(c.has(t));e.setUsedName(t)}}}};class MangleExportsPlugin{constructor(e){this._deterministic=e}apply(e){const{_deterministic:t}=this;e.hooks.compilation.tap("MangleExportsPlugin",e=>{const n=e.moduleGraph;e.hooks.optimizeCodeGeneration.tap("MangleExportsPlugin",e=>{for(const r of e){const e=n.getExportsInfo(r);h(t,e,false)}})})}}e.exports=MangleExportsPlugin},70026:(e,t,n)=>{"use strict";const{STAGE_BASIC:r}=n(82414);const{runtimeEqual:i}=n(37416);class MergeDuplicateChunksPlugin{apply(e){e.hooks.compilation.tap("MergeDuplicateChunksPlugin",e=>{e.hooks.optimizeChunks.tap({name:"MergeDuplicateChunksPlugin",stage:r},t=>{const{chunkGraph:n,moduleGraph:r}=e;const s=new Set;for(const o of t){let t;for(const e of n.getChunkModulesIterable(o)){if(t===undefined){for(const r of n.getModuleChunksIterable(e)){if(r!==o&&n.getNumberOfChunkModules(o)===n.getNumberOfChunkModules(r)&&!s.has(r)){if(t===undefined){t=new Set}t.add(r)}}if(t===undefined)break}else{for(const r of t){if(!n.isModuleInChunk(e,r)){t.delete(r)}}if(t.size===0)break}}if(t!==undefined&&t.size>0){e:for(const s of t){if(s.hasRuntime()!==o.hasRuntime())continue;if(n.getNumberOfEntryModules(o)>0)continue;if(n.getNumberOfEntryModules(s)>0)continue;if(!i(o.runtime,s.runtime)){for(const e of n.getChunkModulesIterable(o)){const t=r.getExportsInfo(e);if(!t.isEquallyUsed(o.runtime,s.runtime)){continue e}}}if(n.canChunksBeIntegrated(o,s)){n.integrateChunks(o,s);e.chunks.delete(s)}}}s.add(o)}})})}}e.exports=MergeDuplicateChunksPlugin},52383:(e,t,n)=>{"use strict";const r=n(15235);const i=n(84796);const{STAGE_ADVANCED:s}=n(82414);class MinChunkSizePlugin{constructor(e){r(i,e,{name:"Min Chunk Size Plugin",baseDataPath:"options"});this.options=e}apply(e){const t=this.options;const n=t.minChunkSize;e.hooks.compilation.tap("MinChunkSizePlugin",e=>{e.hooks.optimizeChunks.tap({name:"MinChunkSizePlugin",stage:s},r=>{const i=e.chunkGraph;const s={chunkOverhead:1,entryChunkMultiplicator:1};const o=new Map;const a=[];const c=[];const u=[];for(const e of r){if(i.getChunkSize(e,s){const n=o.get(e[0]);const r=o.get(e[1]);const s=i.getIntegratedChunksSize(e[0],e[1],t);const a=[n+r-s,s,e[0],e[1]];return a}).sort((e,t)=>{const n=t[0]-e[0];if(n!==0)return n;return e[1]-t[1]});if(l.length===0)return;const f=l[0];i.integrateChunks(f[2],f[3]);e.chunks.delete(f[3]);return true})})}}e.exports=MinChunkSizePlugin},1697:(e,t,n)=>{"use strict";const r=n(9192);const i=n(81627);class MinMaxSizeWarning extends i{constructor(e,t,n){let i="Fallback cache group";if(e){i=e.length>1?`Cache groups ${e.sort().join(", ")}`:`Cache group ${e[0]}`}super(`SplitChunksPlugin\n`+`${i}\n`+`Configured minSize (${r.formatSize(t)}) is `+`bigger than maxSize (${r.formatSize(n)}).\n`+"This seem to be a invalid optimization.splitChunks configuration.")}}e.exports=MinMaxSizeWarning},35442:(e,t,n)=>{"use strict";const r=n(62355);const i=n(45137);const s=n(75412);const o=n(2210);const a=n(31467);const c=n(53520);const{STAGE_DEFAULT:u}=n(82414);const l=n(54290);const f=n(37359);const p=n(21809);const d=n(73158);const h=n(80371);const{compareModulesByIdentifier:m}=n(68673);const{intersectRuntime:g,mergeRuntimeOwned:y}=n(37416);const v=n(95734);const _=e=>{return"ModuleConcatenation bailout: "+e};class ModuleConcatenationPlugin{constructor(e){if(typeof e!=="object")e={};this.options=e}apply(e){e.hooks.compilation.tap("ModuleConcatenationPlugin",(t,{normalModuleFactory:n})=>{const h=t.moduleGraph;const m=new Map;const g=t.getCache("ModuleConcatenationPlugin");const b=(e,t)=>{E(e,t);h.getOptimizationBailout(e).push(typeof t==="function"?e=>_(t(e)):_(t))};const E=(e,t)=>{m.set(e,t)};const w=(e,t)=>{const n=m.get(e);if(typeof n==="function")return n(t);return n};const S=(e,t)=>n=>{if(typeof t==="function"){return _(`Cannot concat with ${e.readableIdentifier(n)}: ${t(n)}`)}const r=w(e,n);const i=r?`: ${r}`:"";if(e===t){return _(`Cannot concat with ${e.readableIdentifier(n)}${i}`)}else{return _(`Cannot concat with ${e.readableIdentifier(n)} because of ${t.readableIdentifier(n)}${i}`)}};t.hooks.optimizeChunkModules.tapAsync({name:"ModuleConcatenationPlugin",stage:u},(n,u,m)=>{const _=t.getLogger("ModuleConcatenationPlugin");const w=t.chunkGraph;const k=[];const D=new Set;_.time("select relevant modules");for(const e of u){if(!e.buildMeta||e.buildMeta.exportsType!=="namespace"||e.presentationalDependencies===undefined||!e.presentationalDependencies.some(e=>e instanceof l)){b(e,"Module is not an ECMAScript module");continue}if(e.buildInfo&&e.buildInfo.moduleConcatenationBailout){b(e,`Module uses ${e.buildInfo.moduleConcatenationBailout}`);continue}if(!(e instanceof c)){b(e,`Module is not a normal module`);continue}if(h.isAsync(e)){b(e,`Module is async`);continue}const t=h.getExportsInfo(e);if(!t.hasStaticExportsList(undefined)){b(e,"Module exports are unknown");continue}if(e.dependencies.some(e=>e instanceof p||e instanceof d)){b(e,"Module uses Hot Module Replacement");continue}if(w.getNumberOfModuleChunks(e)===0){b(e,"Module is not in any chunk");continue}k.push(e);if(w.isEntryModule(e)){E(e,"Module is an entry point");continue}D.add(e)}_.timeEnd("select relevant modules");_.debug(`${k.length} potential root modules, ${D.size} potential inner modules`);_.time("sort relevant modules");k.sort((e,t)=>{return h.getDepth(e)-h.getDepth(t)});_.timeEnd("sort relevant modules");_.time("find modules to concatenate");const x=[];const C=new Set;for(const e of k){if(C.has(e))continue;let n=undefined;for(const t of w.getModuleRuntimes(e)){n=y(n,t)}const r=new ConcatConfiguration(e);const i=new Map;const s=new Set;for(const r of this._getImports(t,e,n)){s.add(r)}for(const e of s){const o=r.snapshot();const a=new Set;const c=this._tryToAdd(t,r,e,n,D,a,i,w);if(c){i.set(e,c);r.addWarning(e,c);r.rollback(o)}else{for(const e of a){s.add(e)}}}if(!r.isEmpty()){x.push(r);for(const e of r.getModules()){if(e!==r.rootModule){C.add(e)}}}else{const t=h.getOptimizationBailout(e);for(const e of r.getWarningsSorted()){t.push(S(e[0],e[1]))}}}_.timeEnd("find modules to concatenate");_.debug(`${x.length} concat configurations`);_.time(`sort concat configurations`);x.sort((e,t)=>{return t.modules.size-e.modules.size});_.timeEnd(`sort concat configurations`);const A=new Set;_.time("create concatenated modules");r.each(x,(n,r)=>{const c=n.rootModule;if(A.has(c))return r();const u=n.getModules();for(const e of u){A.add(e)}let l=v.create(c,u,e.root);const p=g.getItemCache(l.identifier(),null);const d=()=>{p.get((e,t)=>{if(e){return r(new o(l,e))}if(t){t.updateCacheModule(l);l=t}m()})};const m=()=>{l.build(e.options,t,null,null,e=>{if(e){if(!e.module){e.module=l}return r(e)}y()})};const y=()=>{i.setChunkGraphForModule(l,w);s.setModuleGraphForModule(l,h);for(const e of n.getWarningsSorted()){h.getOptimizationBailout(l).push(S(e[0],e[1]))}h.cloneModuleAttributes(c,l);for(const e of u){if(t.builtModules.has(e)){t.builtModules.add(l)}if(e!==c){h.copyOutgoingModuleConnections(e,l,t=>{return t.originModule===e&&!(t.dependency instanceof f&&u.has(t.module))});for(const t of w.getModuleChunksIterable(c)){w.disconnectChunkAndModule(t,e)}}}t.modules.delete(c);w.replaceModule(c,l);h.moveModuleConnections(c,l,e=>{const t=e.module===c?e.originModule:e.module;const n=e.dependency instanceof f&&u.has(t);return!n});t.modules.add(l);p.store(l,e=>{if(e){return r(new a(l,e))}r()})};d()},e=>{_.timeEnd("create concatenated modules");process.nextTick(()=>m(e))})})})}_getImports(e,t,n){const r=e.moduleGraph;const i=new Set;for(const s of t.dependencies){if(!(s instanceof f))continue;const o=r.getConnection(s);if(!o||!o.module||!o.isActive(n)){continue}const a=e.getDependencyReferencedExports(s,undefined);if(a.every(e=>Array.isArray(e)?e.length>0:e.name.length>0)||Array.isArray(r.getProvidedExports(t))){i.add(o.module)}}return i}_tryToAdd(e,t,n,r,i,s,o,a){const c=o.get(n);if(c){return c}if(t.has(n)){return null}if(!i.has(n)){o.set(n,n);return n}const u=Array.from(a.getModuleChunksIterable(t.rootModule)).filter(e=>!a.isModuleInChunk(n,e)).map(e=>e.name||"unnamed chunk(s)");if(u.length>0){const e=Array.from(new Set(u)).sort();const t=Array.from(new Set(Array.from(a.getModuleChunksIterable(n)).map(e=>e.name||"unnamed chunk(s)"))).sort();const r=r=>`Module ${n.readableIdentifier(r)} is not in the same chunk(s) (expected in chunk(s) ${e.join(", ")}, module is in chunk(s) ${t.join(", ")})`;o.set(n,r);return r}t.add(n);const l=e.moduleGraph;const p=Array.from(l.getIncomingConnections(n)).filter(e=>{if(!e.isActive(r))return false;if(!e.originModule)return true;if(a.getNumberOfModuleChunks(e.originModule)===0)return false;let t=undefined;for(const n of a.getModuleRuntimes(e.originModule)){t=y(t,n)}return g(r,t)});const d=p.filter(e=>!e.originModule||!e.dependency||!(e.dependency instanceof f));if(d.length>0){const e=e=>{const t=new Set(d.map(e=>e.originModule).filter(Boolean));const r=new Set(d.map(e=>e.explanation).filter(Boolean));const i=new Map(Array.from(t).map(e=>[e,new Set(d.filter(t=>t.originModule===e).map(e=>e.dependency.type).sort())]));const s=Array.from(t).map(t=>`${t.readableIdentifier(e)} (referenced with ${Array.from(i.get(t)).join(", ")})`).sort();const o=Array.from(r).sort();if(s.length>0&&o.length===0){return`Module ${n.readableIdentifier(e)} is referenced from these modules with unsupported syntax: ${s.join(", ")}`}else if(s.length===0&&o.length>0){return`Module ${n.readableIdentifier(e)} is referenced by: ${o.join(", ")}`}else if(s.length>0&&o.length>0){return`Module ${n.readableIdentifier(e)} is referenced from these modules with unsupported syntax: ${s.join(", ")} and by: ${o.join(", ")}`}else{return`Module ${n.readableIdentifier(e)} is referenced in a unsupported way`}};o.set(n,e);return e}const h=p.filter(e=>{for(const n of a.getModuleChunksIterable(t.rootModule)){if(!a.isModuleInChunk(e.originModule,n)){return true}}return false});if(h.length>0){const e=e=>{const t=new Set(h.map(e=>e.originModule));const r=Array.from(t).map(t=>t.readableIdentifier(e)).sort();return`Module ${n.readableIdentifier(e)} is referenced from different chunks by these modules: ${r.join(", ")}`};o.set(n,e);return e}const v=Array.from(new Set(p.map(e=>e.originModule))).sort(m);for(const c of v){const u=this._tryToAdd(e,t,c,r,i,s,o,a);if(u){o.set(n,u);return u}}for(const t of this._getImports(e,n,r)){s.add(t)}return null}}class ConcatConfiguration{constructor(e){this.rootModule=e;this.modules=new h;this.modules.set(e,true);this.warnings=new h}add(e){this.modules.set(e,true)}has(e){return this.modules.has(e)}isEmpty(){return this.modules.size===1}addWarning(e,t){this.warnings.set(e,t)}getWarningsSorted(){return new Map(this.warnings.asPairArray().sort((e,t)=>{const n=e[0].identifier();const r=t[0].identifier();if(nr)return 1;return 0}))}getModules(){return this.modules.asSet()}snapshot(){const e=this.modules;this.modules=this.modules.createChild();return e}rollback(e){this.modules=e}}e.exports=ModuleConcatenationPlugin},30699:(e,t,n)=>{"use strict";const{RawSource:r,CachedSource:i,CompatSource:s}=n(48135);const o=n(3080);const{compareSelect:a,compareStrings:c}=n(68673);const u=n(35891);const l=new Set;const f=(e,t)=>{if(Array.isArray(e)){for(const n of e){t.add(n)}}else if(e){t.add(e)}};const p=e=>{return e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&")};const d=new WeakMap;const h=e=>{if(e instanceof i){return e}const t=d.get(e);if(t!==undefined)return t;const n=new i(s.from(e));d.set(e,n);return n};class RealContentHashPlugin{constructor({hashFunction:e,hashDigest:t}){this._hashFunction=e;this._hashDigest=t}apply(e){e.hooks.compilation.tap("RealContentHashPlugin",e=>{const t=e.getCache("RealContentHashPlugin|analyse");const n=e.getCache("RealContentHashPlugin|generate");e.hooks.processAssets.tapPromise({name:"RealContentHashPlugin",stage:o.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH},async()=>{const i=e.getAssets();const s=[];const o=new Map;for(const{source:e,info:t,name:n}of i){const r=h(e);const i=r.source();const a=new Set;f(t.contenthash,a);const c={name:n,info:t,source:r,newSource:undefined,content:i,hasOwnHash:false,contentComputePromise:false,referencedHashes:undefined,hashes:a};s.push(c);for(const e of a){const t=o.get(e);if(t===undefined){o.set(e,[c])}else{t.push(c)}}}if(o.size===0)return;const d=new RegExp(Array.from(o.keys(),p).join("|"),"g");await Promise.all(s.map(async e=>{const{name:n,source:r,content:i,hashes:s}=e;if(Buffer.isBuffer(i)){e.referencedHashes=l;return}const o=t.mergeEtags(t.getLazyHashedEtag(r),Array.from(s).join("|"));e.referencedHashes=await t.providePromise(n,o,()=>{const t=new Set;const n=i.match(d);if(n){for(const r of n){if(s.has(r)){e.hasOwnHash=true;continue}t.add(r)}}return t})}));const m=e=>{const t=o.get(e);const n=new Set;for(const{referencedHashes:e}of t){for(const t of e){n.add(t)}}return n};const g=e=>{const t=o.get(e);return`${e} (${Array.from(t,e=>e.name)})`};const y=new Set;for(const e of o.keys()){const t=(e,n)=>{const r=m(e);n.add(e);for(const e of r){if(y.has(e))continue;if(n.has(e)){throw new Error(`Circular hash dependency ${Array.from(n,g).join(" -> ")} -> ${g(e)}`)}t(e,n)}y.add(e);n.delete(e)};if(y.has(e))continue;t(e,new Set)}const v=new Map;const _=(e,t)=>{if(e.contentComputePromise)return e.contentComputePromise;return e.contentComputePromise=(async()=>{if(e.hasOwnHash||Array.from(e.referencedHashes).some(e=>v.get(e)!==e)){const i=e.name+(t&&e.hasOwnHash?"|with-own":"");const s=n.mergeEtags(n.getLazyHashedEtag(e.source),Array.from(e.referencedHashes,e=>v.get(e)).join("|"));e.newSource=await n.providePromise(i,s,()=>{const n=e.content.replace(d,n=>{if(!t&&e.hashes.has(n)){return""}return v.get(n)});return new r(n)})}})()};const b=a(e=>e.name,c);for(const e of y){const t=o.get(e);t.sort(b);const n=u(this._hashFunction);await Promise.all(t.map(_));for(const e of t){n.update(e.newSource?e.newSource.buffer():e.source.buffer())}const r=n.digest(this._hashDigest);const i=r.slice(0,e.length);v.set(e,i)}await Promise.all(s.map(async t=>{if(t.hasOwnHash){t.contentComputePromise=undefined}await _(t,true);const n=t.name.replace(d,e=>v.get(e));const r={};const i=t.info.contenthash;r.contenthash=Array.isArray(i)?i.map(e=>v.get(e)):v.get(i);if(t.newSource!==undefined){e.updateAsset(t.name,t.newSource,r)}else{e.updateAsset(t.name,t.source,r)}if(t.name!==n){e.renameAsset(t.name,n)}}))})})}}e.exports=RealContentHashPlugin},62665:(e,t,n)=>{"use strict";const{STAGE_BASIC:r,STAGE_ADVANCED:i}=n(82414);class RemoveEmptyChunksPlugin{apply(e){e.hooks.compilation.tap("RemoveEmptyChunksPlugin",e=>{const t=t=>{const n=e.chunkGraph;for(const r of t){if(n.getNumberOfChunkModules(r)===0&&!r.hasRuntime()&&n.getNumberOfEntryModules(r)===0){e.chunkGraph.disconnectChunk(r);e.chunks.delete(r)}}};e.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:r},t);e.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:i},t)})}}e.exports=RemoveEmptyChunksPlugin},78016:(e,t,n)=>{"use strict";const{STAGE_BASIC:r}=n(82414);const i=n(39541);const{intersect:s}=n(26221);class RemoveParentModulesPlugin{apply(e){e.hooks.compilation.tap("RemoveParentModulesPlugin",e=>{const t=(t,n)=>{const r=e.chunkGraph;const o=new i;const a=new WeakMap;for(const t of e.entrypoints.values()){a.set(t,new Set);for(const e of t.childrenIterable){o.enqueue(e)}}while(o.length>0){const e=o.dequeue();let t=a.get(e);let n=false;for(const i of e.parentsIterable){const s=a.get(i);if(s!==undefined){if(t===undefined){t=new Set(s);for(const e of i.chunks){for(const n of r.getChunkModulesIterable(e)){t.add(n)}}a.set(e,t);n=true}else{for(const e of t){if(!r.isModuleInChunkGroup(e,i)&&!s.has(e)){t.delete(e);n=true}}}}}if(n){for(const t of e.childrenIterable){o.enqueue(t)}}}for(const e of t){const t=Array.from(e.groupsIterable,e=>a.get(e));if(t.some(e=>e===undefined))continue;const n=t.length===1?t[0]:s(t);const i=r.getNumberOfChunkModules(e);const o=new Set;if(i{"use strict";class RuntimeChunkPlugin{constructor(e){this.options={name:e=>`runtime~${e.name}`,...e}}apply(e){e.hooks.thisCompilation.tap("RuntimeChunkPlugin",e=>{e.hooks.addEntry.tap("RuntimeChunkPlugin",(t,{name:n})=>{const r=e.entries.get(n);if(!r.options.runtime&&!r.options.dependOn){let e=this.options.name;if(typeof e==="function"){e=e({name:n})}r.options.runtime=e}})})}}e.exports=RuntimeChunkPlugin},63410:(e,t,n)=>{"use strict";const r=n(70554);const{STAGE_DEFAULT:i}=n(82414);const s=n(44576);const o=n(2230);const a=new WeakMap;const c=(e,t)=>{const n=t.get(e);if(n!==undefined)return n;if(!e.includes("/")){e=`**/${e}`}const i=r(e,{globstar:true,extended:true});const s=i.source;const o=new RegExp("^(\\./)?"+s.slice(1));t.set(e,o);return o};class SideEffectsFlagPlugin{apply(e){let t=a.get(e.root);if(t===undefined){t=new Map;a.set(e.root,t)}e.hooks.normalModuleFactory.tap("SideEffectsFlagPlugin",e=>{e.hooks.module.tap("SideEffectsFlagPlugin",(e,n)=>{const r=n.resourceResolveData;if(r&&r.descriptionFileData&&r.relativePath){const n=r.descriptionFileData.sideEffects;const i=SideEffectsFlagPlugin.moduleHasSideEffects(r.relativePath,n,t);if(!i){if(e.factoryMeta===undefined){e.factoryMeta={}}e.factoryMeta.sideEffectFree=true}}return e});e.hooks.module.tap("SideEffectsFlagPlugin",(e,t)=>{if(t.settings.sideEffects===false){if(e.factoryMeta===undefined){e.factoryMeta={}}e.factoryMeta.sideEffectFree=true}else if(t.settings.sideEffects===true){if(e.factoryMeta!==undefined){e.factoryMeta.sideEffectFree=false}}return e})});e.hooks.compilation.tap("SideEffectsFlagPlugin",e=>{const t=e.moduleGraph;e.hooks.optimizeDependencies.tap({name:"SideEffectsFlagPlugin",stage:i},n=>{const r=e.getLogger("webpack.SideEffectsFlagPlugin");r.time("update dependencies");for(const e of n){if(e.factoryMeta!==undefined&&e.factoryMeta.sideEffectFree){const n=t.getExportsInfo(e);for(const r of t.getIncomingConnections(e)){const e=r.dependency;if(e instanceof s||e instanceof o&&!e.namespaceObjectAsContext){const r=e.getIds(t);if(r.length>0){const i=n.getExportInfo(r[0]);const s=i.getTarget(t,({module:e})=>e.factoryMeta!==undefined&&e.factoryMeta.sideEffectFree);if(!s)continue;t.updateModule(e,s.module);t.addExplanation(e,"(skipped side-effect-free modules)");e.setIds(t,s.export?[...s.export,...r.slice(1)]:r.slice(1))}}}}}r.timeEnd("update dependencies")})})}static moduleHasSideEffects(e,t,n){switch(typeof t){case"undefined":return true;case"boolean":return t;case"string":return c(t,n).test(e);case"object":return t.some(t=>SideEffectsFlagPlugin.moduleHasSideEffects(e,t,n))}}}e.exports=SideEffectsFlagPlugin},40051:(e,t,n)=>{"use strict";const r=n(62433);const{STAGE_ADVANCED:i}=n(82414);const s=n(81627);const{requestToId:o}=n(30328);const{isSubset:a}=n(26221);const c=n(16102);const{compareModulesByIdentifier:u,compareIterables:l}=n(68673);const f=n(35891);const p=n(44648);const d=n(49197).contextify;const h=n(27503);const m=n(1697);const g=()=>{};const y=p;const v=new WeakMap;const _=(e,t)=>{const n=f(t.hashFunction).update(e).digest(t.hashDigest);return n.slice(0,8)};const b=e=>{let t=0;for(const n of e.groupsIterable){t=Math.max(t,n.chunks.length)}return t};const E=(e,t)=>{const n=Object.create(null);for(const r of Object.keys(e)){n[r]=t(e[r],r)}return n};const w=(e,t)=>{for(const n of e){if(t.has(n))return true}return false};const S=l(u);const k=(e,t)=>{const n=e.cacheGroup.priority-t.cacheGroup.priority;if(n)return n;const r=e.chunks.size-t.chunks.size;if(r)return r;const i=I(e.sizes)*(e.chunks.size-1);const s=I(t.sizes)*(t.chunks.size-1);const o=i-s;if(o)return o;const a=e.cacheGroupIndex-t.cacheGroupIndex;if(a)return a;const c=e.modules;const u=t.modules;const l=c.size-u.size;if(l)return l;c.sort();u.sort();return S(c,u)};const D=e=>e.canBeInitial();const x=e=>!e.canBeInitial();const C=e=>true;const A=e=>{if(typeof e==="number"){return{javascript:e,unknown:e}}else if(typeof e==="object"&&e!==null){return{...e}}else{return{}}};const T=(...e)=>{let t={};for(let n=e.length-1;n>=0;n--){t=Object.assign(t,A(e[n]))}return t};const M=e=>{for(const t of Object.keys(e)){if(e[t]>0)return true}return false};const O=(e,t,n)=>{const r=new Set(Object.keys(e));const i=new Set(Object.keys(t));const s={};for(const o of r){if(i.has(o)){s[o]=n(e[o],t[o])}else{s[o]=e[o]}}for(const e of i){if(!r.has(e)){s[e]=t[e]}}return s};const F=(e,t)=>{for(const n of Object.keys(t)){const r=e[n];if(r===undefined||r===0)continue;if(r{let t=0;for(const n of Object.keys(e)){t+=e[n]}return t};const R=e=>{if(typeof e==="string"){return()=>e}if(typeof e==="function"){return e}};const P=e=>{if(e==="initial"){return D}if(e==="async"){return x}if(e==="all"){return C}if(typeof e==="function"){return e}};const N=e=>{if(typeof e==="function"){return e}if(typeof e==="object"&&e!==null){const t=[];for(const n of Object.keys(e)){const r=e[n];if(r===false){continue}if(typeof r==="string"||r instanceof RegExp){const e=z({},n);t.push((t,n,i)=>{if(L(r,t,n)){i.push(e)}})}else if(typeof r==="function"){t.push((e,t,i)=>{const s=r(e);if(s){const e=Array.isArray(s)?s:[s];for(const t of e){i.push(U(t,n))}}})}else{const e=z(r,n);t.push((t,n,i)=>{if(L(r.test,t,n)&&B(r.type,t)){i.push(e)}})}}const n=(e,n)=>{let r=[];for(const i of t){i(e,n,r)}return r};return n}return()=>null};const L=(e,t,n)=>{if(e===undefined)return true;if(typeof e==="function"){return e(t,n)}if(typeof e==="boolean")return e;if(typeof e==="string"){const n=t.nameForCondition();return n&&n.startsWith(e)}if(e instanceof RegExp){const n=t.nameForCondition();return n&&e.test(n)}return false};const B=(e,t)=>{if(e===undefined)return true;if(typeof e==="function"){return e(t.type)}if(typeof e==="string"){const n=t.type;return e===n}if(e instanceof RegExp){const n=t.type;return e.test(n)}return false};const j=new WeakMap;const U=(e,t)=>{let n=j.get(e);if(n!==undefined){const e=n.get(t);if(e!==undefined)return e}else{n=new Map;j.set(e,n)}const r=z(e,t);n.set(t,r);return r};const z=(e,t)=>{return{key:t,priority:e.priority,getName:R(e.name),chunksFilter:P(e.chunks),enforce:e.enforce,minSize:A(e.minSize),minRemainingSize:T(e.minRemainingSize,e.minSize),enforceSizeThreshold:A(e.enforceSizeThreshold),maxAsyncSize:T(e.maxAsyncSize,e.maxSize),maxInitialSize:T(e.maxInitialSize,e.maxSize),minChunks:e.minChunks,maxAsyncRequests:e.maxAsyncRequests,maxInitialRequests:e.maxInitialRequests,filename:e.filename,idHint:e.idHint,automaticNameDelimiter:e.automaticNameDelimiter,reuseExistingChunk:e.reuseExistingChunk,usedExports:e.usedExports}};e.exports=class SplitChunksPlugin{constructor(e={}){const t=e.fallbackCacheGroup||{};this.options={chunksFilter:P(e.chunks||"all"),minSize:A(e.minSize),minRemainingSize:T(e.minRemainingSize,e.minSize),enforceSizeThreshold:A(e.enforceSizeThreshold),maxAsyncSize:T(e.maxAsyncSize,e.maxSize),maxInitialSize:T(e.maxInitialSize,e.maxSize),minChunks:e.minChunks||1,maxAsyncRequests:e.maxAsyncRequests||1,maxInitialRequests:e.maxInitialRequests||1,hidePathInfo:e.hidePathInfo||false,filename:e.filename||undefined,getCacheGroups:N(e.cacheGroups),getName:e.name?R(e.name):g,automaticNameDelimiter:e.automaticNameDelimiter,usedExports:e.usedExports,fallbackCacheGroup:{minSize:T(t.minSize,e.minSize),maxAsyncSize:T(t.maxAsyncSize,t.maxSize,e.maxAsyncSize,e.maxSize),maxInitialSize:T(t.maxInitialSize,t.maxSize,e.maxInitialSize,e.maxSize),automaticNameDelimiter:t.automaticNameDelimiter||e.automaticNameDelimiter||"~"}};this._cacheGroupCache=new WeakMap}_getCacheGroup(e){const t=this._cacheGroupCache.get(e);if(t!==undefined)return t;const n=T(e.minSize,e.enforce?undefined:this.options.minSize);const r=T(e.minRemainingSize,e.enforce?undefined:this.options.minRemainingSize);const i=T(e.enforceSizeThreshold,e.enforce?undefined:this.options.enforceSizeThreshold);const s={key:e.key,priority:e.priority||0,chunksFilter:e.chunksFilter||this.options.chunksFilter,minSize:n,minRemainingSize:r,enforceSizeThreshold:i,maxAsyncSize:T(e.maxAsyncSize,e.enforce?undefined:this.options.maxAsyncSize),maxInitialSize:T(e.maxInitialSize,e.enforce?undefined:this.options.maxInitialSize),minChunks:e.minChunks!==undefined?e.minChunks:e.enforce?1:this.options.minChunks,maxAsyncRequests:e.maxAsyncRequests!==undefined?e.maxAsyncRequests:e.enforce?Infinity:this.options.maxAsyncRequests,maxInitialRequests:e.maxInitialRequests!==undefined?e.maxInitialRequests:e.enforce?Infinity:this.options.maxInitialRequests,getName:e.getName!==undefined?e.getName:this.options.getName,usedExports:e.usedExports!==undefined?e.usedExports:this.options.usedExports,filename:e.filename!==undefined?e.filename:this.options.filename,automaticNameDelimiter:e.automaticNameDelimiter!==undefined?e.automaticNameDelimiter:this.options.automaticNameDelimiter,idHint:e.idHint!==undefined?e.idHint:e.key,reuseExistingChunk:e.reuseExistingChunk||false,_validateSize:M(n),_validateRemainingSize:M(r),_minSizeForMaxSize:T(e.minSize,this.options.minSize),_conditionalEnforce:M(i)};this._cacheGroupCache.set(e,s);return s}apply(e){const t=d.bindContextCache(e.context,e.root);e.hooks.thisCompilation.tap("SplitChunksPlugin",e=>{const n=e.getLogger("webpack.SplitChunksPlugin");let l=false;e.hooks.unseal.tap("SplitChunksPlugin",()=>{l=false});e.hooks.optimizeChunks.tap({name:"SplitChunksPlugin",stage:i},i=>{if(l)return;l=true;n.time("prepare");const f=e.chunkGraph;const p=e.moduleGraph;const d=new Map;const g=BigInt("0");const S=BigInt("1");let D=S;for(const e of i){d.set(e,D);D=D<{const t=e[Symbol.iterator]();let n=t.next();if(n.done)return g;const r=n.value;n=t.next();if(n.done)return r;let i=d.get(r)|d.get(n.value);while(!(n=t.next()).done){i=i|d.get(n.value)}return i};const C=e=>{if(typeof e==="bigint")return e.toString(16);return d.get(e).toString(16)};const A=h(()=>{const t=new Map;const n=new Set;for(const r of e.modules){const e=f.getModuleChunksIterable(r);const i=x(e);if(typeof i==="bigint"){if(!t.has(i)){t.set(i,new Set(e))}}else{n.add(i)}}return{chunkSetsInGraph:t,singleChunkSets:n}});const T=e=>{const t=p.getExportsInfo(e);const n=new Map;for(const r of f.getModuleChunksIterable(e)){const e=t.getUsageKey(r.runtime);const i=n.get(e);if(i!==undefined){i.push(r)}else{n.set(e,[r])}}return n.values()};const M=new Map;const I=h(()=>{const t=new Map;const n=new Set;for(const r of e.modules){const e=Array.from(T(r));M.set(r,e);for(const r of e){if(r.length===1){n.add(r[0])}else{const e=x(r);if(!t.has(e)){t.set(e,new Set(r))}}}}return{chunkSetsInGraph:t,singleChunkSets:n}});const R=e=>{const t=new Map;for(const n of e){const e=n.size;let r=t.get(e);if(r===undefined){r=[];t.set(e,r)}r.push(n)}return t};const P=h(()=>R(A().chunkSetsInGraph.values()));const N=h(()=>R(I().chunkSetsInGraph.values()));const L=(e,t,n)=>{const i=new Map;return s=>{const o=i.get(s);if(o!==undefined)return o;if(s instanceof r){const e=[s];i.set(s,e);return e}const c=e.get(s);const u=[c];for(const[e,t]of n){if(e{const{chunkSetsInGraph:e,singleChunkSets:t}=A();return L(e,t,P())});const j=e=>B()(e);const U=h(()=>{const{chunkSetsInGraph:e,singleChunkSets:t}=I();return L(e,t,N())});const z=e=>U()(e);const H=new WeakMap;const V=(e,t)=>{let n=H.get(e);if(n===undefined){n=new WeakMap;H.set(e,n)}let i=n.get(t);if(i===undefined){const s=[];if(e instanceof r){if(t(e))s.push(e)}else{for(const n of e){if(t(n))s.push(n)}}i={chunks:s,key:x(s)};n.set(t,i)}return i};const G=new Set;const q=new Map;const W=(t,n,r,i,o)=>{if(r.length{const e=f.getModuleChunksIterable(t);const n=x(e);return j(n)});const i=h(()=>{I();const e=new Set;const n=M.get(t);for(const t of n){const n=x(t);for(const t of z(n))e.add(t)}return e});let s=0;for(const o of e){const e=this._getCacheGroup(o);const a=e.usedExports?i():n();for(const n of a){const i=n instanceof r?1:n.size;if(i0){let t;let n;for(const e of q){const r=e[0];const i=e[1];if(n===undefined||k(n,i)<0){n=i;t=r}}const r=n;q.delete(t);let i=r.name;let s;let o=false;let a=false;if(i){const t=e.namedChunks.get(i);if(t!==undefined){s=t;const e=r.chunks.size;r.chunks.delete(s);o=r.chunks.size!==e}}else if(r.cacheGroup.reuseExistingChunk){e:for(const e of r.chunks){if(f.getNumberOfChunkModules(e)!==r.modules.size){continue}if(f.getNumberOfEntryModules(e)>0){continue}for(const t of r.modules){if(!f.isModuleInChunk(t,e)){continue e}}if(!s||!s.name){s=e}else if(e.name&&e.name.length=t){u.delete(e)}}}e:for(const e of u){for(const t of r.modules){if(f.isModuleInChunk(t,e))continue e}u.delete(e)}if(u.size=r.cacheGroup.minChunks){const e=Array.from(u);for(const t of r.modules){W(r.cacheGroup,r.cacheGroupIndex,e,x(u),t)}}continue}if(!c&&r.cacheGroup._validateRemainingSize&&u.size===1){const[e]=u;let t=Object.create(null);for(const n of f.getChunkModulesIterable(e)){if(!r.modules.has(n)){for(const e of n.getSourceTypes()){t[e]=(t[e]||0)+n.size(e)}}}if(!F(t,r.cacheGroup.minRemainingSize)){continue}}if(s===undefined){s=e.addChunk(i)}for(const e of u){e.split(s)}s.chunkReason=(s.chunkReason?s.chunkReason+", ":"")+(a?"reused as split chunk":"split chunk");if(r.cacheGroup.key){s.chunkReason+=` (cache group: ${r.cacheGroup.key})`}if(i){s.chunkReason+=` (name: ${i})`;const t=e.entrypoints.get(i);if(t){e.entrypoints.delete(i);t.remove();f.disconnectEntries(s)}}if(r.cacheGroup.filename){s.filenameTemplate=r.cacheGroup.filename}if(r.cacheGroup.idHint){s.idNameHints.add(r.cacheGroup.idHint)}if(!a){for(const t of r.modules){if(!t.chunkCondition(s,e))continue;f.connectChunkAndModule(s,t);for(const e of u){f.disconnectChunkAndModule(e,t)}}}else{for(const e of r.modules){for(const t of u){f.disconnectChunkAndModule(t,e)}}}if(Object.keys(r.cacheGroup.maxAsyncSize).length>0||Object.keys(r.cacheGroup.maxInitialSize).length>0){const e=X.get(s);X.set(s,{minSize:e?O(e.minSize,r.cacheGroup._minSizeForMaxSize,Math.max):r.cacheGroup.minSize,maxAsyncSize:e?O(e.maxAsyncSize,r.cacheGroup.maxAsyncSize,Math.min):r.cacheGroup.maxAsyncSize,maxInitialSize:e?O(e.maxInitialSize,r.cacheGroup.maxInitialSize,Math.min):r.cacheGroup.maxInitialSize,automaticNameDelimiter:r.cacheGroup.automaticNameDelimiter,keys:e?e.keys.concat(r.cacheGroup.key):[r.cacheGroup.key]})}for(const[e,t]of q){if(w(t.chunks,u)){let n=false;for(const e of r.modules){if(t.modules.has(e)){t.modules.delete(e);for(const n of e.getSourceTypes()){t.sizes[n]-=e.size(n)}n=true}}if(n){if(t.modules.size===0){q.delete(e);continue}if(t.cacheGroup._validateSize&&!F(t.sizes,t.cacheGroup.minSize)){q.delete(e)}}}}}n.timeEnd("queue");n.time("maxSize");const J=new Set;const{outputOptions:Y}=e;for(const n of Array.from(e.chunks)){const r=X.get(n);const{minSize:i,maxAsyncSize:s,maxInitialSize:a,automaticNameDelimiter:c}=r||this.options.fallbackCacheGroup;let u;if(n.isOnlyInitial()){u=a}else if(n.canBeInitial()){u=O(s,a,Math.min)}else{u=s}if(Object.keys(u).length===0){continue}for(const t of Object.keys(u)){const n=u[t];const s=i[t];if(typeof s==="number"&&s>n){const t=r&&r.keys;const i=`${t&&t.join()} ${s} ${n}`;if(!J.has(i)){J.add(i);e.warnings.push(new m(t,s,n))}}}const l=y({minSize:i,maxSize:E(u,(e,t)=>{const n=i[t];return typeof n==="number"?Math.max(e,n):e}),items:f.getChunkModulesIterable(n),getKey(e){const n=v.get(e);if(n!==undefined)return n;const r=t(e.identifier());const i=e.nameForCondition&&e.nameForCondition();const s=i?t(i):r.replace(/^.*!|\?[^?!]*$/g,"");const a=s+c+_(r,Y);const u=o(a);v.set(e,u);return u},getSize(e){const t=Object.create(null);for(const n of e.getSourceTypes()){t[n]=e.size(n)}return t}});if(l.length<=1){continue}for(let t=0;t100){s=s.slice(0,100)+c+_(s,Y)}if(t!==l.length-1){const t=e.addChunk(s);n.split(t);t.chunkReason=n.chunkReason;for(const i of r.items){if(!i.chunkCondition(t,e)){continue}f.connectChunkAndModule(t,i);f.disconnectChunkAndModule(n,i)}}else{n.name=s}}}n.timeEnd("maxSize")})})}}},15787:(e,t,n)=>{"use strict";const{formatSize:r}=n(9192);const i=n(81627);e.exports=class AssetsOverSizeLimitWarning extends i{constructor(e,t){const n=e.map(e=>`\n ${e.name} (${r(e.size)})`).join("");super(`asset size limit: The following asset(s) exceed the recommended size limit (${r(t)}).\nThis can impact web performance.\nAssets: ${n}`);this.name="AssetsOverSizeLimitWarning";this.assets=e;Error.captureStackTrace(this,this.constructor)}}},84116:(e,t,n)=>{"use strict";const{formatSize:r}=n(9192);const i=n(81627);e.exports=class EntrypointsOverSizeLimitWarning extends i{constructor(e,t){const n=e.map(e=>`\n ${e.name} (${r(e.size)})\n${e.files.map(e=>` ${e}`).join("\n")}`).join("");super(`entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (${r(t)}). This can impact web performance.\nEntrypoints:${n}\n`);this.name="EntrypointsOverSizeLimitWarning";this.entrypoints=e;Error.captureStackTrace(this,this.constructor)}}},23529:(e,t,n)=>{"use strict";const r=n(81627);e.exports=class NoAsyncChunksWarning extends r{constructor(){super("webpack performance recommendations: \n"+"You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="NoAsyncChunksWarning";Error.captureStackTrace(this,this.constructor)}}},20625:(e,t,n)=>{"use strict";const{find:r}=n(26221);const i=n(15787);const s=n(84116);const o=n(23529);const a=new WeakSet;const c=(e,t,n)=>!n.development;e.exports=class SizeLimitsPlugin{constructor(e){this.hints=e.hints;this.maxAssetSize=e.maxAssetSize;this.maxEntrypointSize=e.maxEntrypointSize;this.assetFilter=e.assetFilter}static isOverSizeLimit(e){return a.has(e)}apply(e){const t=this.maxEntrypointSize;const n=this.maxAssetSize;const u=this.hints;const l=this.assetFilter||c;e.hooks.afterEmit.tap("SizeLimitsPlugin",e=>{const c=[];const f=t=>{let n=0;for(const r of t.getFiles()){const t=e.getAsset(r);if(t&&l(t.name,t.source,t.info)&&t.source){n+=t.info.size||t.source.size()}}return n};const p=[];for(const{name:t,source:r,info:i}of e.getAssets()){if(!l(t,r,i)||!r){continue}const e=i.size||r.size();if(e>n){p.push({name:t,size:e});a.add(r)}}const d=t=>{const n=e.getAsset(t);return n&&l(n.name,n.source,n.info)};const h=[];for(const[n,r]of e.entrypoints){const e=f(r);if(e>t){h.push({name:n,size:e,files:r.getFiles().filter(d)});a.add(r)}}if(u){if(p.length>0){c.push(new i(p,n))}if(h.length>0){c.push(new s(h,t))}if(c.length>0){const t=r(e.chunks,e=>!e.canBeInitial());if(!t){c.push(new o)}if(u==="error"){e.errors.push(...c)}else{e.warnings.push(...c)}}}})}}},63890:(e,t,n)=>{"use strict";const r=n(66804);const i=n(58159);class ChunkPrefetchFunctionRuntimeModule extends r{constructor(e,t,n){super(`chunk ${e} function`,5);this.childType=e;this.runtimeFunction=t;this.runtimeHandlers=n}generate(){const{runtimeFunction:e,runtimeHandlers:t}=this;const{runtimeTemplate:n}=this.compilation;return i.asString([`${t} = {};`,`${e} = ${n.basicFunction("chunkId",[`Object.keys(${t}).map(${n.basicFunction("key",`${t}[key](chunkId);`)});`])}`])}}e.exports=ChunkPrefetchFunctionRuntimeModule},5538:(e,t,n)=>{"use strict";const r=n(76150);const i=n(63890);const s=n(2235);const o=n(86400);class ChunkPrefetchPreloadPlugin{apply(e){e.hooks.compilation.tap("ChunkPrefetchPreloadPlugin",e=>{e.hooks.additionalChunkRuntimeRequirements.tap("ChunkPrefetchPreloadPlugin",(t,n)=>{const{chunkGraph:i}=e;if(i.getNumberOfEntryModules(t)===0)return;const o=t.getChildIdsByOrders(i);if(o.prefetch){n.add(r.prefetchChunk);n.add(r.startup);e.addRuntimeModule(t,new s("prefetch",r.prefetchChunk,o.prefetch))}});e.hooks.additionalTreeRuntimeRequirements.tap("ChunkPrefetchPreloadPlugin",(t,n)=>{const{chunkGraph:i}=e;const s=t.getChildIdsByOrdersMap(i,false);if(s.prefetch){n.add(r.prefetchChunk);e.addRuntimeModule(t,new o("prefetch",r.prefetchChunk,s.prefetch,true))}if(s.preload){n.add(r.preloadChunk);e.addRuntimeModule(t,new o("preload",r.preloadChunk,s.preload,false))}});e.hooks.runtimeRequirementInTree.for(r.prefetchChunk).tap("ChunkPrefetchPreloadPlugin",(t,n)=>{e.addRuntimeModule(t,new i("prefetch",r.prefetchChunk,r.prefetchChunkHandlers));n.add(r.prefetchChunkHandlers)});e.hooks.runtimeRequirementInTree.for(r.preloadChunk).tap("ChunkPrefetchPreloadPlugin",(t,n)=>{e.addRuntimeModule(t,new i("preload",r.preloadChunk,r.preloadChunkHandlers));n.add(r.preloadChunkHandlers)})})}}e.exports=ChunkPrefetchPreloadPlugin},2235:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class ChunkPrefetchStartupRuntimeModule extends i{constructor(e,t,n){super(`startup ${e}`,5);this.childType=e;this.runtimeFunction=t;this.startupChunks=n}generate(){const{runtimeFunction:e,startupChunks:t}=this;const{runtimeTemplate:n}=this.compilation;return s.asString([`var startup = ${r.startup};`,`${r.startup} = ${n.basicFunction("",["var result = startup();",s.asString(t.length<3?t.map(t=>`${e}(${JSON.stringify(t)});`):`${JSON.stringify(t)}.map(${e});`),"return result;"])};`])}}e.exports=ChunkPrefetchStartupRuntimeModule},86400:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class ChunkPrefetchTriggerRuntimeModule extends i{constructor(e,t,n,r){super(`chunk ${e} trigger`,20);this.childType=e;this.runtimeFunction=t;this.chunkMap=n;this.afterChunkLoad=r}generate(){const{childType:e,runtimeFunction:t,chunkMap:n,afterChunkLoad:i}=this;const{runtimeTemplate:o}=this.compilation;const a=["var chunks = chunkToChildrenMap[chunkId];","for (var i = 0; Array.isArray(chunks) && i < chunks.length; i++) {",s.indent(`${t}(chunks[i]);`),"}"];return s.asString([n?s.asString([`var chunkToChildrenMap = ${JSON.stringify(n,null,"\t")};`,`${r.ensureChunkHandlers}.${e} = ${i?o.basicFunction("chunkId, promises",[`Promise.all(promises).then(${o.basicFunction("",a)});`]):o.basicFunction("chunkId",a)};`]):`// no chunks to automatically ${e} specified in graph`])}}e.exports=ChunkPrefetchTriggerRuntimeModule},94288:e=>{"use strict";class BasicEffectRulePlugin{constructor(e,t){this.ruleProperty=e;this.effectType=t||e}apply(e){e.hooks.rule.tap("BasicEffectRulePlugin",(e,t,n,r,i)=>{if(n.has(this.ruleProperty)){n.delete(this.ruleProperty);const e=t[this.ruleProperty];r.effects.push({type:this.effectType,value:e})}})}}e.exports=BasicEffectRulePlugin},1976:e=>{"use strict";class BasicMatcherRulePlugin{constructor(e,t,n){this.ruleProperty=e;this.dataProperty=t||e;this.invert=n||false}apply(e){e.hooks.rule.tap("BasicMatcherRulePlugin",(t,n,r,i)=>{if(r.has(this.ruleProperty)){r.delete(this.ruleProperty);const s=n[this.ruleProperty];const o=e.compileCondition(`${t}.${this.ruleProperty}`,s);const a=o.fn;i.conditions.push({property:this.dataProperty,matchWhenEmpty:this.invert?!o.matchWhenEmpty:o.matchWhenEmpty,fn:this.invert?e=>!a(e):a})}})}}e.exports=BasicMatcherRulePlugin},92299:e=>{"use strict";const t="descriptionData";class DescriptionDataMatcherRulePlugin{apply(e){e.hooks.rule.tap("DescriptionDataMatcherRulePlugin",(n,r,i,s)=>{if(i.has(t)){i.delete(t);const o=r[t];for(const r of Object.keys(o)){const i=r.split(".");const a=e.compileCondition(`${n}.${t}.${r}`,o[r]);s.conditions.push({property:["descriptionData",...i],matchWhenEmpty:a.matchWhenEmpty,fn:a.fn})}}})}}e.exports=DescriptionDataMatcherRulePlugin},73817:(e,t,n)=>{"use strict";const{SyncHook:r}=n(92960);class RuleSetCompiler{constructor(e){this.hooks=Object.freeze({rule:new r(["path","rule","unhandledProperties","compiledRule","references"])});if(e){for(const t of e){t.apply(this)}}}compile(e){const t=new Map;const n=this.compileRules("ruleSet",e,t);const r=(e,t,n)=>{for(const n of t.conditions){const t=n.property;if(Array.isArray(t)){let r=e;for(const e of t){if(r&&typeof r==="object"&&Object.prototype.hasOwnProperty.call(r,e)){r=r[e]}else{r=undefined;break}}if(r!==undefined){if(!n.fn(r))return false;continue}}else if(t in e){const r=e[t];if(!n.fn(r))return false;continue}if(!n.matchWhenEmpty){return false}}for(const r of t.effects){if(typeof r==="function"){const t=r(e);for(const e of t){n.push(e)}}else{n.push(r)}}if(t.rules){for(const i of t.rules){r(e,i,n)}}if(t.oneOf){for(const i of t.oneOf){if(r(e,i,n)){break}}}return true};return{references:t,exec:e=>{const t=[];for(const i of n){r(e,i,t)}return t}}}compileRules(e,t,n){return t.map((t,r)=>this.compileRule(`${e}[${r}]`,t,n))}compileRule(e,t,n){const r=new Set(Object.keys(t).filter(e=>t[e]!==undefined));const i={conditions:[],effects:[],rules:undefined,oneOf:undefined};this.hooks.rule.call(e,t,r,i,n);if(r.has("rules")){r.delete("rules");const s=t.rules;if(!Array.isArray(s))throw this.error(e,s,"Rule.rules must be an array of rules");i.rules=this.compileRules(`${e}.rules`,s,n)}if(r.has("oneOf")){r.delete("oneOf");const s=t.oneOf;if(!Array.isArray(s))throw this.error(e,s,"Rule.oneOf must be an array of rules");i.oneOf=this.compileRules(`${e}.oneOf`,s,n)}if(r.size>0){throw this.error(e,t,`Properties ${Array.from(r).join(", ")} are unknown`)}return i}compileCondition(e,t){if(!t){throw this.error(e,t,"Expected condition but got falsy value")}if(typeof t==="string"){return{matchWhenEmpty:t.length===0,fn:e=>e.startsWith(t)}}if(typeof t==="function"){try{return{matchWhenEmpty:t(""),fn:t}}catch(n){throw this.error(e,t,"Evaluation of condition function threw error")}}if(t instanceof RegExp){return{matchWhenEmpty:t.test(""),fn:e=>t.test(e)}}if(Array.isArray(t)){const n=t.map((t,n)=>this.compileCondition(`${e}[${n}]`,t));return this.combineConditionsOr(n)}if(typeof t!=="object"){throw this.error(e,t,`Unexpected ${typeof t} when condition was expected`)}const n=[];for(const r of Object.keys(t)){const i=t[r];switch(r){case"or":if(i){if(!Array.isArray(i)){throw this.error(`${e}.or`,t.and,"Expected array of conditions")}n.push(this.compileCondition(`${e}.or`,i))}break;case"and":if(i){if(!Array.isArray(i)){throw this.error(`${e}.and`,t.and,"Expected array of conditions")}let r=0;for(const t of i){n.push(this.compileCondition(`${e}.and[${r}]`,t));r++}}break;case"not":if(i){const t=this.compileCondition(`${e}.not`,i);const r=t.fn;n.push({matchWhenEmpty:!t.matchWhenEmpty,fn:e=>!r(e)})}break;default:throw this.error(`${e}.${r}`,t[r],`Unexpected property ${r} in condition`)}}if(n.length===0){throw this.error(e,t,"Expected condition, but got empty thing")}return this.combineConditionsAnd(n)}combineConditionsOr(e){if(e.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(e.length===1){return e[0]}else{return{matchWhenEmpty:e.some(e=>e.matchWhenEmpty),fn:t=>e.some(e=>e.fn(t))}}}combineConditionsAnd(e){if(e.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(e.length===1){return e[0]}else{return{matchWhenEmpty:e.every(e=>e.matchWhenEmpty),fn:t=>e.every(e=>e.fn(t))}}}error(e,t,n){return new Error(`Compiling RuleSet failed: ${n} (at ${e}: ${t})`)}}e.exports=RuleSetCompiler},19311:(e,t,n)=>{"use strict";const r=n(31669);class UseEffectRulePlugin{apply(e){e.hooks.rule.tap("UseEffectRulePlugin",(t,n,i,s,o)=>{const a=(r,s)=>{if(i.has(r)){throw e.error(`${t}.${r}`,n[r],`A Rule must not have a '${r}' property when it has a '${s}' property`)}};if(i.has("use")){i.delete("use");i.delete("enforce");a("loader","use");a("options","use");const e=n.use;const c=n.enforce;const u=c?`use-${c}`:"use";const l=(e,t,n)=>{if(typeof n==="function"){return t=>p(e,n(t))}else{return f(e,t,n)}};const f=(e,t,n)=>{if(typeof n==="string"){return{type:u,value:{loader:n,options:undefined,ident:undefined}}}else{const i=n.loader;const s=n.options;let a=n.ident;if(s&&typeof s==="object"){if(!a)a=t;o.set(a,s)}if(typeof s==="string"){r.deprecate(()=>{},`Using a string as loader options is deprecated (${e}.options)`,"DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING")()}return{type:c?`use-${c}`:"use",value:{loader:i,options:s,ident:a}}}};const p=(e,t)=>{if(Array.isArray(t)){return t.map((t,n)=>f(`${e}[${n}]`,"[[missing ident]]",t))}return[f(e,"[[missing ident]]",t)]};const d=(e,t)=>{if(Array.isArray(t)){return t.map((t,n)=>{const r=`${e}[${n}]`;return l(r,r,t)})}return[l(e,e,t)]};if(typeof e==="function"){s.effects.push(n=>p(`${t}.use`,e(n)))}else{for(const n of d(`${t}.use`,e)){s.effects.push(n)}}}if(i.has("loader")){i.delete("loader");i.delete("options");i.delete("enforce");const a=n.loader;const c=n.options;const u=n.enforce;if(a.includes("!")){throw e.error(`${t}.loader`,a,"Exclamation mark separated loader lists has been removed in favor of the 'use' property with arrays")}if(a.includes("?")){throw e.error(`${t}.loader`,a,"Query arguments on 'loader' has been removed in favor of the 'options' property")}if(typeof c==="string"){r.deprecate(()=>{},`Using a string as loader options is deprecated (${t}.options)`,"DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING")()}const l=c&&typeof c==="object"?t:undefined;o.set(l,c);s.effects.push({type:u?`use-${u}`:"use",value:{loader:a,options:c,ident:l}})}})}useItemToEffects(e,t){}}e.exports=UseEffectRulePlugin},64255:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);class ChunkNameRuntimeModule extends i{constructor(e){super("chunkName");this.chunkName=e}generate(){return`${r.chunkName} = ${JSON.stringify(this.chunkName)};`}}e.exports=ChunkNameRuntimeModule},90202:(e,t,n)=>{"use strict";const r=n(76150);const i=n(58159);const s=n(9851);class CompatGetDefaultExportRuntimeModule extends s{constructor(){super("compat get default export")}generate(){const{runtimeTemplate:e}=this.compilation;const t=r.compatGetDefaultExport;return i.asString(["// getDefaultExport function for compatibility with non-harmony modules",`${t} = ${e.basicFunction("module",["var getter = module && module.__esModule ?",i.indent([`${e.returningFunction("module['default']")} :`,`${e.returningFunction("module")};`]),`${r.definePropertyGetters}(getter, { a: getter });`,"return getter;"])};`])}}e.exports=CompatGetDefaultExportRuntimeModule},16710:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);class CompatRuntimeModule extends i{constructor(){super("compat",10)}generate(){const{chunk:e,compilation:t}=this;const{chunkGraph:n,runtimeTemplate:i,mainTemplate:s,moduleTemplates:o,dependencyTemplates:a}=t;const c=s.hooks.bootstrap.call("",e,t.hash||"XXXX",o.javascript,a);const u=s.hooks.localVars.call("",e,t.hash||"XXXX");const l=s.hooks.requireExtensions.call("",e,t.hash||"XXXX");const f=n.getTreeRuntimeRequirements(e);let p="";if(f.has(r.ensureChunk)){const n=s.hooks.requireEnsure.call("",e,t.hash||"XXXX","chunkId");if(n){p=`${r.ensureChunkHandlers}.compat = ${i.basicFunction("chunkId, promises",n)};`}}return[c,u,p,l].filter(Boolean).join("\n")}shouldIsolate(){return false}}e.exports=CompatRuntimeModule},3236:(e,t,n)=>{"use strict";const r=n(76150);const i=n(58159);const s=n(9851);class CreateFakeNamespaceObjectRuntimeModule extends s{constructor(){super("create fake namespace object")}generate(){const{runtimeTemplate:e}=this.compilation;const t=e.supportsArrowFunction()&&e.supportsConst();const n=r.createFakeNamespaceObject;return i.asString(["// create a fake namespace object","// mode & 1: value is a module id, require it","// mode & 2: merge all properties of value into the ns","// mode & 4: return value when already ns object","// mode & 8|1: behave like require",`${n} = function(value, mode) {`,i.indent([`if(mode & 1) value = this(value);`,`if(mode & 8) return value;`,"if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;","var ns = Object.create(null);",`${r.makeNamespaceObject}(ns);`,"var def = {};","if(mode & 2 && typeof value == 'object' && value) {",i.indent([t?`for(const key in value) def[key] = () => value[key];`:`for(var key in value) def[key] = function(key) { return value[key]; }.bind(null, key);`]),"}",t?"def['default'] = () => value;":"def['default'] = function() { return value; };",`${r.definePropertyGetters}(ns, def);`,"return ns;"]),"};"])}}e.exports=CreateFakeNamespaceObjectRuntimeModule},58957:(e,t,n)=>{"use strict";const r=n(76150);const i=n(58159);const s=n(9851);class DefinePropertyGettersRuntimeModule extends s{constructor(){super("define property getters")}generate(){const{runtimeTemplate:e}=this.compilation;const t=r.definePropertyGetters;return i.asString(["// define getter functions for harmony exports",`${t} = ${e.basicFunction("exports, definition",[`for(var key in definition) {`,i.indent([`if(${r.hasOwnProperty}(definition, key) && !${r.hasOwnProperty}(exports, key)) {`,i.indent(["Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });"]),"}"]),"}"])};`])}}e.exports=DefinePropertyGettersRuntimeModule},59179:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class EnsureChunkRuntimeModule extends i{constructor(e){super("ensure chunk");this.runtimeRequirements=e}generate(){const{runtimeTemplate:e}=this.compilation;if(this.runtimeRequirements.has(r.ensureChunkHandlers)){const t=r.ensureChunkHandlers;return s.asString([`${t} = {};`,"// This file contains only the entry chunk.","// The chunk loading function for additional chunks",`${r.ensureChunk} = ${e.basicFunction("chunkId",[`return Promise.all(Object.keys(${t}).reduce(${e.basicFunction("promises, key",[`${t}[key](chunkId, promises);`,"return promises;"])}, []));`])};`])}else{return s.asString(["// The chunk loading function for additional chunks","// Since all referenced chunks are already included","// in this file, this function is empty here.",`${r.ensureChunk} = ${e.returningFunction("Promise.resolve()")};`])}}}e.exports=EnsureChunkRuntimeModule},9609:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class GetChunkFilenameRuntimeModule extends i{constructor(e,t,n,r,i){super(`get ${t} chunk filename`);this.contentType=e;this.global=n;this.getFilenameForChunk=r;this.allChunks=i}generate(){const{global:e,chunk:t,contentType:n,getFilenameForChunk:i,allChunks:o,compilation:a}=this;const{runtimeTemplate:c}=a;const u=new Map;let l=0;let f;const p=e=>{const t=i(e);if(t){let n=u.get(t);if(n===undefined){u.set(t,n=new Set)}n.add(e);if(typeof t==="string"){if(n.size{const i=t=>{const n=`${t}`;if(n.length>=5&&n===`${e.id}`){return'" + chunkId + "'}const r=JSON.stringify(n);return r.slice(1,r.length-1)};const s=e=>t=>i(`${e}`.slice(0,t));const o=typeof t==="function"?JSON.stringify(t({chunk:e,contentHashType:n})):JSON.stringify(t);const c=a.getPath(o,{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}().slice(0, ${e}) + "`,chunk:{id:i(e.id),hash:i(e.renderedHash),hashWithLength:s(e.renderedHash),name:i(e.name||e.id),contentHash:{[n]:i(e.contentHash[n])},contentHashWithLength:{[n]:s(e.contentHash[n])}},contentHashType:n});let u=h.get(c);if(u===undefined){h.set(c,u=new Set)}u.add(e.id)};for(const[e,t]of u){if(e!==f){for(const n of t)g(n,e)}else{for(const e of t)m.add(e)}}const y=e=>{const t={};let n=false;let r;let i=0;for(const s of m){const o=e(s);if(o===s.id){n=true}else{t[s.id]=o;r=s.id;i++}}if(i===0)return"chunkId";if(i===1){return n?`(chunkId === ${JSON.stringify(r)} ? ${JSON.stringify(t[r])} : chunkId)`:JSON.stringify(t[r])}return n?`(${JSON.stringify(t)}[chunkId] || chunkId)`:`${JSON.stringify(t)}[chunkId]`};const v=e=>{return`" + ${y(e)} + "`};const _=e=>t=>{return`" + ${y(n=>`${e(n)}`.slice(0,t))} + "`};const b=f&&a.getPath(JSON.stringify(f),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}().slice(0, ${e}) + "`,chunk:{id:`" + chunkId + "`,hash:v(e=>e.renderedHash),hashWithLength:_(e=>e.renderedHash),name:v(e=>e.name||e.id),contentHash:{[n]:v(e=>e.contentHash[n])},contentHashWithLength:{[n]:_(e=>e.contentHash[n])}},contentHashType:n});return s.asString([`// This function allow to reference ${d.join(" and ")}`,`${e} = ${c.basicFunction("chunkId",h.size>0?["// return url for filenames not based on template",s.asString(Array.from(h,([e,t])=>{const n=t.size===1?`chunkId === ${JSON.stringify(t.values().next().value)}`:`{${Array.from(t,e=>`${JSON.stringify(e)}:1`).join(",")}}[chunkId]`;return`if (${n}) return ${e};`})),"// return url for filenames based on template",`return ${b};`]:["// return url for filenames based on template",`return ${b};`])};`])}}e.exports=GetChunkFilenameRuntimeModule},75948:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);class GetFullHashRuntimeModule extends i{constructor(){super("getFullHash")}generate(){const{runtimeTemplate:e}=this.compilation;return`${r.getFullHash} = ${e.returningFunction(JSON.stringify(this.compilation.hash||"XXXX"))}`}}e.exports=GetFullHashRuntimeModule},36100:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class GetMainFilenameRuntimeModule extends i{constructor(e,t,n){super(`get ${e} filename`);this.global=t;this.filename=n}generate(){const{global:e,filename:t,compilation:n}=this;const{runtimeTemplate:i}=n;const o=n.getPath(JSON.stringify(t),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}().slice(0, ${e}) + "`});return s.asString([`${e} = ${i.returningFunction(o)};`])}}e.exports=GetMainFilenameRuntimeModule},13376:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class GlobalRuntimeModule extends i{constructor(){super("global")}generate(){return s.asString([`${r.global} = (function() {`,s.indent(["if (typeof globalThis === 'object') return globalThis;","try {",s.indent("return this || new Function('return this')();"),"} catch (e) {",s.indent("if (typeof window === 'object') return window;"),"}"]),"})();"])}}e.exports=GlobalRuntimeModule},37522:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class HasOwnPropertyRuntimeModule extends i{constructor(){super("hasOwnProperty shorthand")}generate(){const{runtimeTemplate:e}=this.compilation;return s.asString([`${r.hasOwnProperty} = ${e.returningFunction("Object.prototype.hasOwnProperty.call(obj, prop)","obj, prop")}`])}}e.exports=HasOwnPropertyRuntimeModule},9851:(e,t,n)=>{"use strict";const r=n(66804);class HelperRuntimeModule extends r{constructor(e){super(e)}}e.exports=HelperRuntimeModule},67104:(e,t,n)=>{"use strict";const{SyncWaterfallHook:r}=n(92960);const i=n(3080);const s=n(76150);const o=n(58159);const a=n(9851);const c=new WeakMap;class LoadScriptRuntimeModule extends a{static getCompilationHooks(e){if(!(e instanceof i)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let t=c.get(e);if(t===undefined){t={createScript:new r(["source","chunk"])};c.set(e,t)}return t}constructor(){super("load script")}generate(){const{compilation:e}=this;const{runtimeTemplate:t,outputOptions:n}=e;const{scriptType:r,chunkLoadTimeout:i,crossOriginLoading:a,uniqueName:c,charset:u}=n;const l=s.loadScript;const{createScript:f}=LoadScriptRuntimeModule.getCompilationHooks(e);const p=o.asString(["script = document.createElement('script');",r?`script.type = ${JSON.stringify(r)};`:"",u?"script.charset = 'utf-8';":"",`script.timeout = ${i/1e3};`,`if (${s.scriptNonce}) {`,o.indent(`script.setAttribute("nonce", ${s.scriptNonce});`),"}",c?'script.setAttribute("data-webpack", dataWebpackPrefix + key);':"",`script.src = url;`,a?o.asString(["if (script.src.indexOf(window.location.origin + '/') !== 0) {",o.indent(`script.crossOrigin = ${JSON.stringify(a)};`),"}"]):""]);return o.asString(["var inProgress = {};",c?`var dataWebpackPrefix = ${JSON.stringify(c+":")};`:"// data-webpack is not used as build has no uniqueName","// loadScript function to load a script via script tag",`${l} = ${t.basicFunction("url, done, key",["if(inProgress[url]) { inProgress[url].push(done); return; }","var script, needAttach;","if(key !== undefined) {",o.indent(['var scripts = document.getElementsByTagName("script");',"for(var i = 0; i < scripts.length; i++) {",o.indent(["var s = scripts[i];",`if(s.getAttribute("src") == url${c?' || s.getAttribute("data-webpack") == dataWebpackPrefix + key':""}) { script = s; break; }`]),"}"]),"}","if(!script) {",o.indent(["needAttach = true;",f.call(p,this.chunk)]),"}","inProgress[url] = [done];","var onScriptComplete = "+t.basicFunction("prev, event",o.asString(["// avoid mem leaks in IE.","script.onerror = script.onload = null;","clearTimeout(timeout);","var doneFns = inProgress[url];","delete inProgress[url];","script.parentNode && script.parentNode.removeChild(script);",`doneFns && doneFns.forEach(${t.returningFunction("fn(event)","fn")});`,"if(prev) return prev(event);"])),";",`var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), ${i});`,"script.onerror = onScriptComplete.bind(null, script.onerror);","script.onload = onScriptComplete.bind(null, script.onload);","needAttach && document.head.appendChild(script);"])};`])}}e.exports=LoadScriptRuntimeModule},14676:(e,t,n)=>{"use strict";const r=n(76150);const i=n(58159);const s=n(9851);class MakeNamespaceObjectRuntimeModule extends s{constructor(){super("make namespace object")}generate(){const{runtimeTemplate:e}=this.compilation;const t=r.makeNamespaceObject;return i.asString(["// define __esModule on exports",`${t} = ${e.basicFunction("exports",["if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {",i.indent(["Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });"]),"}","Object.defineProperty(exports, '__esModule', { value: true });"])};`])}}e.exports=MakeNamespaceObjectRuntimeModule},48977:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);class PublicPathRuntimeModule extends i{constructor(){super("publicPath")}generate(){return`${r.publicPath} = ${JSON.stringify(this.compilation.getPath(this.compilation.outputOptions.publicPath||"",{hash:this.compilation.hash||"XXXX"}))};`}}e.exports=PublicPathRuntimeModule},64997:(e,t,n)=>{"use strict";const r=n(76150);const i=n(55616);const s=n(34487);class StartupChunkDependenciesPlugin{constructor(e){this.asyncChunkLoading=e&&typeof e.asyncChunkLoading==="boolean"?e.asyncChunkLoading:true}apply(e){e.hooks.thisCompilation.tap("StartupChunkDependenciesPlugin",e=>{e.hooks.additionalTreeRuntimeRequirements.tap("StartupChunkDependenciesPlugin",(t,n)=>{if(e.chunkGraph.hasChunkEntryDependentChunks(t)){n.add(r.startup);n.add(r.ensureChunk);n.add(r.ensureChunkIncludeEntries);e.addRuntimeModule(t,new i(this.asyncChunkLoading))}});e.hooks.runtimeRequirementInTree.for(r.startupEntrypoint).tap("StartupChunkDependenciesPlugin",(t,n)=>{n.add(r.ensureChunk);n.add(r.ensureChunkIncludeEntries);e.addRuntimeModule(t,new s(this.asyncChunkLoading))})})}}e.exports=StartupChunkDependenciesPlugin},55616:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class StartupChunkDependenciesRuntimeModule extends i{constructor(e){super("startup chunk dependencies");this.asyncChunkLoading=e}generate(){const{chunk:e,compilation:t}=this;const{chunkGraph:n,runtimeTemplate:i}=t;const o=Array.from(n.getChunkEntryDependentChunksIterable(e)).map(e=>{return e.id});return s.asString([`var next = ${r.startup};`,`${r.startup} = ${i.basicFunction("",!this.asyncChunkLoading?o.map(e=>`${r.ensureChunk}(${JSON.stringify(e)});`).concat("return next();"):o.length===1?`return ${r.ensureChunk}(${JSON.stringify(o[0])}).then(next);`:o.length>2?[`return Promise.all(${JSON.stringify(o)}.map(${r.ensureChunk}, __webpack_require__)).then(next);`]:["return Promise.all([",s.indent(o.map(e=>`${r.ensureChunk}(${JSON.stringify(e)})`).join(",\n")),"]).then(next);"])};`])}}e.exports=StartupChunkDependenciesRuntimeModule},34487:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);class StartupEntrypointRuntimeModule extends i{constructor(e){super("startup entrypoint");this.asyncChunkLoading=e}generate(){const{compilation:e}=this;const{runtimeTemplate:t}=e;return`${r.startupEntrypoint} = ${t.basicFunction("chunkIds, moduleId",this.asyncChunkLoading?`return Promise.all(chunkIds.map(${r.ensureChunk}, __webpack_require__)).then(${t.returningFunction("__webpack_require__(moduleId)")})`:[`chunkIds.map(${r.ensureChunk}, __webpack_require__)`,"return __webpack_require__(moduleId)"])}`}}e.exports=StartupEntrypointRuntimeModule},76752:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);class SystemContextRuntimeModule extends i{constructor(){super("__system_context__")}generate(){return`${r.systemContext} = __system_context__;`}}e.exports=SystemContextRuntimeModule},68495:(e,t,n)=>{"use strict";const r=n(53520);const{getMimetype:i,decodeDataURI:s}=n(51145);class DataUriPlugin{apply(e){e.hooks.compilation.tap("DataUriPlugin",(e,{normalModuleFactory:t})=>{t.hooks.resolveForScheme.for("data").tap("DataUriPlugin",e=>{e.data.mimetype=i(e.resource)});r.getCompilationHooks(e).readResourceForScheme.for("data").tap("DataUriPlugin",e=>s(e))})}}e.exports=DataUriPlugin},99184:(e,t,n)=>{"use strict";const{URL:r,fileURLToPath:i}=n(78835);class FileUriPlugin{apply(e){e.hooks.compilation.tap("FileUriPlugin",(e,{normalModuleFactory:t})=>{t.hooks.resolveForScheme.for("file").tap("FileUriPlugin",e=>{const t=new r(e.resource);const n=i(t);const s=t.search;const o=t.hash;e.path=n;e.query=s;e.fragment=o;e.resource=n+s+o;return true})})}}e.exports=FileUriPlugin},7201:(e,t,n)=>{"use strict";const{URL:r}=n(78835);const i=n(53520);class HttpUriPlugin{apply(e){e.hooks.compilation.tap("HttpUriPlugin",(e,{normalModuleFactory:t})=>{t.hooks.resolveForScheme.for("http").tap("HttpUriPlugin",e=>{const t=new r(e.resource);e.path=t.origin+t.pathname;e.query=t.search;e.fragment=t.hash;return true});i.getCompilationHooks(e).readResourceForScheme.for("http").tapAsync("HttpUriPlugin",(e,t,i)=>{return n(98605).get(new r(e),e=>{if(e.statusCode!==200){e.destroy();return i(new Error(`http request status code = ${e.statusCode}`))}const t=[];e.on("data",e=>{t.push(e)});e.on("end",()=>{if(!e.complete){return i(new Error("http request was terminated"))}i(null,Buffer.concat(t))})})})})}}e.exports=HttpUriPlugin},1161:(e,t,n)=>{"use strict";const{URL:r}=n(78835);const i=n(53520);class HttpsUriPlugin{apply(e){e.hooks.compilation.tap("HttpsUriPlugin",(e,{normalModuleFactory:t})=>{t.hooks.resolveForScheme.for("https").tap("HttpsUriPlugin",e=>{const t=new r(e.resource);e.path=t.origin+t.pathname;e.query=t.search;e.fragment=t.hash;return true});i.getCompilationHooks(e).readResourceForScheme.for("https").tapAsync("HttpsUriPlugin",(e,t,i)=>{return n(57211).get(new r(e),e=>{if(e.statusCode!==200){e.destroy();return i(new Error(`https request status code = ${e.statusCode}`))}const t=[];e.on("data",e=>{t.push(e)});e.on("end",()=>{if(!e.complete){return i(new Error("https request was terminated"))}i(null,Buffer.concat(t))})})})})}}e.exports=HttpsUriPlugin},22324:e=>{"use strict";class ArraySerializer{serialize(e,{write:t}){t(e.length);for(const n of e)t(n)}deserialize({read:e}){const t=e();const n=[];for(let r=0;r{"use strict";const r=n(27503);const i=n(43065);const s=11;const o=12;const a=13;const c=14;const u=15;const l=16;const f=96;const p=64;const d=32;const h=128;const m=240;const g=224;const y=31;const v=15;const _=127;const b=1;const E=1;const w=4;const S=8;const k=Symbol("MEASURE_START_OPERATION");const D=Symbol("MEASURE_END_OPERATION");const x=e=>{if(e===(e|0)){if(e<=127&&e>=-128)return 0;if(e<=2147483647&&e>=-2147483648)return 1}return 2};class BinaryMiddleware extends i{serialize(e,t){return this._serialize(e,t)}_serialize(e,t){let n=null;let r=0;const m=[];const g=(e,t=false)=>{if(n!==null){if(n.length-r>=e)return;y()}n=Buffer.allocUnsafe(t?e:Math.max(e,1024))};const y=()=>{if(n!==null){m.push(n.slice(0,r));n=null;r=0}};const v=e=>{n.writeUInt8(e,r++)};const _=e=>{n.writeUInt32LE(e,r);r+=4};const C=[];const A=()=>{C.push(m.length,r)};const T=()=>{const e=C.pop();const t=C.pop();let n=r-e;for(let e=t;e{for(let C=0;Cthis._serialize(e,t)))}break}case"string":{const e=Buffer.byteLength(O);if(e>=128){g(e+b+w);v(c);_(e)}else{g(e+b);v(h|e)}n.write(O,r);r+=e;break}case"number":{const t=x(O);if(t===0&&O>=0&&O<=10){g(E);v(O);break}let i=1;for(;i<32&&C+i0){n.writeInt8(e[C],r);r+=E;i--;C++}break;case 1:g(b+w*i);v(p|i-1);while(i>0){n.writeInt32LE(e[C],r);r+=w;i--;C++}break;case 2:g(b+S*i);v(d|i-1);while(i>0){n.writeDoubleLE(e[C],r);r+=S;i--;C++}break}C--;break}case"boolean":g(b);v(O===true?o:a);break;case"object":{if(O===null){let t;for(t=1;t<16&&C+t{if(D>=b.length){D=0;n++;b=n{return k&&e+D<=b.length};const A=e=>{if(!k){throw new Error(b===null?"Unexpected end of stream":"Unexpected lazy element in stream")}const t=b.length-D;if(t{if(!k){throw new Error(b===null?"Unexpected end of stream":"Unexpected lazy element in stream")}const e=b.readUInt8(D);D+=E;x();return e};const M=()=>{return A(w).readUInt32LE(0)};const O=[];while(b!==null){if(typeof b==="function"){O.push(i.deserializeLazy(b,e=>this._deserialize(e,t)));n++;b=nthis._deserialize(s,t)),this,undefined,s));break}case u:{const e=M();O.push(A(e));break}case o:O.push(true);break;case a:O.push(false);break;case c:{const e=M();const t=A(e);O.push(t.toString());break}default:if(F<=10){O.push(F)}else if((F&h)===h){const e=F&_;const t=A(e);O.push(t.toString())}else if((F&g)===d){const e=(F&y)+1;const t=S*e;if(C(t)){for(let t=0;t{"use strict";class DateObjectSerializer{serialize(e,{write:t}){t(e.getTime())}deserialize({read:e}){return new Date(e())}}e.exports=DateObjectSerializer},12020:e=>{"use strict";class ErrorObjectSerializer{constructor(e){this.Type=e}serialize(e,{write:t}){t(e.message);t(e.stack)}deserialize({read:e}){const t=new this.Type;t.message=e();t.stack=e();return t}}e.exports=ErrorObjectSerializer},13829:(e,t,n)=>{"use strict";const r=n(35891);const{dirname:i,join:s,mkdirp:o}=n(95396);const a=n(27503);const c=n(43065);const u=6516855;const l=e=>{const t=r("md4");for(const n of e)t.update(n);return t.digest("hex")};const f=async(e,t,n,r)=>{const i=[];const s=new WeakMap;let o=undefined;for(const n of await t){if(typeof n==="function"){if(!c.isLazy(n))throw new Error("Unexpected function");if(!c.isLazy(n,e)){throw new Error("Unexpected lazy value with non-this target (can't pass through lazy values)")}o=undefined;const t=c.getLazySerializedValue(n);if(t){if(typeof t==="function"){throw new Error("Unexpected lazy value with non-this target (can't pass through lazy values)")}else{i.push(t)}}else{const t=n();if(t){const o=c.getLazyOptions(n);i.push(f(e,t,o&&o.name||true,r).then(e=>{n.options.size=e.size;s.set(e,n);return e}))}else{throw new Error("Unexpected falsy value returned by lazy value function")}}}else if(n){if(o){o.push(n)}else{o=[n];i.push(o)}}else{throw new Error("Unexpected falsy value in items array")}}const a=[];const p=(await Promise.all(i)).map(e=>{if(Array.isArray(e)||Buffer.isBuffer(e))return e;a.push(e.backgroundJob);const t=e.name;const n=Buffer.from(t);const r=Buffer.allocUnsafe(4+n.length);r.writeUInt32LE(e.size,0);n.copy(r,4,0);const i=s.get(e);c.setLazySerializedValue(i,r);return r});const d=p.map(e=>{if(Array.isArray(e)){let t=0;for(const n of e)t+=n.length;return t}else if(e){return-e.length}else{throw new Error("Unexpected falsy value in resolved data "+e)}});const h=Buffer.allocUnsafe(8+d.length*4);h.writeUInt32LE(u,0);h.writeUInt32LE(d.length,4);for(let e=0;e{const r=await n(t);if(r.length===0)throw new Error("Empty file "+t);const i=r.readUInt32LE(0);if(i!==u){throw new Error("Invalid file version")}const s=r.readUInt32LE(4);const o=[];for(let e=0;e{const i=Math.abs(t);const s=r.slice(l,l+i);l+=i;if(t<0){const t=Buffer.from(s);const r=s.readUInt32LE(0);const i=t.slice(4);const o=i.toString();return c.createLazy(a(()=>p(e,o,n)),e,{name:o,size:r},t)}else{return s}});return f};class FileMiddleware extends c{constructor(e){super();this.fs=e}serialize(e,{filename:t,extension:n=""}){return new Promise((r,a)=>{o(this.fs,i(this.fs,t),i=>{if(i)return a(i);const o=new Set;const c=async(e,r)=>{const i=e?s(this.fs,t,`../${e}${n}`):t;await new Promise((e,t)=>{const n=this.fs.createWriteStream(i+"_");for(const e of r)n.write(e);n.end();n.on("error",e=>t(e));n.on("finish",()=>e())});if(e)o.add(i)};r(f(this,e,false,c).then(async({backgroundJob:e})=>{await e;await new Promise(e=>this.fs.rename(t,t+".old",t=>{e()}));await Promise.all(Array.from(o,e=>new Promise((t,n)=>{this.fs.rename(e+"_",e,e=>{if(e)return n(e);t()})})));await new Promise(e=>{this.fs.rename(t+"_",t,t=>{if(t)return a(t);e()})});return true}))})})}deserialize(e,{filename:t,extension:n=""}){const r=e=>new Promise((r,i)=>{const o=e?s(this.fs,t,`../${e}${n}`):t;return this.fs.readFile(o,(e,t)=>{if(e)return i(e);r(t)})});return p(this,false,r)}}e.exports=FileMiddleware},58461:e=>{"use strict";class MapObjectSerializer{serialize(e,{write:t}){t(e.size);for(const n of e.keys()){t(n)}for(const n of e.values()){t(n)}}deserialize({read:e}){let t=e();const n=new Map;const r=[];for(let n=0;n{"use strict";class NullPrototypeObjectSerializer{serialize(e,{write:t}){const n=Object.keys(e);for(const e of n){t(e)}t(null);for(const r of n){t(e[r])}}deserialize({read:e}){const t=Object.create(null);const n=[];let r=e();while(r!==null){n.push(r);r=e()}for(const r of n){t[r]=e()}return t}}e.exports=NullPrototypeObjectSerializer},30991:(e,t,n)=>{"use strict";const r=n(22324);const i=n(93524);const s=n(12020);const o=n(58461);const a=n(78176);const c=n(11900);const u=n(46690);const l=n(43065);const f=n(25402);const p=(e,t)=>{let n=0;for(const r of e){if(n++>=t){e.delete(r)}}};const d=(e,t)=>{let n=0;for(const r of e.keys()){if(n++>=t){e.delete(r)}}};const h=null;const m=null;const g=true;const y=false;const v=2;const _=new Map;const b=new Map;const E=new Set;const w={};const S=new Map;S.set(Object,new c);S.set(Array,new r);S.set(null,new a);S.set(Map,new o);S.set(Set,new f);S.set(Date,new i);S.set(RegExp,new u);S.set(Error,new s(Error));S.set(EvalError,new s(EvalError));S.set(RangeError,new s(RangeError));S.set(ReferenceError,new s(ReferenceError));S.set(SyntaxError,new s(SyntaxError));S.set(TypeError,new s(TypeError));if(t.constructor!==Object){const e=t.constructor;const n=e.constructor;for(const[e,t]of Array.from(S)){if(e){const r=new n(`return ${e.name};`)();S.set(r,t)}}}{let e=1;for(const[t,n]of S){_.set(t,{request:"",name:e++,serializer:n})}}for(const{request:e,name:t,serializer:n}of _.values()){b.set(`${e}/${t}`,n)}const k=new Map;class ObjectMiddleware extends l{constructor(e){super();this.extendContext=e}static registerLoader(e,t){k.set(e,t)}static register(e,t,n,r){const i=t+"/"+n;if(_.has(e)){throw new Error(`ObjectMiddleware.register: serializer for ${e.name} is already registered`)}if(b.has(i)){throw new Error(`ObjectMiddleware.register: serializer for ${i} is already registered`)}_.set(e,{request:t,name:n,serializer:r});b.set(i,r)}static registerNotSerializable(e){if(_.has(e)){throw new Error(`ObjectMiddleware.registerNotSerializable: serializer for ${e.name} is already registered`)}_.set(e,w)}static getSerializerFor(e){let t=e.constructor;if(!t){if(Object.getPrototypeOf(e)===null){t=null}else{throw new Error("Serialization of objects with prototype without valid constructor property not possible")}}const n=_.get(t);if(!n)throw new Error(`No serializer registered for ${t.name}`);if(n===w)throw w;return n}static getDeserializerFor(e,t){const n=e+"/"+t;const r=b.get(n);if(r===undefined){throw new Error(`No deserializer registered for ${n}`)}return r}serialize(e,t){const n=[v];let r=0;const i=new Map;const s=e=>{i.set(e,r++)};let o=0;const a=new Map;const c=new Set;const u=e=>{const t=Array.from(c);t.push(e);return t.map(e=>{if(typeof e==="string"){if(e.length>100){return`String ${JSON.stringify(e.slice(0,100)).slice(0,-1)}..."`}return`String ${JSON.stringify(e)}`}try{const{request:t,name:n}=ObjectMiddleware.getSerializerFor(e);if(t){return`${t}${n?`.${n}`:""}`}}catch(e){}if(typeof e==="object"&&e!==null){if(e.constructor){if(e.constructor===Object)return`Object { ${Object.keys(e).join(", ")} }`;if(e.constructor===Map)return`Map { ${e.size} items }`;if(e.constructor===Array)return`Array { ${e.length} items }`;if(e.constructor===Set)return`Set { ${e.size} items }`;if(e.constructor===RegExp)return e.toString();return`${e.constructor.name}`}return`Object [null prototype] { ${Object.keys(e).join(", ")} }`}try{return`${e}`}catch(e){return`(${e.message})`}}).join(" -> ")};let f;const _={write(e,t){try{b(e)}catch(t){if(f===undefined)f=new WeakSet;if(!f.has(t)){t.message+=`\nwhile serializing ${u(e)}`;f.add(t)}throw t}},snapshot(){return{length:n.length,cycleStackSize:c.size,referenceableSize:i.size,currentPos:r,objectTypeLookupSize:a.size,currentPosTypeLookup:o}},rollback(e){n.length=e.length;p(c,e.cycleStackSize);d(i,e.referenceableSize);r=e.currentPos;d(a,e.objectTypeLookupSize);o=e.currentPosTypeLookup},...t};this.extendContext(_);const b=e=>{const u=i.get(e);if(u!==undefined){n.push(h,u-r);return}if(Buffer.isBuffer(e)){s(e);n.push(e)}else if(typeof e==="object"&&e!==null){if(c.has(e)){throw new Error(`Circular references can't be serialized`)}const{request:t,name:r,serializer:i}=ObjectMiddleware.getSerializerFor(e);const u=`${t}/${r}`;const l=a.get(u);if(l===undefined){a.set(u,o++);n.push(h,t,r)}else{n.push(h,o-l)}c.add(e);try{i.serialize(e,_)}finally{c.delete(e)}n.push(h,g);s(e)}else if(typeof e==="string"){if(e!==""){s(e)}if(e.length>102400&&t.logger){t.logger.warn(`Serializing big strings (${Math.round(e.length/1024)}kiB) impacts deserialization performance (consider using Buffer instead and decode when needed)`)}n.push(e)}else if(e===h){n.push(h,m)}else if(typeof e==="function"){if(!l.isLazy(e))throw new Error("Unexpected function "+e);const r=l.getLazySerializedValue(e);if(r!==undefined){if(typeof r==="function"){n.push(r)}else{throw new Error("Not implemented")}}else if(l.isLazy(e,this)){throw new Error("Not implemented")}else{n.push(l.serializeLazy(e,e=>this.serialize([e],t)))}}else if(e===undefined){n.push(h,y)}else{n.push(e)}};try{for(const t of e){b(t)}}catch(e){if(e===w)return null;throw e}return n}deserialize(e,t){let n=0;const r=()=>{if(n>=e.length)throw new Error("Unexpected end of stream");return e[n++]};if(r()!==v)throw new Error("Version mismatch, serializer changed");let i=0;const s=[];const o=e=>{s.push(e);i++};let a=0;const c=[];const u=[];const f={read(){return p()},...t};this.extendContext(f);const p=()=>{const e=r();if(e===h){const e=r();if(e===m){return h}else if(e===y){return undefined}else if(e===g){throw new Error(`Unexpected end of object at position ${n-1}`)}else if(typeof e==="number"&&e<0){return s[i+e]}else{const t=e;let i;if(typeof t==="number"){i=c[a-t]}else{if(typeof t!=="string"){throw new Error(`Unexpected type (${typeof t}) of request `+`at position ${n-1}`)}const e=r();if(t&&!E.has(t)){let e=false;for(const[n,r]of k){if(n.test(t)){if(r(t)){e=true;break}}}if(!e){require(t)}E.add(t)}i=ObjectMiddleware.getDeserializerFor(t,e);c.push(i);a++}try{const e=i.deserialize(f);const t=r();if(t!==h){throw new Error("Expected end of object")}const n=r();if(n!==g){throw new Error("Expected end of object")}o(e);return e}catch(e){let t;for(const e of _){if(e[1].serializer===i){t=e;break}}const n=!t?"unknown":!t[1].request?t[0].name:t[1].name?`${t[1].request} ${t[1].name}`:t[1].request;e.message+=`\n(during deserialization of ${n})`;throw e}}}else if(typeof e==="string"){if(e!==""){o(e)}return e}else if(Buffer.isBuffer(e)){o(e);return e}else if(typeof e==="function"){return l.deserializeLazy(e,e=>this.deserialize(e,t)[0])}else{return e}};while(n{"use strict";const t=new WeakMap;class ObjectStructure{constructor(e){this.keys=e;this.children=new Map}getKeys(){return this.keys}key(e){const t=this.children.get(e);if(t!==undefined)return t;const n=new ObjectStructure(this.keys.concat(e));this.children.set(e,n);return n}}const n=(e,n)=>{let r=t.get(n);if(r===undefined){r=new ObjectStructure([]);t.set(n,r)}let i=r;for(const t of e){i=i.key(t)}return i.getKeys()};class PlainObjectSerializer{serialize(e,{write:t}){const r=Object.keys(e);if(r.length>1){t(n(r,t));for(const n of r){t(e[n])}}else if(r.length===1){const n=r[0];t(n);t(e[n])}else{t(null)}}deserialize({read:e}){const t=e();const n={};if(Array.isArray(t)){for(const r of t){n[r]=e()}}else if(t!==null){n[t]=e()}return n}}e.exports=PlainObjectSerializer},46690:e=>{"use strict";class RegExpObjectSerializer{serialize(e,{write:t}){t(e.source);t(e.flags)}deserialize({read:e}){return new RegExp(e(),e())}}e.exports=RegExpObjectSerializer},15261:e=>{"use strict";class Serializer{constructor(e,t){this.serializeMiddlewares=e.slice();this.deserializeMiddlewares=e.slice().reverse();this.context=t}serialize(e,t){const n={...t,...this.context};let r=e;for(const e of this.serializeMiddlewares){if(r instanceof Promise){r=r.then(n=>n&&e.serialize(n,t))}else if(r){try{r=e.serialize(r,n)}catch(e){r=Promise.reject(e)}}else break}return r}deserialize(e,t){const n={...t,...this.context};let r=e;for(const e of this.deserializeMiddlewares){if(r instanceof Promise){r=r.then(n=>e.deserialize(n,t))}else{r=e.deserialize(r,n)}}return r}}e.exports=Serializer},43065:(e,t,n)=>{"use strict";const r=n(27503);const i=Symbol("lazy serialization target");const s=Symbol("lazy serialization data");class SerializerMiddleware{serialize(e,t){const r=n(75884);throw new r}deserialize(e,t){const r=n(75884);throw new r}static createLazy(e,t,n={},r){if(SerializerMiddleware.isLazy(e,t))return e;const o=typeof e==="function"?e:()=>e;o[i]=t;o.options=n;o[s]=r;return o}static isLazy(e,t){if(typeof e!=="function")return false;const n=e[i];return t?n===t:!!n}static getLazyOptions(e){if(typeof e!=="function")return undefined;return e.options}static getLazySerializedValue(e){if(typeof e!=="function")return undefined;return e[s]}static setLazySerializedValue(e,t){e[s]=t}static serializeLazy(e,t){const n=r(()=>{const n=e();if(n instanceof Promise)return n.then(e=>e&&t(e));if(n)return t(n);return null});n[i]=e[i];n.options=e.options;e[s]=n;return n}static deserializeLazy(e,t){const n=r(()=>{const n=e();if(n instanceof Promise)return n.then(e=>t(e));return t(n)});n[i]=e[i];n.options=e.options;n[s]=e;return n}}e.exports=SerializerMiddleware},25402:e=>{"use strict";class SetObjectSerializer{serialize(e,{write:t}){t(e.size);for(const n of e){t(n)}}deserialize({read:e}){let t=e();const n=new Set;for(let r=0;r{"use strict";const r=n(43065);class SingleItemMiddleware extends r{serialize(e,t){return[e]}deserialize(e,t){return e[0]}}e.exports=SingleItemMiddleware},86827:(e,t,n)=>{"use strict";const r=n(79983);const i=n(56202);class ConsumeSharedFallbackDependency extends r{constructor(e){super(e)}get type(){return"consume shared fallback"}get category(){return"esm"}}i(ConsumeSharedFallbackDependency,"webpack/lib/sharing/ConsumeSharedFallbackDependency");e.exports=ConsumeSharedFallbackDependency},21606:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(98221);const s=n(53453);const o=n(76150);const a=n(56202);const{rangeToString:c,stringifyHoley:u}=n(9293);const l=n(86827);const f=new Set(["consume-shared"]);class ConsumeSharedModule extends s{constructor(e,t){super("consume-shared-module",e);this.options=t}identifier(){const{shareKey:e,shareScope:t,importResolved:n,requiredVersion:r,strictVersion:i,singleton:s,eager:o}=this.options;return`consume-shared-module|${t}|${e}|${r&&c(r)}|${i}|${n}|${s}|${o}`}readableIdentifier(e){const{shareKey:t,shareScope:n,importResolved:r,requiredVersion:i,strictVersion:s,singleton:o,eager:a}=this.options;return`consume shared module (${n}) ${t}@${i?c(i):"*"}${s?" (strict)":""}${o?" (singleton)":""}${r?` (fallback: ${e.shorten(r)})`:""}${a?" (eager)":""}`}libIdent(e){const{shareKey:t,shareScope:n,import:r}=this.options;return`webpack/sharing/consume/${n}/${t}${r?`/${r}`:""}`}needBuild(e,t){t(null,!this.buildInfo)}build(e,t,n,r,s){this.buildMeta={};this.buildInfo={};if(this.options.import){const e=new l(this.options.import);if(this.options.eager){this.addDependency(e)}else{const t=new i({});t.addDependency(e);this.addBlock(t)}}s()}getSourceTypes(){return f}size(e){return 42}updateHash(e,t){e.update(JSON.stringify(this.options));super.updateHash(e,t)}codeGeneration({chunkGraph:e,moduleGraph:t,runtimeTemplate:n}){const i=new Set([o.shareScopeMap]);const{shareScope:s,shareKey:a,strictVersion:c,requiredVersion:l,import:f,singleton:p,eager:d}=this.options;let h;if(f){if(d){const t=this.dependencies[0];h=n.syncModuleFactory({dependency:t,chunkGraph:e,runtimeRequirements:i,request:this.options.import})}else{const t=this.blocks[0];h=n.asyncModuleFactory({block:t,chunkGraph:e,runtimeRequirements:i,request:this.options.import})}}let m="load";const g=[JSON.stringify(s),JSON.stringify(a)];if(l){if(c){m+="Strict"}if(p){m+="Singleton"}g.push(u(l));m+="VersionCheck"}if(h){m+="Fallback";g.push(h)}const y=n.returningFunction(`${m}(${g.join(", ")})`);const v=new Map;v.set("consume-shared",new r(y));return{runtimeRequirements:i,sources:v}}serialize(e){const{write:t}=e;t(this.options);super.serialize(e)}deserialize(e){const{read:t}=e;this.options=t();super.deserialize(e)}}a(ConsumeSharedModule,"webpack/lib/sharing/ConsumeSharedModule");e.exports=ConsumeSharedModule},71968:(e,t,n)=>{"use strict";const r=n(15235);const i=n(16308);const s=n(54032);const o=n(76150);const a=n(81627);const{parseOptions:c}=n(97264);const u=n(83379);const{parseRange:l}=n(9293);const f=n(86827);const p=n(21606);const d=n(20428);const h=n(31095);const{resolveMatchedConfigs:m}=n(57870);const{isRequiredVersion:g,getDescriptionFile:y,getRequiredVersionFromDescriptionFile:v}=n(37650);const _={dependencyType:"esm"};const b="ConsumeSharedPlugin";class ConsumeSharedPlugin{constructor(e){if(typeof e!=="string"){r(i,e,{name:"Consumes Shared Plugin"})}this._consumes=c(e.consumes,(t,n)=>{if(Array.isArray(t))throw new Error("Unexpected array in options");let r=t===n||!g(t)?{import:n,shareScope:e.shareScope||"default",shareKey:n,requiredVersion:undefined,packageName:undefined,strictVersion:false,singleton:false,eager:false}:{import:n,shareScope:e.shareScope||"default",shareKey:n,requiredVersion:l(t),strictVersion:true,packageName:undefined,singleton:false,eager:false};return r},(t,n)=>({import:t.import===false?undefined:t.import||n,shareScope:t.shareScope||e.shareScope||"default",shareKey:t.shareKey||n,requiredVersion:typeof t.requiredVersion==="string"?l(t.requiredVersion):t.requiredVersion,strictVersion:typeof t.strictVersion==="boolean"?t.strictVersion:t.import!==false&&!t.singleton,packageName:t.packageName,singleton:!!t.singleton,eager:!!t.eager}))}apply(e){e.hooks.thisCompilation.tap(b,(t,{normalModuleFactory:n})=>{t.dependencyFactories.set(f,n);let r,i,c;const g=m(t,this._consumes).then(({resolved:e,unresolved:t,prefixed:n})=>{i=e;r=t;c=n});const E=t.resolverFactory.get("normal",_);const w=(n,r,i)=>{const o=e=>{const n=new a(`No required version specified and unable to automatically determine one. ${e}`);n.file=`shared module ${r}`;t.warnings.push(n)};const c=i.import&&/^(\.\.?(\/|$)|\/|[A-Za-z]:|\\\\)/.test(i.import);return Promise.all([new Promise(o=>{if(!i.import)return o();const a={fileDependencies:new u,contextDependencies:new u,missingDependencies:new u};E.resolve({},c?e.context:n,i.import,a,(e,n)=>{t.contextDependencies.addAll(a.contextDependencies);t.fileDependencies.addAll(a.fileDependencies);t.missingDependencies.addAll(a.missingDependencies);if(e){t.errors.push(new s(null,e,{name:`resolving fallback for shared module ${r}`}));return o()}o(n)})}),new Promise(e=>{if(i.requiredVersion!==undefined)return e(i.requiredVersion);let s=i.packageName;if(s===undefined){if(/^(\/|[A-Za-z]:|\\\\)/.test(r)){return e()}const t=/^((?:@[^\\/]+[\\/])?[^\\/]+)/.exec(r);if(!t){o("Unable to extract the package name from request.");return e()}s=t[0]}y(t.inputFileSystem,n,["package.json"],(t,r)=>{if(t){o(`Unable to read description file: ${t}`);return e()}const{data:i,path:a}=r;if(!i){o(`Unable to find description file in ${n}.`);return e()}const c=v(i,s);if(typeof c!=="string"){o(`Unable to find required version for "${s}" in description file (${a}). It need to be in dependencies, devDependencies or peerDependencies.`);return e()}e(l(c))})})]).then(([t,r])=>{return new p(c?e.context:n,{...i,importResolved:t,import:t?i.import:undefined,requiredVersion:r})})};n.hooks.factorize.tapPromise(b,({context:e,request:t,dependencies:n})=>g.then(()=>{if(n[0]instanceof f||n[0]instanceof h){return}const i=r.get(t);if(i!==undefined){return w(e,t,i)}for(const[n,r]of c){if(t.startsWith(n)){const i=t.slice(n.length);return w(e,t,{...r,import:r.import?r.import+i:undefined,shareKey:r.shareKey+i})}}}));n.hooks.createModule.tapPromise(b,({resource:e},{context:t,dependencies:n})=>{if(n[0]instanceof f||n[0]instanceof h){return Promise.resolve()}const r=i.get(e);if(r!==undefined){return w(t,e,r)}return Promise.resolve()});t.hooks.additionalTreeRuntimeRequirements.tap(b,(e,n)=>{n.add(o.module);n.add(o.moduleFactoriesAddOnly);n.add(o.shareScopeMap);n.add(o.initializeSharing);n.add(o.hasOwnProperty);t.addRuntimeModule(e,new d(n))})})}}e.exports=ConsumeSharedPlugin},20428:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const{parseVersionRuntimeCode:o,versionLtRuntimeCode:a,rangeToStringRuntimeCode:c,satisfyRuntimeCode:u}=n(9293);class ConsumeSharedRuntimeModule extends i{constructor(e){super("consumes",10);this._runtimeRequirements=e}generate(){const{runtimeTemplate:e,chunkGraph:t,codeGenerationResults:n}=this.compilation;const i={};const l=new Map;const f=[];const p=(e,r,i)=>{for(const s of e){const e=s;const o=t.getModuleId(e);i.push(o);l.set(o,n.getSource(e,r.runtime,"consume-shared"))}};for(const e of this.chunk.getAllAsyncChunks()){const n=t.getChunkModulesIterableBySourceType(e,"consume-shared");if(!n)continue;p(n,e,i[e.id]=[])}for(const e of this.chunk.getAllInitialChunks()){const n=t.getChunkModulesIterableBySourceType(e,"consume-shared");if(!n)continue;p(n,e,f)}if(l.size===0)return null;return s.asString([o(e),a(e),c(e),u(e),`var ensureExistence = ${e.basicFunction("scopeName, key",[`var scope = ${r.shareScopeMap}[scopeName];`,`if(!scope || !${r.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,"return scope;"])};`,`var findVersion = ${e.basicFunction("scope, key",["var versions = scope[key];",`var key = Object.keys(versions).reduce(${e.basicFunction("a, b",["return !a || versionLt(a, b) ? b : a;"])}, 0);`,"return key && versions[key]"])};`,`var findSingletonVersionKey = ${e.basicFunction("scope, key",["var versions = scope[key];",`return Object.keys(versions).reduce(${e.basicFunction("a, b",["return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;"])}, 0);`])};`,`var getInvalidSingletonVersionMessage = ${e.basicFunction("key, version, requiredVersion",[`return "Unsatisfied version " + version + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`])};`,`var getSingletonVersion = ${e.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","if (!satisfy(requiredVersion, version)) "+'typeof console !== "undefined" && console.warn && console.warn(getInvalidSingletonVersionMessage(key, version, requiredVersion));',"return get(scope[key][version]);"])};`,`var getStrictSingletonVersion = ${e.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","if (!satisfy(requiredVersion, version)) "+"throw new Error(getInvalidSingletonVersionMessage(key, version, requiredVersion));","return get(scope[key][version]);"])};`,`var findValidVersion = ${e.basicFunction("scope, key, requiredVersion",["var versions = scope[key];",`var key = Object.keys(versions).reduce(${e.basicFunction("a, b",["if (!satisfy(requiredVersion, b)) return a;","return !a || versionLt(a, b) ? b : a;"])}, 0);`,"return key && versions[key]"])};`,`var getInvalidVersionMessage = ${e.basicFunction("scope, scopeName, key, requiredVersion",["var versions = scope[key];",'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',`\t"Available versions: " + Object.keys(versions).map(${e.basicFunction("key",['return key + " from " + versions[key].from;'])}).join(", ");`])};`,`var getValidVersion = ${e.basicFunction("scope, scopeName, key, requiredVersion",["var entry = findValidVersion(scope, key, requiredVersion);","if(entry) return get(entry);","throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));"])};`,`var warnInvalidVersion = ${e.basicFunction("scope, scopeName, key, requiredVersion",['typeof console !== "undefined" && console.warn && console.warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));'])};`,`var get = ${e.basicFunction("entry",["entry.loaded = 1;","return entry.get()"])};`,`var init = ${e.returningFunction(s.asString(["function(scopeName, a, b, c) {",s.indent([`var promise = ${r.initializeSharing}(scopeName);`,`if (promise.then) return promise.then(fn.bind(fn, scopeName, ${r.shareScopeMap}[scopeName], a, b, c));`,`return fn(scopeName, ${r.shareScopeMap}[scopeName], a, b, c);`]),"}"]),"fn")};`,"",`var load = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key",["ensureExistence(scopeName, key);","return get(findVersion(scope, key));"])});`,`var loadFallback = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, fallback",[`return scope && ${r.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`])});`,`var loadVersionCheck = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));"])});`,`var loadSingletonVersionCheck = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getSingletonVersion(scope, scopeName, key, version);"])});`,`var loadStrictVersionCheck = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getValidVersion(scope, scopeName, key, version);"])});`,`var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getStrictSingletonVersion(scope, scopeName, key, version);"])});`,`var loadVersionCheckFallback = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${r.hasOwnProperty}(scope, key)) return fallback();`,"return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));"])});`,`var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${r.hasOwnProperty}(scope, key)) return fallback();`,"return getSingletonVersion(scope, scopeName, key, version);"])});`,`var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version, fallback",[`var entry = scope && ${r.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,`return entry ? get(entry) : fallback();`])});`,`var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${e.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${r.hasOwnProperty}(scope, key)) return fallback();`,"return getStrictSingletonVersion(scope, scopeName, key, version);"])});`,"var installedModules = {};","var moduleToHandlerMapping = {",s.indent(Array.from(l,([e,t])=>`${JSON.stringify(e)}: ${t.source()}`).join(",\n")),"};",f.length>0?s.asString([`var initialConsumes = ${JSON.stringify(f)};`,`initialConsumes.forEach(${e.basicFunction("id",[`__webpack_modules__[id] = ${e.basicFunction("module",["// Handle case when module is used sync","installedModules[id] = 0;","delete __webpack_module_cache__[id];","var factory = moduleToHandlerMapping[id]();",'if(typeof factory !== "function") throw new Error("Shared module is not available for eager consumption: " + id);',`module.exports = factory();`])}`])});`]):"// no consumes in initial chunks",this._runtimeRequirements.has(r.ensureChunkHandlers)?s.asString([`var chunkMapping = ${JSON.stringify(i,null,"\t")};`,`${r.ensureChunkHandlers}.consumes = ${e.basicFunction("chunkId, promises",[`if(${r.hasOwnProperty}(chunkMapping, chunkId)) {`,s.indent([`chunkMapping[chunkId].forEach(${e.basicFunction("id",[`if(${r.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,`var onFactory = ${e.basicFunction("factory",["installedModules[id] = 0;",`__webpack_modules__[id] = ${e.basicFunction("module",["delete __webpack_module_cache__[id];","module.exports = factory();"])}`])};`,`var onError = ${e.basicFunction("error",["delete installedModules[id];",`__webpack_modules__[id] = ${e.basicFunction("module",["delete __webpack_module_cache__[id];","throw error;"])}`])};`,"try {",s.indent(["var promise = moduleToHandlerMapping[id]();","if(promise.then) {",s.indent(`promises.push(installedModules[id] = promise.then(onFactory).catch(onError));`),"} else onFactory(promise);"]),"} catch(e) { onError(e); }"])});`]),"}"])}`]):"// no chunk loading of consumes"])}}e.exports=ConsumeSharedRuntimeModule},31095:(e,t,n)=>{"use strict";const r=n(79983);const i=n(56202);class ProvideForSharedDependency extends r{constructor(e){super(e)}get type(){return"provide module for shared"}get category(){return"esm"}}i(ProvideForSharedDependency,"webpack/lib/sharing/ProvideForSharedDependency");e.exports=ProvideForSharedDependency},56049:(e,t,n)=>{"use strict";const r=n(28706);const i=n(56202);class ProvideSharedDependency extends r{constructor(e,t,n,r,i){super();this.shareScope=e;this.name=t;this.version=n;this.request=r;this.eager=i}get type(){return"provide shared module"}getResourceIdentifier(){return`provide module (${this.shareScope}) ${this.request} as ${this.name} @ ${this.version}${this.eager?" (eager)":""}`}serialize(e){e.write(this.shareScope);e.write(this.name);e.write(this.request);e.write(this.version);e.write(this.eager);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new ProvideSharedDependency(t(),t(),t(),t(),t());this.shareScope=e.read();n.deserialize(e);return n}}i(ProvideSharedDependency,"webpack/lib/sharing/ProvideSharedDependency");e.exports=ProvideSharedDependency},99114:(e,t,n)=>{"use strict";const r=n(98221);const i=n(53453);const s=n(76150);const o=n(56202);const a=n(31095);const c=new Set(["share-init"]);class ProvideSharedModule extends i{constructor(e,t,n,r,i){super("provide-module");this._shareScope=e;this._name=t;this._version=n;this._request=r;this._eager=i}identifier(){return`provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`}readableIdentifier(e){return`provide shared module (${this._shareScope}) ${this._name}@${this._version} = ${e.shorten(this._request)}`}libIdent(e){return`webpack/sharing/provide/${this._shareScope}/${this._name}`}needBuild(e,t){t(null,!this.buildInfo)}build(e,t,n,i,s){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();const o=new a(this._request);if(this._eager){this.addDependency(o)}else{const e=new r({});e.addDependency(o);this.addBlock(e)}s()}size(e){return 42}getSourceTypes(){return c}codeGeneration({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const r=new Set([s.initializeSharing]);const i=`register(${JSON.stringify(this._name)}, ${JSON.stringify(this._version||"0")}, ${this._eager?e.syncModuleFactory({dependency:this.dependencies[0],chunkGraph:n,request:this._request,runtimeRequirements:r}):e.asyncModuleFactory({block:this.blocks[0],chunkGraph:n,request:this._request,runtimeRequirements:r})});`;const o=new Map;const a=new Map;a.set("share-init",[{shareScope:this._shareScope,initStage:10,init:i}]);return{sources:o,data:a,runtimeRequirements:r}}serialize(e){const{write:t}=e;t(this._shareScope);t(this._name);t(this._version);t(this._request);t(this._eager);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new ProvideSharedModule(t(),t(),t(),t(),t());n.deserialize(e);return n}}o(ProvideSharedModule,"webpack/lib/sharing/ProvideSharedModule");e.exports=ProvideSharedModule},96295:(e,t,n)=>{"use strict";const r=n(40674);const i=n(99114);class ProvideSharedModuleFactory extends r{create(e,t){const n=e.dependencies[0];t(null,{module:new i(n.shareScope,n.name,n.version,n.request,n.eager)})}}e.exports=ProvideSharedModuleFactory},48151:(e,t,n)=>{"use strict";const r=n(15235);const i=n(23288);const s=n(81627);const{parseOptions:o}=n(97264);const a=n(31095);const c=n(56049);const u=n(96295);class ProvideSharedPlugin{constructor(e){r(i,e,{name:"Provide Shared Plugin"});this._provides=o(e.provides,t=>{if(Array.isArray(t))throw new Error("Unexpected array of provides");const n={shareKey:t,version:undefined,shareScope:e.shareScope||"default",eager:false};return n},t=>({shareKey:t.shareKey,version:t.version,shareScope:t.shareScope||e.shareScope||"default",eager:!!t.eager}));this._provides.sort(([e],[t])=>{if(e{const r=new Map;const i=new Map;const o=new Map;for(const[e,t]of this._provides){if(/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(e)){r.set(e,{config:t,version:t.version})}else if(/^(\/|[A-Za-z]:\\|\\\\)/.test(e)){r.set(e,{config:t,version:t.version})}else if(e.endsWith("/")){o.set(e,t)}else{i.set(e,t)}}t.set(e,r);const a=(t,n,i,o)=>{let a=n.version;if(a===undefined){let n="";if(!o){n=`No resolve data provided from resolver.`}else{const e=o.descriptionFileData;if(!e){n="No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config."}else if(!e.version){n="No version in description file (usually package.json). Add version to description file, or manually specify version in shared config."}else{a=e.version}}if(!a){const r=new s(`No version specified and unable to automatically determine one. ${n}`);r.file=`shared module ${t} -> ${i}`;e.warnings.push(r)}}r.set(i,{config:n,version:a})};n.hooks.module.tap("ProvideSharedPlugin",(e,{resource:t,resourceResolveData:n},s)=>{if(r.has(t)){return e}const{request:c}=s;{const e=i.get(c);if(e!==undefined){a(c,e,t,n);s.cacheable=false}}for(const[e,r]of o){if(c.startsWith(e)){const i=c.slice(e.length);a(t,{...r,shareKey:r.shareKey+i},t,n);s.cacheable=false}}return e})});e.hooks.finishMake.tapPromise("ProvideSharedPlugin",n=>{const r=t.get(n);if(!r)return Promise.resolve();return Promise.all(Array.from(r,([t,{config:r,version:i}])=>new Promise((s,o)=>{n.addInclude(e.context,new c(r.shareScope,r.shareKey,i||false,t,r.eager),{name:undefined},e=>{if(e)return o(e);s()})}))).then(()=>{})});e.hooks.compilation.tap("ProvideSharedPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(a,t);e.dependencyFactories.set(c,new u)})}}e.exports=ProvideSharedPlugin},16471:(e,t,n)=>{"use strict";const{parseOptions:r}=n(97264);const i=n(71968);const s=n(48151);const{isRequiredVersion:o}=n(37650);class SharePlugin{constructor(e){const t=r(e.shared,(e,t)=>{if(typeof e!=="string")throw new Error("Unexpected array in shared");const n=e===t||!o(e)?{import:e}:{import:t,requiredVersion:e};return n},e=>e);const n=t.map(([e,t])=>({[e]:{import:t.import,shareKey:t.shareKey||e,shareScope:t.shareScope,requiredVersion:t.requiredVersion,strictVersion:t.strictVersion,singleton:t.singleton,packageName:t.packageName,eager:t.eager}}));const i=t.filter(([,e])=>e.import!==false).map(([e,t])=>({[t.import||e]:{shareKey:t.shareKey||e,shareScope:t.shareScope,version:t.version,eager:t.eager}}));this._shareScope=e.shareScope;this._consumes=n;this._provides=i}apply(e){new i({shareScope:this._shareScope,consumes:this._consumes}).apply(e);new s({shareScope:this._shareScope,provides:this._provides}).apply(e)}}e.exports=SharePlugin},54825:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const{compareModulesByIdentifier:o,compareStrings:a}=n(68673);class ShareRuntimeModule extends i{constructor(){super("sharing")}generate(){const{runtimeTemplate:e,chunkGraph:t,codeGenerationResults:n,outputOptions:{uniqueName:i}}=this.compilation;const c=new Map;for(const e of this.chunk.getAllReferencedChunks()){const r=t.getOrderedChunkModulesIterableBySourceType(e,"share-init",o);if(!r)continue;for(const t of r){const r=n.getData(t,e.runtime,"share-init");if(!r)continue;for(const e of r){const{shareScope:t,initStage:n,init:r}=e;let i=c.get(t);if(i===undefined){c.set(t,i=new Map)}let s=i.get(n||0);if(s===undefined){i.set(n||0,s=new Set)}s.add(r)}}}return s.asString([`${r.shareScopeMap} = {};`,"var initPromises = {};",`${r.initializeSharing} = ${e.basicFunction("name",["// only runs once","if(initPromises[name]) return initPromises[name];","// handling circular init calls","initPromises[name] = 1;","// creates a new share scope if needed",`if(!${r.hasOwnProperty}(${r.shareScopeMap}, name)) ${r.shareScopeMap}[name] = {};`,"// runs all init snippets from all modules reachable",`var scope = ${r.shareScopeMap}[name];`,`var warn = ${e.returningFunction('typeof console !== "undefined" && console.warn && console.warn(msg);',"msg")};`,`var uniqueName = ${JSON.stringify(i||undefined)};`,`var register = ${e.basicFunction("name, version, factory",["var versions = scope[name] = scope[name] || {};","var activeVersion = versions[version];","if(!activeVersion || !activeVersion.loaded && uniqueName > activeVersion.from) versions[version] = { get: factory, from: uniqueName };"])};`,`var initExternal = ${e.basicFunction("id",[`var handleError = ${e.returningFunction('warn("Initialization of sharing external failed: " + err)',"err")};`,"try {",s.indent(["var module = __webpack_require__(id);","if(!module) return;",`var initFn = ${e.returningFunction(`module && module.init && module.init(${r.shareScopeMap}[name])`,"module")}`,"if(module.then) return promises.push(module.then(initFn, handleError));","var initResult = initFn(module);","if(initResult && initResult.then) return promises.push(initResult.catch(handleError));"]),"} catch(err) { handleError(err); }"])}`,"var promises = [];","switch(name) {",...Array.from(c).sort(([e],[t])=>a(e,t)).map(([e,t])=>s.indent([`case ${JSON.stringify(e)}: {`,s.indent(Array.from(t).sort(([e],[t])=>e-t).map(([,e])=>s.asString(Array.from(e)))),"}","break;"])),"}",`return promises.length && (initPromises[name] = Promise.all(promises).then(${e.returningFunction("initPromises[name] = 1")}));`])};`])}}e.exports=ShareRuntimeModule},57870:(e,t,n)=>{"use strict";const r=n(54032);const i=n(83379);const s={dependencyType:"esm"};t.resolveMatchedConfigs=((e,t)=>{const n=new Map;const o=new Map;const a=new Map;const c={fileDependencies:new i,contextDependencies:new i,missingDependencies:new i};const u=e.resolverFactory.get("normal",s);const l=e.compiler.context;return Promise.all(t.map(([t,i])=>{if(/^\.\.?(\/|$)/.test(t)){return new Promise(s=>{u.resolve({},l,t,c,(o,a)=>{if(o||a===false){o=o||new Error(`Can't resolve ${t}`);e.errors.push(new r(null,o,{name:`shared module ${t}`}));return s()}n.set(a,i);s()})})}else if(/^(\/|[A-Za-z]:\\|\\\\)/.test(t)){n.set(t,i)}else if(t.endsWith("/")){a.set(t,i)}else{o.set(t,i)}})).then(()=>{e.contextDependencies.addAll(c.contextDependencies);e.fileDependencies.addAll(c.fileDependencies);e.missingDependencies.addAll(c.missingDependencies);return{resolved:n,unresolved:o,prefixed:a}})})},37650:(e,t,n)=>{"use strict";const{join:r,dirname:i,readJson:s}=n(95396);t.isRequiredVersion=(e=>{return/^([\d^=v<>~]|[*xX]$)/.test(e)});const o=(e,t,n,a)=>{let c=0;const u=()=>{if(c>=n.length){const r=i(e,t);if(!r||r===t)return a();return o(e,r,n,a)}const l=r(e,t,n[c]);s(e,l,(e,t)=>{if(e){if("code"in e&&e.code==="ENOENT"){c++;return u()}return a(e)}if(!t||typeof t!=="object"||Array.isArray(t)){return a(new Error(`Description file ${l} is not an object`))}a(null,{data:t,path:l})})};u()};t.getDescriptionFile=o;t.getRequiredVersionFromDescriptionFile=((e,t)=>{if(e.optionalDependencies&&typeof e.optionalDependencies==="object"&&t in e.optionalDependencies){return e.optionalDependencies[t]}if(e.dependencies&&typeof e.dependencies==="object"&&t in e.dependencies){return e.dependencies[t]}if(e.peerDependencies&&typeof e.peerDependencies==="object"&&t in e.peerDependencies){return e.peerDependencies[t]}if(e.devDependencies&&typeof e.devDependencies==="object"&&t in e.devDependencies){return e.devDependencies[t]}})},9054:(e,t,n)=>{"use strict";const r=n(79983);const i=n(72380);const{LogType:s}=n(78539);const o=n(94827);const a=n(95734);const c=n(20625);const{compareLocations:u,compareChunksById:l,compareNumbers:f,compareIds:p,concatComparators:d,compareSelect:h,compareModulesByIdentifier:m}=n(68673);const g=n(49197);const y=(e,t)=>{const n=new Set;for(const r of e){for(const e of t(r)){n.add(e)}}return Array.from(n)};const v=(e,t,n)=>{return y(e,t).sort(n)};const _=(e,t)=>{const n=Object.create(null);for(const r of Object.keys(e)){n[r]=t(e[r],r)}return n};const b=e=>{let t=0;for(const n of e)t++;return t};const E={_:(e,t,n,{requestShortener:r})=>{if(typeof t==="string"){e.message=t}else{if(t.chunk){e.chunkName=t.chunk.name;e.chunkEntry=t.chunk.hasRuntime();e.chunkInitial=t.chunk.canBeInitial()}if(t.file){e.file=t.file}if(t.module){e.moduleIdentifier=t.module.identifier();e.moduleName=t.module.readableIdentifier(r)}if(t.loc){e.loc=i(t.loc)}e.message=t.message}},ids:(e,t,{compilation:{chunkGraph:n}})=>{if(typeof t!=="string"){if(t.chunk){e.chunkId=t.chunk.id}if(t.module){e.moduleId=n.getModuleId(t.module)}}},moduleTrace:(e,t,n,r,i)=>{if(typeof t!=="string"&&t.module){const{type:r,compilation:{moduleGraph:s}}=n;const o=new Set;const a=[];let c=t.module;while(c){if(o.has(c))break;o.add(c);const e=s.getIssuer(c);if(!e)break;a.push({origin:e,module:c});c=e}e.moduleTrace=i.create(`${r}.moduleTrace`,a,n)}},errorDetails:(e,t)=>{if(typeof t!=="string"){e.details=t.details}},errorStack:(e,t)=>{if(typeof t!=="string"){e.stack=t.stack}}};const w={compilation:{_:(e,t)=>{if(t.name){e.name=t.name}if(t.needAdditionalPass){e.needAdditionalPass=true}},hash:(e,t)=>{e.hash=t.hash},version:e=>{e.version=n(61733).i8},env:(e,t,n,{_env:r})=>{e.env=r},timings:(e,t,{startTime:n,endTime:r})=>{e.time=r-n},builtAt:(e,t,{endTime:n})=>{e.builtAt=n},publicPath:(e,t)=>{e.publicPath=t.getPath(t.outputOptions.publicPath)},outputPath:(e,t)=>{e.outputPath=t.outputOptions.path},assets:(e,t,n,r,i)=>{const{type:s}=n;const o=new Map;const a=new Map;for(const e of t.chunks){for(const t of e.files){let n=o.get(t);if(n===undefined){n=[];o.set(t,n)}n.push(e)}for(const t of e.auxiliaryFiles){let n=a.get(t);if(n===undefined){n=[];a.set(t,n)}n.push(e)}}const c=new Map;const u=new Set;for(const e of t.getAssets()){const t={...e,type:"asset",related:undefined};u.add(t);c.set(e.name,t)}for(const e of c.values()){const t=e.info.related;if(!t)continue;for(const n of Object.keys(t)){const r=t[n];const i=Array.isArray(r)?r:[r];for(const t of i){const r=c.get(t);if(!r)continue;u.delete(r);r.type=n;e.related=e.related||[];e.related.push(r)}}}e.assets=i.create(`${s}.assets`,Array.from(u),{...n,compilationFileToChunks:o,compilationAuxiliaryFileToChunks:a});e.filteredAssets=u.size-e.assets.length;e.assetsByChunkName={};for(const t of e.assets){for(const n of t.chunkNames){if(!Object.prototype.hasOwnProperty.call(e.assetsByChunkName,n)){e.assetsByChunkName[n]=[]}e.assetsByChunkName[n].push(t.name)}}},chunks:(e,t,n,r,i)=>{const{type:s}=n;e.chunks=i.create(`${s}.chunks`,Array.from(t.chunks),n)},modules:(e,t,n,r,i)=>{const{type:s}=n;const o=Array.from(t.modules);e.modules=i.create(`${s}.modules`,o,n);e.filteredModules=o.length-e.modules.length},entrypoints:(e,t,n,r,i)=>{const{type:s}=n;const o=Array.from(t.entrypoints,([e,t])=>({name:e,chunkGroup:t}));e.entrypoints=i.create(`${s}.entrypoints`,o,n)},chunkGroups:(e,t,n,r,i)=>{const{type:s}=n;const o=Array.from(t.namedChunkGroups,([e,t])=>({name:e,chunkGroup:t}));e.namedChunkGroups=i.create(`${s}.namedChunkGroups`,o,n)},errors:(e,t,n,r,i)=>{const{type:s}=n;e.errors=i.create(`${s}.errors`,t.errors,n)},warnings:(e,t,n,r,i)=>{const{type:s}=n;e.warnings=i.create(`${s}.warnings`,t.warnings,n)},logging:(e,t,r,i,o)=>{const a=n(31669);const{loggingDebug:c,loggingTrace:u,context:l}=i;e.logging={};let f;let p=false;switch(i.logging){case"none":f=new Set([]);break;case"error":f=new Set([s.error]);break;case"warn":f=new Set([s.error,s.warn]);break;case"info":f=new Set([s.error,s.warn,s.info]);break;case"log":f=new Set([s.error,s.warn,s.info,s.log,s.group,s.groupEnd,s.groupCollapsed,s.clear]);break;case"verbose":f=new Set([s.error,s.warn,s.info,s.log,s.group,s.groupEnd,s.groupCollapsed,s.profile,s.profileEnd,s.time,s.status,s.clear]);p=true;break}const d=g.makePathsRelative.bindContextCache(l,t.compiler.root);let h=0;for(const[n,r]of t.logging){const t=c.some(e=>e(n));const i=[];const o=[];let l=o;let m=0;for(const e of r){let n=e.type;if(!t&&!f.has(n))continue;if(n===s.groupCollapsed&&(t||p))n=s.group;if(h===0){m++}if(n===s.groupEnd){i.pop();if(i.length>0){l=i[i.length-1].children}else{l=o}if(h>0)h--;continue}let r=undefined;if(e.type===s.time){r=`${e.args[0]}: ${e.args[1]*1e3+e.args[2]/1e6} ms`}else if(e.args&&e.args.length>0){r=a.format(e.args[0],...e.args.slice(1))}const c={...e,type:n,message:r,trace:u?e.trace:undefined,children:n===s.group||n===s.groupCollapsed?[]:undefined};l.push(c);if(c.children){i.push(c);l=c.children;if(h>0){h++}else if(n===s.groupCollapsed){h=1}}}let g=d(n).replace(/\|/g," ");if(g in e.logging){let t=1;while(`${g}#${t}`in e.logging){t++}g=`${g}#${t}`}e.logging[g]={entries:o,filteredEntries:r.length-m,debug:t}}},children:(e,t,n,r,i)=>{const{type:s}=n;e.children=i.create(`${s}.children`,t.children,n)}},asset:{_:(e,t,{compilation:n,compilationFileToChunks:r,compilationAuxiliaryFileToChunks:i})=>{e.type=t.type;e.name=t.name;e.size=t.source.size();const s=r.get(t.name)||[];const o=i.get(t.name)||[];e.chunkNames=v(s,e=>e.name?[e.name]:[],p);e.chunkIdHints=v(s,e=>Array.from(e.idNameHints),p);e.auxiliaryChunkNames=v(o,e=>e.name?[e.name]:[],p);e.auxiliaryChunkIdHints=v(o,e=>Array.from(e.idNameHints),p);e.emitted=n.emittedAssets.has(t.name);e.comparedForEmit=n.comparedForEmitAssets.has(t.name);e.info=t.info;e.filteredRelated=t.related?t.related.length:undefined},relatedAssets:(e,t,n,r,i)=>{const{type:s}=n;e.related=i.create(`${s}.related`,t.related,n);e.filteredRelated=t.related?t.related.length-e.related.length:undefined},ids:(e,t,{compilationFileToChunks:n,compilationAuxiliaryFileToChunks:r})=>{const i=n.get(t.name)||[];const s=r.get(t.name)||[];e.chunks=v(i,e=>e.ids,p);e.auxiliaryChunks=v(s,e=>e.ids,p)},performance:(e,t)=>{e.isOverSizeLimit=c.isOverSizeLimit(t.source)}},chunkGroup:{_:(e,{name:t,chunkGroup:n},{compilation:{moduleGraph:r,chunkGraph:i}})=>{const s=n.getChildrenByOrders(r,i);Object.assign(e,{name:t,chunks:n.chunks.map(e=>e.id),assets:y(n.chunks,e=>e.files),auxiliaryAssets:v(n.chunks,e=>e.auxiliaryFiles,p),children:_(s,e=>e.map(e=>({name:e.name,chunks:e.chunks.map(e=>e.id),assets:y(e.chunks,e=>e.files),auxiliaryAssets:v(e.chunks,e=>e.auxiliaryFiles,p)}))),childAssets:_(s,e=>{const t=new Set;for(const n of e){for(const e of n.chunks){for(const n of e.files){t.add(n)}}}return Array.from(t)})})},performance:(e,{chunkGroup:t})=>{e.isOverSizeLimit=c.isOverSizeLimit(t)}},module:{_:(e,t,n,{requestShortener:r},i)=>{const{compilation:s,type:o}=n;const{moduleGraph:a}=s;const c=[];const u=a.getIssuer(t);let l=u;while(l){c.push(l);l=a.getIssuer(l)}c.reverse();const f=a.getProfile(t);const p=t.getErrors();const d=p!==undefined?b(p):0;const h=t.getWarnings();const m=h!==undefined?b(h):0;const g={};for(const e of t.getSourceTypes()){g[e]=t.size(e)}Object.assign(e,{identifier:t.identifier(),name:t.readableIdentifier(r),index:a.getPreOrderIndex(t),preOrderIndex:a.getPreOrderIndex(t),index2:a.getPostOrderIndex(t),postOrderIndex:a.getPostOrderIndex(t),size:t.size(),sizes:g,cacheable:t.buildInfo.cacheable,built:s.builtModules.has(t),optional:t.isOptional(a),runtime:t.type==="runtime",issuer:u&&u.identifier(),issuerName:u&&u.readableIdentifier(r),issuerPath:u&&i.create(`${o}.issuerPath`,c,n),failed:d>0,errors:d,warnings:m});if(f){e.profile=i.create(`${o}.profile`,f,n)}},ids:(e,t,{compilation:{chunkGraph:n,moduleGraph:r}})=>{e.id=n.getModuleId(t);const i=r.getIssuer(t);e.issuerId=i&&n.getModuleId(i);e.chunks=Array.from(n.getOrderedModuleChunksIterable(t,l),e=>e.id)},orphanModules:(e,t,{compilation:n,type:r})=>{if(!r.endsWith("module.modules[].module")){e.orphan=n.chunkGraph.getNumberOfModuleChunks(t)===0}},moduleAssets:(e,t)=>{e.assets=t.buildInfo.assets?Object.keys(t.buildInfo.assets):[]},reasons:(e,t,n,r,i)=>{const{type:s,compilation:{moduleGraph:o}}=n;e.reasons=i.create(`${s}.reasons`,Array.from(o.getIncomingConnections(t)),n)},usedExports:(e,t,{runtime:n,compilation:{moduleGraph:r}})=>{const i=r.getUsedExports(t,n);if(i===null){e.usedExports=null}else if(typeof i==="boolean"){e.usedExports=i}else{e.usedExports=Array.from(i)}},providedExports:(e,t,{compilation:{moduleGraph:n}})=>{const r=n.getProvidedExports(t);e.providedExports=Array.isArray(r)?r:null},optimizationBailout:(e,t,{compilation:{moduleGraph:n}},{requestShortener:r})=>{e.optimizationBailout=n.getOptimizationBailout(t).map(e=>{if(typeof e==="function")return e(r);return e})},depth:(e,t,{compilation:{moduleGraph:n}})=>{e.depth=n.getDepth(t)},nestedModules:(e,t,n,r,i)=>{const{type:s}=n;if(t instanceof a){const r=t.modules;e.modules=i.create(`${s}.modules`,r,n);e.filteredModules=r.length-e.modules.length}},source:(e,t)=>{const n=t.originalSource();if(n){e.source=n.source()}}},profile:{_:(e,t)=>{Object.assign(e,{total:t.factory+t.restoring+t.integration+t.building+t.storing,resolving:t.factory,restoring:t.restoring,building:t.building,integration:t.integration,storing:t.storing,additionalResolving:t.additionalFactories,additionalIntegration:t.additionalIntegration,factory:t.factory,dependencies:t.additionalFactories})}},moduleIssuer:{_:(e,t,n,{requestShortener:r},i)=>{const{compilation:s,type:o}=n;const{moduleGraph:a}=s;const c=a.getProfile(t);Object.assign(e,{identifier:t.identifier(),name:t.readableIdentifier(r)});if(c){e.profile=i.create(`${o}.profile`,c,n)}},ids:(e,t,{compilation:{chunkGraph:n}})=>{e.id=n.getModuleId(t)}},moduleReason:{_:(e,t,{runtime:n},{requestShortener:s})=>{const o=t.dependency;const a=o&&o instanceof r?o:undefined;Object.assign(e,{moduleIdentifier:t.originModule?t.originModule.identifier():null,module:t.originModule?t.originModule.readableIdentifier(s):null,moduleName:t.originModule?t.originModule.readableIdentifier(s):null,resolvedModuleIdentifier:t.resolvedOriginModule?t.resolvedOriginModule.identifier():null,resolvedModule:t.resolvedOriginModule?t.resolvedOriginModule.readableIdentifier(s):null,type:t.dependency?t.dependency.type:null,active:t.isActive(n),explanation:t.explanation,userRequest:a&&a.userRequest||null});if(t.dependency){const n=i(t.dependency.loc);if(n){e.loc=n}}},ids:(e,t,{compilation:{chunkGraph:n}})=>{e.moduleId=t.originModule?n.getModuleId(t.originModule):null;e.resolvedModuleId=t.resolvedOriginModule?n.getModuleId(t.resolvedOriginModule):null}},chunk:{_:(e,t,{compilation:{chunkGraph:n}})=>{const r=t.getChildIdsByOrders(n);Object.assign(e,{rendered:t.rendered,initial:t.canBeInitial(),entry:t.hasRuntime(),recorded:o.wasChunkRecorded(t),reason:t.chunkReason,size:n.getChunkModulesSize(t),sizes:n.getChunkModulesSizes(t),names:t.name?[t.name]:[],idHints:Array.from(t.idNameHints),runtime:t.runtime===undefined?undefined:typeof t.runtime==="string"?[t.runtime]:Array.from(t.runtime.sort()),files:Array.from(t.files),auxiliaryFiles:Array.from(t.auxiliaryFiles).sort(p),hash:t.renderedHash,childrenByOrder:r})},ids:(e,t)=>{e.id=t.id},chunkRelations:(e,t,{compilation:{chunkGraph:n}})=>{const r=new Set;const i=new Set;const s=new Set;for(const e of t.groupsIterable){for(const t of e.parentsIterable){for(const e of t.chunks){r.add(e.id)}}for(const t of e.childrenIterable){for(const e of t.chunks){i.add(e.id)}}for(const n of e.chunks){if(n!==t)s.add(n.id)}}e.siblings=Array.from(s).sort(p);e.parents=Array.from(r).sort(p);e.children=Array.from(i).sort(p)},chunkModules:(e,t,n,r,i)=>{const{type:s,compilation:{chunkGraph:o}}=n;const a=o.getChunkModules(t);e.modules=i.create(`${s}.modules`,a,{...n,runtime:t.runtime});e.filteredModules=a.length-e.modules.length},chunkRootModules:(e,t,n,r,i)=>{const{type:s,compilation:{chunkGraph:o}}=n;const a=o.getChunkRootModules(t);e.rootModules=i.create(`${s}.rootModules`,a,n);e.filteredRootModules=a.length-e.rootModules.length;e.nonRootModules=o.getNumberOfChunkModules(t)-a.length},chunkOrigins:(e,t,n,r,s)=>{const{type:o,compilation:{chunkGraph:a}}=n;const c=new Set;const u=[];for(const e of t.groupsIterable){u.push(...e.origins)}const l=u.filter(e=>{const t=[e.module?a.getModuleId(e.module):undefined,i(e.loc),e.request].join();if(c.has(t))return false;c.add(t);return true});e.origins=s.create(`${o}.origins`,l,n)}},chunkOrigin:{_:(e,t,n,{requestShortener:r})=>{Object.assign(e,{module:t.module?t.module.identifier():"",moduleIdentifier:t.module?t.module.identifier():"",moduleName:t.module?t.module.readableIdentifier(r):"",loc:i(t.loc),request:t.request})},ids:(e,t,{compilation:{chunkGraph:n}})=>{e.moduleId=t.module?n.getModuleId(t.module):undefined}},error:E,warning:E,moduleTraceItem:{_:(e,{origin:t,module:n},r,{requestShortener:i},s)=>{const{type:o,compilation:{moduleGraph:a}}=r;e.originIdentifier=t.identifier();e.originName=t.readableIdentifier(i);e.moduleIdentifier=n.identifier();e.moduleName=n.readableIdentifier(i);const c=Array.from(a.getIncomingConnections(n)).filter(e=>e.resolvedOriginModule===t&&e.dependency).map(e=>e.dependency);e.dependencies=s.create(`${o}.dependencies`,Array.from(new Set(c)),r)},ids:(e,{origin:t,module:n},{compilation:{chunkGraph:r}})=>{e.originId=r.getModuleId(t);e.moduleId=r.getModuleId(n)}},moduleTraceDependency:{_:(e,t)=>{e.loc=i(t.loc)}}};const S=e=>(t,n,{excludeModules:r,requestShortener:i})=>{const s=t.nameForCondition();if(!s)return;const o=i.shorten(s);const a=r.some(n=>n(o,t,e));if(a)return false};const k={"!cached":(e,{compilation:t})=>{if(!t.builtModules.has(e))return false},"!runtime":e=>{if(e.type==="runtime")return false}};const D={excludeAssets:(e,t,{excludeAssets:n})=>{const r=e.name;const i=n.some(t=>t(r,e));if(i)return false},"!cachedAssets":(e,{compilation:t})=>{if(!t.emittedAssets.has(e.name)&&!t.comparedForEmitAssets.has(e.name)){return false}}};const x={"compilation.assets":D,"asset.related":D,"compilation.modules":{excludeModules:S("module"),"!orphanModules":(e,{compilation:{chunkGraph:t}})=>{if(t.getNumberOfModuleChunks(e)===0)return false},...k},"module.modules":{excludeModules:S("nested"),...k},"chunk.modules":{excludeModules:S("chunk"),...k},"chunk.rootModules":{excludeModules:S("root-of-chunk"),...k},"module.reasons":{"!orphanModules":(e,{compilation:{chunkGraph:t}})=>{if(e.originModule&&t.getNumberOfModuleChunks(e.originModule)===0){return false}}}};const C={maxModules:(e,t,{maxModules:n},r,i)=>{if(i>=n)return false}};const A={"compilation.modules":C,"modules.modules":C,"chunk.modules":C,"chunk.rootModules":C};const T={"compilation.warnings":{warningsFilter:(e,t,{warningsFilter:n})=>{const r=Object.keys(e).map(t=>`${e[t]}`).join("\n");return!n.some(t=>t(e,r))}}};const M={_:(e,{compilation:{moduleGraph:t}})=>{e.push(h(e=>t.getDepth(e),f),h(e=>t.getPreOrderIndex(e),f),h(e=>e.identifier(),p))}};const O={"compilation.chunks":{_:e=>{e.push(h(e=>e.id,p))}},"compilation.modules":M,"chunk.rootModules":M,"chunk.modules":M,"module.modules":M,"module.reasons":{_:(e,{compilation:{chunkGraph:t}})=>{e.push(h(e=>e.originModule,m));e.push(h(e=>e.resolvedOriginModule,m));e.push(h(e=>e.dependency,d(h(e=>e.loc,u),h(e=>e.type,p))))}},"chunk.origins":{_:(e,{compilation:{chunkGraph:t}})=>{e.push(h(e=>e.module?t.getModuleId(e.module):undefined,p),h(e=>i(e.loc),p),h(e=>e.request,p))}}};const F=e=>{if(e[0]==="!"){return e.substr(1)}return e};const I=e=>{if(e[0]==="!"){return false}return true};const R=e=>{if(!e){const e=(e,t)=>0;return e}const t=F(e);let n=h(e=>e[t],p);const r=I(e);if(!r){const e=n;n=((t,n)=>e(n,t))}return n};const P={assetsSort:(e,t,{assetsSort:n})=>{e.push(R(n))},_:e=>{e.push(h(e=>e.name,p))}};const N={"compilation.chunks":{chunksSort:(e,t,{chunksSort:n})=>{e.push(R(n))}},"compilation.modules":{modulesSort:(e,t,{modulesSort:n})=>{e.push(R(n))}},"chunk.rootModules":{chunkRootModulesSort:(e,t,{chunkRootModulesSort:n})=>{e.push(R(n))}},"chunk.modules":{chunkModulesSort:(e,t,{chunkModulesSort:n})=>{e.push(R(n))}},"module.modules":{nestedModulesSort:(e,t,{nestedModulesSort:n})=>{e.push(R(n))}},"compilation.assets":P,"asset.related":P};const L=(e,t,n)=>{for(const r of Object.keys(e)){const i=e[r];for(const e of Object.keys(i)){if(e!=="_"){if(e.startsWith("!")){if(t[e.slice(1)])continue}else{const n=t[e];if(n===false||n===undefined||Array.isArray(n)&&n.length===0)continue}}n(r,i[e])}}};const B={"compilation.children[]":"compilation","compilation.modules[]":"module","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"warning","chunk.modules[]":"module","chunk.rootModules[]":"module","chunk.origins[]":"chunkOrigin","compilation.chunks[]":"chunk","compilation.assets[]":"asset","asset.related[]":"asset","module.issuerPath[]":"moduleIssuer","module.reasons[]":"moduleReason","module.modules[]":"module","moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const j=e=>{const t=Object.create(null);for(const n of e){t[n.name]=n}return t};const U={"compilation.entrypoints":j,"compilation.namedChunkGroups":j};class DefaultStatsFactoryPlugin{apply(e){e.hooks.compilation.tap("DefaultStatsFactoryPlugin",e=>{e.hooks.statsFactory.tap("DefaultStatsFactoryPlugin",(t,n,r)=>{L(w,n,(e,r)=>{t.hooks.extract.for(e).tap("DefaultStatsFactoryPlugin",(e,i,s)=>r(e,i,s,n,t))});L(x,n,(e,r)=>{t.hooks.filter.for(e).tap("DefaultStatsFactoryPlugin",(e,t,i,s)=>r(e,t,n,i,s))});L(A,n,(e,r)=>{t.hooks.filterSorted.for(e).tap("DefaultStatsFactoryPlugin",(e,t,i,s)=>r(e,t,n,i,s))});L(T,n,(e,r)=>{t.hooks.filterResults.for(e).tap("DefaultStatsFactoryPlugin",(e,t,i,s)=>r(e,t,n,i,s))});L(O,n,(e,r)=>{t.hooks.sort.for(e).tap("DefaultStatsFactoryPlugin",(e,t)=>r(e,t,n))});L(N,n,(e,r)=>{t.hooks.sortResults.for(e).tap("DefaultStatsFactoryPlugin",(e,t)=>r(e,t,n))});for(const e of Object.keys(B)){const n=B[e];t.hooks.getItemName.for(e).tap("DefaultStatsFactoryPlugin",()=>n)}for(const e of Object.keys(U)){const n=U[e];t.hooks.merge.for(e).tap("DefaultStatsFactoryPlugin",n)}if(n.children){if(Array.isArray(n.children)){t.hooks.getItemFactory.for("compilation.children[].compilation").tap("DefaultStatsFactoryPlugin",(t,{_index:i})=>{if(i{return i})}}})})}}e.exports=DefaultStatsFactoryPlugin},7391:(e,t,n)=>{"use strict";const r=n(80910);const i=(e,t)=>{for(const n of Object.keys(t)){if(typeof e[n]==="undefined"){e[n]=t[n]}}};const s={verbose:{relatedAssets:true,entrypoints:true,chunkGroups:true,ids:true,modules:false,chunks:true,chunkRelations:true,chunkModules:true,chunkRootModules:false,chunkOrigins:true,depth:true,env:true,reasons:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,errorStack:true,publicPath:true,logging:"verbose",orphanModules:true,runtime:true,exclude:false,maxModules:Infinity},detailed:{relatedAssets:true,entrypoints:true,chunkGroups:true,ids:true,chunks:true,chunkRelations:true,chunkModules:false,chunkRootModules:false,chunkOrigins:true,depth:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,publicPath:true,logging:true,runtimeModules:true,runtime:true,exclude:false,maxModules:Infinity},minimal:{all:false,modules:true,maxModules:0,errors:true,warnings:true,logging:"warn"},"errors-only":{all:false,errors:true,moduleTrace:true,logging:"error"},"errors-warnings":{all:false,errors:true,warnings:true,logging:"warn"},none:{all:false}};const o=({all:e})=>e!==false;const a=({all:e})=>e===true;const c=({all:e},{forToString:t})=>t?e===true:e!==false;const u={context:(e,t,n)=>n.compiler.context,requestShortener:(e,t,n)=>n.compiler.context===e.context?n.requestShortener:new r(e.context,n.compiler.root),performance:o,hash:o,env:a,version:o,timings:o,builtAt:o,assets:o,entrypoints:o,chunkGroups:c,chunks:c,chunkRelations:c,chunkModules:c,chunkRootModules:({all:e,chunkModules:t},{forToString:n})=>{if(e===false)return false;if(e===true)return true;if(n&&t)return false;return true},chunkOrigins:c,ids:c,modules:({all:e,chunks:t,chunkRootModules:n,chunkModules:r},{forToString:i})=>{if(e===false)return false;if(e===true)return true;if(i&&t&&(r||n))return false;return true},nestedModules:c,relatedAssets:c,orphanModules:a,moduleAssets:c,depth:c,cached:o,runtime:c,cachedAssets:c,reasons:c,usedExports:c,providedExports:c,optimizationBailout:c,children:c,source:a,moduleTrace:o,errors:o,errorDetails:c,errorStack:c,warnings:o,publicPath:c,logging:({all:e},{forToString:t})=>t&&e!==false?"info":false,loggingDebug:()=>[],loggingTrace:c,excludeModules:()=>[],excludeAssets:()=>[],maxModules:(e,{forToString:t})=>t?15:Infinity,modulesSort:()=>"depth",chunkModulesSort:()=>"name",chunkRootModulesSort:()=>"name",nestedModulesSort:()=>false,chunksSort:()=>false,assetsSort:()=>"name",outputPath:c,colors:()=>false};const l=e=>{if(typeof e==="string"){const t=new RegExp(`[\\\\/]${e.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return e=>t.test(e)}if(e&&typeof e==="object"&&typeof e.test==="function"){return t=>e.test(t)}if(typeof e==="function"){return e}if(typeof e==="boolean"){return()=>e}};const f={excludeModules:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(l)},excludeAssets:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(l)},warningsFilter:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(e=>{if(typeof e==="string"){return(t,n)=>n.includes(e)}if(e instanceof RegExp){return(t,n)=>e.test(n)}if(typeof e==="function"){return e}throw new Error(`Can only filter warnings with Strings or RegExps. (Given: ${e})`)})},logging:e=>{if(e===true)e="log";return e},loggingDebug:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(l)}};class DefaultStatsPresetPlugin{apply(e){e.hooks.compilation.tap("DefaultStatsPresetPlugin",e=>{for(const t of Object.keys(s)){const n=s[t];e.hooks.statsPreset.for(t).tap("DefaultStatsPresetPlugin",(e,t)=>{i(e,n)})}e.hooks.statsNormalize.tap("DefaultStatsPresetPlugin",(t,n)=>{for(const r of Object.keys(u)){if(t[r]===undefined)t[r]=u[r](t,n,e)}for(const e of Object.keys(f)){t[e]=f[e](t[e])}})})}}e.exports=DefaultStatsPresetPlugin},61762:(e,t,n)=>{"use strict";const r=(e,t,n)=>e===1?t:n;const i=(e,{formatSize:t})=>{const n=Object.keys(e);if(n.length>1){return n.map(n=>`${t(e[n])} (${n})`).join(" ")}else if(n.length===1){return t(e[n[0]])}};const s=(e,t)=>e.split("\n").map(t).join("\n");const o=e=>e>=10?`${e}`:`0${e}`;const a=e=>{return typeof e==="number"||e};const c={"compilation.hash":(e,{bold:t,type:n})=>n==="compilation.hash"?`Hash: ${t(e)}`:undefined,"compilation.version":(e,{bold:t,type:n})=>n==="compilation.version"?`Version: webpack ${t(e)}`:undefined,"compilation.time":(e,{formatTime:t})=>`Time: ${t(e,true)}`,"compilation.builtAt":(e,{bold:t})=>{const n=new Date(e);const r=o;const i=`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())}`;const s=`${r(n.getHours())}:${r(n.getMinutes())}:${r(n.getSeconds())}`;return`Built at: ${i} ${t(s)}`},"compilation.env":(e,{bold:t})=>e?`Environment (--env): ${t(JSON.stringify(e,null,2))}`:undefined,"compilation.publicPath":(e,{bold:t})=>`PublicPath: ${t(e||"(none)")}`,"compilation.entrypoints":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.values(e),{...t,chunkGroupKind:"Entrypoint"}),"compilation.namedChunkGroups":(e,t,n)=>{if(!Array.isArray(e)){const{compilation:{entrypoints:r}}=t;let i=Object.values(e);if(r){i=i.filter(e=>!Object.prototype.hasOwnProperty.call(r,e.name))}return n.print(t.type,i,{...t,chunkGroupKind:"Chunk Group"})}},"compilation.assetsByChunkName":()=>"","compilation.modules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} ${r(e,"module","modules")}`:undefined,"compilation.filteredAssets":(e,{compilation:{assets:t}})=>e>0?`${t&&t.length>0?` + ${e} hidden`:e} ${r(e,"asset","assets")}`:undefined,"compilation.logging":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.entries(e).map(([e,t])=>({...t,name:e})),t),"compilation.children[].compilation.name":e=>e?`Child ${e}:`:"Child","asset.type":e=>e,"asset.name":(e,{formatFilename:t,asset:{isOverSizeLimit:n}})=>t(e,n),"asset.size":(e,{asset:{isOverSizeLimit:t},yellow:n,green:r,formatSize:i})=>t?n(i(e)):i(e),"asset.emitted":(e,{green:t,formatFlag:n})=>e?t(n("emitted")):undefined,"asset.comparedForEmit":(e,{yellow:t,formatFlag:n})=>e?t(n("compared for emit")):undefined,"asset.isOverSizeLimit":(e,{yellow:t,formatFlag:n})=>e?t(n("big")):undefined,"asset.info.immutable":(e,{green:t,formatFlag:n})=>e?t(n("immutable")):undefined,"asset.info.development":(e,{green:t,formatFlag:n})=>e?t(n("dev")):undefined,"asset.info.hotModuleReplacement":(e,{green:t,formatFlag:n})=>e?t(n("hmr")):undefined,"asset.separator!":()=>"\n","asset.filteredRelated":(e,{asset:{related:t}})=>e>0?`${t&&t.length>0?` + ${e} hidden`:e} ${r(e,"related asset","related assets")}`:undefined,assetChunk:(e,{formatChunkId:t})=>t(e),assetChunkName:e=>e,assetChunkIdHint:e=>e,"module.id":(e,{formatModuleId:t})=>a(e)?t(e):undefined,"module.name":(e,{bold:t})=>t(e),"module.identifier":e=>e,"module.sizes":i,"module.chunks[]":(e,{formatChunkId:t})=>t(e),"module.depth":(e,{formatFlag:t})=>e!==null?t(`depth ${e}`):undefined,"module.cacheable":(e,{formatFlag:t,red:n})=>e===false?n(t("not cacheable")):undefined,"module.orphan":(e,{formatFlag:t,yellow:n})=>e?n(t("orphan")):undefined,"module.runtime":(e,{formatFlag:t,yellow:n})=>e?n(t("runtime")):undefined,"module.optional":(e,{formatFlag:t,yellow:n})=>e?n(t("optional")):undefined,"module.built":(e,{formatFlag:t,green:n})=>e?n(t("built")):undefined,"module.assets":(e,{formatFlag:t,magenta:n})=>e&&e.length?n(t(`${e.length} ${r(e.length,"asset","assets")}`)):undefined,"module.failed":(e,{formatFlag:t,red:n})=>e?n(t("failed")):undefined,"module.warnings":(e,{formatFlag:t,yellow:n})=>e?n(t(`${e} ${r(e,"warning","warnings")}`)):undefined,"module.errors":(e,{formatFlag:t,red:n})=>e?n(t(`${e} ${r(e,"error","errors")}`)):undefined,"module.providedExports":(e,{formatFlag:t,cyan:n})=>{if(Array.isArray(e)){if(e.length===0)return n(t("no exports"));return n(t(`exports: ${e.join(", ")}`))}},"module.usedExports":(e,{formatFlag:t,cyan:n,module:r})=>{if(e!==true){if(e===null)return n(t("used exports unknown"));if(e===false)return n(t("module unused"));if(Array.isArray(e)){if(e.length===0)return n(t("no exports used"));const i=Array.isArray(r.providedExports)?r.providedExports.length:null;if(i!==null&&i===r.usedExports.length){return n(t("all exports used"))}else{return n(t(`only some exports used: ${e.join(", ")}`))}}}},"module.optimizationBailout[]":(e,{yellow:t})=>t(e),"module.issuerPath":(e,{module:t})=>t.profile?undefined:"","module.profile":e=>undefined,"module.modules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} nested ${r(e,"module","modules")}`:undefined,"module.separator!":()=>"\n","moduleIssuer.id":(e,{formatModuleId:t})=>t(e),"moduleIssuer.profile.total":(e,{formatTime:t})=>t(e),"moduleReason.type":e=>e,"moduleReason.userRequest":(e,{cyan:t})=>t(e),"moduleReason.moduleId":(e,{formatModuleId:t})=>a(e)?t(e):undefined,"moduleReason.module":(e,{magenta:t})=>t(e),"moduleReason.loc":e=>e,"moduleReason.explanation":(e,{cyan:t})=>t(e),"moduleReason.active":(e,{formatFlag:t})=>e?undefined:t("inactive"),"moduleReason.resolvedModule":(e,{magenta:t})=>t(e),"module.profile.total":(e,{formatTime:t})=>t(e),"module.profile.resolving":(e,{formatTime:t})=>`resolving: ${t(e)}`,"module.profile.restoring":(e,{formatTime:t})=>`restoring: ${t(e)}`,"module.profile.integration":(e,{formatTime:t})=>`integration: ${t(e)}`,"module.profile.building":(e,{formatTime:t})=>`building: ${t(e)}`,"module.profile.storing":(e,{formatTime:t})=>`storing: ${t(e)}`,"module.profile.additionalResolving":(e,{formatTime:t})=>e?`additional resolving: ${t(e)}`:undefined,"module.profile.additionalIntegration":(e,{formatTime:t})=>e?`additional integration: ${t(e)}`:undefined,"chunkGroup.kind!":(e,{chunkGroupKind:t})=>t,"chunkGroup.name":(e,{bold:t})=>t(e),"chunkGroup.isOverSizeLimit":(e,{formatFlag:t,yellow:n})=>e?n(t("big")):undefined,"chunkGroup.separator!":()=>"=","chunkGroup.assets[]":(e,{green:t})=>t(e),"chunkGroup.auxiliaryAssets[]":(e,{green:t})=>t(e),"chunkGroup.childAssets":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.keys(e).map(t=>({type:t,children:e[t]})),t),"chunkGroup.childAssets[].type":e=>`${e}:`,"chunkGroup.childAssets[].children[]":(e,{formatFilename:t})=>t(e),"chunk.id":(e,{formatChunkId:t})=>t(e),"chunk.files[]":(e,{formatFilename:t})=>t(e),"chunk.names[]":e=>e,"chunk.idHints[]":e=>e,"chunk.runtime[]":e=>e,"chunk.sizes":(e,t)=>i(e,t),"chunk.parents[]":(e,t)=>t.formatChunkId(e,"parent"),"chunk.siblings[]":(e,t)=>t.formatChunkId(e,"sibling"),"chunk.children[]":(e,t)=>t.formatChunkId(e,"child"),"chunk.childrenByOrder":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.keys(e).map(t=>({type:t,children:e[t]})),t),"chunk.childrenByOrder[].type":e=>`${e}:`,"chunk.childrenByOrder[].children[]":(e,{formatChunkId:t})=>a(e)?t(e):undefined,"chunk.entry":(e,{formatFlag:t,yellow:n})=>e?n(t("entry")):undefined,"chunk.initial":(e,{formatFlag:t,yellow:n})=>e?n(t("initial")):undefined,"chunk.rendered":(e,{formatFlag:t,green:n})=>e?n(t("rendered")):undefined,"chunk.recorded":(e,{formatFlag:t,green:n})=>e?n(t("recorded")):undefined,"chunk.reason":(e,{yellow:t})=>e?t(e):undefined,"chunk.rootModules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} root ${r(e,"module","modules")}`:undefined,"chunk.nonRootModules":(e,{chunk:{filteredRootModules:t,rootModules:n}})=>e>0?` ${n&&n.length>0||t>0?` + ${e} hidden`:e} dependent ${r(e,"module","modules")}`:undefined,"chunk.modules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} chunk ${r(e,"module","modules")}`:undefined,"chunk.separator!":()=>"\n","chunkOrigin.request":e=>e,"chunkOrigin.moduleId":(e,{formatModuleId:t})=>a(e)?t(e):undefined,"chunkOrigin.moduleName":(e,{bold:t})=>t(e),"chunkOrigin.loc":e=>e,"error.compilerPath":(e,{bold:t})=>e?t(`(${e})`):undefined,"error.chunkId":(e,{formatChunkId:t})=>a(e)?t(e):undefined,"error.chunkEntry":(e,{formatFlag:t})=>e?t("entry"):undefined,"error.chunkInitial":(e,{formatFlag:t})=>e?t("initial"):undefined,"error.file":(e,{bold:t})=>t(e),"error.moduleName":(e,{bold:t})=>{return e.includes("!")?`${t(e.replace(/^(\s|\S)*!/,""))} (${e})`:`${t(e)}`},"error.loc":(e,{green:t})=>t(e),"error.message":(e,{bold:t})=>t(e),"error.details":e=>e,"error.stack":e=>e,"error.moduleTrace":e=>undefined,"error.separator!":()=>"\n","loggingEntry(error).loggingEntry.message":(e,{red:t})=>s(e,e=>` ${t(e)}`),"loggingEntry(warn).loggingEntry.message":(e,{yellow:t})=>s(e,e=>` ${t(e)}`),"loggingEntry(info).loggingEntry.message":(e,{green:t})=>s(e,e=>` ${t(e)}`),"loggingEntry(log).loggingEntry.message":(e,{bold:t})=>s(e,e=>` ${t(e)}`),"loggingEntry(debug).loggingEntry.message":e=>s(e,e=>` ${e}`),"loggingEntry(trace).loggingEntry.message":e=>s(e,e=>` ${e}`),"loggingEntry(status).loggingEntry.message":(e,{magenta:t})=>s(e,e=>` ${t(e)}`),"loggingEntry(profile).loggingEntry.message":(e,{magenta:t})=>s(e,e=>`

${t(e)}`),"loggingEntry(profileEnd).loggingEntry.message":(e,{magenta:t})=>s(e,e=>`

${t(e)}`),"loggingEntry(time).loggingEntry.message":(e,{magenta:t})=>s(e,e=>` ${t(e)}`),"loggingEntry(group).loggingEntry.message":(e,{cyan:t})=>s(e,e=>`<-> ${t(e)}`),"loggingEntry(groupCollapsed).loggingEntry.message":(e,{cyan:t})=>s(e,e=>`<+> ${t(e)}`),"loggingEntry(clear).loggingEntry":()=>" -------","loggingEntry(groupCollapsed).loggingEntry.children":()=>"","loggingEntry.trace[]":e=>e?s(e,e=>`| ${e}`):undefined,"moduleTraceItem.originName":e=>e,loggingGroup:e=>e.entries.length===0?"":undefined,"loggingGroup.debug":(e,{red:t})=>e?t("DEBUG"):undefined,"loggingGroup.name":(e,{bold:t})=>t(`LOG from ${e}`),"loggingGroup.separator!":()=>"\n","loggingGroup.filteredEntries":e=>e>0?`+ ${e} hidden lines`:undefined,"moduleTraceDependency.loc":e=>e};const u={"compilation.assets[]":"asset","compilation.modules[]":"module","compilation.chunks[]":"chunk","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"error","compilation.logging[]":"loggingGroup","compilation.children[]":"compilation","asset.related[]":"asset","asset.chunks[]":"assetChunk","asset.auxiliaryChunks[]":"assetChunk","asset.chunkNames[]":"assetChunkName","asset.chunkIdHints[]":"assetChunkIdHint","asset.auxiliaryChunkNames[]":"assetChunkName","asset.auxiliaryChunkIdHints[]":"assetChunkIdHint","module.modules[]":"module","module.reasons[]":"moduleReason","module.issuerPath[]":"moduleIssuer","chunk.origins[]":"chunkOrigin","chunk.rootModules[]":"module","chunk.modules[]":"module","loggingGroup.entries[]":e=>`loggingEntry(${e.type}).loggingEntry`,"loggingEntry.children[]":e=>`loggingEntry(${e.type}).loggingEntry`,"error.moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const l=["compilerPath","chunkId","chunkEntry","chunkInitial","file","separator!","moduleName","loc","separator!","message","separator!","details","separator!","stack","separator!","missing","separator!","moduleTrace"];const f={compilation:["name","hash","version","time","builtAt","env","publicPath","assets","filteredAssets","entrypoints","namedChunkGroups","chunks","modules","filteredModules","logging","warnings","errors","children","needAdditionalPass"],asset:["type","name","size","chunks","auxiliaryChunks","emitted","comparedForEmit","info","isOverSizeLimit","chunkNames","auxiliaryChunkNames","chunkIdHints","auxiliaryChunkIdHints","related","filteredChildren"],"asset.info":["immutable","development","hotModuleReplacement"],chunkGroup:["kind!","name","isOverSizeLimit","separator!","assets","auxiliaryAssets","childAssets"],module:["id","name","identifier","sizes","chunks","depth","cacheable","orphan","runtime","optional","built","assets","failed","warnings","errors","separator!","providedExports","separator!","usedExports","separator!","optimizationBailout","separator!","reasons","separator!","issuerPath","profile","separator!","modules"],moduleReason:["active","type","userRequest","moduleId","module","resolvedModule","loc","explanation"],"module.profile":["total","separator!","resolving","restoring","integration","building","storing","additionalResolving","additionalIntegration"],chunk:["id","runtime","files","names","idHints","sizes","parents","siblings","children","childrenByOrder","entry","initial","rendered","recorded","reason","separator!","origins","separator!","rootModules","separator!","filteredRootModules","separator!","nonRootModules","separator!","modules","separator!","filteredModules"],chunkOrigin:["request","moduleId","moduleName","loc"],error:l,warning:l,"chunk.childrenByOrder[]":["type","children"],loggingGroup:["debug","name","separator!","entries","separator!","filteredEntries"],loggingEntry:["message","trace","children"],"chunkGroup.childAssets[]":["type","children"]};const p=e=>e.filter(Boolean).join(" ");const d=e=>e.length>0?`(${e.filter(Boolean).join(" ")})`:undefined;const h=e=>e.filter(Boolean).join("\n\n");const m=e=>e.filter(Boolean).join(", ");const g=e=>e.length>0?`(${e.filter(Boolean).join(", ")})`:undefined;const y=e=>t=>t.length>0?`(${e}: ${t.filter(Boolean).join(", ")})`:undefined;const v={"chunk.parents":p,"chunk.siblings":p,"chunk.children":p,"chunk.names":g,"chunk.idHints":y("id hint"),"chunk.runtime":y("runtime"),"chunk.files":m,"chunk.childrenByOrder":p,"chunk.childrenByOrder[].children":p,"chunkGroup.assets":p,"chunkGroup.auxiliaryAssets":d,"chunkGroup.childAssets":p,"chunkGroup.childAssets[].children":p,"asset.chunks":m,"asset.auxiliaryChunks":g,"asset.chunkNames":y("name"),"asset.auxiliaryChunkNames":y("auxiliary name"),"asset.chunkIdHints":y("id hint"),"asset.auxiliaryChunkIdHints":y("auxiliary id hint"),"module.chunks":p,"module.issuerPath":e=>e.filter(Boolean).map(e=>`${e} ->`).join(" "),"compilation.errors":h,"compilation.warnings":h,"compilation.logging":h,"moduleTraceItem.dependencies":p,"loggingEntry.children":e=>E(e.filter(Boolean).join("\n")," ",false),"compilation.children":e=>e.map(e=>E(e," ",true)).join("\n")};const _=e=>e.map(e=>e.content).filter(Boolean).join(" ");const b=e=>{const t=[];let n=0;for(const r of e){if(r.element==="separator!"){switch(n){case 0:case 1:n+=2;break;case 4:t.push(")");n=3;break}}if(!r.content)continue;switch(n){case 0:n=1;break;case 1:t.push(" ");break;case 2:t.push("(");n=4;break;case 3:t.push(" (");n=4;break;case 4:t.push(", ");break}t.push(r.content)}if(n===4)t.push(")");return t.join("")};const E=(e,t,n)=>{const r=e.replace(/\n([^\n])/g,"\n"+t+"$1");if(n)return r;const i=e[0]==="\n"?"":t;return i+r};const w=(e,t)=>{let n=true;let r=true;return e.map(e=>{if(!e.content)return;let i=E(e.content,r?"":t,!n);if(n){i=i.replace(/^\n+/,"")}if(!i)return;r=false;const s=n||i.startsWith("\n");n=i.endsWith("\n");return s?i:" "+i}).filter(Boolean).join("").trim()};const S=e=>(t,{red:n,yellow:r})=>`${e?n("ERROR"):r("WARNING")} in ${w(t,"")}`;const k={compilation:e=>{const t=[];let n=false;for(const r of e){if(!r.content)continue;const e=r.element==="warnings"||r.element==="errors"||r.element==="logging";if(t.length!==0){t.push(e||n?"\n\n":"\n")}t.push(r.content);n=e}if(n)t.push("\n");return t.join("")},asset:e=>w(e.map(e=>{if(e.element==="related"&&e.content){return{content:`\n${e.content}\n`}}return e})," "),"asset.info":_,module:(e,{module:t,maxModuleId:n})=>{let r=false;let i=" ";if(n>=10)i+=" ";if(n>=100)i+=" ";if(n>=1e3)i+=" ";let s="";if(typeof t.id==="number"){if(t.id<1e3&&n>=1e3)s+=" ";if(t.id<100&&n>=100)s+=" ";if(t.id<10&&n>=10)s+=" "}else if(typeof t.id==="string"&&t.id!==""){if(n>=1e3)s+=" ";if(n>=100)s+=" ";if(n>=10)s+=" "}return s+w(e.filter(e=>{switch(e.element){case"id":if(t.id===t.name&&e.content)r=true;break;case"name":case"identifier":if(r)return false;if(e.content)r=true;break}return true}),i)},chunk:e=>{let t=false;return"chunk "+w(e.filter(e=>{switch(e.element){case"entry":if(e.content)t=true;break;case"initial":if(t)return false;break}return true})," ")},"chunk.childrenByOrder[]":e=>`(${_(e)})`,chunkGroup:_,"chunkGroup.childAssets[]":e=>`(${_(e)})`,moduleReason:(e,{moduleReason:t})=>{let n=false;return _(e.filter(e=>{switch(e.element){case"moduleId":if(t.moduleId===t.module&&e.content)n=true;break;case"module":if(n)return false;break;case"resolvedModule":return t.module!==t.resolvedModule&&e.content}return true}))},"module.profile":b,moduleIssuer:_,chunkOrigin:e=>" > "+_(e),"errors[].error":S(true),"warnings[].error":S(false),loggingGroup:e=>w(e,"").trimRight(),moduleTraceItem:e=>" @ "+_(e),moduleTraceDependency:_};const D={bold:"",yellow:"",red:"",green:"",cyan:"",magenta:""};const x={formatChunkId:(e,{yellow:t},n)=>{switch(n){case"parent":return`<{${t(e)}}>`;case"sibling":return`={${t(e)}}=`;case"child":return`>{${t(e)}}<`;default:return`{${t(e)}}`}},formatModuleId:e=>`[${e}]`,formatFilename:(e,{green:t,yellow:n},r)=>(r?n:t)(e),formatFlag:e=>`[${e}]`,formatSize:n(9192).formatSize,formatTime:(e,{timeReference:t,bold:n,green:r,yellow:i,red:s},o)=>{const a=" ms";if(t&&e!==t){const o=[t/2,t/4,t/8,t/16];if(e{return E(e,"| ")}};const A=(e,t)=>{const n=e.slice();const r=new Set(e);const i=new Set;e.length=0;for(const n of t){if(n.endsWith("!")||r.has(n)){e.push(n);i.add(n)}}for(const t of n){if(!i.has(t)){e.push(t)}}return e};class DefaultStatsPrinterPlugin{apply(e){e.hooks.compilation.tap("DefaultStatsPrinterPlugin",e=>{e.hooks.statsPrinter.tap("DefaultStatsPrinterPlugin",(e,t,n)=>{e.hooks.print.for("compilation").tap("DefaultStatsPrinterPlugin",(e,n)=>{for(const e of Object.keys(D)){let r;if(t.colors){if(typeof t.colors==="object"&&typeof t.colors[e]==="string"){r=t.colors[e]}else{r=D[e]}}if(r){n[e]=(e=>`${r}${e}`)}else{n[e]=(e=>e)}}for(const e of Object.keys(x)){n[e]=((t,...r)=>x[e](t,n,...r))}n.timeReference=e.time});for(const t of Object.keys(c)){e.hooks.print.for(t).tap("DefaultStatsPrinterPlugin",(n,r)=>c[t](n,r,e))}for(const t of Object.keys(f)){const n=f[t];e.hooks.sortElements.for(t).tap("DefaultStatsPrinterPlugin",(e,t)=>{A(e,n)})}for(const t of Object.keys(u)){const n=u[t];e.hooks.getItemName.for(t).tap("DefaultStatsPrinterPlugin",typeof n==="string"?()=>n:n)}for(const t of Object.keys(v)){const n=v[t];e.hooks.printItems.for(t).tap("DefaultStatsPrinterPlugin",n)}for(const t of Object.keys(k)){const n=k[t];e.hooks.printElements.for(t).tap("DefaultStatsPrinterPlugin",n)}for(const t of Object.keys(C)){const n=C[t];e.hooks.result.for(t).tap("DefaultStatsPrinterPlugin",n)}})})}}e.exports=DefaultStatsPrinterPlugin},87279:(e,t,n)=>{"use strict";const{HookMap:r,SyncBailHook:i,SyncWaterfallHook:s}=n(92960);const{concatComparators:o,keepOriginalOrder:a}=n(68673);class StatsFactory{constructor(){this.hooks=Object.freeze({extract:new r(()=>new i(["object","data","context"])),filter:new r(()=>new i(["item","context","index","unfilteredIndex"])),sort:new r(()=>new i(["comparators","context"])),filterSorted:new r(()=>new i(["item","context","index","unfilteredIndex"])),sortResults:new r(()=>new i(["comparators","context"])),filterResults:new r(()=>new i(["item","context","index","unfilteredIndex"])),merge:new r(()=>new i(["items","context"])),result:new r(()=>new s(["result","context"])),getItemName:new r(()=>new i(["item","context"])),getItemFactory:new r(()=>new i(["item","context"]))});this._levelHookCache=new Map;this._inCreate=false}_getAllLevelHooks(e,t){let n=this._levelHookCache.get(e);if(n===undefined){n=new Map;this._levelHookCache.set(e,n)}const r=n.get(t);if(r!==undefined){return r}const i=[];const s=t.split(".");for(let t=0;t{for(const n of s){const i=r(n,e,t,o);if(i!==undefined){if(i)o++;return i}}o++;return true})}create(e,t,n){if(this._inCreate){return this._create(e,t,n)}else{try{this._inCreate=true;return this._create(e,t,n)}finally{this._levelHookCache.clear();this._inCreate=false}}}_create(e,t,n){const r={...n,type:e,[e]:t};if(Array.isArray(t)){const n=this._forEachLevelFilter(this.hooks.filter,e,t,(e,t,n,i)=>e.call(t,r,n,i),true);const i=[];this._forEachLevel(this.hooks.sort,e,e=>e.call(i,r));if(i.length>0){n.sort(o(...i,a(n)))}const s=this._forEachLevelFilter(this.hooks.filterSorted,e,n,(e,t,n,i)=>e.call(t,r,n,i),false);const c=s.map((t,n)=>{const i={...r,_index:n};const s=this._forEachLevel(this.hooks.getItemName,`${e}[]`,e=>e.call(t,i));if(s)i[s]=t;const o=s?`${e}[].${s}`:`${e}[]`;const a=this._forEachLevel(this.hooks.getItemFactory,o,e=>e.call(t,i))||this;return a.create(o,t,i)});const u=[];this._forEachLevel(this.hooks.sortResults,e,e=>e.call(u,r));if(u.length>0){c.sort(o(...u,a(c)))}const l=this._forEachLevelFilter(this.hooks.filterResults,e,c,(e,t,n,i)=>e.call(t,r,n,i),false);let f=this._forEachLevel(this.hooks.merge,e,e=>e.call(l,r));if(f===undefined)f=l;return this._forEachLevelWaterfall(this.hooks.result,e,f,(e,t)=>e.call(t,r))}else{const n={};this._forEachLevel(this.hooks.extract,e,e=>e.call(n,t,r));return this._forEachLevelWaterfall(this.hooks.result,e,n,(e,t)=>e.call(t,r))}}}e.exports=StatsFactory},30533:(e,t,n)=>{"use strict";const{HookMap:r,SyncWaterfallHook:i,SyncBailHook:s}=n(92960);class StatsPrinter{constructor(){this.hooks=Object.freeze({sortElements:new r(()=>new s(["elements","context"])),printElements:new r(()=>new s(["printedElements","context"])),sortItems:new r(()=>new s(["items","context"])),getItemName:new r(()=>new s(["item","context"])),printItems:new r(()=>new s(["printedItems","context"])),print:new r(()=>new s(["object","context"])),result:new r(()=>new i(["result","context"]))});this._levelHookCache=new Map;this._inPrint=false}_getAllLevelHooks(e,t){let n=this._levelHookCache.get(e);if(n===undefined){n=new Map;this._levelHookCache.set(e,n)}const r=n.get(t);if(r!==undefined){return r}const i=[];const s=t.split(".");for(let t=0;te.call(t,r));if(i===undefined){if(Array.isArray(t)){const n=t.slice();this._forEachLevel(this.hooks.sortItems,e,e=>e.call(n,r));const s=n.map((t,n)=>{const i={...r,_index:n};const s=this._forEachLevel(this.hooks.getItemName,`${e}[]`,e=>e.call(t,i));if(s)i[s]=t;return this.print(s?`${e}[].${s}`:`${e}[]`,t,i)});i=this._forEachLevel(this.hooks.printItems,e,e=>e.call(s,r));if(i===undefined){const e=s.filter(Boolean);if(e.length>0)i=e.join("\n")}}else if(t!==null&&typeof t==="object"){const n=Object.keys(t);this._forEachLevel(this.hooks.sortElements,e,e=>e.call(n,r));const s=n.map(n=>{const i=this.print(`${e}.${n}`,t[n],{...r,_parent:t,_element:n,[n]:t[n]});return{element:n,content:i}});i=this._forEachLevel(this.hooks.printElements,e,e=>e.call(s,r));if(i===undefined){const e=s.map(e=>e.content).filter(Boolean);if(e.length>0)i=e.join("\n")}}}return this._forEachLevelWaterfall(this.hooks.result,e,i,(e,t)=>e.call(t,r))}}e.exports=StatsPrinter},73910:(e,t)=>{"use strict";t.equals=((e,t)=>{if(e.length!==t.length)return false;for(let n=0;n{"use strict";const{SyncHook:r,AsyncSeriesHook:i}=n(92960);const s=0;const o=1;const a=2;let c=0;class AsyncQueueEntry{constructor(e,t){this.item=e;this.state=s;this.callback=t;this.callbacks=undefined;this.result=undefined;this.error=undefined}}class AsyncQueue{constructor({name:e,parallelism:t,processor:n,getKey:s}){this._name=e;this._parallelism=t;this._processor=n;this._getKey=s||(e=>e);this._entries=new Map;this._queued=[];this._activeTasks=0;this._willEnsureProcessing=false;this._stopped=false;this.hooks={beforeAdd:new i(["item"]),added:new r(["item"]),beforeStart:new i(["item"]),started:new r(["item"]),result:new r(["item","error","result"])};this._ensureProcessing=this._ensureProcessing.bind(this)}add(e,t){if(this._stopped)return t(new Error("Queue was stopped"));this.hooks.beforeAdd.callAsync(e,n=>{if(n){t(n);return}const r=this._getKey(e);const i=this._entries.get(r);if(i!==undefined){if(i.state===a){process.nextTick(()=>t(i.error,i.result))}else if(i.callbacks===undefined){i.callbacks=[t]}else{i.callbacks.push(t)}return}const s=new AsyncQueueEntry(e,t);if(this._stopped){this.hooks.added.call(e);this._activeTasks++;process.nextTick(()=>this._handleResult(s,new Error("Queue was stopped")))}else{this._entries.set(r,s);this._queued.push(s);if(this._willEnsureProcessing===false){this._willEnsureProcessing=true;setImmediate(this._ensureProcessing)}this.hooks.added.call(e)}})}invalidate(e){const t=this._getKey(e);const n=this._entries.get(t);this._entries.delete(t);if(n.state===s){const e=this._queued.indexOf(n);if(e>=0){this._queued.splice(e,1)}}}stop(){this._stopped=true;const e=this._queued;this._queued=[];for(const t of e){this._entries.delete(this._getKey(t.item));this._activeTasks++;this._handleResult(t,new Error("Queue was stopped"))}}increaseParallelism(){this._parallelism++;if(this._willEnsureProcessing===false&&this._queued.length>0){this._willEnsureProcessing=true;setImmediate(this._ensureProcessing)}}decreaseParallelism(){this._parallelism--}isProcessing(e){const t=this._getKey(e);const n=this._entries.get(t);return n!==undefined&&n.state===o}isQueued(e){const t=this._getKey(e);const n=this._entries.get(t);return n!==undefined&&n.state===s}isDone(e){const t=this._getKey(e);const n=this._entries.get(t);return n!==undefined&&n.state===a}_ensureProcessing(){while(this._activeTasks0){const e=this._queued.pop();this._activeTasks++;e.state=o;this._startProcessing(e)}this._willEnsureProcessing=false}_startProcessing(e){this.hooks.beforeStart.callAsync(e.item,t=>{if(t){this._handleResult(e,t);return}let n=false;try{this._processor(e.item,(t,r)=>{n=true;this._handleResult(e,t,r)})}catch(t){if(n)throw t;this._handleResult(e,t,null)}this.hooks.started.call(e.item)})}_handleResult(e,t,n){this.hooks.result.callAsync(e.item,t,n,r=>{const i=r||t;const s=e.callback;const o=e.callbacks;e.state=a;e.callback=undefined;e.callbacks=undefined;e.result=n;e.error=i;this._activeTasks--;if(this._willEnsureProcessing===false&&this._queued.length>0){this._willEnsureProcessing=true;setImmediate(this._ensureProcessing)}if(c++>3){process.nextTick(()=>{s(i,n);if(o!==undefined){for(const e of o){e(i,n)}}})}else{s(i,n);if(o!==undefined){for(const e of o){e(i,n)}}}c--})}}e.exports=AsyncQueue},51145:e=>{"use strict";const t=/^data:([^;,]+)?((?:;(?:[^;,]+))*?)(;base64)?,(.*)$/i;const n=e=>{const n=t.exec(e);if(!n)return null;const r=n[3];const i=n[4];return r?Buffer.from(i,"base64"):Buffer.from(decodeURIComponent(i),"ascii")};const r=e=>{const n=t.exec(e);if(!n)return"";return n[1]||"text/plain"};e.exports={decodeDataURI:n,getMimetype:r}},75066:(e,t,n)=>{"use strict";class Hash{update(e,t){const r=n(75884);throw new r}digest(e){const t=n(75884);throw new t}}e.exports=Hash},37496:(e,t,n)=>{"use strict";const r=n(16102);class LazyBucketSortedSet{constructor(e,t,...n){this._getKey=e;this._innerArgs=n;this._leaf=n.length<=1;this._keys=new r(undefined,t);this._map=new Map;this._unsortedItems=new Set;this.size=0}add(e){this.size++;this._unsortedItems.add(e)}_addInternal(e,t){let n=this._map.get(e);if(n===undefined){n=this._leaf?new r(undefined,this._innerArgs[0]):new LazyBucketSortedSet(...this._innerArgs);this._keys.add(e);this._map.set(e,n)}n.add(t)}delete(e){this.size--;if(this._unsortedItems.has(e)){this._unsortedItems.delete(e);return}const t=this._getKey(e);const n=this._map.get(t);n.delete(e);if(n.size===0){this._deleteKey(t)}}_deleteKey(e){this._keys.delete(e);this._map.delete(e)}popFirst(){if(this.size===0)return undefined;this.size--;if(this._unsortedItems.size>0){for(const e of this._unsortedItems){const t=this._getKey(e);this._addInternal(t,e)}this._unsortedItems.clear()}this._keys.sort();const e=this._keys.values().next().value;const t=this._map.get(e);if(this._leaf){const n=t;n.sort();const r=n.values().next().value;n.delete(r);if(n.size===0){this._deleteKey(e)}return r}else{const n=t;const r=n.popFirst();if(n.size===0){this._deleteKey(e)}return r}}startUpdate(e){if(this._unsortedItems.has(e)){return t=>{if(t){this._unsortedItems.delete(e);this.size--;return}}}const t=this._getKey(e);if(this._leaf){const n=this._map.get(t);return r=>{if(r){this.size--;n.delete(e);if(n.size===0){this._deleteKey(t)}return}const i=this._getKey(e);if(t===i){n.add(e)}else{n.delete(e);if(n.size===0){this._deleteKey(t)}this._addInternal(i,e)}}}else{const n=this._map.get(t);const r=n.startUpdate(e);return i=>{if(i){this.size--;r(true);if(n.size===0){this._deleteKey(t)}return}const s=this._getKey(e);if(t===s){r()}else{r(true);if(n.size===0){this._deleteKey(t)}this._addInternal(s,e)}}}}_appendIterators(e){if(this._unsortedItems.size>0)e.push(this._unsortedItems[Symbol.iterator]());for(const t of this._keys){const n=this._map.get(t);if(this._leaf){const t=n;const r=t[Symbol.iterator]();e.push(r)}else{const t=n;t._appendIterators(e)}}}[Symbol.iterator](){const e=[];this._appendIterators(e);e.reverse();let t=e.pop();return{next:()=>{const n=t.next();if(n.done){if(e.length===0)return n;t=e.pop();return t.next()}return n}}}}e.exports=LazyBucketSortedSet},83379:(e,t,n)=>{"use strict";const r=n(56202);const i=(e,t)=>{for(const n of t){for(const t of n){e.add(t)}}};const s=(e,t)=>{for(const n of t){if(n instanceof LazySet){e.add(n._set);if(n._needMerge){for(const t of n._toMerge){e.add(t)}s(e,n._toDeepMerge)}}else{e.add(n)}}};class LazySet{constructor(e){this._set=new Set(e);this._toMerge=new Set;this._toDeepMerge=new Set;this._needMerge=false;this._deopt=false}_flatten(){s(this._toMerge,this._toDeepMerge);this._toDeepMerge.clear()}_merge(){this._flatten();i(this._set,this._toMerge);this._toMerge.clear();this._needMerge=false}get size(){if(this._needMerge)this._merge();return this._set.size}add(e){this._set.add(e);return this}addAll(e){if(this._deopt){const t=this._set;for(const n of e){t.add(n)}}else{this._toDeepMerge.add(e);this._needMerge=true;if(this._toDeepMerge.size>1e5){this._flatten();if(this._toMerge.size>1e5)this._merge()}}return this}clear(){this._set.clear();this._toMerge.clear();this._toDeepMerge.clear();this._needMerge=false;this._deopt=false}delete(e){if(this._needMerge)this._merge();return this._set.delete(e)}entries(){this._deopt=true;if(this._needMerge)this._merge();return this._set.entries()}forEach(e,t){this._deopt=true;if(this._needMerge)this._merge();this._set.forEach(e,t)}has(e){if(this._needMerge)this._merge();return this._set.has(e)}keys(){this._deopt=true;if(this._needMerge)this._merge();return this._set.keys()}values(){this._deopt=true;if(this._needMerge)this._merge();return this._set.values()}[Symbol.iterator](){this._deopt=true;if(this._needMerge)this._merge();return this._set[Symbol.iterator]()}get[Symbol.toStringTag](){return"LazySet"}serialize({write:e}){if(this._needMerge)this._merge();e(this._set.size);for(const t of this._set)e(t)}static deserialize({read:e}){const t=e();const n=[];for(let r=0;r{"use strict";class Queue{constructor(e){this._set=new Set(e);this._iterator=this._set[Symbol.iterator]()}get length(){return this._set.size}enqueue(e){this._set.add(e)}dequeue(){const e=this._iterator.next();if(e.done)return undefined;this._set.delete(e.value);return e.value}}e.exports=Queue},26221:(e,t)=>{"use strict";const n=e=>{if(e.length===0)return new Set;if(e.length===1)return new Set(e[0]);let t=Infinity;let n=-1;for(let r=0;r{if(e.size{for(const n of e){if(t(n))return n}};t.intersect=n;t.isSubset=r;t.find=i},16102:e=>{"use strict";const t=Symbol("not sorted");class SortableSet extends Set{constructor(e,n){super(e);this._sortFn=n;this._lastActiveSortFn=t;this._cache=undefined;this._cacheOrderIndependent=undefined}add(e){this._lastActiveSortFn=t;this._invalidateCache();this._invalidateOrderedCache();super.add(e);return this}delete(e){this._invalidateCache();this._invalidateOrderedCache();return super.delete(e)}clear(){this._invalidateCache();this._invalidateOrderedCache();return super.clear()}sortWith(e){if(this.size<=1||e===this._lastActiveSortFn){return}const t=Array.from(this).sort(e);super.clear();for(let e=0;e{"use strict";const t=Symbol("tombstone");const n=Symbol("undefined");const r=e=>{const r=e[0];const i=e[1];if(i===n||i===t){return[r,undefined]}else{return e}};class StackedMap{constructor(e){this.map=new Map;this.stack=e===undefined?[]:e.slice();this.stack.push(this.map)}set(e,t){this.map.set(e,t===undefined?n:t)}delete(e){if(this.stack.length>1){this.map.set(e,t)}else{this.map.delete(e)}}has(e){const n=this.map.get(e);if(n!==undefined){return n!==t}if(this.stack.length>1){for(let n=this.stack.length-2;n>=0;n--){const r=this.stack[n].get(e);if(r!==undefined){this.map.set(e,r);return r!==t}}this.map.set(e,t)}return false}get(e){const r=this.map.get(e);if(r!==undefined){return r===t||r===n?undefined:r}if(this.stack.length>1){for(let r=this.stack.length-2;r>=0;r--){const i=this.stack[r].get(e);if(i!==undefined){this.map.set(e,i);return i===t||i===n?undefined:i}}this.map.set(e,t)}return undefined}_compress(){if(this.stack.length===1)return;this.map=new Map;for(const e of this.stack){for(const n of e){if(n[1]===t){this.map.delete(n[0])}else{this.map.set(n[0],n[1])}}}this.stack=[this.map]}asArray(){this._compress();return Array.from(this.map.keys())}asSet(){this._compress();return new Set(this.map.keys())}asPairArray(){this._compress();return Array.from(this.map.entries(),r)}asMap(){return new Map(this.asPairArray())}get size(){this._compress();return this.map.size}createChild(){return new StackedMap(this.stack)}}e.exports=StackedMap},14146:e=>{"use strict";class StringXor{constructor(){this._value=undefined;this._buffer=undefined}add(e){let t=this._buffer;let n;if(t===undefined){t=this._buffer=Buffer.from(e,"latin1");this._value=Buffer.from(t);return}else if(t.length!==e.length){n=this._value;t=this._buffer=Buffer.from(e,"latin1");if(n.length{"use strict";const r=n(86949);class TupleQueue{constructor(e){this._set=new r(e);this._iterator=this._set[Symbol.iterator]()}get length(){return this._set.size}enqueue(...e){this._set.add(...e)}dequeue(){const e=this._iterator.next();if(e.done){if(this._set.size>0){this._iterator=this._set[Symbol.iterator]();const e=this._iterator.next().value;this._set.delete(...e);return e}return undefined}this._set.delete(...e.value);return e.value}}e.exports=TupleQueue},86949:e=>{"use strict";class TupleSet{constructor(e){this._map=new Map;this.size=0;if(e){for(const t of e){this.add(...t)}}}add(...e){let t=this._map;for(let n=0;n{const s=i.next();if(s.done){if(e.length===0)return false;t.pop();return r(e.pop())}const[o,a]=s.value;e.push(i);t.push(o);if(a instanceof Set){n=a[Symbol.iterator]();return true}else{return r(a[Symbol.iterator]())}};r(this._map[Symbol.iterator]());return{next(){while(n){const i=n.next();if(i.done){t.pop();if(!r(e.pop())){n=undefined}}else{return{done:false,value:t.concat(i.value)}}}return{done:true,value:undefined}}}}}e.exports=TupleSet},45754:(e,t)=>{"use strict";const n="\\".charCodeAt(0);const r="/".charCodeAt(0);const i="a".charCodeAt(0);const s="z".charCodeAt(0);const o="A".charCodeAt(0);const a="Z".charCodeAt(0);const c="0".charCodeAt(0);const u="9".charCodeAt(0);const l="+".charCodeAt(0);const f="-".charCodeAt(0);const p=":".charCodeAt(0);const d="#".charCodeAt(0);const h="?".charCodeAt(0);function getScheme(e){const t=e.charCodeAt(0);if((ts)&&(ta)){return undefined}let m=1;let g=e.charCodeAt(m);while(g>=i&&g<=s||g>=o&&g<=a||g>=c&&g<=u||g===l||g===f){if(++m===e.length)return undefined;g=e.charCodeAt(m)}if(g!==p)return undefined;if(m===1){const t=m+1{"use strict";const n=new WeakMap;const r=new WeakMap;const i=Symbol("DELETE");const s=(e,t)=>{let r=n.get(e);if(r===undefined){r=new WeakMap;n.set(e,r)}const i=r.get(t);if(i!==undefined)return i;const s=y(e,t,true);r.set(t,s);return s};const o=(e,t,n)=>{let i=r.get(e);if(i===undefined){i=new Map;r.set(e,i)}let s=i.get(t);if(s===undefined){s=new Map;i.set(t,s)}let o=s.get(n);if(o)return o;o={...e,[t]:n};s.set(n,o);return o};const a=new WeakMap;const c=e=>{const t=a.get(e);if(t!==undefined)return t;const n=u(e);a.set(e,n);return n};const u=e=>{const t=new Map;const n=e=>{const n=t.get(e);if(n!==undefined)return n;const r={base:undefined,byProperty:undefined,byValues:undefined};t.set(e,r);return r};for(const t of Object.keys(e)){if(t.startsWith("by")){const r=t;const i=e[r];for(const e of Object.keys(i)){const t=i[e];for(const s of Object.keys(t)){const o=n(s);if(o.byProperty===undefined){o.byProperty=r;o.byValues=new Map}else if(o.byProperty!==r){throw new Error(`${r} and ${o.byProperty} for a single property is not supported`)}o.byValues.set(e,t[s]);if(e==="default"){for(const e of Object.keys(i)){if(!o.byValues.has(e))o.byValues.set(e,undefined)}}}}}else{const r=n(t);r.base=e[t]}}return t};const l=e=>{const t={};for(const n of e.values()){if(n.byProperty!==undefined){const e=t[n.byProperty]=t[n.byProperty]||{};for(const t of n.byValues.keys()){e[t]=e[t]||{}}}}for(const[n,r]of e){if(r.base!==undefined){t[n]=r.base}if(r.byProperty!==undefined){const e=t[r.byProperty]=t[r.byProperty]||{};for(const t of Object.keys(e)){const i=_(r.byValues,t);if(i!==undefined)e[t][n]=i}}}return t};const f=0;const p=1;const d=2;const h=3;const m=4;const g=e=>{if(e===undefined){return f}else if(e===i){return m}else if(Array.isArray(e)){if(e.lastIndexOf("...")!==-1)return d;return p}else if(typeof e==="object"&&e!==null&&(!e.constructor||e.constructor===Object)){return h}return p};const y=(e,t,n=false)=>{if(t===undefined)return e;if(e===undefined)return t;const r=n?c(e):u(e);const i=n?c(t):u(t);const s=new Map;for(const[e,t]of r){const r=i.get(e);const o=r!==undefined?v(t,r,n):t;s.set(e,o)}for(const[e,t]of i){if(!r.has(e)){s.set(e,t)}}return l(s)};const v=(e,t,n)=>{switch(g(t.base)){case p:case m:return t;case f:if(!e.byProperty){return{base:e.base,byProperty:t.byProperty,byValues:t.byValues}}else if(e.byProperty!==t.byProperty){throw new Error(`${e.byProperty} and ${t.byProperty} for a single property is not supported`)}else{const r=new Map(e.byValues);for(const[i,s]of t.byValues){const t=_(e.byValues,i);r.set(i,b(t,s,n))}return{base:e.base,byProperty:e.byProperty,byValues:r}}default:{if(!e.byProperty){return{base:b(e.base,t.base,n),byProperty:t.byProperty,byValues:t.byValues}}let r;const i=new Map(e.byValues);for(const[e,r]of i){i.set(e,b(r,t.base,n))}if(Array.from(e.byValues.values()).every(e=>{const t=g(e);return t===p||t===m})){r=b(e.base,t.base,n)}else{r=e.base;if(!i.has("default"))i.set("default",t.base)}if(!t.byProperty){return{base:r,byProperty:e.byProperty,byValues:i}}else if(e.byProperty!==t.byProperty){throw new Error(`${e.byProperty} and ${t.byProperty} for a single property is not supported`)}const s=new Map(i);for(const[e,r]of t.byValues){const t=_(i,e);s.set(e,b(t,r,n))}return{base:r,byProperty:e.byProperty,byValues:s}}}};const _=(e,t)=>{if(t!=="default"&&e.has(t)){return e.get(t)}return e.get("default")};const b=(e,t,n)=>{const r=g(t);const i=g(e);switch(r){case m:case p:return t;case h:{return i!==h?t:n?s(e,t):y(e,t)}case f:return e;case d:switch(i!==p?i:Array.isArray(e)?d:h){case f:return t;case m:return t.filter(e=>e!=="...");case d:{const n=[];for(const r of t){if(r==="..."){for(const t of e){n.push(t)}}else{n.push(r)}}return n}case h:return t.map(t=>t==="..."?e:t);default:throw new Error("Not implemented")}default:throw new Error("Not implemented")}};const E=e=>{const t={};for(const n of Object.keys(e)){const r=e[n];const i=g(r);switch(i){case f:case m:break;case h:t[n]=E(r);break;case d:t[n]=r.filter(e=>e!=="...");break;default:t[n]=r;break}}return t};t.cachedSetProperty=o;t.cachedCleverMerge=s;t.cleverMerge=y;t.removeOperations=E;t.DELETE=i},68673:(e,t,n)=>{"use strict";const{compareRuntime:r}=n(37416);const i=e=>{const t=new WeakMap;return n=>{const r=t.get(n);if(r!==undefined)return r;const i=(t,r)=>{return e(n,t,r)};t.set(n,i);return i}};t.compareChunksById=((e,t)=>{return p(e.id,t.id)});t.compareModulesByIdentifier=((e,t)=>{return p(e.identifier(),t.identifier())});const s=(e,t,n)=>{return p(e.getModuleId(t),e.getModuleId(n))};t.compareModulesById=i(s);const o=(e,t)=>{if(typeof e!==typeof t){return typeof et)return 1;return 0};t.compareNumbers=o;const a=(e,t)=>{const n=e.split(/(\d+)/);const r=t.split(/(\d+)/);const i=Math.min(n.length,r.length);for(let e=0;ei.length){if(t.slice(0,i.length)>i)return 1;return-1}else if(i.length>t.length){if(i.slice(0,t.length)>t)return-1;return 1}else{if(ti)return 1}}else{const e=+t;const n=+i;if(en)return 1}}if(r.lengthn.length)return-1;return 0};t.compareStringsNumeric=a;const c=(e,t,n)=>{const r=o(e.getPostOrderIndex(t),e.getPostOrderIndex(n));if(r!==0)return r;return p(t.identifier(),n.identifier())};t.compareModulesByPostOrderIndexOrIdentifier=i(c);const u=(e,t,n)=>{const r=o(e.getPreOrderIndex(t),e.getPreOrderIndex(n));if(r!==0)return r;return p(t.identifier(),n.identifier())};t.compareModulesByPreOrderIndexOrIdentifier=i(u);const l=(e,t,n)=>{const r=p(e.getModuleId(t),e.getModuleId(n));if(r!==0)return r;return p(t.identifier(),n.identifier())};t.compareModulesByIdOrIdentifier=i(l);const f=(e,t,n)=>{return e.compareChunks(t,n)};t.compareChunks=i(f);const p=(e,t)=>{if(typeof e!==typeof t){return typeof et)return 1;return 0};t.compareIds=p;const d=(e,t)=>{if(et)return 1;return 0};t.compareStrings=d;const h=(e,t)=>{return e.index{if(n.length>0){const[r,...i]=n;return g(e,g(t,r,...i))}const r=m.get(e,t);if(r!==undefined)return r;const i=(n,r)=>{const i=e(n,r);if(i!==0)return i;return t(n,r)};m.set(e,t,i);return i};t.concatComparators=g;const y=new TwoKeyWeakMap;const v=(e,t)=>{const n=y.get(e,t);if(n!==undefined)return n;const r=(n,r)=>{const i=e(n);const s=e(r);if(i!==undefined&&i!==null){if(s!==undefined&&s!==null){return t(i,s)}return-1}else{if(s!==undefined&&s!==null){return 1}return 0}};y.set(e,t,r);return r};t.compareSelect=v;const _=new WeakMap;const b=e=>{const t=_.get(e);if(t!==undefined)return t;const n=(t,n)=>{const r=t[Symbol.iterator]();const i=n[Symbol.iterator]();while(true){const t=r.next();const n=i.next();if(t.done){return n.done?0:-1}else if(n.done){return 1}const s=e(t.value,n.value);if(s!==0)return s}};_.set(e,n);return n};t.compareIterables=b;t.keepOriginalOrder=(e=>{const t=new Map;let n=0;for(const r of e){t.set(r,n++)}return(e,n)=>o(t.get(e),t.get(n))});t.compareChunksNatural=(e=>{const n=t.compareModulesById(e);const i=b(n);return g(v(e=>e.name,p),v(e=>e.runtime,r),v(t=>e.getOrderedChunkModulesIterable(t,n),i))});t.compareLocations=((e,t)=>{let n=typeof e==="object"&&e!==null;let r=typeof t==="object"&&t!==null;if(!n||!r){if(n)return 1;if(r)return-1;return 0}if("start"in e&&"start"in t){const n=e.start;const r=t.start;if(n.liner.line)return 1;if(n.columnr.column)return 1}if("name"in e&&"name"in t){if(e.namet.name)return 1}if("index"in e&&"index"in t){if(e.indext.index)return 1}return 0})},87274:e=>{"use strict";const t=e=>{return e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&")};const n=e=>{if(`${+e}`===e){return e}return JSON.stringify(e)};const r=e=>{const t=Object.keys(e).filter(t=>e[t]);const r=Object.keys(e).filter(t=>!e[t]);if(t.length===0)return false;if(r.length===0)return true;if(t.length===1)return e=>`${n(t[0])} == ${e}`;if(r.length===1)return e=>`${n(r[0])} != ${e}`;const i=a(t);const s=a(r);if(i.length<=s.length){return e=>`/^${i}$/.test(${e})`}else{return e=>`!/^${s}$/.test(${e})`}};const i=(e,t,n)=>{const r=new Map;for(const n of e){const e=t(n);if(e){let t=r.get(e);if(t===undefined){t=[];r.set(e,t)}t.push(n)}}const i=[];for(const t of r.values()){if(n(t)){for(const n of t){e.delete(n)}i.push(t)}}return i};const s=e=>{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n=0;e--,n--){if(r[e]!==t[n]){t=t.slice(n+1);break}}}return t};const a=e=>{if(e.length===1){return t(e[0])}const n=[];let r=0;for(const t of e){if(t.length===1){r++}}if(r===e.length){return`[${t(e.sort().join(""))}]`}const c=new Set(e.sort());if(r>2){let e="";for(const t of c){if(t.length===1){e+=t;c.delete(t)}}n.push(`[${t(e)}]`)}if(n.length===0&&c.size===2){const n=s(e);const r=o(e);if(n.length>0||r.length>0){return`${t(n)}${a(e.map(e=>e.slice(n.length,-r.length||undefined)))}${t(r)}`}}if(n.length===0&&c.size===2){const e=c[Symbol.iterator]();const n=e.next().value;const r=e.next().value;if(n.length>0&&r.length>0&&n.slice(-1)===r.slice(-1)){return`${a([n.slice(0,-1),r.slice(0,-1)])}${t(n.slice(-1))}`}}const u=i(c,e=>e.length>=1?e[0]:false,e=>{if(e.length>=3)return true;if(e.length<=1)return false;return e[0][1]===e[1][1]});for(const e of u){const r=s(e);n.push(`${t(r)}${a(e.map(e=>e.slice(r.length)))}`)}const l=i(c,e=>e.length>=1?e.slice(-1):false,e=>{if(e.length>=3)return true;if(e.length<=1)return false;return e[0].slice(-2)===e[1].slice(-2)});for(const e of l){const r=o(e);n.push(`${a(e.map(e=>e.slice(0,-r.length)))}${t(r)}`)}const f=n.concat(Array.from(c,t));if(f.length===1)return f[0];return`(${f.join("|")})`};e.exports=r;e.exports.itemsToRegexp=a},35891:(e,t,n)=>{"use strict";const r=n(75066);const i=1e3;const s=new Map;class BulkUpdateDecorator extends r{constructor(e,t){super();this.hashKey=t;if(typeof e==="function"){this.hashFactory=e;this.hash=undefined}else{this.hashFactory=undefined;this.hash=e}this.buffer=""}update(e,t){if(t!==undefined||typeof e!=="string"||e.length>i){if(this.hash===undefined)this.hash=this.hashFactory();if(this.buffer.length>0){this.hash.update(this.buffer);this.buffer=""}this.hash.update(e,t)}else{this.buffer+=e;if(this.buffer.length>i){if(this.hash===undefined)this.hash=this.hashFactory();this.hash.update(this.buffer);this.buffer=""}}return this}digest(e){let t;if(this.hash===undefined){t=`${this.hashKey}-${e}-${this.buffer}`;const n=s.get(t);if(n!==undefined)return n;this.hash=this.hashFactory()}if(this.buffer.length>0){this.hash.update(this.buffer)}const n=this.hash.digest(e);const r=typeof n==="string"?n:n.toString();if(t!==undefined){s.set(t,r)}return r}}class DebugHash extends r{constructor(){super();this.string=""}update(e,t){if(typeof e!=="string")e=e.toString("utf-8");if(e.startsWith("debug-digest-")){e=Buffer.from(e.slice("debug-digest-".length),"hex").toString()}this.string+=`[${e}](${(new Error).stack.split("\n",3)[2]})\n`;return this}digest(e){return"debug-digest-"+Buffer.from(this.string).toString("hex")}}let o=undefined;e.exports=(e=>{if(typeof e==="function"){return new BulkUpdateDecorator(()=>new e)}switch(e){case"debug":return new DebugHash;default:if(o===undefined)o=n(76417);return new BulkUpdateDecorator(()=>o.createHash(e),e)}})},16595:(e,t,n)=>{"use strict";const r=n(31669);const i=new Map;const s=(e,t)=>{const n=i.get(e);if(n!==undefined)return n;const s=r.deprecate(()=>{},e,"DEP_WEBPACK_DEPRECATION_"+t);i.set(e,s);return s};const o=["concat","entry","filter","find","findIndex","includes","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"];const a=["copyWithin","entries","fill","keys","pop","reverse","shift","splice","sort","unshift"];t.arrayToSetDeprecation=((e,t)=>{for(const n of o){if(e[n])continue;const r=s(`${t} was changed from Array to Set (using Array method '${n}' is deprecated)`,"ARRAY_TO_SET");e[n]=function(){r();const e=Array.from(this);return Array.prototype[n].apply(e,arguments)}}const n=s(`${t} was changed from Array to Set (using Array method 'push' is deprecated)`,"ARRAY_TO_SET_PUSH");const r=s(`${t} was changed from Array to Set (using Array property 'length' is deprecated)`,"ARRAY_TO_SET_LENGTH");const i=s(`${t} was changed from Array to Set (indexing Array is deprecated)`,"ARRAY_TO_SET_INDEXER");e.push=function(){n();for(const e of Array.from(arguments)){this.add(e)}return this.size};for(const n of a){if(e[n])continue;e[n]=(()=>{throw new Error(`${t} was changed from Array to Set (using Array method '${n}' is not possible)`)})}const c=e=>{const t=function(){i();let t=0;for(const n of this){if(t++===e)return n}return undefined};return t};let u=0;Object.defineProperty(e,"length",{get(){r();const n=this.size;for(u;u{class SetDeprecatedArray extends Set{}t.arrayToSetDeprecation(SetDeprecatedArray.prototype,e);return SetDeprecatedArray});t.soonFrozenObjectDeprecation=((e,t,n,i="")=>{const s=`${t} will be frozen in future, all modifications are deprecated.${i&&`\n${i}`}`;return new Proxy(e,{set:r.deprecate((e,t,n,r)=>Reflect.set(e,t,n,r),s,n),defineProperty:r.deprecate((e,t,n)=>Reflect.defineProperty(e,t,n),s,n),deleteProperty:r.deprecate((e,t)=>Reflect.deleteProperty(e,t),s,n),setPrototypeOf:r.deprecate((e,t)=>Reflect.setPrototypeOf(e,t),s,n)})});const c=(e,t,n)=>{const i={};const s=Object.getOwnPropertyDescriptors(e);for(const e of Object.keys(s)){const o=s[e];if(typeof o.value==="function"){Object.defineProperty(i,e,{...o,value:r.deprecate(o.value,t,n)})}else if(o.get||o.set){Object.defineProperty(i,e,{...o,get:o.get&&r.deprecate(o.get,t,n),set:o.set&&r.deprecate(o.set,t,n)})}else{let s=o.value;Object.defineProperty(i,e,{configurable:o.configurable,enumerable:o.enumerable,get:r.deprecate(()=>s,t,n),set:o.writable?r.deprecate(e=>s=e,t,n):undefined})}}return i};t.deprecateAllProperties=c;t.createFakeHook=((e,t,n)=>{if(t&&n){e=c(e,t,n)}return Object.freeze(Object.assign(e,{_fakeHook:true}))})},44648:e=>{"use strict";const t=(e,t)=>{const n=Math.min(e.length,t.length);let r=0;for(let i=0;i{const r=Math.min(e.length,t.length);let i=0;while(i{for(const n of Object.keys(t)){e[n]=(e[n]||0)+t[n]}};const i=e=>{const t=Object.create(null);for(const n of e){r(t,n.size)}return t};const s=(e,t)=>{for(const n of Object.keys(e)){const r=t[n];if(typeof r==="number"){if(e[n]>r)return true}}return false};const o=(e,t)=>{for(const n of Object.keys(e)){const r=t[n];if(typeof r==="number"){if(e[n]{const n=new Set;for(const r of Object.keys(e)){const i=t[r];if(typeof i==="number"){if(e[r]{let n=0;for(const r of Object.keys(e)){if(t.has(r))n++}return n};const u=(e,t)=>{let n=0;for(const r of Object.keys(e)){if(t.has(r))n+=e[r]}return n};class Node{constructor(e,t,n){this.item=e;this.key=t;this.size=n}}class Group{constructor(e,t,n){this.nodes=e;this.similarities=t;this.size=n||i(e);this.key=undefined}popNodes(e){const n=[];const r=[];const s=[];let o;for(let i=0;i0){r.push(o===this.nodes[i-1]?this.similarities[i-1]:t(o.key,a.key))}n.push(a);o=a}}this.nodes=n;this.similarities=r;this.size=i(n);return s}}const l=e=>{const n=[];let r=undefined;for(const i of e){if(r!==undefined){n.push(t(r.key,i.key))}r=i}return n};e.exports=(({maxSize:e,minSize:t,items:i,getSize:f,getKey:p})=>{const d=[];const h=Array.from(i,e=>new Node(e,p(e),f(e)));const m=[];h.sort((e,t)=>{if(e.keyt.key)return 1;return 0});for(const n of h){if(s(n.size,e)&&!o(n.size,t)){d.push(new Group([n],[]))}else{m.push(n)}}if(m.length>0){const n=new Group(m,l(m));const i=a(n.size,t);if(i.size>0){const e=n.popNodes(e=>c(e.size,i)>0);const t=d.filter(e=>c(e.size,i)>0);if(t.length>0){const n=t.reduce((e,t)=>{const n=c(e);const r=c(t);if(n!==r)return nu(t.size,i))return t;return e});for(const t of e)n.nodes.push(t);n.nodes.sort((e,t)=>{if(e.keyt.key)return 1;return 0})}else{d.push(new Group(e,null))}}if(n.nodes.length>0){const i=[n];while(i.length){const n=i.pop();if(!s(n.size,e)){d.push(n);continue}let a=1;let c=Object.create(null);r(c,n.nodes[0].size);while(o(c,t)){r(c,n.nodes[a].size);a++}let u=n.nodes.length-2;let l=Object.create(null);r(l,n.nodes[n.nodes.length-1].size);while(o(l,t)){r(l,n.nodes[u].size);u--}if(a-1>u){d.push(n);continue}if(a<=u){let e=a-1;let t=n.similarities[e];for(let r=a;r<=u;r++){const i=n.similarities[r];if(i{if(e.nodes[0].keyt.nodes[0].key)return 1;return 0});const g=new Set;for(let e=0;e{return{key:e.key,items:e.nodes.map(e=>e.item),size:e.size}})})},10004:e=>{"use strict";e.exports=function extractUrlAndGlobal(e){const t=e.indexOf("@");return[e.substring(t+1),e.substring(0,t)]}},62598:e=>{"use strict";const t=0;const n=1;const r=2;const i=3;const s=4;class Node{constructor(e){this.item=e;this.dependencies=new Set;this.marker=t;this.cycle=undefined;this.incoming=0}}class Cycle{constructor(){this.nodes=new Set}}e.exports=((e,o)=>{const a=new Map;for(const t of e){const e=new Node(t);a.set(t,e)}if(a.size<=1)return e;for(const e of a.values()){for(const t of o(e.item)){const n=a.get(t);if(n!==undefined){e.dependencies.add(n)}}}const c=new Set;const u=new Set;for(const e of a.values()){if(e.marker===t){e.marker=n;const o=[{node:e,openEdges:Array.from(e.dependencies)}];while(o.length>0){const e=o[o.length-1];if(e.openEdges.length>0){const a=e.openEdges.pop();switch(a.marker){case t:o.push({node:a,openEdges:Array.from(a.dependencies)});a.marker=n;break;case n:{let e=a.cycle;if(!e){e=new Cycle;e.nodes.add(a);a.cycle=e}for(let t=o.length-1;o[t].node!==a;t--){const n=o[t].node;if(n.cycle){if(n.cycle!==e){for(const t of n.cycle.nodes){t.cycle=e;e.nodes.add(t)}}}else{n.cycle=e;e.nodes.add(n)}}break}case s:a.marker=r;c.delete(a);break;case i:u.delete(a.cycle);a.marker=r;break}}else{o.pop();e.node.marker=r}}const a=e.cycle;if(a){for(const e of a.nodes){e.marker=i}u.add(a)}else{e.marker=s;c.add(e)}}}for(const e of u){let t=0;const n=new Set;const r=e.nodes;for(const e of r){for(const i of e.dependencies){if(r.has(i)){i.incoming++;if(i.incomingt){n.clear();t=i.incoming}n.add(i)}}}for(const e of n){c.add(e)}}if(c.size>0){return Array.from(c,e=>e.item)}else{throw new Error("Implementation of findGraphRoots is broken")}})},95396:(e,t,n)=>{"use strict";const r=n(85622);const i=(e,t,n)=>{if(e&&e.relative){return e.relative(t,n)}else if(t.startsWith("/")){return r.posix.relative(t,n)}else if(t.length>1&&t[1]===":"){return r.win32.relative(t,n)}else{throw new Error(`${t} is neither a posix nor a windows path, and there is no 'relative' method defined in the file system`)}};t.relative=i;const s=(e,t,n)=>{if(e&&e.join){return e.join(t,n)}else if(t.startsWith("/")){return r.posix.join(t,n)}else if(t.length>1&&t[1]===":"){return r.win32.join(t,n)}else{throw new Error(`${t} is neither a posix nor a windows path, and there is no 'join' method defined in the file system`)}};t.join=s;const o=(e,t)=>{if(e&&e.dirname){return e.dirname(t)}else if(t.startsWith("/")){return r.posix.dirname(t)}else if(t.length>1&&t[1]===":"){return r.win32.dirname(t)}else{throw new Error(`${t} is neither a posix nor a windows path, and there is no 'dirname' method defined in the file system`)}};t.dirname=o;const a=(e,t,n)=>{e.mkdir(t,r=>{if(r){if(r.code==="ENOENT"){const i=o(e,t);if(i===t){n(r);return}a(e,i,r=>{if(r){n(r);return}e.mkdir(t,e=>{if(e){if(e.code==="EEXIST"){n();return}n(e);return}n()})});return}else if(r.code==="EEXIST"){n();return}n(r);return}n()})};t.mkdirp=a;const c=(e,t)=>{try{e.mkdirSync(t)}catch(n){if(n){if(n.code==="ENOENT"){const r=o(e,t);if(r===t){throw n}c(e,r);e.mkdirSync(t);return}else if(n.code==="EEXIST"){return}throw n}}};t.mkdirpSync=c;const u=(e,t,n)=>{if("readJson"in e)return e.readJson(t,n);e.readFile(t,(e,t)=>{if(e)return n(e);let r;try{r=JSON.parse(t.toString("utf-8"))}catch(e){return n(e)}return n(null,r)})};t.readJson=u},49197:(e,t,n)=>{"use strict";const r=n(85622);const i=/^[a-zA-Z]:[\\/]/;const s=/([|!])/;const o=/\\/g;const a=(e,t)=>{if(t[0]==="/"){if(t.length>1&&t[t.length-1]==="/"){return t}const n=t.indexOf("?");let i=n===-1?t:t.slice(0,n);i=r.posix.relative(e,i);if(!i.startsWith("../")){i="./"+i}return n===-1?i:i+t.slice(n)}if(i.test(t)){const n=t.indexOf("?");let s=n===-1?t:t.slice(0,n);s=r.win32.relative(e,s);if(!i.test(s)){s=s.replace(o,"/");if(!s.startsWith("../")){s="./"+s}}return n===-1?s:s+t.slice(n)}return t};const c=(e,t)=>{if(t.startsWith("./")||t.startsWith("../"))return r.join(e,t);return t};const u=e=>{const t=new WeakMap;const n=(n,r,i)=>{if(!i)return e(n,r);let s=t.get(i);if(s===undefined){s=new Map;t.set(i,s)}let o;let a=s.get(n);if(a===undefined){s.set(n,a=new Map)}else{o=a.get(r)}if(o!==undefined){return o}else{const t=e(n,r);a.set(r,t);return t}};n.bindCache=(n=>{let r;if(n){r=t.get(n);if(r===undefined){r=new Map;t.set(n,r)}}else{r=new Map}const i=(t,n)=>{let i;let s=r.get(t);if(s===undefined){r.set(t,s=new Map)}else{i=s.get(n)}if(i!==undefined){return i}else{const r=e(t,n);s.set(n,r);return r}};return i});n.bindContextCache=((n,r)=>{let i;if(r){let e=t.get(r);if(e===undefined){e=new Map;t.set(r,e)}i=e.get(n);if(i===undefined){e.set(n,i=new Map)}}else{i=new Map}const s=t=>{const r=i.get(t);if(r!==undefined){return r}else{const r=e(n,t);i.set(t,r);return r}};return s});return n};const l=(e,t)=>{return t.split(s).map(t=>a(e,t)).join("")};t.makePathsRelative=u(l);const f=(e,t)=>{return t.split("!").map(t=>a(e,t)).join("!")};const p=u(f);t.contextify=p;const d=(e,t)=>{return t.split("!").map(t=>c(e,t)).join("!")};const h=u(d);t.absolutify=h;const m=/^([^?#]*)(\?[^#]*)?(#.*)?$/;const g=e=>{const t=m.exec(e);return{resource:e,path:t[1],query:t[2]||"",fragment:t[3]||""}};t.parseResource=(e=>{const t=new WeakMap;const n=e=>{const n=t.get(e);if(n!==undefined)return n;const r=new Map;t.set(e,r);return r};const r=(t,r)=>{if(!r)return e(t);const i=n(r);const s=i.get(t);if(s!==undefined)return s;const o=e(t);i.set(t,o);return o};r.bindCache=(t=>{const r=n(t);return t=>{const n=r.get(t);if(n!==undefined)return n;const i=e(t);r.set(t,i);return i}});return r})(g);t.getUndoPath=((e,t)=>{let n=-1;for(const t of e.split(/[/\\]+/)){if(t!=="."){n+=t===".."?-1:1}}return n>0?"../".repeat(n):t?"./":""})},90331:(e,t,n)=>{"use strict";e.exports={AsyncDependenciesBlock:()=>n(98221),CommentCompilationWarning:()=>n(47207),ContextModule:()=>n(58126),"cache/PackFileCacheStrategy":()=>n(83793),"cache/ResolverCachePlugin":()=>n(13653),"container/ContainerEntryDependency":()=>n(76041),"container/ContainerEntryModule":()=>n(89591),"container/ContainerExposedDependency":()=>n(4523),"container/FallbackDependency":()=>n(50940),"container/FallbackItemDependency":()=>n(55525),"container/FallbackModule":()=>n(13386),"container/RemoteModule":()=>n(68679),"container/RemoteToExternalDependency":()=>n(44742),"dependencies/AMDDefineDependency":()=>n(46960),"dependencies/AMDRequireArrayDependency":()=>n(95715),"dependencies/AMDRequireContextDependency":()=>n(38145),"dependencies/AMDRequireDependenciesBlock":()=>n(83842),"dependencies/AMDRequireDependency":()=>n(45167),"dependencies/AMDRequireItemDependency":()=>n(29022),"dependencies/CachedConstDependency":()=>n(59455),"dependencies/CommonJsRequireContextDependency":()=>n(51454),"dependencies/CommonJsExportRequireDependency":()=>n(1248),"dependencies/CommonJsExportsDependency":()=>n(26702),"dependencies/CommonJsFullRequireDependency":()=>n(87519),"dependencies/CommonJsRequireDependency":()=>n(37313),"dependencies/CommonJsSelfReferenceDependency":()=>n(94147),"dependencies/ConstDependency":()=>n(66298),"dependencies/ContextDependency":()=>n(400),"dependencies/ContextElementDependency":()=>n(90872),"dependencies/CriticalDependencyWarning":()=>n(75314),"dependencies/DelegatedSourceDependency":()=>n(49422),"dependencies/DllEntryDependency":()=>n(95189),"dependencies/EntryDependency":()=>n(66583),"dependencies/ExportsInfoDependency":()=>n(51420),"dependencies/HarmonyAcceptDependency":()=>n(27790),"dependencies/HarmonyAcceptImportDependency":()=>n(80654),"dependencies/HarmonyCompatibilityDependency":()=>n(54290),"dependencies/HarmonyExportExpressionDependency":()=>n(55037),"dependencies/HarmonyExportHeaderDependency":()=>n(48752),"dependencies/HarmonyExportImportedSpecifierDependency":()=>n(44576),"dependencies/HarmonyExportSpecifierDependency":()=>n(14696),"dependencies/HarmonyImportSideEffectDependency":()=>n(69707),"dependencies/HarmonyImportSpecifierDependency":()=>n(2230),"dependencies/ImportContextDependency":()=>n(4828),"dependencies/ImportDependency":()=>n(20013),"dependencies/ImportEagerDependency":()=>n(75708),"dependencies/ImportWeakDependency":()=>n(12849),"dependencies/JsonExportsDependency":()=>n(38895),"dependencies/LocalModule":()=>n(77230),"dependencies/LocalModuleDependency":()=>n(14229),"dependencies/ModuleDecoratorDependency":()=>n(2706),"dependencies/ModuleHotAcceptDependency":()=>n(21809),"dependencies/ModuleHotDeclineDependency":()=>n(73158),"dependencies/ImportMetaHotAcceptDependency":()=>n(76302),"dependencies/ImportMetaHotDeclineDependency":()=>n(5389),"dependencies/ProvidedDependency":()=>n(1335),"dependencies/PureExpressionDependency":()=>n(53567),"dependencies/RequireContextDependency":()=>n(19204),"dependencies/RequireEnsureDependenciesBlock":()=>n(15196),"dependencies/RequireEnsureDependency":()=>n(15427),"dependencies/RequireEnsureItemDependency":()=>n(81058),"dependencies/RequireHeaderDependency":()=>n(70340),"dependencies/RequireIncludeDependency":()=>n(63556),"dependencies/RequireIncludeDependencyParserPlugin":()=>n(1913),"dependencies/RequireResolveContextDependency":()=>n(84817),"dependencies/RequireResolveDependency":()=>n(76913),"dependencies/RequireResolveHeaderDependency":()=>n(23380),"dependencies/RuntimeRequirementsDependency":()=>n(35424),"dependencies/StaticExportsDependency":()=>n(96076),"dependencies/SystemPlugin":()=>n(62630),"dependencies/UnsupportedDependency":()=>n(12584),"dependencies/WebAssemblyExportImportedDependency":()=>n(30697),"dependencies/WebAssemblyImportDependency":()=>n(33081),"optimize/ConcatenatedModule":()=>n(95734),DelegatedModule:()=>n(3955),DependenciesBlock:()=>n(32448),DllModule:()=>n(44593),ExternalModule:()=>n(16734),Module:()=>n(53453),ModuleBuildError:()=>n(26509),ModuleError:()=>n(91613),ModuleGraph:()=>n(75412),ModuleParseError:()=>n(14489),ModuleWarning:()=>n(8893),NormalModule:()=>n(53520),RawModule:()=>n(22804),"sharing/ConsumeSharedModule":()=>n(21606),"sharing/ConsumeSharedFallbackDependency":()=>n(86827),"sharing/ProvideSharedModule":()=>n(99114),"sharing/ProvideSharedDependency":()=>n(56049),"sharing/ProvideForSharedDependency":()=>n(31095),UnsupportedFeatureWarning:()=>n(53558),"util/LazySet":()=>n(83379),UnhandledSchemeError:()=>n(77090),WebpackError:()=>n(81627),"util/registerExternalSerializer":()=>{}}},56202:(e,t,n)=>{"use strict";const{register:r}=n(24568);class ClassSerializer{constructor(e){this.Constructor=e;this.hash=null}serialize(e,t){e.serialize(t)}deserialize(e){if(typeof this.Constructor.deserialize==="function"){return this.Constructor.deserialize(e)}const t=new this.Constructor;t.deserialize(e);return t}}e.exports=((e,t,n=null)=>{r(e,t,n,new ClassSerializer(e))})},27503:e=>{"use strict";const t=e=>{let t=false;let n=undefined;return()=>{if(t){return n}else{n=e();t=true;e=undefined;return n}}};e.exports=t},76174:e=>{"use strict";e.exports=(e=>{let t=e;if(t===2009){return 5}if(t>=2015){t-=2009}return t})},12631:e=>{"use strict";const t=2147483648;const n=t-1;const r=4;const i=[0,0,0,0,0];const s=[3,7,17,19];e.exports=((e,o)=>{i.fill(0);for(let t=0;t>1}}if(o<=n){let e=0;for(let t=0;t{"use strict";const t=/^[_a-zA-Z$][_a-zA-z$0-9]*$/;const n=(e,n=0)=>{let r="";for(let i=n;i{"use strict";const{register:r}=n(24568);const i=n(20976).Position;const s=n(20976).SourceLocation;const{ValidationError:o}=n(15235);const{CachedSource:a,ConcatSource:c,OriginalSource:u,PrefixSource:l,RawSource:f,ReplaceSource:p,SourceMapSource:d}=n(48135);const h="webpack/lib/util/registerExternalSerializer";r(a,h,"webpack-sources/CachedSource",new class CachedSourceSerializer{serialize(e,{write:t}){t(e.original());t(e.getCachedData())}deserialize({read:e}){const t=e();const n=e();return new a(t,n)}});r(f,h,"webpack-sources/RawSource",new class RawSourceSerializer{serialize(e,{write:t}){t(e.buffer());t(!e.isBuffer())}deserialize({read:e}){const t=e();const n=e();return new f(t,n)}});r(c,h,"webpack-sources/ConcatSource",new class ConcatSourceSerializer{serialize(e,{write:t}){t(e.getChildren())}deserialize({read:e}){const t=new c;t.addAllSkipOptimizing(e());return t}});r(l,h,"webpack-sources/PrefixSource",new class PrefixSourceSerializer{serialize(e,{write:t}){t(e.getPrefix());t(e.original())}deserialize({read:e}){return new l(e(),e())}});r(p,h,"webpack-sources/ReplaceSource",new class ReplaceSourceSerializer{serialize(e,{write:t}){t(e.original());t(e.getName());const n=e.getReplacements();t(n.length);for(const e of n){t(e.start);t(e.end)}for(const e of n){t(e.content);t(e.name)}}deserialize({read:e}){const t=new p(e(),e());const n=e();const r=[];for(let t=0;t{"use strict";const r=n(16102);t.getEntryRuntime=((e,t,n)=>{let r;let i;if(n){({dependOn:r,runtime:i}=n)}else{const n=e.entries.get(t);if(!n)return t;({dependOn:r,runtime:i}=n.options)}if(r){let t=undefined;const n=new Set(r);for(const r of n){const i=e.entries.get(r);if(!i)continue;const{dependOn:s,runtime:o}=i.options;if(s){for(const e of s){n.add(e)}}else{t=c(t,o||r)}}return t}else{return i||t}});t.forEachRuntime=((e,t)=>{if(e===undefined){t(undefined)}else if(typeof e==="string"){t(e)}else{for(const n of e){t(n)}}});const i=e=>{e.sort();return Array.from(e).join("\n")};const s=e=>{if(e===undefined)return"*";if(typeof e==="string")return e;return e.getFromUnorderedCache(i)};t.getRuntimeKey=s;const o=e=>{e.sort();return Array.from(e).join("+")};t.runtimeToString=(e=>{if(e===undefined)return"*";if(typeof e==="string")return e;return e.getFromUnorderedCache(o)});t.runtimeEqual=((e,t)=>{if(e===t){return true}else if(e===undefined||t===undefined||typeof e==="string"||typeof t==="string"){return false}else if(e.size!==t.size){return false}else{e.sort();t.sort();const n=e[Symbol.iterator]();const r=t[Symbol.iterator]();for(;;){const e=n.next();if(e.done)return true;const t=r.next();if(e.value!==t.value)return false}}});t.compareRuntime=((e,t)=>{if(e===t){return 0}else if(e===undefined){return-1}else if(t===undefined){return 1}else{const n=s(e);const r=s(t);if(nr)return 1;return 0}});const a=(e,t)=>{if(e===undefined){return t}else if(t===undefined){return e}else if(e===t){return e}else if(typeof e==="string"){if(typeof t==="string"){const n=new r;n.add(e);n.add(t);return n}else if(t.has(e)){return t}else{const n=new r(t);n.add(e);return n}}else{if(typeof t==="string"){if(e.has(t))return e;const n=new r(e);n.add(t);return n}else{const n=new r(e);for(const e of t)n.add(e);if(n.size===e.size)return e;return n}}};t.mergeRuntime=a;const c=(e,t)=>{if(t===undefined){return e}else if(e===t){return e}else if(e===undefined){if(typeof t==="string"){const e=new r;e.add(t);return e}else{return new r(t)}}else if(typeof e==="string"){if(typeof t==="string"){const n=new r;n.add(e);n.add(t);return n}else{const n=new r(t);n.add(e);return n}}else{if(typeof t==="string"){e.add(t);return e}else{for(const n of t)e.add(n);return e}}};t.mergeRuntimeOwned=c;t.intersectRuntime=((e,t)=>{if(e===undefined){return t}else if(t===undefined){return e}else if(e===t){return e}else if(typeof e==="string"){if(typeof t==="string"){return undefined}else if(t.has(e)){return e}else{return undefined}}else{if(typeof t==="string"){if(e.has(t))return t;return undefined}else{const n=new r;for(const r of t){if(e.has(r))n.add(r)}if(n.size===0)return undefined;if(n.size===1)for(const e of n)return e;return n}}});class RuntimeSpecMap{constructor(e){this._map=new Map(e?e._map:undefined)}get(e){const t=s(e);return this._map.get(t)}has(e){const t=s(e);return this._map.has(t)}set(e,t){this._map.set(s(e),t)}delete(e){this._map.delete(s(e))}update(e,t){const n=s(e);const r=this._map.get(n);const i=t(r);if(i!==r)this._map.set(n,i)}keys(){return Array.from(this._map.keys(),e=>{if(e==="*")return undefined;const t=e.split("\n");if(t.length===1)return t[0];return new r(t)})}values(){return this._map.values()}}t.RuntimeSpecMap=RuntimeSpecMap;class RuntimeSpecSet{constructor(e){this._map=new Map;if(e){for(const t of e){this.add(t)}}}add(e){this._map.set(s(e),e)}[Symbol.iterator](){return this._map.values()}get size(){return this._map.size}}t.RuntimeSpecSet=RuntimeSpecSet},9293:function(e,t){"use strict";const n=e=>{var t=function(e){return e.split(".").map(function(e){return+e==e?+e:e})};var n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e);var r=n[1]?t(n[1]):[];if(n[2]){r.length++;r.push.apply(r,t(n[2]))}if(n[3]){r.push([]);r.push.apply(r,t(n[3]))}return r};t.parseVersion=n;const r=(e,t)=>{e=n(e);t=n(t);var r=0;for(;;){if(r>=e.length)return r=t.length)return s=="u";var o=t[r];var a=(typeof o)[0];if(s==a){if(s!="o"&&s!="u"&&i!=o){return i{const t=e=>{return e.split(".").map(e=>`${+e}`===e?+e:e)};const n=e=>{const n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e);const r=n[1]?[0,...t(n[1])]:[0];if(n[2]){r.length++;r.push.apply(r,t(n[2]))}let i=r[r.length-1];while(r.length&&(i===undefined||/^[*xX]$/.test(i))){r.pop();i=r[r.length-1]}return r};const r=e=>{if(e.length===1){return[0]}else if(e.length===2){return[1,...e.slice(1)]}else if(e.length===3){return[2,...e.slice(1)]}else{return[e.length,...e.slice(1)]}};const i=e=>{return[-e[0]-1,...e.slice(1)]};const s=e=>{const t=/^(\^|~|<=|<|>=|>|=|v|!)/.exec(e);const s=t?t[0]:"";const o=n(e.slice(s.length));switch(s){case"^":if(o.length>1&&o[1]===0){if(o.length>2&&o[2]===0){return[3,...o.slice(1)]}return[2,...o.slice(1)]}return[1,...o.slice(1)];case"~":return[2,...o.slice(1)];case">=":return o;case"=":case"v":case"":return r(o);case"<":return i(o);case">":{const e=r(o);return[,e,0,o,2]}case"<=":return[,r(o),i(o),1];case"!":{const e=r(o);return[,e,0]}default:throw new Error("Unexpected start value")}};const o=(e,t)=>{if(e.length===1)return e[0];const n=[];for(const t of e.slice().reverse()){if(0 in t){n.push(t)}else{n.push(...t.slice(1))}}return[,...n,...e.slice(1).map(()=>t)]};const a=e=>{const t=e.split(" - ");if(t.length===1){const t=e.trim().split(/\s+/g).map(s);return o(t,2)}const a=n(t[0]);const c=n(t[1]);return[,r(c),i(c),1,a,2]};const c=e=>{const t=e.split(/\s*\|\|\s*/).map(a);return o(t,1)};return c(e)});const i=e=>{if(e.length===1){return"*"}else if(0 in e){var t="";var n=e[0];t+=n==0?">=":n==-1?"<":n==1?"^":n==2?"~":n>0?"=":"!=";var r=1;for(var s=1;s0?".":"")+(r=2,o)}return t}else{var c=[];for(var s=1;s{if(0 in e){t=n(t);var r=e[0];var i=r<0;if(i)r=-r-1;for(var o=0,a=1,c=true;;a++,o++){var u=a=t.length||(l=t[o],(f=(typeof l)[0])=="o")){if(!c)return true;if(u=="u")return a>r&&!i;return u==""!=i}if(f=="u"){if(!c||u!="u"){return false}}else if(c){if(u==f){if(a<=r){if(l!=e[a]){return false}}else{if(i?l>e[a]:l{switch(typeof e){case"undefined":return"";case"object":if(Array.isArray(e)){let t="[";for(let n=0;n`var parseVersion = ${e.basicFunction("str",["// see webpack/lib/util/semver.js for original code",`var p=${e.supportsArrowFunction()?"p=>":"function(p)"}{return p.split(".").map((${e.supportsArrowFunction()?"p=>":"function(p)"}{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;`])}`);t.versionLtRuntimeCode=(e=>`var versionLt = ${e.basicFunction("a, b",["// see webpack/lib/util/semver.js for original code",'a=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return"u"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return"o"==n&&"n"==f||("s"==f||"u"==n);if("o"!=n&&"u"!=n&&e!=t)return e`var rangeToString = ${e.basicFunction("range",["// see webpack/lib/util/semver.js for original code",'if(1===range.length)return"*";if(0 in range){var r="",n=range[0];r+=0==n?">=":-1==n?"<":1==n?"^":2==n?"~":n>0?"=":"!=";for(var e=1,a=1;a0?".":"")+(e=2,t)}return r}var g=[];for(a=1;a`var satisfy = ${e.basicFunction("range, version",["// see webpack/lib/util/semver.js for original code",'if(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||"o"==(s=(typeof(f=version[n]))[0]))return!a||("u"==g?i>e&&!r:""==g!=r);if("u"==s){if(!a||"u"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f{"use strict";const r=n(88692);const i=n(13829);const s=n(30991);const o=n(15261);const a=n(43065);const c=n(79308);const u=n(90331);const{register:l,registerLoader:f,registerNotSerializable:p}=s;const d=new r;t.register=l;t.registerLoader=f;t.registerNotSerializable=p;t.NOT_SERIALIZABLE=s.NOT_SERIALIZABLE;t.MEASURE_START_OPERATION=r.MEASURE_START_OPERATION;t.MEASURE_END_OPERATION=r.MEASURE_END_OPERATION;t.buffersSerializer=new o([new c,new s(e=>{if(e.write){e.writeLazy=(t=>{e.write(a.createLazy(t,d))})}}),d]);t.createFileSerializer=(e=>{const t=new i(e);return new o([new c,new s(e=>{if(e.write){e.writeLazy=(t=>{e.write(a.createLazy(t,d))});e.writeSeparate=((n,r)=>{e.write(a.createLazy(n,t,r))})}}),d,t])});n(48077);f(/^webpack\/lib\//,e=>{const t=u[e.slice("webpack/lib/".length)];if(t){t()}else{console.warn(`${e} not found in internalSerializables`)}return true})},33316:(e,t,n)=>{"use strict";const r=n(15235);const i={rules:"module.rules",loaders:"module.rules or module.rules.*.use",noParse:"module.noParse",filename:"output.filename or module.rules.*.generator.filename",file:"output.filename",chunkFilename:"output.chunkFilename",chunkfilename:"output.chunkFilename",ecmaVersion:"output.ecmaVersion",ecmaversion:"output.ecmaVersion",ecma:"output.ecmaVersion",path:"output.path",pathinfo:"output.pathinfo",pathInfo:"output.pathinfo",splitChunks:"optimization.splitChunks",hashedModuleIds:'optimization.moduleIds: "hashed" (BREAKING CHANGE since webpack 5)',namedChunks:'optimization.chunkIds: "named" (BREAKING CHANGE since webpack 5)',occurrenceOrder:'optimization.chunkIds: "size" and optimization.moduleIds: "size" (BREAKING CHANGE since webpack 5)',automaticNamePrefix:"optimization.splitChunks.[cacheGroups.*].idHint (BREAKING CHANGE since webpack 5)",noEmitOnErrors:"optimization.emitOnErrors (BREAKING CHANGE since webpack 5: logic is inverted to avoid negative flags)"};const s=(e,t)=>{r(e,t,{name:"Webpack",postFormatter:(e,t)=>{const n=t.children;if(n&&n.some(e=>e.keyword==="absolutePath"&&e.dataPath===".output.filename")){return`${e}\nPlease use output.path to specify absolute path and output.filename for the file name.`}if(n&&n.some(e=>e.keyword==="pattern"&&e.dataPath===".devtool")){return`${e}\n`+"BREAKING CHANGE since webpack 5: The devtool option is more strict.\n"+"Please strictly follow the order of the keywords in the pattern."}if(t.keyword==="additionalProperties"){const n=t.params;if(Object.prototype.hasOwnProperty.call(i,n.additionalProperty)){return`${e}\nDid you mean ${i[n.additionalProperty]}?`}if(!t.dataPath){if(n.additionalProperty==="debug"){return`${e}\n`+"The 'debug' property was removed in webpack 2.0.0.\n"+"Loaders should be updated to allow passing this option via loader options in module.rules.\n"+"Until loaders are updated one can use the LoaderOptionsPlugin to switch loaders into debug mode:\n"+"plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" debug: true\n"+" })\n"+"]"}if(n.additionalProperty){return`${e}\n`+"For typos: please correct them.\n"+"For loader options: webpack >= v2.0.0 no longer allows custom properties in configuration.\n"+" Loaders should be updated to allow passing options via loader options in module.rules.\n"+" Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:\n"+" plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" // test: /\\.xxx$/, // may apply this only for some modules\n"+" options: {\n"+` ${n.additionalProperty}: …\n`+" }\n"+" })\n"+" ]"}}}return e}})};e.exports=s},21941:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);class AsyncWasmChunkLoadingRuntimeModule extends i{constructor({generateLoadBinaryCode:e,supportsStreaming:t}){super("wasm chunk loading",10);this.generateLoadBinaryCode=e;this.supportsStreaming=t}generate(){const{compilation:e,chunk:t}=this;const{outputOptions:n,runtimeTemplate:i}=e;const o=r.instantiateWasm;const a=e.getPath(JSON.stringify(n.webassemblyModuleFilename),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}}().slice(0, ${e}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + wasmModuleHash + "`,hashWithLength(e){return`" + wasmModuleHash.slice(0, ${e}) + "`}},runtime:t.runtime});return`${o} = ${i.basicFunction("exports, wasmModuleId, wasmModuleHash, importsObj",[`var req = ${this.generateLoadBinaryCode(a)};`,this.supportsStreaming?s.asString(["if (typeof WebAssembly.instantiateStreaming === 'function') {",s.indent(["return WebAssembly.instantiateStreaming(req, importsObj)",s.indent([`.then(${i.returningFunction("Object.assign(exports, res.instance.exports)","res")});`])]),"}"]):"// no support for streaming compilation","return req",s.indent([`.then(${i.returningFunction("x.arrayBuffer()","x")})`,`.then(${i.returningFunction("WebAssembly.instantiate(bytes, importsObj)","bytes")})`,`.then(${i.returningFunction("Object.assign(exports, res.instance.exports)","res")});`])])};`}}e.exports=AsyncWasmChunkLoadingRuntimeModule},10136:(e,t,n)=>{"use strict";const r=n(36253);const i=new Set(["webassembly"]);class AsyncWebAssemblyGenerator extends r{constructor(e){super();this.options=e}getTypes(e){return i}getSize(e,t){const n=e.originalSource();if(!n){return 0}return n.size()}generate(e,t){return e.originalSource()}}e.exports=AsyncWebAssemblyGenerator},75462:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(36253);const s=n(63272);const o=n(76150);const a=n(58159);const c=n(33081);const u=new Set(["webassembly"]);class AsyncWebAssemblyJavascriptGenerator extends i{constructor(e){super();this.filenameTemplate=e}getTypes(e){return u}getSize(e,t){return 40+e.dependencies.length*10}generate(e,t){const{runtimeTemplate:n,chunkGraph:i,moduleGraph:u,runtimeRequirements:l,runtime:f}=t;l.add(o.module);l.add(o.moduleId);l.add(o.exports);l.add(o.instantiateWasm);const p=[];const d=new Map;const h=new Map;for(const t of e.dependencies){if(t instanceof c){const e=u.getModule(t);if(!d.has(e)){d.set(e,{request:t.request,importVar:`WEBPACK_IMPORTED_MODULE_${d.size}`})}let n=h.get(t.request);if(n===undefined){n=[];h.set(t.request,n)}n.push(t)}}const m=[];const g=Array.from(d,([t,{request:r,importVar:s}])=>{if(u.isAsync(t)){m.push(s)}return n.importStatement({update:false,module:t,chunkGraph:i,request:r,originModule:e,importVar:s,runtimeRequirements:l})});const y=g.map(([e])=>e).join("");const v=g.map(([e,t])=>t).join("");const _=Array.from(h,([t,r])=>{const i=r.map(r=>{const i=u.getModule(r);const s=d.get(i).importVar;return`${JSON.stringify(r.name)}: ${n.exportFromImport({moduleGraph:u,module:i,request:t,exportName:r.name,originModule:e,asiSafe:true,isCall:false,callContext:false,defaultInterop:true,importVar:s,initFragments:p,runtime:f,runtimeRequirements:l})}`});return a.asString([`${JSON.stringify(t)}: {`,a.indent(i.join(",\n")),"}"])});const b=_.length>0?a.asString(["{",a.indent(_.join(",\n")),"}"]):undefined;const E=`${o.instantiateWasm}(${e.exportsArgument}, ${e.moduleArgument}.id, ${JSON.stringify(i.getRenderedModuleHash(e,f))}`+(b?`, ${b})`:`)`);const w=new r(`${y}${m.length>1?a.asString([`${e.moduleArgument}.exports = Promise.all([${m.join(", ")}]).then(${n.basicFunction(`[${m.join(", ")}]`,`${v}return ${E};`)})`]):m.length===1?a.asString([`${e.moduleArgument}.exports = Promise.resolve(${m[0]}).then(${n.basicFunction(m[0],`${v}return ${E};`)})`]):`${v}${e.moduleArgument}.exports = ${E}`}`);return s.addToSource(w,p,t)}}e.exports=AsyncWebAssemblyJavascriptGenerator},82422:(e,t,n)=>{"use strict";const{SyncWaterfallHook:r}=n(92960);const i=n(3080);const s=n(36253);const{tryRunOrWebpackError:o}=n(3728);const a=n(33081);const{compareModulesByIdentifier:c}=n(68673);const u=n(27503);const l=u(()=>n(10136));const f=u(()=>n(75462));const p=u(()=>n(96263));const d=new WeakMap;class AsyncWebAssemblyModulesPlugin{static getCompilationHooks(e){if(!(e instanceof i)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let t=d.get(e);if(t===undefined){t={renderModuleContent:new r(["source","module","renderContext"])};d.set(e,t)}return t}constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("AsyncWebAssemblyModulesPlugin",(e,{normalModuleFactory:t})=>{const n=AsyncWebAssemblyModulesPlugin.getCompilationHooks(e);e.dependencyFactories.set(a,t);t.hooks.createParser.for("webassembly/async").tap("AsyncWebAssemblyModulesPlugin",()=>{const e=p();return new e});t.hooks.createGenerator.for("webassembly/async").tap("AsyncWebAssemblyModulesPlugin",()=>{const t=f();const n=l();return s.byType({javascript:new t(e.outputOptions.webassemblyModuleFilename),webassembly:new n(this.options)})});e.hooks.renderManifest.tap("WebAssemblyModulesPlugin",(t,r)=>{const{moduleGraph:i,chunkGraph:s,runtimeTemplate:o}=e;const{chunk:a,outputOptions:u,dependencyTemplates:l,codeGenerationResults:f}=r;for(const e of s.getOrderedChunkModulesIterable(a,c)){if(e.type==="webassembly/async"){const r=u.webassemblyModuleFilename;t.push({render:()=>this.renderModule(e,{chunk:a,dependencyTemplates:l,runtimeTemplate:o,moduleGraph:i,chunkGraph:s,codeGenerationResults:f},n),filenameTemplate:r,pathOptions:{module:e,runtime:a.runtime,chunkGraph:s},auxiliary:true,identifier:`webassemblyAsyncModule${s.getModuleId(e)}`,hash:s.getModuleHash(e,a.runtime)})}}return t})})}renderModule(e,t,n){const{codeGenerationResults:r,chunk:i}=t;try{const s=r.getSource(e,i.runtime,"webassembly");return o(()=>n.renderModuleContent.call(s,e,t),"AsyncWebAssemblyModulesPlugin.getCompilationHooks().renderModuleContent")}catch(t){t.module=e;throw t}}}e.exports=AsyncWebAssemblyModulesPlugin},96263:(e,t,n)=>{"use strict";const r=n(98093);const{decode:i}=n(73432);const s=n(2172);const o=n(96076);const a=n(33081);const c={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser extends s{constructor(e){super();this.hooks=Object.freeze({});this.options=e}parse(e,t){if(!Buffer.isBuffer(e)){throw new Error("WebAssemblyParser input must be a Buffer")}t.module.buildInfo.strict=true;t.module.buildMeta.exportsType="namespace";t.module.buildMeta.async=true;const n=i(e,c);const s=n.body[0];const u=[];r.traverse(s,{ModuleExport({node:e}){u.push(e.name)},ModuleImport({node:e}){const n=new a(e.module,e.name,e.descr,false);t.module.addDependency(n)}});t.module.addDependency(new o(u,false));return t}}e.exports=WebAssemblyParser},87132:(e,t,n)=>{"use strict";const r=n(81627);e.exports=class UnsupportedWebAssemblyFeatureError extends r{constructor(e){super(e);this.name="UnsupportedWebAssemblyFeatureError";this.hideStack=true;Error.captureStackTrace(this,this.constructor)}}},95982:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const{compareModulesByIdentifier:o}=n(68673);const a=n(45676);const c=(e,t,n)=>{const r=n.getAllAsyncChunks();const i=[];for(const e of r){for(const n of t.getOrderedChunkModulesIterable(e,o)){if(n.type.startsWith("webassembly")){i.push(n)}}}return i};const u=(e,t,n,i,o)=>{const c=e.moduleGraph;const u=new Map;const l=[];const f=a.getUsedDependencies(c,t,n);for(const t of f){const n=t.dependency;const a=c.getModule(n);const f=n.name;const p=a&&c.getExportsInfo(a).getUsedName(f,o);const d=n.description;const h=n.onlyDirectImport;const m=t.module;const g=t.name;if(h){const t=`m${u.size}`;u.set(t,e.getModuleId(a));l.push({module:m,name:g,value:`${t}[${JSON.stringify(p)}]`})}else{const t=d.signature.params.map((e,t)=>"p"+t+e.valtype);const n=`${r.moduleCache}[${JSON.stringify(e.getModuleId(a))}]`;const o=`${n}.exports`;const c=`wasmImportedFuncCache${i.length}`;i.push(`var ${c};`);l.push({module:m,name:g,value:s.asString([(a.type.startsWith("webassembly")?`${n} ? ${o}[${JSON.stringify(p)}] : `:"")+`function(${t}) {`,s.indent([`if(${c} === undefined) ${c} = ${o};`,`return ${c}[${JSON.stringify(p)}](${t});`]),"}"])})}}let p;if(n){p=["return {",s.indent([l.map(e=>`${JSON.stringify(e.name)}: ${e.value}`).join(",\n")]),"};"]}else{const e=new Map;for(const t of l){let n=e.get(t.module);if(n===undefined){e.set(t.module,n=[])}n.push(t)}p=["return {",s.indent([Array.from(e,([e,t])=>{return s.asString([`${JSON.stringify(e)}: {`,s.indent([t.map(e=>`${JSON.stringify(e.name)}: ${e.value}`).join(",\n")]),"}"])}).join(",\n")]),"};"]}const d=JSON.stringify(e.getModuleId(t));if(u.size===1){const e=Array.from(u.values())[0];const t=`installedWasmModules[${JSON.stringify(e)}]`;const n=Array.from(u.keys())[0];return s.asString([`${d}: function() {`,s.indent([`return promiseResolve().then(function() { return ${t}; }).then(function(${n}) {`,s.indent(p),"});"]),"},"])}else if(u.size>0){const e=Array.from(u.values(),e=>`installedWasmModules[${JSON.stringify(e)}]`).join(", ");const t=Array.from(u.keys(),(e,t)=>`${e} = array[${t}]`).join(", ");return s.asString([`${d}: function() {`,s.indent([`return promiseResolve().then(function() { return Promise.all([${e}]); }).then(function(array) {`,s.indent([`var ${t};`,...p]),"});"]),"},"])}else{return s.asString([`${d}: function() {`,s.indent(p),"},"])}};class WasmChunkLoadingRuntimeModule extends i{constructor({generateLoadBinaryCode:e,supportsStreaming:t,mangleImports:n}){super("wasm chunk loading",10);this.generateLoadBinaryCode=e;this.supportsStreaming=t;this.mangleImports=n}generate(){const{compilation:e,chunk:t,mangleImports:n}=this;const{chunkGraph:i,moduleGraph:o,outputOptions:l}=e;const f=r.ensureChunkHandlers;const p=c(o,i,t);const d=[];const h=p.map(e=>{return u(i,e,this.mangleImports,d,t.runtime)});const m=i.getChunkModuleIdMap(t,e=>e.type.startsWith("webassembly"));const g=e=>n?`{ ${JSON.stringify(a.MANGLED_MODULE)}: ${e} }`:e;const y=e.getPath(JSON.stringify(l.webassemblyModuleFilename),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}}().slice(0, ${e}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + ${JSON.stringify(i.getChunkModuleRenderedHashMap(t,e=>e.type.startsWith("webassembly")))}[chunkId][wasmModuleId] + "`,hashWithLength(e){return`" + ${JSON.stringify(i.getChunkModuleRenderedHashMap(t,e=>e.type.startsWith("webassembly"),e))}[chunkId][wasmModuleId] + "`}},runtime:t.runtime});return s.asString(["// object to store loaded and loading wasm modules","var installedWasmModules = {};","","function promiseResolve() { return Promise.resolve(); }","",s.asString(d),"var wasmImportObjects = {",s.indent(h),"};","",`var wasmModuleMap = ${JSON.stringify(m,undefined,"\t")};`,"","// object with all WebAssembly.instance exports",`${r.wasmInstances} = {};`,"","// Fetch + compile chunk loading for webassembly",`${f}.wasm = function(chunkId, promises) {`,s.indent(["",`var wasmModules = wasmModuleMap[chunkId] || [];`,"","wasmModules.forEach(function(wasmModuleId, idx) {",s.indent(["var installedWasmModuleData = installedWasmModules[wasmModuleId];","",'// a Promise means "currently loading" or "already loaded".',"if(installedWasmModuleData)",s.indent(["promises.push(installedWasmModuleData);"]),"else {",s.indent([`var importObject = wasmImportObjects[wasmModuleId]();`,`var req = ${this.generateLoadBinaryCode(y)};`,"var promise;",this.supportsStreaming?s.asString(["if(importObject instanceof Promise && typeof WebAssembly.compileStreaming === 'function') {",s.indent(["promise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) {",s.indent([`return WebAssembly.instantiate(items[0], ${g("items[1]")});`]),"});"]),"} else if(typeof WebAssembly.instantiateStreaming === 'function') {",s.indent([`promise = WebAssembly.instantiateStreaming(req, ${g("importObject")});`])]):s.asString(["if(importObject instanceof Promise) {",s.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = Promise.all([",s.indent(["bytesPromise.then(function(bytes) { return WebAssembly.compile(bytes); }),","importObject"]),"]).then(function(items) {",s.indent([`return WebAssembly.instantiate(items[0], ${g("items[1]")});`]),"});"])]),"} else {",s.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = bytesPromise.then(function(bytes) {",s.indent([`return WebAssembly.instantiate(bytes, ${g("importObject")});`]),"});"]),"}","promises.push(installedWasmModules[wasmModuleId] = promise.then(function(res) {",s.indent([`return ${r.wasmInstances}[wasmModuleId] = (res.instance || res).exports;`]),"}));"]),"}"]),"});"]),"};"])}}e.exports=WasmChunkLoadingRuntimeModule},7577:(e,t,n)=>{"use strict";const r=n(72380);const i=n(87132);class WasmFinalizeExportsPlugin{apply(e){e.hooks.compilation.tap("WasmFinalizeExportsPlugin",e=>{e.hooks.finishModules.tap("WasmFinalizeExportsPlugin",t=>{for(const n of t){if(n.type.startsWith("webassembly")===true){const t=n.buildMeta.jsIncompatibleExports;if(t===undefined){continue}for(const s of e.moduleGraph.getIncomingConnections(n)){if(s.isActive(undefined)&&s.originModule.type.startsWith("webassembly")===false){const o=e.getDependencyReferencedExports(s.dependency,undefined);for(const a of o){const o=Array.isArray(a)?a:a.name;if(o.length===0)continue;const c=o[0];if(typeof c==="object")continue;if(Object.prototype.hasOwnProperty.call(t,c)){const o=new i(`Export "${c}" with ${t[c]} can only be used for direct wasm to wasm dependencies\n`+`It's used from ${s.originModule.readableIdentifier(e.requestShortener)} at ${r(s.dependency.loc)}.`);o.module=n;e.errors.push(o)}}}}}}})})}}e.exports=WasmFinalizeExportsPlugin},93080:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const i=n(36253);const s=n(45676);const o=n(98093);const{moduleContextFromModuleAST:a}=n(67852);const{editWithAST:c,addWithAST:u}=n(226);const{decode:l}=n(73432);const f=n(30697);const p=(...e)=>{return e.reduce((e,t)=>{return n=>t(e(n))},e=>e)};const d=e=>t=>{return c(e.ast,t,{Start(e){e.remove()}})};const h=e=>{const t=[];o.traverse(e,{ModuleImport({node:e}){if(o.isGlobalType(e.descr)){t.push(e)}}});return t};const m=e=>{let t=0;o.traverse(e,{ModuleImport({node:e}){if(o.isFuncImportDescr(e.descr)){t++}}});return t};const g=e=>{const t=o.getSectionMetadata(e,"type");if(t===undefined){return o.indexLiteral(0)}return o.indexLiteral(t.vectorOfSize.value)};const y=(e,t)=>{const n=o.getSectionMetadata(e,"func");if(n===undefined){return o.indexLiteral(0+t)}const r=n.vectorOfSize.value;return o.indexLiteral(r+t)};const v=e=>{if(e.valtype[0]==="i"){return o.objectInstruction("const",e.valtype,[o.numberLiteralFromRaw(66)])}else if(e.valtype[0]==="f"){return o.objectInstruction("const",e.valtype,[o.floatLiteral(66,false,false,"66")])}else{throw new Error("unknown type: "+e.valtype)}};const _=e=>t=>{const n=e.additionalInitCode;const r=[];t=c(e.ast,t,{ModuleImport(e){if(o.isGlobalType(e.node.descr)){const t=e.node.descr;t.mutability="var";const n=[v(t),o.instruction("end")];r.push(o.global(t,n));e.remove()}},Global(e){const{node:t}=e;const[i]=t.init;if(i.id==="get_global"){t.globalType.mutability="var";const e=i.args[0];t.init=[v(t.globalType),o.instruction("end")];n.push(o.instruction("get_local",[e]),o.instruction("set_global",[o.indexLiteral(r.length)]))}r.push(t);e.remove()}});return u(e.ast,t,r)};const b=({ast:e,moduleGraph:t,module:n,externalExports:r,runtime:i})=>s=>{return c(e,s,{ModuleExport(e){const s=r.has(e.node.name);if(s){e.remove();return}const o=t.getExportsInfo(n).getUsedName(e.node.name,i);if(!o){e.remove();return}e.node.name=o}})};const E=({ast:e,usedDependencyMap:t})=>n=>{return c(e,n,{ModuleImport(e){const n=t.get(e.node.module+":"+e.node.name);if(n!==undefined){e.node.module=n.module;e.node.name=n.name}}})};const w=({ast:e,initFuncId:t,startAtFuncOffset:n,importedGlobals:r,additionalInitCode:i,nextFuncIndex:s,nextTypeIndex:a})=>c=>{const l=r.map(e=>{const t=o.identifier(`${e.module}.${e.name}`);return o.funcParam(e.descr.valtype,t)});const f=[];r.forEach((e,t)=>{const n=[o.indexLiteral(t)];const r=[o.instruction("get_local",n),o.instruction("set_global",n)];f.push(...r)});if(typeof n==="number"){f.push(o.callInstruction(o.numberLiteralFromRaw(n)))}for(const e of i){f.push(e)}f.push(o.instruction("end"));const p=[];const d=o.signature(l,p);const h=o.func(t,d,f);const m=o.typeInstruction(undefined,d);const g=o.indexInFuncSection(a);const y=o.moduleExport(t.value,o.moduleExportDescr("Func",s));return u(e,c,[h,y,g,m])};const S=(e,t,n)=>{const r=new Map;for(const i of s.getUsedDependencies(e,t,n)){const e=i.dependency;const t=e.request;const n=e.name;r.set(t+":"+n,i)}return r};const k=new Set(["webassembly"]);class WebAssemblyGenerator extends i{constructor(e){super();this.options=e}getTypes(e){return k}getSize(e,t){const n=e.originalSource();if(!n){return 0}return n.size()}generate(e,{moduleGraph:t,runtime:n}){const i=e.originalSource().source();const s=o.identifier("");const c=l(i,{ignoreDataSection:true,ignoreCodeSection:true,ignoreCustomNameSection:true});const u=a(c.body[0]);const v=h(c);const k=m(c);const D=u.getStart();const x=y(c,k);const C=g(c);const A=S(t,e,this.options.mangleImports);const T=new Set(e.dependencies.filter(e=>e instanceof f).map(e=>{const t=e;return t.exportName}));const M=[];const O=p(b({ast:c,moduleGraph:t,module:e,externalExports:T,runtime:n}),d({ast:c}),_({ast:c,additionalInitCode:M}),E({ast:c,usedDependencyMap:A}),w({ast:c,initFuncId:s,importedGlobals:v,additionalInitCode:M,startAtFuncOffset:D,nextFuncIndex:x,nextTypeIndex:C}));const F=O(i);const I=Buffer.from(F);return new r(I)}}e.exports=WebAssemblyGenerator},39596:(e,t,n)=>{"use strict";const r=n(81627);const i=(e,t,n,r)=>{const i=[{head:e,message:e.readableIdentifier(r)}];const s=new Set;const o=new Set;const a=new Set;for(const e of i){const{head:c,message:u}=e;let l=true;const f=new Set;for(const e of t.getIncomingConnections(c)){const t=e.originModule;if(t){if(!n.getModuleChunks(t).some(e=>e.canBeInitial()))continue;l=false;if(f.has(t))continue;f.add(t);const s=t.readableIdentifier(r);const c=e.explanation?` (${e.explanation})`:"";const p=`${s}${c} --\x3e ${u}`;if(a.has(t)){o.add(`... --\x3e ${p}`);continue}a.add(t);i.push({head:t,message:p})}else{l=false;const t=e.explanation?`(${e.explanation}) --\x3e ${u}`:u;s.add(t)}}if(l){s.add(u)}}for(const e of o){s.add(e)}return Array.from(s)};e.exports=class WebAssemblyInInitialChunkError extends r{constructor(e,t,n,r){const s=i(e,t,n,r);const o=`WebAssembly module is included in initial chunk.\nThis is not allowed, because WebAssembly download and compilation must happen asynchronous.\nAdd an async split point (i. e. import()) somewhere between your entrypoint and the WebAssembly module:\n${s.map(e=>`* ${e}`).join("\n")}`;super(o);this.name="WebAssemblyInInitialChunkError";this.hideStack=true;this.module=e;Error.captureStackTrace(this,this.constructor)}}},31267:(e,t,n)=>{"use strict";const{RawSource:r}=n(48135);const{UsageState:i}=n(76632);const s=n(36253);const o=n(63272);const a=n(76150);const c=n(58159);const u=n(79983);const l=n(30697);const f=n(33081);const p=new Set(["webassembly"]);class WebAssemblyJavascriptGenerator extends s{getTypes(e){return p}getSize(e,t){return 95+e.dependencies.length*5}generate(e,t){const{runtimeTemplate:n,moduleGraph:s,chunkGraph:p,runtimeRequirements:d,runtime:h}=t;const m=[];const g=s.getExportsInfo(e);let y=false;const v=new Map;const _=[];let b=0;for(const t of e.dependencies){const r=t&&t instanceof u?t:undefined;if(s.getModule(t)){let i=v.get(s.getModule(t));if(i===undefined){v.set(s.getModule(t),i={importVar:`m${b}`,index:b,request:r&&r.userRequest||undefined,names:new Set,reexports:[]});b++}if(t instanceof f){i.names.add(t.name);if(t.description.type==="GlobalType"){const r=t.name;const o=s.getModule(t);if(o){const a=s.getExportsInfo(o).getUsedName(r,h);if(a){_.push(n.exportFromImport({moduleGraph:s,module:o,request:t.request,importVar:i.importVar,originModule:e,exportName:t.name,asiSafe:true,isCall:false,callContext:null,defaultInterop:true,initFragments:m,runtime:h,runtimeRequirements:d}))}}}}if(t instanceof l){i.names.add(t.name);const r=s.getExportsInfo(e).getUsedName(t.exportName,h);if(r){d.add(a.exports);const o=`${e.exportsArgument}[${JSON.stringify(r)}]`;const u=c.asString([`${o} = ${n.exportFromImport({moduleGraph:s,module:s.getModule(t),request:t.request,importVar:i.importVar,originModule:e,exportName:t.name,asiSafe:true,isCall:false,callContext:null,defaultInterop:true,initFragments:m,runtime:h,runtimeRequirements:d})};`,`if(WebAssembly.Global) ${o} = `+`new WebAssembly.Global({ value: ${JSON.stringify(t.valueType)} }, ${o});`]);i.reexports.push(u);y=true}}}}const E=c.asString(Array.from(v,([e,{importVar:t,request:r,reexports:i}])=>{const s=n.importStatement({module:e,chunkGraph:p,request:r,importVar:t,originModule:e,runtimeRequirements:d});return s[0]+s[1]+i.join("\n")}));const w=g.otherExportsInfo.getUsed(h)===i.Unused&&!y;d.add(a.module);d.add(a.moduleId);d.add(a.wasmInstances);if(g.otherExportsInfo.getUsed(h)!==i.Unused){d.add(a.makeNamespaceObject);d.add(a.exports)}if(!w){d.add(a.exports)}const S=new r(['"use strict";',"// Instantiate WebAssembly module",`var wasmExports = ${a.wasmInstances}[${e.moduleArgument}.id];`,g.otherExportsInfo.getUsed(h)!==i.Unused?`${a.makeNamespaceObject}(${e.exportsArgument});`:"","// export exports from WebAssembly module",w?`${e.moduleArgument}.exports = wasmExports;`:"for(var name in wasmExports) "+`if(name) `+`${e.exportsArgument}[name] = wasmExports[name];`,"// exec imports from WebAssembly module (for esm order)",E,"","// exec wasm module",`wasmExports[""](${_.join(", ")})`].join("\n"));return o.addToSource(S,m,t)}}e.exports=WebAssemblyJavascriptGenerator},63576:(e,t,n)=>{"use strict";const r=n(36253);const i=n(30697);const s=n(33081);const{compareModulesByIdentifier:o}=n(68673);const a=n(27503);const c=n(39596);const u=a(()=>n(93080));const l=a(()=>n(31267));const f=a(()=>n(87307));class WebAssemblyModulesPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("WebAssemblyModulesPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,t);e.dependencyFactories.set(i,t);t.hooks.createParser.for("webassembly/sync").tap("WebAssemblyModulesPlugin",()=>{const e=f();return new e});t.hooks.createGenerator.for("webassembly/sync").tap("WebAssemblyModulesPlugin",()=>{const e=l();const t=u();return r.byType({javascript:new e,webassembly:new t(this.options)})});e.hooks.renderManifest.tap("WebAssemblyModulesPlugin",(t,n)=>{const{chunkGraph:r}=e;const{chunk:i,outputOptions:s,codeGenerationResults:a}=n;for(const e of r.getOrderedChunkModulesIterable(i,o)){if(e.type==="webassembly/sync"){const n=s.webassemblyModuleFilename;t.push({render:()=>a.getSource(e,i.runtime,"webassembly"),filenameTemplate:n,pathOptions:{module:e,runtime:i.runtime,chunkGraph:r},auxiliary:true,identifier:`webassemblyModule${r.getModuleId(e)}`,hash:r.getModuleHash(e,i.runtime)})}}return t});e.hooks.afterChunks.tap("WebAssemblyModulesPlugin",()=>{const t=e.chunkGraph;const n=new Set;for(const r of e.chunks){if(r.canBeInitial()){for(const e of t.getChunkModulesIterable(r)){if(e.type==="webassembly/sync"){n.add(e)}}}}for(const t of n){e.errors.push(new c(t,e.moduleGraph,e.chunkGraph,e.requestShortener))}})})}}e.exports=WebAssemblyModulesPlugin},87307:(e,t,n)=>{"use strict";const r=n(98093);const{moduleContextFromModuleAST:i}=n(67852);const{decode:s}=n(73432);const o=n(2172);const a=n(96076);const c=n(30697);const u=n(33081);const l=new Set(["i32","f32","f64"]);const f=e=>{for(const t of e.params){if(!l.has(t.valtype)){return`${t.valtype} as parameter`}}for(const t of e.results){if(!l.has(t))return`${t} as result`}return null};const p=e=>{for(const t of e.args){if(!l.has(t)){return`${t} as parameter`}}for(const t of e.result){if(!l.has(t))return`${t} as result`}return null};const d={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser extends o{constructor(e){super();this.hooks=Object.freeze({});this.options=e}parse(e,t){if(!Buffer.isBuffer(e)){throw new Error("WebAssemblyParser input must be a Buffer")}t.module.buildInfo.strict=true;t.module.buildMeta.exportsType="namespace";const n=s(e,d);const o=n.body[0];const h=i(o);const m=[];let g=t.module.buildMeta.jsIncompatibleExports=undefined;const y=[];r.traverse(o,{ModuleExport({node:e}){const n=e.descr;if(n.exportType==="Func"){const r=n.id.value;const i=h.getFunction(r);const s=p(i);if(s){if(g===undefined){g=t.module.buildMeta.jsIncompatibleExports={}}g[e.name]=s}}m.push(e.name);if(e.descr&&e.descr.exportType==="Global"){const n=y[e.descr.id.value];if(n){const r=new c(e.name,n.module,n.name,n.descr.valtype);t.module.addDependency(r)}}},Global({node:e}){const t=e.init[0];let n=null;if(t.id==="get_global"){const e=t.args[0].value;if(e{"use strict";const r=n(58159);const i=n(33081);const s="a";const o=(e,t,n)=>{const o=[];let a=0;for(const c of t.dependencies){if(c instanceof i){if(c.description.type==="GlobalType"||e.getModule(c)===null){continue}const t=c.name;if(n){o.push({dependency:c,name:r.numberToIdentifier(a++),module:s})}else{o.push({dependency:c,name:t,module:c.request})}}}return o};t.getUsedDependencies=o;t.MANGLED_MODULE=s},52687:(e,t,n)=>{"use strict";const r=n(76150);const i=n(21941);class FetchCompileAsyncWasmPlugin{apply(e){e.hooks.thisCompilation.tap("FetchCompileAsyncWasmPlugin",e=>{const t=e=>`fetch(${r.publicPath} + ${e})`;e.hooks.runtimeRequirementInTree.for(r.instantiateWasm).tap("FetchCompileAsyncWasmPlugin",(n,s)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/async")){return}s.add(r.publicPath);e.addRuntimeModule(n,new i({generateLoadBinaryCode:t,supportsStreaming:true}))})})}}e.exports=FetchCompileAsyncWasmPlugin},71100:(e,t,n)=>{"use strict";const r=n(76150);const i=n(95982);class FetchCompileWasmPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.thisCompilation.tap("FetchCompileWasmPlugin",e=>{const t=e=>`fetch(${r.publicPath} + ${e})`;e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("FetchCompileWasmPlugin",(n,s)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/sync")){return}s.add(r.moduleCache);s.add(r.publicPath);e.addRuntimeModule(n,new i({generateLoadBinaryCode:t,supportsStreaming:true,mangleImports:this.options.mangleImports}))})})}}e.exports=FetchCompileWasmPlugin},4038:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const o=n(18161).chunkHasJs;const a=n(87274);const{getEntryInfo:c,needEntryDeferringCode:u}=n(7091);class JsonpChunkLoadingRuntimeModule extends i{constructor(e,t,n){super("jsonp chunk loading",10);this.runtimeRequirements=e;this.linkPreload=t;this.linkPrefetch=n}generate(){const{compilation:e,chunk:t,linkPreload:i,linkPrefetch:l}=this;const{runtimeTemplate:f,chunkGraph:p,outputOptions:d}=e;const h=r.ensureChunkHandlers;const m=this.runtimeRequirements.has(r.ensureChunkHandlers);const g=u(e,t);const y=this.runtimeRequirements.has(r.hmrDownloadUpdateHandlers);const v=this.runtimeRequirements.has(r.hmrDownloadManifest);const _=this.runtimeRequirements.has(r.prefetchChunkHandlers);const b=this.runtimeRequirements.has(r.preloadChunkHandlers);const E=c(p,t,e=>o(e,p));const w=`${d.globalObject}[${JSON.stringify(d.jsonpFunction)}]`;const S=a(p.getChunkConditionMap(t,o));return s.asString(["// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// Promise = chunk loading, 0 = chunk loaded","var installedChunks = {",s.indent(t.ids.map(e=>`${JSON.stringify(e)}: 0`).join(",\n")),"};","",g?s.asString(["var deferredModules = [",s.indent(E.map(e=>JSON.stringify(e)).join(",\n")),"];"]):"",m?s.asString([`${h}.j = ${f.basicFunction("chunkId, promises",S!==false?s.indent(["// JSONP chunk loading for javascript",`var installedChunkData = ${r.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',s.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",s.indent(["promises.push(installedChunkData[2]);"]),"} else {",s.indent([S===true?"if(true) { // all chunks have JS":`if(${S("chunkId")}) {`,s.indent(["// setup Promise in chunk cache",`var promise = new Promise(${f.basicFunction("resolve, reject",[`installedChunkData = installedChunks[chunkId] = [resolve, reject];`])});`,"promises.push(installedChunkData[2] = promise);","","// start chunk loading",`var url = ${r.publicPath} + ${r.getChunkScriptFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${f.basicFunction("event",[`if(${r.hasOwnProperty}(installedChunks, chunkId)) {`,s.indent(["installedChunkData = installedChunks[chunkId];","if(installedChunkData !== 0) installedChunks[chunkId] = undefined;","if(installedChunkData) {",s.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","installedChunkData[1](error);"]),"}"]),"}"])};`,`${r.loadScript}(url, loadingEnded, "chunk-" + chunkId);`]),"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):s.indent(["installedChunks[chunkId] = 0;"]))};`]):"// no chunk on demand loading","",_&&S!==false?`${r.prefetchChunkHandlers}.j = ${f.basicFunction("chunkId",[`if((!${r.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${S===true?"true":S("chunkId")}) {`,s.indent(["installedChunks[chunkId] = null;",l.call("",t),"document.head.appendChild(link);"]),"}"])};`:"// no prefetching","",b&&S!==false?`${r.preloadChunkHandlers}.j = ${f.basicFunction("chunkId",[`if((!${r.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${S===true?"true":S("chunkId")}) {`,s.indent(["installedChunks[chunkId] = null;",i.call("",t),"document.head.appendChild(link);"]),"}"])};`:"// no preloaded","",y?s.asString(["var currentUpdatedModulesList;","var waitingUpdateResolves = {};","function loadUpdateChunk(chunkId) {",s.indent([`return new Promise(${f.basicFunction("resolve, reject",["waitingUpdateResolves[chunkId] = resolve;","// start update chunk loading",`var url = ${r.publicPath} + ${r.getChunkUpdateScriptFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${f.basicFunction("event",["if(waitingUpdateResolves[chunkId]) {",s.indent(["waitingUpdateResolves[chunkId] = undefined","var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","reject(error);"]),"}"])};`,`${r.loadScript}(url, loadingEnded);`])});`]),"}","",`${d.globalObject}[${JSON.stringify(d.hotUpdateFunction)}] = ${f.basicFunction("chunkId, moreModules, runtime",["for(var moduleId in moreModules) {",s.indent([`if(${r.hasOwnProperty}(moreModules, moduleId)) {`,s.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","if(waitingUpdateResolves[chunkId]) {",s.indent(["waitingUpdateResolves[chunkId]();","waitingUpdateResolves[chunkId] = undefined;"]),"}"])};`,"",s.getFunctionContent(n(22215)).replace(/\$key\$/g,"jsonp").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,r.moduleCache).replace(/\$moduleFactories\$/g,r.moduleFactories).replace(/\$ensureChunkHandlers\$/g,r.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,r.hasOwnProperty).replace(/\$hmrModuleData\$/g,r.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,r.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,r.hmrInvalidateModuleHandlers)]):"// no HMR","",v?s.asString([`${r.hmrDownloadManifest} = ${f.basicFunction("",['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${r.publicPath} + ${r.getUpdateManifestFilename}()).then(${f.basicFunction("response",["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"])});`])};`]):"// no HMR manifest","",g?s.asString([`var checkDeferredModules = ${f.basicFunction("","")};`,"function checkDeferredModulesImpl() {",s.indent(["var result;","for(var i = 0; i < deferredModules.length; i++) {",s.indent(["var deferredModule = deferredModules[i];","var fulfilled = true;","for(var j = 1; j < deferredModule.length; j++) {",s.indent(["var depId = deferredModule[j];","if(installedChunks[depId] !== 0) fulfilled = false;"]),"}","if(fulfilled) {",s.indent(["deferredModules.splice(i--, 1);","result = "+"__webpack_require__("+`${r.entryModuleId} = deferredModule[0]);`]),"}"]),"}","if(deferredModules.length === 0) {",s.indent([`${r.startup}();`,`${r.startup} = ${f.basicFunction("","")}`]),"}","return result;"]),"}",`${r.startup} = ${f.basicFunction("",["// reset startup function so it can be called again when more startup code is added",`${r.startup} = ${f.basicFunction("","")}`,"jsonpArray = jsonpArray.slice();","for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);","return (checkDeferredModules = checkDeferredModulesImpl)();"])};`]):"// no deferred startup","",g||m?s.asString(["// install a JSONP callback for chunk loading","function webpackJsonpCallback(data) {",s.indent(["var chunkIds = data[0];","var moreModules = data[1];",g?"var executeModules = data[2];":"","var runtime = data[3];",'// add "moreModules" to the modules object,','// then flag all "chunkIds" as loaded and fire callback',"var moduleId, chunkId, i = 0, resolves = [];","for(;i < chunkIds.length; i++) {",s.indent(["chunkId = chunkIds[i];",`if(${r.hasOwnProperty}(installedChunks, chunkId) && installedChunks[chunkId]) {`,s.indent("resolves.push(installedChunks[chunkId][0]);"),"}","installedChunks[chunkId] = 0;"]),"}","for(moduleId in moreModules) {",s.indent([`if(${r.hasOwnProperty}(moreModules, moduleId)) {`,s.indent(`${r.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}","if(runtime) runtime(__webpack_require__);","if(parentJsonpFunction) parentJsonpFunction(data);","while(resolves.length) {",s.indent("resolves.shift()();"),"}",g?s.asString(["","// add entry modules from loaded chunk to deferred list","if(executeModules) deferredModules.push.apply(deferredModules, executeModules);","","// run deferred modules when all chunks ready","return checkDeferredModules();"]):""]),"};","",`var jsonpArray = ${w} = ${w} || [];`,"var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);","jsonpArray.push = webpackJsonpCallback;","var parentJsonpFunction = oldJsonpFunction;"]):"// no jsonp function"])}}e.exports=JsonpChunkLoadingRuntimeModule},7091:(e,t)=>{"use strict";const n=e=>{const t=new Set([e]);const n=new Set;for(const e of t){for(const t of e.chunks){n.add(t)}for(const n of e.parentsIterable){t.add(n)}}return n};t.getEntryInfo=((e,t,r)=>{return Array.from(e.getChunkEntryModulesWithChunkGroupIterable(t)).map(([i,s])=>{const o=[e.getModuleId(i)];for(const e of n(s)){if(!r(e)&&!e.hasRuntime())continue;const n=e.id;if(n===t.id)continue;o.push(n)}return o})});t.needEntryDeferringCode=((e,t)=>{for(const n of e.entrypoints.values()){if(n.getRuntimeChunk()===t){if(n.chunks.some(e=>e!==t))return true}}return false})},58421:(e,t,n)=>{"use strict";const{SyncWaterfallHook:r}=n(92960);const{ConcatSource:i}=n(48135);const s=n(3080);const o=n(22352);const a=n(76150);const c=n(58159);const u=n(18161);const l=n(18161).chunkHasJs;const f=n(4038);const{getEntryInfo:p,needEntryDeferringCode:d}=n(7091);const h=new WeakMap;class JsonpTemplatePlugin{static getCompilationHooks(e){if(!(e instanceof s)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let t=h.get(e);if(t===undefined){t={linkPreload:new r(["source","chunk","hash"]),linkPrefetch:new r(["source","chunk","hash"])};h.set(e,t)}return t}apply(e){e.hooks.thisCompilation.tap("JsonpTemplatePlugin",e=>{const t=u.getCompilationHooks(e);t.renderChunk.tap("JsonpTemplatePlugin",(e,t)=>{const{chunk:n,chunkGraph:r,runtimeTemplate:s}=t;const a=n instanceof o?n:null;const u=s.outputOptions.globalObject;const f=new i;const d=r.getChunkRuntimeModulesInOrder(n);const h=d.length>0&&c.renderChunkRuntimeModules(d,t);if(a){const t=s.outputOptions.hotUpdateFunction;f.add(`${u}[${JSON.stringify(t)}](`);f.add(`${JSON.stringify(n.id)},`);f.add(e);if(h){f.add(",\n");f.add(h)}f.add(")")}else{const t=s.outputOptions.jsonpFunction;f.add(`(${u}[${JSON.stringify(t)}] = ${u}[${JSON.stringify(t)}] || []).push([`);f.add(`${JSON.stringify(n.ids)},`);f.add(e);const i=p(r,n,e=>l(e,r));const o=i.length>0&&`,${JSON.stringify(i)}`;if(o||h){f.add(o||",0")}if(h){f.add(",\n");f.add(h)}f.add("])")}return f});t.chunkHash.tap("JsonpTemplatePlugin",(e,t,{chunkGraph:n,runtimeTemplate:r})=>{if(e.hasRuntime())return;t.update("JsonpTemplatePlugin");t.update("1");t.update(JSON.stringify(p(n,e,e=>l(e,n))));t.update(`${r.outputOptions.jsonpFunction}`);t.update(`${r.outputOptions.hotUpdateFunction}`);t.update(`${r.outputOptions.globalObject}`)});const{linkPreload:n,linkPrefetch:r}=JsonpTemplatePlugin.getCompilationHooks(e);n.tap("JsonpTemplatePlugin",(t,n,r)=>{const{crossOriginLoading:i,scriptType:s}=e.outputOptions;return c.asString(["var link = document.createElement('link');",s?`link.type = ${JSON.stringify(s)};`:"","link.charset = 'utf-8';",`if (${a.scriptNonce}) {`,c.indent(`link.setAttribute("nonce", ${a.scriptNonce});`),"}",'link.rel = "preload";','link.as = "script";',`link.href = ${a.publicPath} + ${a.getChunkScriptFilename}(chunkId);`,i?c.asString(["if (link.href.indexOf(window.location.origin + '/') !== 0) {",c.indent(`link.crossOrigin = ${JSON.stringify(i)};`),"}"]):""])});r.tap("JsonpTemplatePlugin",(t,n,r)=>{const{crossOriginLoading:i}=e.outputOptions;return c.asString(["var link = document.createElement('link');",i?`link.crossOrigin = ${JSON.stringify(i)};`:"",`if (${a.scriptNonce}) {`,c.indent(`link.setAttribute("nonce", ${a.scriptNonce});`),"}",'link.rel = "prefetch";','link.as = "script";',`link.href = ${a.publicPath} + ${a.getChunkScriptFilename}(chunkId);`])});const s=new WeakSet;const h=(t,i)=>{if(s.has(t))return;s.add(t);i.add(a.moduleFactoriesAddOnly);i.add(a.hasOwnProperty);e.addRuntimeModule(t,new f(i,n,r))};a.ensureChunkHandlers;a.hmrDownloadUpdateHandlers;e.hooks.runtimeRequirementInTree.for(a.ensureChunkHandlers).tap("JsonpTemplatePlugin",h);e.hooks.runtimeRequirementInTree.for(a.hmrDownloadUpdateHandlers).tap("JsonpTemplatePlugin",h);e.hooks.runtimeRequirementInTree.for(a.hmrDownloadManifest).tap("JsonpTemplatePlugin",h);e.hooks.runtimeRequirementInTree.for(a.ensureChunkHandlers).tap("JsonpTemplatePlugin",(e,t)=>{t.add(a.publicPath);t.add(a.loadScript);t.add(a.getChunkScriptFilename)});e.hooks.runtimeRequirementInTree.for(a.hmrDownloadUpdateHandlers).tap("JsonpTemplatePlugin",(e,t)=>{t.add(a.publicPath);t.add(a.loadScript);t.add(a.getChunkUpdateScriptFilename);t.add(a.moduleCache);t.add(a.hmrModuleData);t.add(a.moduleFactoriesAddOnly)});e.hooks.runtimeRequirementInTree.for(a.hmrDownloadManifest).tap("JsonpTemplatePlugin",(e,t)=>{t.add(a.publicPath);t.add(a.getUpdateManifestFilename)});e.hooks.additionalTreeRuntimeRequirements.tap("JsonpTemplatePlugin",(t,n)=>{const r=d(e,t);if(r){n.add(a.startup);n.add(a.startupNoDefault);h(t,n)}if(r){n.add(a.require)}})})}}e.exports=JsonpTemplatePlugin},2982:(e,t,n)=>{"use strict";const r=n(76518);const i=n(63076);const s=n(63433);const o=n(81721);const{applyWebpackOptionsDefaults:a,applyWebpackOptionsBaseDefaults:c}=n(54411);const{getNormalizedWebpackOptions:u}=n(96590);const l=n(93632);const f=n(33316);const p=e=>{const t=e.map(e=>d(e));const n=new s(t);for(const e of t){if(e.options.dependencies){n.setDependencies(e,e.options.dependencies)}}return n};const d=e=>{const t=u(e);c(t);const n=new i(t.context);n.options=t;new l({infrastructureLogging:t.infrastructureLogging}).apply(n);if(Array.isArray(t.plugins)){for(const e of t.plugins){if(typeof e==="function"){e.call(n,n)}else{e.apply(n)}}}a(t);n.hooks.environment.call();n.hooks.afterEnvironment.call();(new o).process(t,n);n.hooks.initialize.call();return n};const h=(e,t)=>{f(r,e);let n;let i=false;let s;if(Array.isArray(e)){n=p(e);i=e.some(e=>e.watch);s=e.map(e=>e.watchOptions||{})}else{n=d(e);i=e.watch;s=e.watchOptions||{}}if(t){if(i){n.watch(s,t)}else{n.run((e,r)=>{n.close(n=>{t(e||n,r)})})}}return n};e.exports=h},92208:(e,t,n)=>{"use strict";const r=n(76150);const i=n(66804);const s=n(58159);const{getChunkFilenameTemplate:o}=n(18161);const{getUndoPath:a}=n(49197);class ImportScriptsChunkLoadingRuntimeModule extends i{constructor(e){super("importScripts chunk loading",10);this.runtimeRequirements=e}generate(){const{chunk:e,compilation:{outputOptions:{globalObject:t,chunkCallbackName:i,hotUpdateFunction:c}}}=this;const u=r.ensureChunkHandlers;const l=this.runtimeRequirements.has(r.ensureChunkHandlers);const f=this.runtimeRequirements.has(r.hmrDownloadUpdateHandlers);const p=this.runtimeRequirements.has(r.hmrDownloadManifest);const d=this.compilation.getPath(o(e,this.compilation.outputOptions),{chunk:e,contentHashType:"javascript"});const h=a(d,false);return s.asString(["// object to store loaded chunks",'// "1" means "already loaded"',"var installedChunks = {",s.indent(e.ids.map(e=>`${JSON.stringify(e)}: 1`).join(",\n")),"};","",l?s.asString(["// importScripts chunk loading",`${u}.i = function(chunkId, promises) {`,s.indent(['// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",s.indent([`${t}[${JSON.stringify(i)}] = function webpackChunkCallback(chunkIds, moreModules, runtime) {`,s.indent(["for(var moduleId in moreModules) {",s.indent([`if(${r.hasOwnProperty}(moreModules, moduleId)) {`,s.indent(`${r.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}","if(runtime) runtime(__webpack_require__);","while(chunkIds.length)",s.indent("installedChunks[chunkIds.pop()] = 1;")]),"};",`importScripts(${JSON.stringify(h)} + ${r.getChunkScriptFilename}(chunkId));`]),"}"]),"};"]):"// no chunk loading","",f?s.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",s.indent(["var success = false;",`${t}[${JSON.stringify(c)}] = function(moreModules, runtime) {`,s.indent(["for(var moduleId in moreModules) {",s.indent([`if(${r.hasOwnProperty}(moreModules, moduleId)) {`,s.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","success = true;"]),"};","// start update chunk loading",`importScripts(${JSON.stringify(h)} + ${r.getChunkUpdateScriptFilename}(chunkId));`,'if(!success) throw new Error("Loading update chunk failed for unknown reason");']),"}","",s.getFunctionContent(n(22215)).replace(/\$key\$/g,"importScrips").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,r.moduleCache).replace(/\$moduleFactories\$/g,r.moduleFactories).replace(/\$ensureChunkHandlers\$/g,r.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,r.hasOwnProperty).replace(/\$hmrModuleData\$/g,r.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,r.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,r.hmrInvalidateModuleHandlers)]):"// no HMR","",p?s.asString([`${r.hmrDownloadManifest} = function() {`,s.indent(['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${r.publicPath} + ${r.getUpdateManifestFilename}()).then(function(response) {`,s.indent(["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"]),"});"]),"};"]):"// no HMR manifest"])}}e.exports=ImportScriptsChunkLoadingRuntimeModule},67439:(e,t,n)=>{"use strict";const{ConcatSource:r}=n(48135);const i=n(22352);const s=n(76150);const o=n(58159);const a=n(18161);const c=n(64997);const u=n(92208);class WebWorkerTemplatePlugin{apply(e){new c({asyncChunkLoading:true}).apply(e);e.hooks.thisCompilation.tap("WebWorkerTemplatePlugin",e=>{const t=a.getCompilationHooks(e);t.renderChunk.tap("WebWorkerTemplatePlugin",(e,t)=>{const{chunk:n,chunkGraph:s,runtimeTemplate:a}=t;const c=n instanceof i?n:null;const u=a.outputOptions.globalObject;const l=new r;const f=s.getChunkRuntimeModulesInOrder(n);const p=f.length>0&&o.renderChunkRuntimeModules(f,t);if(c){const t=a.outputOptions.hotUpdateFunction;l.add(`${u}[${JSON.stringify(t)}](`);l.add(e);if(p){l.add(",\n");l.add(p)}l.add(")")}else{const t=a.outputOptions.chunkCallbackName;l.add(`${u}[${JSON.stringify(t)}](`);l.add(`${JSON.stringify(n.ids)},`);l.add(e);if(p){l.add(",\n");l.add(p)}l.add(")")}return l});t.chunkHash.tap("WebWorkerTemplatePlugin",(e,t,{runtimeTemplate:n})=>{if(e.hasRuntime())return;t.update("webworker");t.update("1");t.update(`${n.outputOptions.chunkCallbackName}`);t.update(`${n.outputOptions.hotUpdateFunction}`);t.update(`${n.outputOptions.globalObject}`)});const n=new WeakSet;const c=(t,r)=>{if(n.has(t))return;n.add(t);r.add(s.moduleFactoriesAddOnly);r.add(s.hasOwnProperty);e.addRuntimeModule(t,new u(r))};e.hooks.runtimeRequirementInTree.for(s.ensureChunkHandlers).tap("WebWorkerTemplatePlugin",c);e.hooks.runtimeRequirementInTree.for(s.hmrDownloadUpdateHandlers).tap("WebWorkerTemplatePlugin",c);e.hooks.runtimeRequirementInTree.for(s.hmrDownloadManifest).tap("WebWorkerTemplatePlugin",c);e.hooks.runtimeRequirementInTree.for(s.ensureChunkHandlers).tap("WebWorkerTemplatePlugin",(e,t)=>{t.add(s.publicPath);t.add(s.getChunkScriptFilename)});e.hooks.runtimeRequirementInTree.for(s.hmrDownloadUpdateHandlers).tap("WebWorkerTemplatePlugin",(e,t)=>{t.add(s.publicPath);t.add(s.getChunkUpdateScriptFilename);t.add(s.moduleCache);t.add(s.hmrModuleData);t.add(s.moduleFactoriesAddOnly)});e.hooks.runtimeRequirementInTree.for(s.hmrDownloadManifest).tap("WebWorkerTemplatePlugin",(e,t)=>{t.add(s.publicPath);t.add(s.getUpdateManifestFilename)})})}}e.exports=WebWorkerTemplatePlugin},22170:(e,t,n)=>{"use strict";const r=n(73154);const i=n(43040);e.exports=class AliasFieldPlugin{constructor(e,t,n){this.source=e;this.field=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AliasFieldPlugin",(n,s,o)=>{if(!n.descriptionFileData)return o();const a=i(e,n);if(!a)return o();const c=r.getField(n.descriptionFileData,this.field);if(c===null||typeof c!=="object"){if(s.log)s.log("Field '"+this.field+"' doesn't contain a valid alias configuration");return o()}const u=c[a];const l=c[a.replace(/^\.\//,"")];const f=typeof u!=="undefined"?u:l;if(f===a)return o();if(f===undefined)return o();if(f===false){const e={...n,path:false};return o(null,e)}const p={...n,path:n.descriptionFileRoot,request:f,fullySpecified:false};e.doResolve(t,p,"aliased from description file "+n.descriptionFilePath+" with mapping '"+a+"' to '"+f+"'",s,(e,t)=>{if(e)return o(e);if(t===undefined)return o(null,null);o(null,t)})})}}},1037:(e,t,n)=>{"use strict";const r=n(86373);e.exports=class AliasPlugin{constructor(e,t,n){this.source=e;this.options=Array.isArray(t)?t:[t];this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AliasPlugin",(n,i,s)=>{const o=n.request||n.path;if(!o)return s();r(this.options,(s,a)=>{let c=false;if(o===s.name||!s.onlyModule&&o.startsWith(s.name+"/")){const u=o.substr(s.name.length);const l=(r,a)=>{if(r===false){const e={...n,path:false};return a(null,e)}if(o!==r&&!o.startsWith(r+"/")){c=true;const o=r+u;const l={...n,request:o,fullySpecified:false};return e.doResolve(t,l,"aliased with mapping '"+s.name+"': '"+r+"' to '"+o+"'",i,(e,t)=>{if(e)return a(e);if(t)return a(null,t);return a()})}return a()};const f=(e,t)=>{if(e)return a(e);if(t)return a(null,t);if(c)return a(null,null);return a()};if(Array.isArray(s.alias)){return r(s.alias,l,f)}else{return l(s.alias,f)}}return a()},s)})}}},44296:e=>{"use strict";e.exports=class AppendPlugin{constructor(e,t,n){this.source=e;this.appending=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AppendPlugin",(n,r,i)=>{const s={...n,path:n.path+this.appending,relativePath:n.relativePath&&n.relativePath+this.appending};e.doResolve(t,s,this.appending,r,i)})}}},76537:e=>{"use strict";const t=e=>{let t=e.length-1;while(t>=0){const n=e.charCodeAt(t);if(n===47||n===92)break;t--}if(t<0)return"";return e.slice(0,t)};const n=(e,t,n)=>{if(e.length===1)return e[0](t,n);let r;for(const i of e){try{i(t,n)}catch(e){if(!r)r=e}}e.length=0;if(r)throw r};class OperationMergerBackend{constructor(e,t,r){this._provider=e;this._syncProvider=t;this._providerContext=r;this._activeAsyncOperations=new Map;this.provide=this._provider?(t,r,i)=>{if(typeof r==="function"){i=r;r=undefined}if(r){return this._provider.call(this._providerContext,t,r,i)}if(typeof t!=="string"){i(new TypeError("path must be a string"));return}let s=this._activeAsyncOperations.get(t);if(s){s.push(i);return}this._activeAsyncOperations.set(t,s=[i]);e(t,(e,r)=>{this._activeAsyncOperations.delete(t);n(s,e,r)})}:null;this.provideSync=this._syncProvider?(e,t)=>{return this._syncProvider.call(this._providerContext,e,t)}:null}purge(){}purgeParent(){}}const r=0;const i=1;const s=2;class CacheBackend{constructor(e,t,n,i){this._duration=e;this._provider=t;this._syncProvider=n;this._providerContext=i;this._activeAsyncOperations=new Map;this._data=new Map;this._levels=[];for(let e=0;e<10;e++)this._levels.push(new Set);for(let t=5e3;t{this._activeAsyncOperations.delete(e);this._storeResult(e,t,r);this._enterAsyncMode();n(o,t,r)})}provideSync(e,t){if(typeof e!=="string"){throw new TypeError("path must be a string")}if(t){return this._syncProvider.call(this._providerContext,e,t)}if(this._mode===i){this._runDecays()}let r=this._data.get(e);if(r!==undefined){if(r.err)throw r.err;return r.result}const s=this._activeAsyncOperations.get(e);this._activeAsyncOperations.delete(e);let o;try{o=this._syncProvider.call(this._providerContext,e)}catch(t){this._storeResult(e,t,undefined);this._enterSyncModeWhenIdle();if(s)n(s,t,undefined);throw t}this._storeResult(e,undefined,o);this._enterSyncModeWhenIdle();if(s)n(s,undefined,o);return o}purge(e){if(!e){if(this._mode!==r){this._data.clear();for(const e of this._levels){e.clear()}this._enterIdleMode()}}else if(typeof e==="string"){for(let[t,n]of this._data){if(t.startsWith(e)){this._data.delete(t);n.level.delete(t)}}if(this._data.size===0){this._enterIdleMode()}}else{for(let[t,n]of this._data){for(const r of e){if(t.startsWith(r)){this._data.delete(t);n.level.delete(t);break}}}if(this._data.size===0){this._enterIdleMode()}}}purgeParent(e){if(!e){this.purge()}else if(typeof e==="string"){this.purge(t(e))}else{const n=new Set;for(const r of e){n.add(t(r))}this.purge(n)}}_storeResult(e,t,n){if(this._data.has(e))return;const r=this._levels[this._currentLevel];this._data.set(e,{err:t,result:n,level:r});r.add(e)}_decayLevel(){const e=(this._currentLevel+1)%this._levels.length;const t=this._levels[e];this._currentLevel=e;for(let e of t){this._data.delete(e)}t.clear();if(this._data.size===0){this._enterIdleMode()}else{this._nextDecay+=this._tickInterval}}_runDecays(){while(this._nextDecay<=Date.now()&&this._mode!==r){this._decayLevel()}}_enterAsyncMode(){let e=0;switch(this._mode){case s:return;case r:this._nextDecay=Date.now()+this._tickInterval;e=this._tickInterval;break;case i:this._runDecays();if(this._mode===r)return;e=Math.max(0,this._nextDecay-Date.now());break}this._mode=s;const t=setTimeout(()=>{this._mode=i;this._runDecays()},e);if(t.unref)t.unref();this._timeout=t}_enterSyncModeWhenIdle(){if(this._mode===r){this._mode=i;this._nextDecay=Date.now()+this._tickInterval}}_enterIdleMode(){this._mode=r;this._nextDecay=undefined;if(this._timeout)clearTimeout(this._timeout)}}const o=(e,t,n,r)=>{if(e>0){return new CacheBackend(e,t,n,r)}return new OperationMergerBackend(t,n,r)};e.exports=class CachedInputFileSystem{constructor(e,t){this.fileSystem=e;this._statBackend=o(t,this.fileSystem.stat,this.fileSystem.statSync,this.fileSystem);this.stat=this._statBackend.provide;this.statSync=this._statBackend.provideSync;this._readdirBackend=o(t,this.fileSystem.readdir,this.fileSystem.readdirSync,this.fileSystem);this.readdir=this._readdirBackend.provide;this.readdirSync=this._readdirBackend.provideSync;this._readFileBackend=o(t,this.fileSystem.readFile,this.fileSystem.readFileSync,this.fileSystem);this.readFile=this._readFileBackend.provide;this.readFileSync=this._readFileBackend.provideSync;this._readJsonBackend=o(t,this.fileSystem.readJson||this.readFile&&((e,t)=>{this.readFile(e,(e,n)=>{if(e)return t(e);if(!n||n.length===0)return t(new Error("No file content"));let r;try{r=JSON.parse(n.toString("utf-8"))}catch(e){return t(e)}t(null,r)})}),this.fileSystem.readJsonSync||this.readFileSync&&(e=>{const t=this.readFileSync(e);const n=JSON.parse(t.toString("utf-8"));return n}),this.fileSystem);this.readJson=this._readJsonBackend.provide;this.readJsonSync=this._readJsonBackend.provideSync;this._readlinkBackend=o(t,this.fileSystem.readlink,this.fileSystem.readlinkSync,this.fileSystem);this.readlink=this._readlinkBackend.provide;this.readlinkSync=this._readlinkBackend.provideSync}purge(e){this._statBackend.purge(e);this._readdirBackend.purgeParent(e);this._readFileBackend.purge(e);this._readlinkBackend.purge(e);this._readJsonBackend.purge(e)}}},35142:(e,t,n)=>{"use strict";const r=n(62848).basename;e.exports=class CloneBasenamePlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("CloneBasenamePlugin",(n,i,s)=>{const o=r(n.path);const a=e.join(n.path,o);const c={...n,path:a,relativePath:n.relativePath&&e.join(n.relativePath,o)};e.doResolve(t,c,"using path: "+a,i,s)})}}},74636:e=>{"use strict";e.exports=class ConditionalPlugin{constructor(e,t,n,r,i){this.source=e;this.test=t;this.message=n;this.allowAlternatives=r;this.target=i}apply(e){const t=e.ensureHook(this.target);const{test:n,message:r,allowAlternatives:i}=this;e.getHook(this.source).tapAsync("ConditionalPlugin",(s,o,a)=>{for(const e of Object.keys(n)){if(!s[e]===n[e])return a()}e.doResolve(t,s,r,o,i?a:(e,t)=>{if(e)return a(e);if(t===undefined)return a(null,null);a(null,t)})})}}},71929:(e,t,n)=>{"use strict";const r=n(73154);e.exports=class DescriptionFilePlugin{constructor(e,t,n,r){this.source=e;this.filenames=t;this.pathIsFile=n;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DescriptionFilePlugin",(n,i,s)=>{const o=n.path;if(!o)return s();const a=this.pathIsFile?r.cdUp(o):o;if(!a)return s();r.loadDescriptionFile(e,a,this.filenames,n.descriptionFilePath?{path:n.descriptionFilePath,content:n.descriptionFileData,directory:n.descriptionFileRoot}:undefined,i,(r,c)=>{if(r)return s(r);if(!c){if(i.log)i.log(`No description file found in ${a} or above`);return s()}const u="."+o.substr(c.directory.length).replace(/\\/g,"/");const l={...n,descriptionFilePath:c.path,descriptionFileData:c.content,descriptionFileRoot:c.directory,relativePath:u};e.doResolve(t,l,"using description file: "+c.path+" (relative path: "+u+")",i,(e,t)=>{if(e)return s(e);if(t===undefined)return s(null,null);s(null,t)})})})}}},73154:(e,t,n)=>{"use strict";const r=n(86373);function loadDescriptionFile(e,t,n,i,s,o){(function findDescriptionFile(){if(i&&i.directory===t){return o(null,i)}r(n,(n,r)=>{const i=e.join(t,n);if(e.fileSystem.readJson){e.fileSystem.readJson(i,(e,t)=>{if(e){if(typeof e.code!=="undefined"){if(s.missingDependencies){s.missingDependencies.add(i)}return r()}if(s.fileDependencies){s.fileDependencies.add(i)}return onJson(e)}if(s.fileDependencies){s.fileDependencies.add(i)}onJson(null,t)})}else{e.fileSystem.readFile(i,(e,t)=>{if(e){if(s.missingDependencies){s.missingDependencies.add(i)}return r()}if(s.fileDependencies){s.fileDependencies.add(i)}let n;if(t){try{n=JSON.parse(t.toString())}catch(e){return onJson(e)}}else{return onJson(new Error("No content in file"))}onJson(null,n)})}function onJson(e,n){if(e){if(s.log)s.log(i+" (directory description file): "+e);else e.message=i+" (directory description file): "+e;return r(e)}r(null,{content:n,directory:t,path:i})}},(e,n)=>{if(e)return o(e);if(n){return o(null,n)}else{const e=cdUp(t);if(!e){return o()}else{t=e;return findDescriptionFile()}}})})()}function getField(e,t){if(!e)return undefined;if(Array.isArray(t)){let n=e;for(let e=0;e{"use strict";e.exports=class DirectoryExistsPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DirectoryExistsPlugin",(n,r,i)=>{const s=e.fileSystem;const o=n.path;if(!o)return i();s.stat(o,(s,a)=>{if(s||!a){if(r.missingDependencies)r.missingDependencies.add(o);if(r.log)r.log(o+" doesn't exist");return i()}if(!a.isDirectory()){if(r.missingDependencies)r.missingDependencies.add(o);if(r.log)r.log(o+" is not a directory");return i()}if(r.fileDependencies)r.fileDependencies.add(o);e.doResolve(t,n,`existing directory ${o}`,r,i)})})}}},92410:(e,t,n)=>{"use strict";const r=n(85622);const i=n(73154);const s=n(86373);const{checkExportsFieldTarget:o}=n(63210);const a=n(6252);e.exports=class ExportsFieldPlugin{constructor(e,t,n,r){this.source=e;this.target=r;this.conditionNames=t;this.fieldName=n;this.exportsFieldProcessorCache=new WeakMap}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ExportsFieldPlugin",(n,c,u)=>{if(!n.descriptionFilePath)return u();if(n.relativePath!=="."||n.request===undefined)return u();const l=n.query||n.fragment?(n.request==="."?"./":n.request)+n.query+n.fragment:n.request;const f=i.getField(n.descriptionFileData,this.fieldName);if(!f)return u();if(n.directory){return u(new Error(`Resolving to directories is not possible with the exports field (request was ${l}/)`))}let p;try{let e=this.exportsFieldProcessorCache.get(n.descriptionFileData);if(e===undefined){e=a(f);this.exportsFieldProcessorCache.set(n.descriptionFileData,e)}p=e(l,this.conditionNames)}catch(e){if(c.log){c.log(`Exports field in ${n.descriptionFilePath} can't be processed: ${e}`)}return u(e)}if(p.length===0){return u(new Error(`Package path ${l} is not exported from package ${n.descriptionFileRoot} (see exports field in ${n.descriptionFilePath})`))}s(p,(i,s)=>{const a=/^([^?#]*)(\?[^#]*)?(#.*)?$/.exec(i);if(!a)return s();const[,u,l,f]=a;const p=o(u);if(p){return s(p)}const d={...n,request:undefined,path:r.join(n.descriptionFileRoot,u),relativePath:u,query:l||"",fragment:f||""};e.doResolve(t,d,"using exports field: "+i,c,s)},(e,t)=>u(e,t||null))})}}},27426:e=>{"use strict";e.exports=class FileExistsPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);const n=e.fileSystem;e.getHook(this.source).tapAsync("FileExistsPlugin",(r,i,s)=>{const o=r.path;if(!o)return s();n.stat(o,(n,a)=>{if(n||!a){if(i.missingDependencies)i.missingDependencies.add(o);if(i.log)i.log(o+" doesn't exist");return s()}if(!a.isFile()){if(i.missingDependencies)i.missingDependencies.add(o);if(i.log)i.log(o+" is not a file");return s()}if(i.fileDependencies)i.fileDependencies.add(o);e.doResolve(t,r,"existing file: "+o,i,s)})})}}},24587:e=>{"use strict";const t="@".charCodeAt(0);e.exports=class JoinRequestPartPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const n=e.ensureHook(this.target);e.getHook(this.source).tapAsync("JoinRequestPartPlugin",(r,i,s)=>{const o=r.request||"";let a=o.indexOf("/",3);if(a>=0&&o.charCodeAt(2)===t){a=o.indexOf("/",a+1)}let c,u,l;if(a<0){c=o;u=".";l=false}else{c=o.slice(0,a);u="."+o.slice(a);l=r.fullySpecified}const f={...r,path:e.join(r.path,c),relativePath:r.relativePath&&e.join(r.relativePath,c),request:u,fullySpecified:l};e.doResolve(n,f,null,i,s)})}}},15241:e=>{"use strict";e.exports=class JoinRequestPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("JoinRequestPlugin",(n,r,i)=>{const s={...n,path:e.join(n.path,n.request),relativePath:n.relativePath&&e.join(n.relativePath,n.request),request:undefined};e.doResolve(t,s,null,r,i)})}}},41529:e=>{"use strict";e.exports=class LogInfoPlugin{constructor(e){this.source=e}apply(e){const t=this.source;e.getHook(this.source).tapAsync("LogInfoPlugin",(e,n,r)=>{if(!n.log)return r();const i=n.log;const s="["+t+"] ";if(e.path)i(s+"Resolving in directory: "+e.path);if(e.request)i(s+"Resolving request: "+e.request);if(e.module)i(s+"Request is an module request.");if(e.directory)i(s+"Request is a directory request.");if(e.query)i(s+"Resolving request query: "+e.query);if(e.fragment)i(s+"Resolving request fragment: "+e.fragment);if(e.descriptionFilePath)i(s+"Has description data from "+e.descriptionFilePath);if(e.relativePath)i(s+"Relative path from description file is: "+e.relativePath);r()})}}},78253:(e,t,n)=>{"use strict";const r=n(85622);const i=n(73154);const s=Symbol("alreadyTriedMainField");e.exports=class MainFieldPlugin{constructor(e,t,n){this.source=e;this.options=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("MainFieldPlugin",(n,o,a)=>{if(n.path!==n.descriptionFileRoot||n[s]===n.descriptionFilePath||!n.descriptionFilePath)return a();const c=r.basename(n.descriptionFilePath);let u=i.getField(n.descriptionFileData,this.options.name);if(!u||typeof u!=="string"||u==="."||u==="./"){return a()}if(this.options.forceRelative&&!/^\.\.?\//.test(u))u="./"+u;const l={...n,request:u,module:false,directory:u.endsWith("/"),[s]:n.descriptionFilePath};return e.doResolve(t,l,"use "+u+" from "+this.options.name+" in "+c,o,a)})}}},25535:(e,t,n)=>{"use strict";const r=n(86373);const i=n(62848);e.exports=class ModulesInHierachicDirectoriesPlugin{constructor(e,t,n){this.source=e;this.directories=[].concat(t);this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInHierachicDirectoriesPlugin",(n,s,o)=>{const a=e.fileSystem;const c=i(n.path).paths.map(t=>{return this.directories.map(n=>e.join(t,n))}).reduce((e,t)=>{e.push.apply(e,t);return e},[]);r(c,(r,i)=>{a.stat(r,(o,a)=>{if(!o&&a&&a.isDirectory()){const o={...n,path:r,request:"./"+n.request,module:false};const a="looking for modules in "+r;return e.doResolve(t,o,a,s,i)}if(s.log)s.log(r+" doesn't exist or is not a directory");if(s.missingDependencies)s.missingDependencies.add(r);return i()})},o)})}}},90435:e=>{"use strict";e.exports=class ModulesInRootPlugin{constructor(e,t,n){this.source=e;this.path=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInRootPlugin",(n,r,i)=>{const s={...n,path:this.path,request:"./"+n.request,module:false};e.doResolve(t,s,"looking for modules in "+this.path,r,i)})}}},24561:e=>{"use strict";e.exports=class NextPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("NextPlugin",(n,r,i)=>{e.doResolve(t,n,null,r,i)})}}},19749:e=>{"use strict";e.exports=class ParsePlugin{constructor(e,t,n){this.source=e;this.requestOptions=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ParsePlugin",(n,r,i)=>{const s=e.parse(n.request);const o={...n,...s,...this.requestOptions};if(n.query&&!s.query){o.query=n.query}if(n.fragment&&!s.fragment){o.fragment=n.fragment}if(s&&r.log){if(s.module)r.log("Parsed request is a module");if(s.directory)r.log("Parsed request is a directory")}e.doResolve(t,o,null,r,i)})}}},33014:e=>{"use strict";e.exports=class PnpPlugin{constructor(e,t,n){this.source=e;this.pnpApi=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("PnpPlugin",(n,r,i)=>{const s=n.request;if(!s)return i();const o=`${n.path}/`;let a;let c;try{a=this.pnpApi.resolveToUnqualified(s,o,{considerBuiltins:false});if(r.fileDependencies){c=this.pnpApi.resolveToUnqualified("pnpapi",o,{considerBuiltins:false})}}catch(e){return i(e)}if(a===s)return i();if(c&&r.fileDependencies){r.fileDependencies.add(c)}const u={...n,path:a,request:undefined,ignoreSymlinks:true};e.doResolve(t,u,`resolved by pnp to ${a}`,r,(e,t)=>{if(e)return i(e);if(t)return i(null,t);return i(null,null)})})}}},67230:(e,t,n)=>{"use strict";const{AsyncSeriesBailHook:r,AsyncSeriesHook:i,SyncHook:s}=n(92960);const o=n(2828);const{normalize:a,cachedJoin:c,getType:u,PathType:l}=n(63210);function toCamelCase(e){return e.replace(/-([a-z])/g,e=>e.substr(1).toUpperCase())}class Resolver{static createStackEntry(e,t){return e.name+": ("+t.path+") "+(t.request||"")+(t.query||"")+(t.fragment||"")+(t.directory?" directory":"")+(t.module?" module":"")}constructor(e,t){this.fileSystem=e;this.options=t;this.hooks={resolveStep:new s(["hook","request"],"resolveStep"),noResolve:new s(["request","error"],"noResolve"),resolve:new r(["request","resolveContext"],"resolve"),result:new i(["result","resolveContext"],"result")}}ensureHook(e){if(typeof e!=="string"){return e}e=toCamelCase(e);if(/^before/.test(e)){return this.ensureHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.ensureHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){return this.hooks[e]=new r(["request","resolveContext"],e)}return t}getHook(e){if(typeof e!=="string"){return e}e=toCamelCase(e);if(/^before/.test(e)){return this.getHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.getHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){throw new Error(`Hook ${e} doesn't exist`)}return t}resolveSync(e,t,n){let r=undefined;let i=undefined;let s=false;this.resolve(e,t,n,{},(e,t)=>{r=e;i=t;s=true});if(!s){throw new Error("Cannot 'resolveSync' because the fileSystem is not sync. Use 'resolve'!")}if(r)throw r;if(i===undefined)throw new Error("No result");return i}resolve(e,t,n,r,i){const s={context:e,path:t,request:n};const o=`resolve '${n}' in '${t}'`;const a=e=>{return i(null,e.path===false?false:`${e.path}${e.query||""}${e.fragment||""}`,e)};const c=e=>{const t=new Error("Can't "+o);t.details=e.join("\n");this.hooks.noResolve.call(s,t);return i(t)};if(r.log){const e=r.log;const t=[];return this.doResolve(this.hooks.resolve,s,o,{log:n=>{e(n);t.push(n)},fileDependencies:r.fileDependencies,contextDependencies:r.contextDependencies,missingDependencies:r.missingDependencies,stack:r.stack},(e,n)=>{if(e)return i(e);if(n)return a(n);return c(t)})}else{return this.doResolve(this.hooks.resolve,s,o,{log:undefined,fileDependencies:r.fileDependencies,contextDependencies:r.contextDependencies,missingDependencies:r.missingDependencies,stack:r.stack},(e,t)=>{if(e)return i(e);if(t)return a(t);const n=[];return this.doResolve(this.hooks.resolve,s,o,{log:e=>n.push(e),stack:r.stack},(e,t)=>{if(e)return i(e);return c(n)})})}}doResolve(e,t,n,r,i){const s=Resolver.createStackEntry(e,t);let a;if(r.stack){a=new Set(r.stack);if(r.stack.has(s)){const e=new Error("Recursion in resolving\nStack:\n "+Array.from(a).join("\n "));e.recursion=true;if(r.log)r.log("abort resolving because of recursion");return i(e)}a.add(s)}else{a=new Set([s])}this.hooks.resolveStep.call(e,t);if(e.isUsed()){const s=o({log:r.log,fileDependencies:r.fileDependencies,contextDependencies:r.contextDependencies,missingDependencies:r.missingDependencies,stack:a},n);return e.callAsync(t,s,(e,t)=>{if(e)return i(e);if(t)return i(null,t);i()})}else{i()}}parse(e){const t={request:"",query:"",fragment:"",module:false,directory:false,file:false};const n=/^([^?#]*)(\?[^#]*)?(#.*)?$/.exec(e);if(!n)return t;t.request=n[1]||"";t.query=n[2]||"";t.fragment=n[3]||"";if(t.request){t.module=this.isModule(t.request);t.directory=this.isDirectory(t.request);if(t.directory){t.request=t.request.substr(0,t.request.length-1)}}return t}isModule(e){return u(e)===l.Normal}isDirectory(e){return e.endsWith("/")}join(e,t){return c(e,t)}normalize(e){return a(e)}}e.exports=Resolver},34739:(e,t,n)=>{"use strict";const r=n(67230);const{getType:i,PathType:s}=n(63210);const o=n(82728);const a=n(22170);const c=n(1037);const u=n(44296);const l=n(74636);const f=n(71929);const p=n(78613);const d=n(92410);const h=n(27426);const m=n(24587);const g=n(15241);const y=n(78253);const v=n(25535);const _=n(90435);const b=n(24561);const E=n(19749);const w=n(33014);const S=n(31801);const k=n(51078);const D=n(70821);const x=n(63888);const C=n(86293);const A=n(91434);const T=n(16004);const M=n(36142);function processPnpApiOption(e){if(e===undefined&&process.versions.pnp){return n(98063)}return e||null}function createOptions(e){const t=new Set(e.mainFields||["main"]);const n=[];for(const e of t){if(typeof e==="string"){n.push({name:[e],forceRelative:true})}else if(Array.isArray(e)){n.push({name:e,forceRelative:true})}else{n.push({name:Array.isArray(e.name)?e.name:[e.name],forceRelative:e.forceRelative})}}return{alias:typeof e.alias==="object"&&!Array.isArray(e.alias)&&e.alias!==null?aliasOptionsToArray(e.alias):e.alias||[],aliasFields:new Set(e.aliasFields),cachePredicate:e.cachePredicate||function(){return true},cacheWithContext:typeof e.cacheWithContext!=="undefined"?e.cacheWithContext:true,exportsFields:new Set(e.exportsFields||["exports"]),conditionNames:new Set(e.conditionNames),descriptionFiles:Array.from(new Set(e.descriptionFiles||["package.json"])),enforceExtension:e.enforceExtension||false,extensions:new Set(e.extensions||[".js",".json",".node"]),fileSystem:e.useSyncFileSystemCalls?new o(e.fileSystem):e.fileSystem,unsafeCache:e.unsafeCache&&typeof e.unsafeCache!=="object"?{}:e.unsafeCache||false,symlinks:typeof e.symlinks!=="undefined"?e.symlinks:true,resolver:e.resolver,modules:mergeFilteredToArray(Array.isArray(e.modules)?e.modules:e.modules?[e.modules]:["node_modules"],e=>{const t=i(e);return t===s.Normal||t===s.Relative}),mainFields:n,mainFiles:new Set(e.mainFiles||["index"]),plugins:e.plugins||[],pnpApi:processPnpApiOption(e.pnpApi),roots:new Set(e.roots||undefined),fullySpecified:e.fullySpecified||false,resolveToContext:e.resolveToContext||false,restrictions:new Set(e.restrictions)}}t.createResolver=function(e){const t=createOptions(e);const{alias:n,aliasFields:i,cachePredicate:s,cacheWithContext:o,conditionNames:O,descriptionFiles:F,enforceExtension:I,exportsFields:R,extensions:P,fileSystem:N,fullySpecified:L,mainFields:B,mainFiles:j,modules:U,plugins:z,pnpApi:H,resolveToContext:V,symlinks:G,unsafeCache:q,resolver:W,restrictions:K,roots:X}=t;const J=z.slice();const Y=W?W:new r(N,t);Y.ensureHook("resolve");Y.ensureHook("internalResolve");Y.ensureHook("newInteralResolve");Y.ensureHook("parsedResolve");Y.ensureHook("describedResolve");Y.ensureHook("rawModule");Y.ensureHook("module");Y.ensureHook("resolveAsModule");Y.ensureHook("undescribedResolveInPackage");Y.ensureHook("resolveInPackage");Y.ensureHook("resolveInExistingDirectory");Y.ensureHook("relative");Y.ensureHook("describedRelative");Y.ensureHook("directory");Y.ensureHook("undescribedExistingDirectory");Y.ensureHook("existingDirectory");Y.ensureHook("undescribedRawFile");Y.ensureHook("rawFile");Y.ensureHook("file");Y.ensureHook("finalFile");Y.ensureHook("existingFile");Y.ensureHook("resolved");for(const{source:e,resolveOptions:t}of[{source:"resolve",resolveOptions:{fullySpecified:L}},{source:"internal-resolve",resolveOptions:{fullySpecified:false}}]){if(q){J.push(new T(e,s,q,o,`new-${e}`));J.push(new E(`new-${e}`,t,"parsed-resolve"))}else{J.push(new E(e,t,"parsed-resolve"))}}J.push(new f("parsed-resolve",F,false,"described-resolve"));J.push(new b("after-parsed-resolve","described-resolve"));if(n.length>0)J.push(new c("described-resolve",n,"internal-resolve"));i.forEach(e=>{J.push(new a("described-resolve",e,"internal-resolve"))});J.push(new l("after-described-resolve",{module:true},"resolve as module",false,"raw-module"));if(X.size>0){J.push(new D("after-described-resolve",X,"relative"))}J.push(new g("after-described-resolve","relative"));R.forEach(e=>{J.push(new x("raw-module",e,"resolve-as-module"))});if(H){J.push(new w("raw-module",H,"relative"))}U.forEach(e=>{if(Array.isArray(e))J.push(new v("raw-module",e,"module"));else J.push(new _("raw-module",e,"module"))});J.push(new m("module","resolve-as-module"));if(!V){J.push(new l("resolve-as-module",{directory:false},"single file module",true,"undescribed-raw-file"))}J.push(new p("resolve-as-module","undescribed-resolve-in-package"));J.push(new f("undescribed-resolve-in-package",F,false,"resolve-in-package"));J.push(new b("after-undescribed-resolve-in-package","resolve-in-package"));R.forEach(e=>{J.push(new d("resolve-in-package",O,e,"final-file"))});J.push(new b("resolve-in-package","resolve-in-existing-directory"));J.push(new g("resolve-in-existing-directory","relative"));J.push(new f("relative",F,true,"described-relative"));J.push(new b("after-relative","described-relative"));if(V){J.push(new b("described-relative","directory"))}else{J.push(new l("described-relative",{directory:false},null,true,"raw-file"));J.push(new l("described-relative",{fullySpecified:false},"as directory",true,"directory"))}J.push(new p("directory","undescribed-existing-directory"));if(V){J.push(new b("undescribed-existing-directory","resolved"))}else{J.push(new f("undescribed-existing-directory",F,false,"existing-directory"));j.forEach(e=>{J.push(new M("undescribed-existing-directory",e,"undescribed-raw-file"))});B.forEach(e=>{J.push(new y("existing-directory",e,"resolve-in-existing-directory"))});j.forEach(e=>{J.push(new M("existing-directory",e,"undescribed-raw-file"))});J.push(new f("undescribed-raw-file",F,true,"raw-file"));J.push(new b("after-undescribed-raw-file","raw-file"));J.push(new l("raw-file",{fullySpecified:true},null,false,"file"));if(!I){J.push(new A("raw-file","no extension","file"))}P.forEach(e=>{J.push(new u("raw-file",e,"file"))});if(n.length>0)J.push(new c("file",n,"internal-resolve"));i.forEach(e=>{J.push(new a("file",e,"internal-resolve"))});J.push(new b("file","final-file"));J.push(new h("final-file","existing-file"));if(G)J.push(new C("existing-file","existing-file"));J.push(new b("existing-file","resolved"))}if(K.size>0){J.push(new S(Y.hooks.resolved,K))}J.push(new k(Y.hooks.resolved));for(const e of J){if(typeof e==="function"){e.call(Y,Y)}else{e.apply(Y)}}return Y};function aliasOptionsToArray(e){return Object.keys(e).map(t=>{const n={name:t,onlyModule:false,alias:e[t]};if(/\$$/.test(t)){n.onlyModule=true;n.name=t.substr(0,t.length-1)}return n})}function mergeFilteredToArray(e,t){const n=[];const r=new Set(e);for(const e of r){if(t(e)){const t=n.length>0?n[n.length-1]:undefined;if(Array.isArray(t)){t.push(e)}else{n.push([e])}}else{n.push(e)}}return n}},31801:e=>{"use strict";const t="/".charCodeAt(0);const n="\\".charCodeAt(0);const r=(e,r)=>{if(!e.startsWith(r))return false;if(e.length===r.length)return true;const i=e.charCodeAt(r.length);return i===t||i===n};e.exports=class RestrictionsPlugin{constructor(e,t){this.source=e;this.restrictions=t}apply(e){e.getHook(this.source).tapAsync("RestrictionsPlugin",(e,t,n)=>{if(typeof e.path==="string"){const i=e.path;for(const e of this.restrictions){if(typeof e==="string"){if(!r(i,e)){if(t.log){t.log(`${i} is not inside of the restriction ${e}`)}return n(null,null)}}else if(!e.test(i)){if(t.log){t.log(`${i} doesn't match the restriction ${e}`)}return n(null,null)}}}n()})}}},51078:e=>{"use strict";e.exports=class ResultPlugin{constructor(e){this.source=e}apply(e){this.source.tapAsync("ResultPlugin",(t,n,r)=>{const i={...t};if(n.log)n.log("reporting result "+i.path);e.hooks.result.callAsync(i,n,e=>{if(e)return r(e);r(null,i)})})}}},70821:(e,t,n)=>{"use strict";const r=n(86373);class RootsPlugin{constructor(e,t,n){this.roots=Array.from(t);this.source=e;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("RootsPlugin",(n,i,s)=>{const o=n.request;if(!o)return s();if(!o.startsWith("/"))return s();r(this.roots,(r,s)=>{const a=e.join(r,o.slice(1));const c={...n,path:a,relativePath:n.relativePath&&a};e.doResolve(t,c,`root path ${r}`,i,s)},s)})}}e.exports=RootsPlugin},63888:(e,t,n)=>{"use strict";const r=n(73154);const i="/".charCodeAt(0);e.exports=class SelfReferencePlugin{constructor(e,t,n){this.source=e;this.target=n;this.fieldName=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("SelfReferencePlugin",(n,s,o)=>{if(!n.descriptionFilePath)return o();const a=n.request;if(!a)return o();const c=r.getField(n.descriptionFileData,this.fieldName);if(!c)return o();const u=r.getField(n.descriptionFileData,"name");if(typeof u!=="string")return o();if(a.startsWith(u)&&(a.length===u.length||a.charCodeAt(u.length)===i)){const r=`.${a.slice(u.length)}`;const i={...n,request:r,path:n.descriptionFileRoot,relativePath:"."};e.doResolve(t,i,"self reference",s,o)}else{return o()}})}}},86293:(e,t,n)=>{"use strict";const r=n(86373);const i=n(62848);const{getType:s,PathType:o}=n(63210);e.exports=class SymlinkPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);const n=e.fileSystem;e.getHook(this.source).tapAsync("SymlinkPlugin",(a,c,u)=>{if(a.ignoreSymlinks)return u();const l=i(a.path);const f=l.seqments;const p=l.paths;let d=false;let h=-1;r(p,(e,t)=>{h++;if(c.fileDependencies)c.fileDependencies.add(e);n.readlink(e,(e,n)=>{if(!e&&n){f[h]=n;d=true;const e=s(n.toString());if(e===o.AbsoluteWin||e===o.AbsolutePosix){return t(null,h)}}t()})},(n,r)=>{if(!d)return u();const i=typeof r==="number"?f.slice(0,r+1):f.slice();const s=i.reduceRight((t,n)=>{return e.join(t,n)});const o={...a,path:s};e.doResolve(t,o,"resolved symlink to "+s,c,u)})})}}},82728:e=>{"use strict";function SyncAsyncFileSystemDecorator(e){this.fs=e;if(e.statSync){this.stat=((t,n)=>{let r;try{r=e.statSync(t)}catch(e){return n(e)}n(null,r)});this.statSync=(t=>e.statSync(t))}if(e.readdirSync){this.readdir=((t,n)=>{let r;try{r=e.readdirSync(t)}catch(e){return n(e)}n(null,r)});this.readdirSync=(t=>e.readdirSync(t))}if(e.readFileSync){this.readFile=((t,n)=>{let r;try{r=e.readFileSync(t)}catch(e){return n(e)}n(null,r)});this.readFileSync=(t=>e.readFileSync(t))}if(e.readlinkSync){this.readlink=((t,n)=>{let r;try{r=e.readlinkSync(t)}catch(e){return n(e)}n(null,r)});this.readlinkSync=(t=>e.readlinkSync(t))}if(e.readJsonSync){this.readJson=((t,n)=>{let r;try{r=e.readJsonSync(t)}catch(e){return n(e)}n(null,r)});this.readJsonSync=(t=>e.readJsonSync(t))}}e.exports=SyncAsyncFileSystemDecorator},91434:e=>{"use strict";e.exports=class TryNextPlugin{constructor(e,t,n){this.source=e;this.message=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("TryNextPlugin",(n,r,i)=>{e.doResolve(t,n,this.message,r,i)})}}},16004:e=>{"use strict";function getCacheId(e,t){return JSON.stringify({context:t?e.context:"",path:e.path,query:e.query,fragment:e.fragment,request:e.request})}e.exports=class UnsafeCachePlugin{constructor(e,t,n,r,i){this.source=e;this.filterPredicate=t;this.withContext=r;this.cache=n;this.target=i}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("UnsafeCachePlugin",(n,r,i)=>{if(!this.filterPredicate(n))return i();const s=getCacheId(n,this.withContext);const o=this.cache[s];if(o){return i(null,o)}e.doResolve(t,n,null,r,(e,t)=>{if(e)return i(e);if(t)return i(null,this.cache[s]=t);i()})})}}},36142:e=>{"use strict";e.exports=class UseFilePlugin{constructor(e,t,n){this.source=e;this.filename=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("UseFilePlugin",(n,r,i)=>{const s=e.join(n.path,this.filename);const o={...n,path:s,relativePath:n.relativePath&&e.join(n.relativePath,this.filename)};e.doResolve(t,o,"using path: "+s,r,i)})}}},2828:e=>{"use strict";e.exports=function createInnerContext(e,t,n){let r=false;let i=undefined;if(e.log){if(t){i=(n=>{if(!r){e.log(t);r=true}e.log(" "+n)})}else{i=e.log}}const s={log:i,fileDependencies:e.fileDependencies,contextDependencies:e.contextDependencies,missingDependencies:e.missingDependencies,stack:e.stack};return s}},86373:e=>{"use strict";e.exports=function forEachBail(e,t,n){if(e.length===0)return n();let r=0;let i=true;let s;const o=(a,c)=>{if(a||c!==undefined){if(i){s=[a,c];return}n(a,c);return}if(i){s=true;return}i=true;while(true){if(r===e.length)return n();t(e[r++],o);if(s!==undefined){if(s!==true){return n(...s)}s=undefined}else{i=false;return}}};i=true;while(true){if(r===e.length)return n();t(e[r++],o);if(s!==undefined){if(s!==true){return n(...s)}s=undefined}else{i=false;return}}}},43040:e=>{"use strict";e.exports=function getInnerRequest(e,t){if(typeof t.__innerRequest==="string"&&t.__innerRequest_request===t.request&&t.__innerRequest_relativePath===t.relativePath)return t.__innerRequest;let n;if(t.request){n=t.request;if(/^\.\.?\//.test(n)&&t.relativePath){n=e.join(t.relativePath,n)}}else{n=t.relativePath}t.__innerRequest_request=t.request;t.__innerRequest_relativePath=t.relativePath;return t.__innerRequest=n}},62848:e=>{"use strict";e.exports=function getPaths(e){const t=e.split(/(.*?[\\/]+)/);const n=[e];const r=[t[t.length-1]];let i=t[t.length-1];e=e.substr(0,e.length-i.length-1);for(let s=t.length-2;s>2;s-=2){n.push(e);i=t[s];e=e.substr(0,e.length-i.length)||"/";r.push(i.substr(0,i.length-1))}i=t[1];r.push(i);n.push(i);return{paths:n,seqments:r}};e.exports.basename=function basename(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("\\");const r=t<0?n:n<0?t:t{"use strict";const r=n(35747);const i=n(76537);const s=n(34739);const o=new i(r,4e3);const a={environments:["node+es3+es5+process+native"]};const c=s.createResolver({conditionNames:["node"],extensions:[".js",".json",".node"],fileSystem:o});function resolve(e,t,n,r,i){if(typeof e==="string"){i=r;r=n;n=t;t=e;e=a}if(typeof i!=="function"){i=r}c.resolve(e,t,n,r,i)}const u=s.createResolver({conditionNames:["node"],extensions:[".js",".json",".node"],useSyncFileSystemCalls:true,fileSystem:o});function resolveSync(e,t,n){if(typeof e==="string"){n=t;t=e;e=a}return u.resolveSync(e,t,n)}function create(e){e={fileSystem:o,...e};const t=s.createResolver(e);return function(e,n,r,i,s){if(typeof e==="string"){s=i;i=r;r=n;n=e;e=a}if(typeof s!=="function"){s=i}t.resolve(e,n,r,i,s)}}function createSync(e){e={useSyncFileSystemCalls:true,fileSystem:o,...e};const t=s.createResolver(e);return function(e,n,r){if(typeof e==="string"){r=n;n=e;e=a}return t.resolveSync(e,n,r)}}const l=(e,t)=>{const n=Object.getOwnPropertyDescriptors(t);Object.defineProperties(e,n);return Object.freeze(e)};e.exports=l(resolve,{get sync(){return resolveSync},create:l(create,{get sync(){return createSync}}),ResolverFactory:s,CachedInputFileSystem:i,get CloneBasenamePlugin(){return n(35142)},get LogInfoPlugin(){return n(41529)},get forEachBail(){return n(86373)}})},63210:(e,t,n)=>{"use strict";const r=n(85622);const i="/".charCodeAt(0);const s="\\".charCodeAt(0);const o="A".charCodeAt(0);const a="Z".charCodeAt(0);const c="a".charCodeAt(0);const u="z".charCodeAt(0);const l=".".charCodeAt(0);const f=":".charCodeAt(0);const p=r.posix.normalize;const d=r.win32.normalize;const h=Object.freeze({Empty:0,Normal:1,Relative:2,AbsoluteWin:3,AbsolutePosix:4});t.PathType=h;const m=e=>{switch(e.length){case 0:return h.Empty;case 1:{const t=e.charCodeAt(0);switch(t){case l:return h.Relative;case i:return h.AbsolutePosix}return h.Normal}case 2:{const t=e.charCodeAt(0);switch(t){case l:{const t=e.charCodeAt(1);switch(t){case l:case i:return h.Relative}return h.Normal}case i:return h.AbsolutePosix}const n=e.charCodeAt(1);if(n===f){if(t>=o&&t<=a||t>=c&&t<=u){return h.AbsoluteWin}}return h.Normal}}const t=e.charCodeAt(0);switch(t){case l:{const t=e.charCodeAt(1);switch(t){case i:return h.Relative;case l:{const t=e.charCodeAt(2);if(t===i)return h.Relative;return h.Normal}}return h.Normal}case i:return h.AbsolutePosix}const n=e.charCodeAt(1);if(n===f){const n=e.charCodeAt(2);if((n===s||n===i)&&(t>=o&&t<=a||t>=c&&t<=u)){return h.AbsoluteWin}}return h.Normal};t.getType=m;const g=e=>{switch(m(e)){case h.Empty:return e;case h.AbsoluteWin:return d(e);case h.Relative:{const t=p(e);return m(t)===h.Relative?t:`./${t}`}}return p(e)};t.normalize=g;const y=(e,t)=>{if(!t)return g(e);const n=m(t);switch(n){case h.AbsolutePosix:return p(t);case h.AbsoluteWin:return d(t)}switch(m(e)){case h.Normal:case h.Relative:case h.AbsolutePosix:return p(`${e}/${t}`);case h.AbsoluteWin:return d(`${e}\\${t}`)}switch(n){case h.Empty:return e;case h.Relative:{const t=p(e);return m(t)===h.Relative?t:`./${t}`}}return p(e)};t.join=y;const v=new Map;const _=(e,t)=>{let n;let r=v.get(e);if(r===undefined){v.set(e,r=new Map)}else{n=r.get(t);if(n!==undefined)return n}n=y(e,t);r.set(t,n);return n};t.cachedJoin=_;const b=e=>{let t=2;let n=e.indexOf("/",2);let r=0;while(n!==-1){const i=e.slice(t,n);switch(i){case"..":{r--;if(r<0)return new Error(`Trying to access out of package scope. Requesting ${e}`);break}default:r++;break}t=n+1;n=e.indexOf("/",t)}};t.checkExportsFieldTarget=b},6252:e=>{"use strict";const t="/".charCodeAt(0);const n=".".charCodeAt(0);e.exports=function processExportsField(e){const t=buildPathTree(e);return function exportsFieldProcessor(e,n){assertRequest(e);const r=findMatch(e,t);if(r===null)return[];let i=null;const[s,o]=r;if(isConditionalMapping(s)){i=conditionalMapping(s,n);if(i===null)return[]}else{i=s}const a=o!==e.length?e.slice(o):undefined;return directMapping(a,i,n)}};function assertRequest(e){if(e.charCodeAt(0)!==n){throw new Error('Request should be relative path and start with "."')}if(e.length===1)return;if(e.charCodeAt(1)!==t){throw new Error('Request should be relative path and start with "./"')}if(e.charCodeAt(e.length-1)===t){throw new Error("Only requesting file allowed")}}function findMatch(e,t){if(e.length===1){const e=t.files.get("*root*");return e?[e,1]:null}if(t.children===null&&t.folder===null){const n=t.files.get(e.slice(2));return n?[n,e.length]:null}let n=t;let r=2;let i=e.indexOf("/",2);let s=null;while(i!==-1){const t=e.slice(r,i);const o=n.folder;if(o){s=[o,r]}if(n.children===null)return s;const a=n.children.get(t);if(!a){const e=n.folder;return e?[e,r]:null}n=a;r=i+1;i=e.indexOf("/",r)}const o=n.files.get(e.slice(r));if(o){return[o,e.length]}const a=n.folder;if(a){return[a,r]}return s}function assertExport(e,r){if(e.charCodeAt(0)===t||e.charCodeAt(0)===n&&e.charCodeAt(1)!==t){throw new Error(`Export should be relative path and start with "./", got ${JSON.stringify(e)}.`)}const i=e.charCodeAt(e.length-1)===t;if(i!==r){throw new Error(r?`Expecting folder to folder mapping. ${JSON.stringify(e)} should end with "/"`:`Expecting file to file mapping. ${JSON.stringify(e)} should not end with "/"`)}}function isConditionalMapping(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function directMapping(e,t,n){if(t===null)return[];const r=e!==undefined;if(typeof t==="string"){assertExport(t,r);return r?[`${t}${e}`]:[t]}const i=[];for(const s of t){if(typeof s==="string"){assertExport(s,r);i.push(r?`${s}${e}`:s);continue}const t=conditionalMapping(s,n);if(!t)continue;const o=directMapping(e,t,n);for(const e of o){i.push(e)}}return i}function conditionalMapping(e,t){let n=[[e,Object.keys(e),0]];e:while(n.length>0){const[e,r,i]=n[n.length-1];const s=r.length-1;for(let o=i;o{e.exports=n(95890)},80018:(e,t,n)=>{"use strict";var r=n(90571);var i=n(85622).extname;var s=/^\s*([^;\s]*)(?:;|\s|$)/;var o=/^text\//i;t.charset=charset;t.charsets={lookup:charset};t.contentType=contentType;t.extension=extension;t.extensions=Object.create(null);t.lookup=lookup;t.types=Object.create(null);populateMaps(t.extensions,t.types);function charset(e){if(!e||typeof e!=="string"){return false}var t=s.exec(e);var n=t&&r[t[1].toLowerCase()];if(n&&n.charset){return n.charset}if(t&&o.test(t[1])){return"UTF-8"}return false}function contentType(e){if(!e||typeof e!=="string"){return false}var n=e.indexOf("/")===-1?t.lookup(e):e;if(!n){return false}if(n.indexOf("charset")===-1){var r=t.charset(n);if(r)n+="; charset="+r.toLowerCase()}return n}function extension(e){if(!e||typeof e!=="string"){return false}var n=s.exec(e);var r=n&&t.extensions[n[1].toLowerCase()];if(!r||!r.length){return false}return r[0]}function lookup(e){if(!e||typeof e!=="string"){return false}var n=i("x."+e).toLowerCase().substr(1);if(!n){return false}return t.types[n]||false}function populateMaps(e,t){var n=["nginx","apache",undefined,"iana"];Object.keys(r).forEach(function forEachMimeType(i){var s=r[i];var o=s.extensions;if(!o||!o.length){return}e[i]=o;for(var a=0;al||u===l&&t[c].substr(0,12)==="application/")){continue}}t[c]=i}})}},76185:(e,t,n)=>{"use strict";const r=n(33839);const i=e=>{if(typeof e!=="object"||!e)return e;const t=Object.assign({},e);if(e.mappings){t.mappings=Buffer.from(e.mappings,"utf-8")}if(e.sourcesContent){t.sourcesContent=e.sourcesContent.map(e=>e&&Buffer.from(e,"utf-8"))}return t};const s=e=>{if(typeof e!=="object"||!e)return e;const t=Object.assign({},e);if(e.mappings){t.mappings=e.mappings.toString("utf-8")}if(e.sourcesContent){t.sourcesContent=e.sourcesContent.map(e=>e&&e.toString("utf-8"))}return t};class CachedSource extends r{constructor(e,t){super();this._source=e;this._cachedSourceType=t?t.source:undefined;this._cachedSource=undefined;this._cachedBuffer=t?t.buffer:undefined;this._cachedSize=t?t.size:undefined;this._cachedMaps=t?t.maps:new Map}getCachedData(){if(this._cachedSource){this.buffer()}const e=new Map;for(const t of this._cachedMaps){if(t[1].bufferedMap===undefined){t[1].bufferedMap=i(t[1].map)}e.set(t[0],{map:undefined,bufferedMap:t[1].bufferedMap})}return{buffer:this._cachedBuffer,source:this._cachedSourceType!==undefined?this._cachedSourceType:typeof this._cachedSource==="string"?true:Buffer.isBuffer(this._cachedSource)?false:undefined,size:this._cachedSize,maps:e}}original(){return this._source}_ensureSource(){}source(){if(this._cachedSource!==undefined)return this._cachedSource;if(this._cachedBuffer&&this._cachedSourceType!==undefined){return this._cachedSource=this._cachedSourceType?this._cachedBuffer.toString("utf-8"):this._cachedBuffer}else{return this._cachedSource=this._source.source()}}buffer(){if(typeof this._cachedBuffer!=="undefined")return this._cachedBuffer;if(typeof this._cachedSource!=="undefined"){if(Buffer.isBuffer(this._cachedSource)){return this._cachedBuffer=this._cachedSource}return this._cachedBuffer=Buffer.from(this._cachedSource,"utf-8")}if(typeof this._source.buffer==="function"){return this._cachedBuffer=this._source.buffer()}const e=this.source();if(Buffer.isBuffer(e)){return this._cachedBuffer=e}return this._cachedBuffer=Buffer.from(e,"utf-8")}size(){if(typeof this._cachedSize!=="undefined")return this._cachedSize;if(typeof this._cachedSource!=="undefined"){return this._cachedSize=Buffer.byteLength(this._cachedSource)}if(typeof this._cachedBuffer!=="undefined"){return this._cachedSize=this._cachedBuffer.length}return this._cachedSize=this._source.size()}sourceAndMap(e){const t=e?JSON.stringify(e):"{}";let n=this._cachedMaps.get(t);if(n&&n.map===undefined){n.map=s(n.bufferedMap)}if(typeof this._cachedSource!=="undefined"){if(n===undefined){const n=this._source.map(e);this._cachedMaps.set(t,{map:n,bufferedMap:undefined});return{source:this._cachedSource,map:n}}else{return{source:this._cachedSource,map:n.map}}}else if(n!==undefined){return{source:this._cachedSource=this._source.source(),map:n.map}}else{const n=this._source.sourceAndMap(e);this._cachedSource=n.source;this._cachedMaps.set(t,{map:n.map,bufferedMap:undefined});return n}}map(e){const t=e?JSON.stringify(e):"{}";let n=this._cachedMaps.get(t);if(n!==undefined){if(n.map===undefined){n.map=s(n.bufferedMap)}return n.map}const r=this._source.map(e);this._cachedMaps.set(t,{map:r,bufferedMap:undefined});return r}updateHash(e){this._source.updateHash(e)}}e.exports=CachedSource},7961:(e,t,n)=>{"use strict";const r=n(33839);class CompatSource extends r{static from(e){return e instanceof r?e:new CompatSource(e)}constructor(e){super();this._sourceLike=e}source(){return this._sourceLike.source()}buffer(){if(typeof this._sourceLike.buffer==="function"){return this._sourceLike.buffer()}return super.buffer()}size(){if(typeof this._sourceLike.size==="function"){return this._sourceLike.size()}return super.size()}map(e){if(typeof this._sourceLike.map==="function"){return this._sourceLike.map(e)}return super.map(e)}sourceAndMap(e){if(typeof this._sourceLike.sourceAndMap==="function"){return this._sourceLike.sourceAndMap(e)}return super.sourceAndMap(e)}updateHash(e){if(typeof this._sourceLike.updateHash==="function"){return this._sourceLike.updateHash(e)}if(typeof this._sourceLike.map==="function"){throw new Error("A Source-like object with a 'map' method must also provide an 'updateHash' method")}e.update(this.buffer())}}e.exports=CompatSource},96123:(e,t,n)=>{"use strict";const r=n(33839);const i=n(76274);const{SourceNode:s,SourceMapConsumer:o}=n(99596);const{SourceListMap:a,fromStringWithSourceMap:c}=n(6900);const{getSourceAndMap:u,getMap:l}=n(89588);const f=new WeakSet;class ConcatSource extends r{constructor(){super();this._children=[];for(let e=0;e{if(n===undefined){n=e}else if(Array.isArray(n)){n.push(e)}else{n=[typeof n==="string"?n:n.source(),e]}};const s=e=>{if(n===undefined){n=e}else if(Array.isArray(n)){n.push(e.source())}else{n=[typeof n==="string"?n:n.source(),e.source()]}};const o=()=>{if(Array.isArray(n)){const t=new i(n.join(""));f.add(t);e.push(t)}else if(typeof n==="string"){const t=new i(n);f.add(t);e.push(t)}else{e.push(n)}};for(const i of this._children){if(typeof i==="string"){if(t===undefined){t=i}else{t+=i}}else{if(t!==undefined){r(t);t=undefined}if(f.has(i)){s(i)}else{if(n!==undefined){o();n=undefined}e.push(i)}}}if(t!==undefined){r(t)}if(n!==undefined){o()}this._children=e;this._isOptimized=true}}e.exports=ConcatSource},11176:(e,t,n)=>{"use strict";const r=n(33839);const{SourceNode:i}=n(99596);const{SourceListMap:s}=n(6900);const{getSourceAndMap:o,getMap:a}=n(89588);const c=/(?!$)[^\n\r;{}]*[\n\r;{}]*/g;function _splitCode(e){return e.match(c)||[]}class OriginalSource extends r{constructor(e,t){super();const n=Buffer.isBuffer(e);this._value=n?undefined:e;this._valueAsBuffer=n?e:undefined;this._name=t}getName(){return this._name}source(){if(this._value===undefined){this._value=this._valueAsBuffer.toString("utf-8")}return this._value}buffer(){if(this._valueAsBuffer===undefined){this._valueAsBuffer=Buffer.from(this._value,"utf-8")}return this._valueAsBuffer}map(e){return a(this,e)}sourceAndMap(e){return o(this,e)}node(e){if(this._value===undefined){this._value=this._valueAsBuffer.toString("utf-8")}const t=this._value;const n=this._name;const r=t.split("\n");const s=new i(null,null,null,r.map(function(t,s){let o=0;if(e&&e.columns===false){const e=t+(s!==r.length-1?"\n":"");return new i(s+1,0,n,e)}return new i(null,null,null,_splitCode(t+(s!==r.length-1?"\n":"")).map(function(e){if(/^\s*$/.test(e)){o+=e.length;return e}const t=new i(s+1,o,n,e);o+=e.length;return t}))}));s.setSourceContent(n,t);return s}listMap(e){if(this._value===undefined){this._value=this._valueAsBuffer.toString("utf-8")}return new s(this._value,this._name,this._value)}updateHash(e){if(this._valueAsBuffer===undefined){this._valueAsBuffer=Buffer.from(this._value,"utf-8")}e.update("OriginalSource");e.update(this._valueAsBuffer);e.update(this._name||"")}}e.exports=OriginalSource},96276:(e,t,n)=>{"use strict";const r=n(33839);const i=n(76274);const{SourceNode:s}=n(99596);const{getSourceAndMap:o,getMap:a}=n(89588);const c=/\n(?=.|\s)/g;class PrefixSource extends r{constructor(e,t){super();this._source=typeof t==="string"||Buffer.isBuffer(t)?new i(t,true):t;this._prefix=e}getPrefix(){return this._prefix}original(){return this._source}source(){const e=this._source.source();const t=this._prefix;return t+e.replace(c,"\n"+t)}map(e){return a(this,e)}sourceAndMap(e){return o(this,e)}node(e){const t=this._source.node(e);const n=this._prefix;const r=[];const i=new s;t.walkSourceContents(function(e,t){i.setSourceContent(e,t)});let o=true;t.walk(function(e,t){const i=e.split(/(\n)/);for(let e=0;e{"use strict";const r=n(33839);const{SourceNode:i}=n(99596);const{SourceListMap:s}=n(6900);class RawSource extends r{constructor(e,t=false){super();const n=Buffer.isBuffer(e);if(!n&&typeof e!=="string"){throw new TypeError("argument 'value' must be either string of Buffer")}this._valueIsBuffer=!t&&n;this._value=t&&n?undefined:e;this._valueAsBuffer=n?e:undefined}isBuffer(){return this._valueIsBuffer}source(){if(this._value===undefined){this._value=this._valueAsBuffer.toString("utf-8")}return this._value}buffer(){if(this._valueAsBuffer===undefined){this._valueAsBuffer=Buffer.from(this._value,"utf-8")}return this._valueAsBuffer}map(e){return null}node(e){if(this._value===undefined){this._value=this._valueAsBuffer.toString("utf-8")}return new i(null,null,null,this._value)}listMap(e){if(this._value===undefined){this._value=this._valueAsBuffer.toString("utf-8")}return new s(this._value)}updateHash(e){if(this._valueAsBuffer===undefined){this._valueAsBuffer=Buffer.from(this._value,"utf-8")}e.update("RawSource");e.update(this._valueAsBuffer)}}e.exports=RawSource},79722:(e,t,n)=>{"use strict";const r=n(33839);const{SourceNode:i}=n(99596);const{getSourceAndMap:s,getMap:o,getNode:a,getListMap:c}=n(89588);class Replacement{constructor(e,t,n,r,i){this.start=e;this.end=t;this.content=n;this.insertIndex=r;this.name=i}}class ReplaceSource extends r{constructor(e,t){super();this._source=e;this._name=t;this._replacements=[];this._isSorted=true}getName(){return this._name}getReplacements(){const e=Array.from(this._replacements);e.sort((e,t)=>{return e.insertIndex-t.insertIndex});return e}replace(e,t,n,r){if(typeof n!=="string")throw new Error("insertion must be a string, but is a "+typeof n);this._replacements.push(new Replacement(e,t,n,this._replacements.length,r));this._isSorted=false}insert(e,t,n){if(typeof t!=="string")throw new Error("insertion must be a string, but is a "+typeof t+": "+t);this._replacements.push(new Replacement(e,e-1,t,this._replacements.length,n));this._isSorted=false}source(){return this._replaceString(this._source.source())}map(e){if(this._replacements.length===0){return this._source.map(e)}return o(this,e)}sourceAndMap(e){if(this._replacements.length===0){return this._source.sourceAndMap(e)}return s(this,e)}original(){return this._source}_sortReplacements(){if(this._isSorted)return;this._replacements.sort(function(e,t){const n=t.end-e.end;if(n!==0)return n;const r=t.start-e.start;if(r!==0)return r;return t.insertIndex-e.insertIndex});this._isSorted=true}_replaceString(e){if(typeof e!=="string")throw new Error("str must be a string, but is a "+typeof e+": "+e);this._sortReplacements();const t=[e];this._replacements.forEach(function(e){const n=t.pop();const r=this._splitString(n,Math.floor(e.end+1));const i=this._splitString(r[0],Math.floor(e.start));t.push(r[1],e.content,i[0])},this);let n="";for(let e=t.length-1;e>=0;--e){n+=t[e]}return n}node(e){const t=a(this._source,e);if(this._replacements.length===0){return t}this._sortReplacements();const n=new ReplacementEnumerator(this._replacements);const r=[];let s=0;const o=Object.create(null);const c=Object.create(null);const u=new i;t.walkSourceContents(function(e,t){u.setSourceContent(e,t);o["$"+e]=t});const l=this._replaceInStringNode.bind(this,r,n,function getOriginalSource(e){const t="$"+e.source;let n=c[t];if(!n){const e=o[t];if(!e)return null;n=e.split("\n").map(function(e){return e+"\n"});c[t]=n}if(e.line>n.length)return null;const r=n[e.line-1];return r.substr(e.column)});t.walk(function(e,t){s=l(e,s,t)});const f=n.footer();if(f){r.push(f)}u.add(r);return u}listMap(e){let t=c(this._source,e);this._sortReplacements();let n=0;const r=this._replacements;let i=r.length-1;let s=0;t=t.mapGeneratedCode(function(e){const t=n+e.length;if(s>e.length){s-=e.length;e=""}else{if(s>0){e=e.substr(s);n+=s;s=0}let o="";while(i>=0&&r[i].start=0){o+=r[i].content;i--}if(o){t.add(o)}return t}_splitString(e,t){return t<=0?["",e]:[e.substr(0,t),e.substr(t)]}_replaceInStringNode(e,t,n,r,s,o){let a=undefined;do{let c=t.position-s;if(c<0){c=0}if(c>=r.length||t.done){if(t.emit){const t=new i(o.line,o.column,o.source,r,o.name);e.push(t)}return s+r.length}const u=o.column;let l;if(c>0){l=r.slice(0,c);if(a===undefined){a=n(o)}if(a&&a.length>=c&&a.startsWith(l)){o.column+=c;a=a.substr(c)}}const f=t.next();if(!f){if(c>0){const t=new i(o.line,u,o.source,l,o.name);e.push(t)}if(t.value){e.push(new i(o.line,o.column,o.source,t.value,o.name||t.name))}}r=r.substr(c);s+=c}while(true)}updateHash(e){this._sortReplacements();e.update("ReplaceSource");this._source.updateHash(e);e.update(this._name||"");for(const t of this._replacements){e.update(`${t.start}`);e.update(`${t.end}`);e.update(`${t.content}`);e.update(`${t.insertIndex}`);e.update(`${t.name}`)}}}class ReplacementEnumerator{constructor(e){this.replacements=e||[];this.index=this.replacements.length;this.done=false;this.emit=false;this.next()}next(){if(this.done)return true;if(this.emit){const e=this.replacements[this.index];const t=Math.floor(e.end+1);this.position=t;this.value=e.content;this.name=e.name}else{this.index--;if(this.index<0){this.done=true}else{const e=this.replacements[this.index];const t=Math.floor(e.start);this.position=t}}if(this.position<0)this.position=0;this.emit=!this.emit;return this.emit}footer(){if(!this.done&&!this.emit)this.next();if(this.done){return[]}else{let e="";for(let t=this.index;t>=0;t--){const n=this.replacements[t];e+=n.content}return e}}}e.exports=ReplaceSource},93883:(e,t,n)=>{"use strict";const r=n(33839);class SizeOnlySource extends r{constructor(e){super();this._size=e}_error(){return new Error("Content and Map of this Source is not available (only size() is supported)")}size(){return this._size}source(){throw this._error()}buffer(){throw this._error()}map(e){throw this._error()}updateHash(){throw this._error()}}e.exports=SizeOnlySource},33839:e=>{"use strict";class Source{source(){throw new Error("Abstract")}buffer(){const e=this.source();if(Buffer.isBuffer(e))return e;return Buffer.from(e,"utf-8")}size(){return this.buffer().length}map(e){return null}sourceAndMap(e){return{source:this.source(),map:this.map(e)}}updateHash(e){throw new Error("Abstract")}}e.exports=Source},82340:(e,t,n)=>{"use strict";const r=n(33839);const{SourceNode:i,SourceMapConsumer:s}=n(99596);const{SourceListMap:o,fromStringWithSourceMap:a}=n(6900);const{getSourceAndMap:c,getMap:u}=n(89588);const l=n(70701);class SourceMapSource extends r{constructor(e,t,n,r,i,s){super();const o=Buffer.isBuffer(e);this._valueAsString=o?undefined:e;this._valueAsBuffer=o?e:undefined;this._name=t;this._hasSourceMap=!!n;const a=Buffer.isBuffer(n);const c=typeof n==="string";this._sourceMapAsObject=a||c?undefined:n;this._sourceMapAsString=c?n:undefined;this._sourceMapAsBuffer=a?n:undefined;this._hasOriginalSource=!!r;const u=Buffer.isBuffer(r);this._originalSourceAsString=u?undefined:r;this._originalSourceAsBuffer=u?r:undefined;this._hasInnerSourceMap=!!i;const l=Buffer.isBuffer(i);const f=typeof i==="string";this._innerSourceMapAsObject=l||f?undefined:i;this._innerSourceMapAsString=f?i:undefined;this._innerSourceMapAsBuffer=l?i:undefined;this._removeOriginalSource=s}_ensureValueBuffer(){if(this._valueAsBuffer===undefined){this._valueAsBuffer=Buffer.from(this._valueAsString,"utf-8")}}_ensureValueString(){if(this._valueAsString===undefined){this._valueAsString=this._valueAsBuffer.toString("utf-8")}}_ensureOriginalSourceBuffer(){if(this._originalSourceAsBuffer===undefined&&this._hasOriginalSource){this._originalSourceAsBuffer=Buffer.from(this._originalSourceAsString,"utf-8")}}_ensureOriginalSourceString(){if(this._originalSourceAsString===undefined&&this._hasOriginalSource){this._originalSourceAsString=this._originalSourceAsBuffer.toString("utf-8")}}_ensureInnerSourceMapObject(){if(this._innerSourceMapAsObject===undefined&&this._hasInnerSourceMap){this._ensureInnerSourceMapString();this._innerSourceMapAsObject=JSON.parse(this._innerSourceMapAsString)}}_ensureInnerSourceMapBuffer(){if(this._innerSourceMapAsBuffer===undefined&&this._hasInnerSourceMap){this._ensureInnerSourceMapString();this._innerSourceMapAsBuffer=Buffer.from(this._innerSourceMapAsString,"utf-8")}}_ensureInnerSourceMapString(){if(this._innerSourceMapAsString===undefined&&this._hasInnerSourceMap){if(this._innerSourceMapAsBuffer!==undefined){this._innerSourceMapAsString=this._innerSourceMapAsBuffer.toString("utf-8")}else{this._innerSourceMapAsString=JSON.stringify(this._innerSourceMapAsObject)}}}_ensureSourceMapObject(){if(this._sourceMapAsObject===undefined){this._ensureSourceMapString();this._sourceMapAsObject=JSON.parse(this._sourceMapAsString)}}_ensureSourceMapBuffer(){if(this._sourceMapAsBuffer===undefined){this._ensureSourceMapString();this._sourceMapAsBuffer=Buffer.from(this._sourceMapAsString,"utf-8")}}_ensureSourceMapString(){if(this._sourceMapAsString===undefined){if(this._sourceMapAsBuffer!==undefined){this._sourceMapAsString=this._sourceMapAsBuffer.toString("utf-8")}else{this._sourceMapAsString=JSON.stringify(this._sourceMapAsObject)}}}getArgsAsBuffers(){this._ensureValueBuffer();this._ensureSourceMapBuffer();this._ensureOriginalSourceBuffer();this._ensureInnerSourceMapBuffer();return[this._valueAsBuffer,this._name,this._sourceMapAsBuffer,this._originalSourceAsBuffer,this._innerSourceMapAsBuffer,this._removeOriginalSource]}source(){this._ensureValueString();return this._valueAsString}map(e){if(!this._hasInnerSourceMap){this._ensureSourceMapObject();return this._sourceMapAsObject}return u(this,e)}sourceAndMap(e){if(!this._hasInnerSourceMap){this._ensureValueString();this._ensureSourceMapObject();return{source:this._valueAsString,map:this._sourceMapAsObject}}return c(this,e)}node(e){this._ensureValueString();this._ensureSourceMapObject();this._ensureOriginalSourceString();let t=i.fromStringWithSourceMap(this._valueAsString,new s(this._sourceMapAsObject));t.setSourceContent(this._name,this._originalSourceAsString);if(this._hasInnerSourceMap){this._ensureInnerSourceMapObject();t=l(t,new s(this._innerSourceMapAsObject),this._name,this._removeOriginalSource)}return t}listMap(e){this._ensureValueString();this._ensureSourceMapObject();e=e||{};if(e.module===false)return new o(this._valueAsString,this._name,this._valueAsString);return a(this._valueAsString,this._sourceMapAsObject)}updateHash(e){this._ensureValueBuffer();this._ensureSourceMapBuffer();this._ensureOriginalSourceBuffer();this._ensureInnerSourceMapBuffer();e.update("SourceMapSource");e.update(this._valueAsBuffer);e.update(this._sourceMapAsBuffer);if(this._hasOriginalSource){e.update(this._originalSourceAsBuffer)}if(this._hasInnerSourceMap){e.update(this._innerSourceMapAsBuffer)}e.update(this._removeOriginalSource?"true":"false")}}e.exports=SourceMapSource},70701:(e,t,n)=>{"use strict";const r=n(99596).SourceNode;const i=n(99596).SourceMapConsumer;const s=function(e,t,n,s){const o=new r;const a=[];const c={};const u={};const l={};const f={};t.eachMapping(function(e){(u[e.generatedLine]=u[e.generatedLine]||[]).push(e)},null,i.GENERATED_ORDER);e.walkSourceContents(function(e,t){c["$"+e]=t});const p=c["$"+n];const d=p?p.split("\n"):undefined;e.walk(function(e,i){if(i.source===n&&i.line&&u[i.line]){let n;const s=u[i.line];for(let e=0;e0){const r=c.slice(n.generatedColumn,i.column);const s=e.slice(n.originalColumn,n.originalColumn+t);if(r===s){n=Object.assign({},n,{originalColumn:n.originalColumn+t,generatedColumn:i.column,name:undefined})}}if(!n.name&&i.name){s=e.slice(n.originalColumn,n.originalColumn+i.name.length)===i.name}}}const m=n.source;a.push(new r(n.originalLine,n.originalColumn,m,e,s?i.name:n.name));if(!("$"+m in l)){l["$"+m]=true;const e=t.sourceContentFor(m);if(e){o.setSourceContent(m,e)}}return}}if(s&&i.source===n||!i.source){a.push(e);return}const p=i.source;a.push(new r(i.line,i.column,p,e,i.name));if("$"+p in c){if(!("$"+p in l)){o.setSourceContent(p,c["$"+p]);delete c["$"+p]}}});o.add(a);return o};e.exports=s},89588:(e,t,n)=>{"use strict";const{SourceNode:r,SourceMapConsumer:i}=n(99596);const{SourceListMap:s,fromStringWithSourceMap:o}=n(6900);t.getSourceAndMap=((e,t)=>{if(t&&t.columns===false){return e.listMap(t).toStringWithSourceMap({file:"x"})}const n=e.node(t).toStringWithSourceMap({file:"x"});return{source:n.code,map:n.map.toJSON()}});t.getMap=((e,t)=>{if(t&&t.columns===false){return e.listMap(t).toStringWithSourceMap({file:"x"}).map}return e.node(t).toStringWithSourceMap({file:"x"}).map.toJSON()});t.getNode=((e,t)=>{if(typeof e.node==="function"){return e.node(t)}else{const n=e.sourceAndMap(t);if(n.map){return r.fromStringWithSourceMap(n.source,new i(n.map))}else{return new r(null,null,null,n.source)}}});t.getListMap=((e,t)=>{if(typeof e.listMap==="function"){return e.listMap(t)}else{const n=e.sourceAndMap(t);if(n.map){return o(n.source,n.map)}else{return new s(n.source)}}})},48135:(e,t,n)=>{const r=(e,n)=>{let r;Object.defineProperty(t,e,{get:()=>{if(n!==undefined){r=n();n=undefined}return r},configurable:true})};r("Source",()=>n(33839));r("RawSource",()=>n(76274));r("OriginalSource",()=>n(11176));r("SourceMapSource",()=>n(82340));r("CachedSource",()=>n(76185));r("ConcatSource",()=>n(96123));r("ReplaceSource",()=>n(79722));r("PrefixSource",()=>n(96276));r("SizeOnlySource",()=>n(93883));r("CompatSource",()=>n(7961))},83687:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach(function(t){wrapper[t]=e[t]});return wrapper;function wrapper(){var t=new Array(arguments.length);for(var n=0;n{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next){yield e.value}}}},83314:(e,t,n)=>{"use strict";e.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(e){var t=this;if(!(t instanceof Yallist)){t=new Yallist}t.tail=null;t.head=null;t.length=0;if(e&&typeof e.forEach==="function"){e.forEach(function(e){t.push(e)})}else if(arguments.length>0){for(var n=0,r=arguments.length;n1){n=t}else if(this.head){r=this.head.next;n=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;r!==null;i++){n=e(n,r.value,i);r=r.next}return n};Yallist.prototype.reduceReverse=function(e,t){var n;var r=this.tail;if(arguments.length>1){n=t}else if(this.tail){r=this.tail.prev;n=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;r!==null;i--){n=e(n,r.value,i);r=r.prev}return n};Yallist.prototype.toArray=function(){var e=new Array(this.length);for(var t=0,n=this.head;n!==null;t++){e[t]=n.value;n=n.next}return e};Yallist.prototype.toArrayReverse=function(){var e=new Array(this.length);for(var t=0,n=this.tail;n!==null;t++){e[t]=n.value;n=n.prev}return e};Yallist.prototype.slice=function(e,t){t=t||this.length;if(t<0){t+=this.length}e=e||0;if(e<0){e+=this.length}var n=new Yallist;if(tthis.length){t=this.length}for(var r=0,i=this.head;i!==null&&rthis.length){t=this.length}for(var r=this.length,i=this.tail;i!==null&&r>t;r--){i=i.prev}for(;i!==null&&r>e;r--,i=i.prev){n.push(i.value)}return n};Yallist.prototype.splice=function(e,t,...n){if(e>this.length){e=this.length-1}if(e<0){e=this.length+e}for(var r=0,i=this.head;i!==null&&r{const resolve=__webpack_require__(47030);const fs=__webpack_require__(15808);const crypto=__webpack_require__(76417);const{join:join,dirname:dirname,extname:extname,relative:relative}=__webpack_require__(85622);const webpack=__webpack_require__(86443);const MemoryFS=__webpack_require__(56342);const terser=__webpack_require__(38033);const tsconfigPaths=__webpack_require__(46543);const{loadTsconfig:loadTsconfig}=__webpack_require__(9492);const TsconfigPathsPlugin=__webpack_require__(96217);const shebangRegEx=__webpack_require__(89681);const nccCacheDir=__webpack_require__(13946);const LicenseWebpackPlugin=__webpack_require__(58907).s;const{version:nccVersion}=__webpack_require__(60306);fs.gracefulify(__webpack_require__(35747));const SUPPORTED_EXTENSIONS=[".js",".json",".node",".mjs",".ts",".tsx"];const hashOf=e=>{return crypto.createHash("md4").update(e).digest("hex").slice(0,10)};const defaultPermissions=438;const relocateLoader=eval('require(__dirname + "/loaders/relocate-loader.js")');module.exports=((entry,{cache:cache,externals:externals=[],filename:filename="index"+(entry.endsWith(".cjs")?".cjs":".js"),minify:minify=false,sourceMap:sourceMap=false,sourceMapRegister:sourceMapRegister=true,sourceMapBasePrefix:sourceMapBasePrefix="../",watch:watch=false,v8cache:v8cache=false,filterAssetBase:filterAssetBase=process.cwd(),quiet:quiet=false,debugLog:debugLog=false,transpileOnly:transpileOnly=false,license:license=""}={})=>{const ext=extname(filename);if(!quiet){console.log(`ncc: Version ${nccVersion}`);console.log(`ncc: Compiling file ${filename}`)}const resolvedEntry=resolve.sync(entry);process.env.TYPESCRIPT_LOOKUP_PATH=resolvedEntry;const shebangMatch=fs.readFileSync(resolvedEntry).toString().match(shebangRegEx);const mfs=new MemoryFS;const existingAssetNames=[filename];if(sourceMap){existingAssetNames.push(`${filename}.map`);existingAssetNames.push(`sourcemap-register${ext}`)}if(v8cache){existingAssetNames.push(`${filename}.cache`);existingAssetNames.push(`${filename}.cache${ext}`)}const resolvePlugins=[];try{const e=tsconfigPaths.loadConfig();const t=loadTsconfig(e.configFileAbsolutePath);const n={silent:true};if(t.compilerOptions.allowJs){n.extensions=SUPPORTED_EXTENSIONS}resolvePlugins.push(new TsconfigPathsPlugin(n));if(e.resultType==="success"){tsconfigMatchPath=tsconfigPaths.createMatchPath(e.absoluteBaseUrl,e.paths)}}catch(e){}resolvePlugins.push({apply(e){const t=e.resolve;e.resolve=function(e,n,r,i,s){const o=this;t.call(o,e,n,r,i,function(a,c,u){if(u)return s(null,c,u);if(a&&!a.message.startsWith("Can't resolve"))return s(a);if(r.endsWith(".js")&&e.issuer&&(e.issuer.endsWith(".ts")||e.issuer.endsWith(".tsx"))){return t.call(o,e,n,r.slice(0,-3),i,function(e,t,n){if(n)return s(null,t,n);if(e&&!e.message.startsWith("Can't resolve"))return s(e);s(null,__dirname+"/@@notfound.js?"+(externalMap.get(r)||r),r)})}s(null,__dirname+"/@@notfound.js?"+(externalMap.get(r)||r),r)})}}});const externalMap=new Map;if(Array.isArray(externals))externals.forEach(e=>externalMap.set(e,e));else if(typeof externals==="object")Object.keys(externals).forEach(e=>externalMap.set(e,externals[e]));let watcher,watchHandler,rebuildHandler;var plugins=[{apply(e){e.hooks.compilation.tap("relocate-loader",e=>relocateLoader.initAssetCache(e));e.hooks.watchRun.tap("ncc",()=>{if(rebuildHandler)rebuildHandler()});e.hooks.normalModuleFactory.tap("ncc",e=>{function handler(e){e.hooks.assign.for("require").intercept({register:e=>{if(e.name!=="CommonJsPlugin"){return e}e.fn=(()=>{});return e}})}e.hooks.parser.for("javascript/auto").tap("ncc",handler);e.hooks.parser.for("javascript/dynamic").tap("ncc",handler);return e})}}];if(typeof license==="string"&&license.length>0){plugins.push(new LicenseWebpackPlugin({outputFilename:license}))}const compiler=webpack({entry:entry,cache:cache===false?undefined:{type:"filesystem",cacheDirectory:typeof cache==="string"?cache:nccCacheDir,name:`ncc_${hashOf(entry)}`,version:nccVersion},amd:false,optimization:{nodeEnv:false,minimize:false,moduleIds:"deterministic",chunkIds:"deterministic",mangleExports:true,concatenateModules:true,innerGraph:true,sideEffects:true},devtool:sourceMap?"cheap-module-source-map":false,mode:"production",target:"node",stats:{logging:"error"},infrastructureLogging:{level:"error"},output:{path:"/",filename:ext===".cjs"?filename+".js":filename,libraryTarget:"commonjs2",strictModuleExceptionHandling:true},resolve:{extensions:SUPPORTED_EXTENSIONS,mainFields:["main"],plugins:resolvePlugins},node:false,externals:async({context:e,request:t},n)=>{if(externalMap.has(t))return n(null,`commonjs ${externalMap.get(t)}`);return n()},module:{rules:[{test:/@@notfound\.js$/,use:[{loader:eval('__dirname + "/loaders/notfound-loader.js"')}]},{test:/\.(js|mjs|tsx?|node)$/,use:[{loader:eval('__dirname + "/loaders/empty-loader.js"')},{loader:eval('__dirname + "/loaders/relocate-loader.js"'),options:{filterAssetBase:filterAssetBase,existingAssetNames:existingAssetNames,escapeNonAnalyzableRequires:true,wrapperCompatibility:true,debugLog:debugLog}}]},{test:/\.tsx?$/,use:[{loader:eval('__dirname + "/loaders/uncacheable.js"')},{loader:eval('__dirname + "/loaders/ts-loader.js"'),options:{transpileOnly:transpileOnly,compiler:eval('__dirname + "/typescript.js"'),compilerOptions:{outDir:"//",noEmit:false}}}]},{parser:{amd:false},exclude:/\.(node|json)$/,use:[{loader:eval('__dirname + "/loaders/shebang-loader.js"')}]}]},plugins:plugins});compiler.outputFileSystem=mfs;if(!watch){return new Promise((e,t)=>{compiler.run((n,r)=>{if(n)return t(n);compiler.close(n=>{if(n)return t(n);if(r.hasErrors()){const e=r.compilation.errors.map(e=>e.message).join("\n");return t(new Error(e))}e(r)})})}).then(finalizeHandler)}else{if(typeof watch==="object"){if(!watch.watch)throw new Error("Watcher class must be a valid Webpack WatchFileSystem class instance (https://github.com/webpack/webpack/blob/master/lib/node/NodeWatchFileSystem.js)");compiler.watchFileSystem=watch;watch.inputFileSystem=compiler.inputFileSystem}let e;watcher=compiler.watch({},(t,n)=>{if(t)return watchHandler({err:t});if(n.hasErrors())return watchHandler({err:n.toString()});const r=finalizeHandler(n);if(watchHandler)watchHandler(r);else e=r});let t=false;return{close(){if(!watcher)throw new Error("No watcher to close.");if(t)throw new Error("Watcher already closed.");t=true;watcher.close()},handler(t){if(watchHandler)throw new Error("Watcher handler already provided.");watchHandler=t;if(e){t(e);e=null}},rebuild(e){if(rebuildHandler)throw new Error("Rebuild handler already provided.");rebuildHandler=e}}}function finalizeHandler(e){const t=Object.create(null);getFlatFiles(mfs.data,t,relocateLoader.getAssetPermissions);const n=Object.create(null);for(const[e,r]of Object.entries(relocateLoader.getSymlinks())){const i=join(dirname(e),r);if(i in t)n[e]=r}delete t[filename+(ext===".cjs"?".js":"")];delete t[`${filename}${ext===".cjs"?".js":""}.map`];let r=mfs.readFileSync(`/${filename}${ext===".cjs"?".js":""}`,"utf8");let i=sourceMap?mfs.readFileSync(`/${filename}${ext===".cjs"?".js":""}.map`,"utf8"):null;if(i){i=JSON.parse(i);i.sources=i.sources.map(e=>{while(e.startsWith("webpack:///"))e=e.slice(11);if(e.startsWith("//"))e=e.slice(1);if(e.startsWith("/"))e=relative(process.cwd(),e).replace(/\\/g,"/");if(e.startsWith("external "))e="node:"+e.slice(9);if(e.startsWith("./"))e=e.slice(2);if(e.startsWith("(webpack)"))e="webpack"+e.slice(9);if(e.startsWith("webpack/"))return"/webpack/"+e.slice(8);return sourceMapBasePrefix+e})}if(minify){const e=terser.minify(r,{compress:false,mangle:{keep_classnames:true,keep_fnames:true},sourceMap:sourceMap?{content:i,filename:filename,url:`${filename}.map`}:false});if(e.code!==undefined)({code:r,map:i}={code:e.code,map:sourceMap?JSON.parse(e.map):undefined})}if(v8cache){const{Script:e}=__webpack_require__(92184);t[`${filename}.cache`]={source:new e(r).createCachedData(),permissions:defaultPermissions};t[`${filename}.cache${ext}`]={source:r,permissions:defaultPermissions};if(i){t[filename+".map"]={source:JSON.stringify(i),permissions:defaultPermissions};i=undefined}const n=-"(function (exports, require, module, __filename, __dirname) { ".length;r=`const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module');\n`+`const basename = __dirname + '/${filename}';\n`+`const source = readFileSync(basename + '.cache${ext}', 'utf-8');\n`+`const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache');\n`+`const scriptOpts = { filename: basename + '.cache${ext}', columnOffset: ${n} }\n`+`const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts);\n`+`(script.runInThisContext())(exports, require, module, __filename, __dirname);\n`+`if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} });\n`}if(sourceMap&&sourceMapRegister){r=`require('./sourcemap-register${ext}');`+r;t[`sourcemap-register${ext}`]={source:fs.readFileSync(`${__dirname}/sourcemap-register.js.cache.js`),permissions:defaultPermissions}}if(shebangMatch){r=shebangMatch[0]+r;if(i)i.mappings=";"+i.mappings}return{code:r,map:i?JSON.stringify(i):undefined,assets:t,symlinks:n,stats:e}}});function getFlatFiles(e,t,n,r=""){for(const i of Object.keys(e)){const s=e[i];const o=`${r}/${i}`;if(s[""]===true)getFlatFiles(s,t,n,o);else if(!o.endsWith("/")){t[o.substr(1)]={source:e[i],permissions:n(o.substr(1))}}}}},13946:(e,t,n)=>{e.exports=n(12087).tmpdir()+"/ncc-cache"},89681:e=>{e.exports=/^#![^\n\r]*[\r\n]/},98063:module=>{module.exports=eval("require")("pnpapi")},42357:e=>{"use strict";e.exports=require("assert")},77303:e=>{"use strict";e.exports=require("async_hooks")},64293:e=>{"use strict";e.exports=require("buffer")},63129:e=>{"use strict";e.exports=require("child_process")},57082:e=>{"use strict";e.exports=require("console")},27619:e=>{"use strict";e.exports=require("constants")},76417:e=>{"use strict";e.exports=require("crypto")},28614:e=>{"use strict";e.exports=require("events")},35747:e=>{"use strict";e.exports=require("fs")},98605:e=>{"use strict";e.exports=require("http")},57211:e=>{"use strict";e.exports=require("https")},57012:e=>{"use strict";e.exports=require("inspector")},32282:e=>{"use strict";e.exports=require("module")},12087:e=>{"use strict";e.exports=require("os")},85622:e=>{"use strict";e.exports=require("path")},71191:e=>{"use strict";e.exports=require("querystring")},92413:e=>{"use strict";e.exports=require("stream")},24304:e=>{"use strict";e.exports=require("string_decoder")},33867:e=>{"use strict";e.exports=require("tty")},78835:e=>{"use strict";e.exports=require("url")},31669:e=>{"use strict";e.exports=require("util")},92184:e=>{"use strict";e.exports=require("vm")},65013:e=>{"use strict";e.exports=require("worker_threads")}};var __webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e]){return __webpack_module_cache__[e].exports}var t=__webpack_module_cache__[e]={id:e,loaded:false,exports:{}};var n=true;try{__webpack_modules__[e].call(t.exports,t,t.exports,__webpack_require__);n=false}finally{if(n)delete __webpack_module_cache__[e]}t.loaded=true;return t.exports}(()=>{__webpack_require__.nmd=(e=>{e.paths=[];if(!e.children)e.children=[];return e})})();__webpack_require__.ab=__dirname+"/";return __webpack_require__(77086)})(); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/empty-loader.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/empty-loader.js new file mode 100644 index 0000000..d6926e3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/empty-loader.js @@ -0,0 +1,31 @@ +// returns the base-level package folder based on detecting "node_modules" +// package name boundaries +const pkgNameRegEx = /^(@[^\\\/]+[\\\/])?[^\\\/]+/; +function getPackageBase(id) { + const pkgIndex = id.lastIndexOf('node_modules'); + if (pkgIndex !== -1 && + (id[pkgIndex - 1] === '/' || id[pkgIndex - 1] === '\\') && + (id[pkgIndex + 12] === '/' || id[pkgIndex + 12] === '\\')) { + const pkgNameMatch = id.substr(pkgIndex + 13).match(pkgNameRegEx); + if (pkgNameMatch) + return id.substr(0, pkgIndex + 13 + pkgNameMatch[0].length); + } +} + +const emptyModules = { 'uglify-js': true, 'uglify-es': true }; + +module.exports = function (input, map) { + const id = this.resourcePath; + const pkgBase = getPackageBase(id); + if (pkgBase) { + const baseParts = pkgBase.split('/'); + if (baseParts[baseParts.length - 2] === 'node_modules') { + const pkgName = baseParts[baseParts.length - 1]; + if (pkgName in emptyModules) { + console.warn(`ncc: Ignoring build of ${pkgName}, as it is not statically analyzable. Build with "--external ${pkgName}" if this package is needed.`); + return ''; + } + } + } + this.callback(null, input, map); +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/notfound-loader.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/notfound-loader.js new file mode 100644 index 0000000..5b925fa --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/notfound-loader.js @@ -0,0 +1,7 @@ +module.exports = function (input, map) { + if (this.cacheable) + this.cacheable(); + const id = this.resourceQuery.substr(1); + input = input.replace('\'UNKNOWN\'', JSON.stringify(id)); + this.callback(null, input, map); +}; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/readme.md b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/readme.md new file mode 100644 index 0000000..98cad61 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/readme.md @@ -0,0 +1,11 @@ +# About this directory + +This directory will contain: + +- `relocate-loader.js` the ncc loader for handling CommonJS asset and reference relocations +- `shebang-loader.js` the ncc loader to ensure proper hash bang support in Node.js CLI files +- `ts-loader.js` the ncc loader for handling TypeScript + +These are generated by the `build` step defined in `../../../package.json`. + +These files are published to npm. diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js new file mode 100644 index 0000000..e6e9f73 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js @@ -0,0 +1,8 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const basename = __dirname + '/relocate-loader.js'; +const source = readFileSync(basename + '.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache'); +const scriptOpts = { filename: basename + '.cache.js', columnOffset: -62 } +const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js.cache b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js.cache new file mode 100644 index 0000000..2d24e55 Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js.cache differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js.cache.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js.cache.js new file mode 100644 index 0000000..d11d3f5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/relocate-loader.js.cache.js @@ -0,0 +1 @@ +module.exports=(()=>{var __webpack_modules__={225:(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function(e,t){"use strict";var r={};function __nested_webpack_require_220__(t){if(r[t]){return r[t].exports}var i=r[t]={i:t,l:false,exports:{}};e[t].call(i.exports,i,i.exports,__nested_webpack_require_220__);i.l=true;return i.exports}function startup(){return __nested_webpack_require_220__(379)}return startup()}({12:function(e){"use strict";if(!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,t,r,i){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var n=arguments.length;var s,a;switch(n){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,t)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,t,r)});case 4:return process.nextTick(function afterTickThree(){e.call(null,t,r,i)});default:s=new Array(n-1);a=0;while(a=127&&a<=159){continue}if(a>=65536){r++}if(s(a)){t+=2}else{t++}}return t}},30:function(e,t,r){"use strict";var i=r(64);var n=r(285);var s=r(468);var a=r(358);var u=e.exports=function(e,t,r){n.Transform.call(this,r);this.tracker=new a(e,t);this.name=e;this.id=this.tracker.id;this.tracker.on("change",delegateChange(this))};i.inherits(u,n.Transform);function delegateChange(e){return function(t,r,i){e.emit("change",t,r,e)}}u.prototype._transform=function(e,t,r){this.tracker.completeWork(e.length?e.length:1);this.push(e);r()};u.prototype._flush=function(e){this.tracker.finish();e()};s(u.prototype,"tracker").method("completed").method("addWork").method("finish")},55:function(e,t,r){var i=process.versions&&process.versions.node&&process.versions.node.split(".")||[];function specifierIncluded(e){var t=e.split(" ");var r=t.length>1?t[0]:"=";var n=(t.length>1?t[1]:t[0]).split(".");for(var s=0;s<3;++s){var a=Number(i[s]||0);var u=Number(n[s]||0);if(a===u){continue}if(r==="<"){return a="){return a>=u}else{return false}}return r===">="}function matchesRange(e){var t=e.split(/ ?&& ?/);if(t.length===0){return false}for(var r=0;r]/.test(e)){return false}if((t===undefined||t===false)&&/^\//.test(e)){return false}return true}e.exports=isUrlRequest},77:function(e){e.exports=__webpack_require__(835)},83:function(e,t,r){var i=r(16);e.exports=i(once);e.exports.strict=i(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(e){var t=function(){if(t.called)return t.value;t.called=true;return t.value=e.apply(this,arguments)};t.called=false;return t}function onceStrict(e){var t=function(){if(t.called)throw new Error(t.onceError);t.called=true;return t.value=e.apply(this,arguments)};var r=e.name||"Function wrapped with `once`";t.onceError=r+" shouldn't be called more than once";t.called=false;return t}},86:function(e,t,r){"use strict";var i=r(12);e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var n=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:i.nextTick;var s;Writable.WritableState=WritableState;var a=r(683);a.inherits=r(207);var u={deprecate:r(507)};var o=r(569);var l=r(945).Buffer;var f=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return l.from(e)}function _isUint8Array(e){return l.isBuffer(e)||e instanceof f}var h=r(972);a.inherits(Writable,o);function nop(){}function WritableState(e,t){s=s||r(98);e=e||{};var i=t instanceof s;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;var n=e.highWaterMark;var a=e.writableHighWaterMark;var u=this.objectMode?16:16*1024;if(n||n===0)this.highWaterMark=n;else if(i&&(a||a===0))this.highWaterMark=a;else this.highWaterMark=u;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var o=e.decodeStrings===false;this.decodeStrings=!o;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:u.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var c;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){c=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(c.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{c=function(e){return e instanceof this}}function Writable(e){s=s||r(98);if(!c.call(Writable,this)&&!(this instanceof s)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}o.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,t){var r=new Error("write after end");e.emit("error",r);i.nextTick(t,r)}function validChunk(e,t,r,n){var s=true;var a=false;if(r===null){a=new TypeError("May not write null values to stream")}else if(typeof r!=="string"&&r!==undefined&&!t.objectMode){a=new TypeError("Invalid non-string/buffer chunk")}if(a){e.emit("error",a);i.nextTick(n,a);s=false}return s}Writable.prototype.write=function(e,t,r){var i=this._writableState;var n=false;var s=!i.objectMode&&_isUint8Array(e);if(s&&!l.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t==="function"){r=t;t=null}if(s)t="buffer";else if(!t)t=i.defaultEncoding;if(typeof r!=="function")r=nop;if(i.ended)writeAfterEnd(this,r);else if(s||validChunk(this,i,e,r)){i.pendingcb++;n=writeOrBuffer(this,i,s,e,t,r)}return n};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t==="string"){t=l.from(t,r)}return t}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,i,n,s){if(!r){var a=decodeChunk(t,i,n);if(i!==a){r=true;n="buffer";i=a}}var u=t.objectMode?1:i.length;t.length+=u;var o=t.lengthe.__proto__);const n=e=>{if(e.acorn)return e.acorn;const t=r(996);if(t.version.indexOf("6.")!=0&&t.version.indexOf("6.0.")==0&&t.version.indexOf("7.")!=0){throw new Error(`acorn-private-class-elements requires acorn@^6.1.0 or acorn@7.0.0, not ${t.version}`)}for(let r=e;r&&r!==t.Parser;r=i(r)){if(r!==t.Parser){throw new Error("acorn-private-class-elements does not support mixing different acorn copies")}}return t};e.exports=function(e){if(e.prototype.parsePrivateName){return e}const t=n(e);e=class extends e{_branch(){this.__branch=this.__branch||new e({ecmaVersion:this.options.ecmaVersion},this.input);this.__branch.end=this.end;this.__branch.pos=this.pos;this.__branch.type=this.type;this.__branch.value=this.value;this.__branch.containsEsc=this.containsEsc;return this.__branch}parsePrivateClassElementName(e){e.computed=false;e.key=this.parsePrivateName();if(e.key.name=="constructor")this.raise(e.key.start,"Classes may not have a private element named constructor");const t={get:"set",set:"get"}[e.kind];const r=this._privateBoundNames;if(Object.prototype.hasOwnProperty.call(r,e.key.name)&&r[e.key.name]!==t){this.raise(e.start,"Duplicate private element")}r[e.key.name]=e.kind||true;delete this._unresolvedPrivateNames[e.key.name];return e.key}parsePrivateName(){const e=this.startNode();e.name=this.value;this.next();this.finishNode(e,"PrivateName");if(this.options.allowReserved=="never")this.checkUnreserved(e);return e}getTokenFromCode(e){if(e===35){++this.pos;const e=this.readWord1();return this.finishToken(this.privateNameToken,e)}return super.getTokenFromCode(e)}parseClass(e,t){const r=this._outerPrivateBoundNames;this._outerPrivateBoundNames=this._privateBoundNames;this._privateBoundNames=Object.create(this._privateBoundNames||null);const i=this._outerUnresolvedPrivateNames;this._outerUnresolvedPrivateNames=this._unresolvedPrivateNames;this._unresolvedPrivateNames=Object.create(null);const n=super.parseClass(e,t);const s=this._unresolvedPrivateNames;this._privateBoundNames=this._outerPrivateBoundNames;this._outerPrivateBoundNames=r;this._unresolvedPrivateNames=this._outerUnresolvedPrivateNames;this._outerUnresolvedPrivateNames=i;if(!this._unresolvedPrivateNames){const e=Object.keys(s);if(e.length){e.sort((e,t)=>s[e]-s[t]);this.raise(s[e[0]],"Usage of undeclared private name")}}else Object.assign(this._unresolvedPrivateNames,s);return n}parseClassSuper(e){const t=this._privateBoundNames;this._privateBoundNames=this._outerPrivateBoundNames;const r=this._unresolvedPrivateNames;this._unresolvedPrivateNames=this._outerUnresolvedPrivateNames;const i=super.parseClassSuper(e);this._privateBoundNames=t;this._unresolvedPrivateNames=r;return i}parseSubscript(e,r,i,n,s){if(!this.eat(t.tokTypes.dot)){return super.parseSubscript(e,r,i,n,s)}let a=this.startNodeAt(r,i);a.object=e;a.computed=false;if(this.type==this.privateNameToken){if(e.type=="Super"){this.raise(this.start,"Cannot access private element on super")}a.property=this.parsePrivateName();if(!this._privateBoundNames||!this._privateBoundNames[a.property.name]){if(!this._unresolvedPrivateNames){this.raise(a.property.start,"Usage of undeclared private name")}this._unresolvedPrivateNames[a.property.name]=a.property.start}}else{a.property=this.parseIdent(true)}return this.finishNode(a,"MemberExpression")}parseMaybeUnary(e,t){const r=super.parseMaybeUnary(e,t);if(r.operator=="delete"){if(r.argument.type=="MemberExpression"&&r.argument.property.type=="PrivateName"){this.raise(r.start,"Private elements may not be deleted")}}return r}};e.prototype.privateNameToken=new t.TokenType("privateName");return e}},146:function(e,t,r){"use strict";const i=r(722);const n={null:null,true:true,false:false};function parseQuery(e){if(e.substr(0,1)!=="?"){throw new Error("A valid query string passed to parseQuery should begin with '?'")}e=e.substr(1);if(!e){return{}}if(e.substr(0,1)==="{"&&e.substr(-1)==="}"){return i.parse(e)}const t=e.split(/[,&]/g);const r={};t.forEach(e=>{const t=e.indexOf("=");if(t>=0){let i=e.substr(0,t);let s=decodeURIComponent(e.substr(t+1));if(n.hasOwnProperty(s)){s=n[s]}if(i.substr(-2)==="[]"){i=decodeURIComponent(i.substr(0,i.length-2));if(!Array.isArray(r[i])){r[i]=[]}r[i].push(s)}else{i=decodeURIComponent(i);r[i]=s}}else{if(e.substr(0,1)==="-"){r[decodeURIComponent(e.substr(1))]=false}else if(e.substr(0,1)==="+"){r[decodeURIComponent(e.substr(1))]=true}else{r[decodeURIComponent(e)]=true}}});return r}e.exports=parseQuery},150:function(e){"use strict";e.exports=function spin(e,t){return e[t%e.length]}},156:function(e){"use strict";var t=Object.getOwnPropertySymbols;var r=Object.prototype.hasOwnProperty;var i=Object.prototype.propertyIsEnumerable;function toObject(e){if(e===null||e===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(e)}function shouldUseNative(){try{if(!Object.assign){return false}var e=new String("abc");e[5]="de";if(Object.getOwnPropertyNames(e)[0]==="5"){return false}var t={};for(var r=0;r<10;r++){t["_"+String.fromCharCode(r)]=r}var i=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if(i.join("")!=="0123456789"){return false}var n={};"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e});if(Object.keys(Object.assign({},n)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(e){return false}}e.exports=shouldUseNative()?Object.assign:function(e,n){var s;var a=toObject(e);var u;for(var o=1;o1)r=1;if(t<=0)return"";var s=Math.round(t*r);var a=t-s;var u=[{type:"complete",value:repeat(e.complete,s),length:s},{type:"remaining",value:repeat(e.remaining,a),length:a}];return n(t,u,e)};function repeat(e,t){var r="";var i=t;do{if(i%2){r+=e}i=Math.floor(i/2);e+=e}while(i&&a(r)=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false}},228:function(e,t,r){const{encode:i,decode:n}=r(899);function traceSegment(e,t,r,i,n){const s=t[r];if(!s)return null;let a=0;let u=s.length-1;while(a<=u){const t=a+u>>1;const r=s[t];if(r[0]===i){return{source:r[1],line:r[2],column:r[3],name:e.names[r[4]]||n}}if(r[0]>i)u=t-1;else a=t+1}return null}e.exports=function(e,t){const r=[];const s=[];const a=[];const u=[];const o=n(e.mappings);for(const i of n(t.mappings)){const n=[];for(const u of i){const i=traceSegment(e,o,u[2],u[3],t.names[u[4]]);if(i){const t=e.sources[i.source];let o=r.lastIndexOf(t);if(o===-1){o=r.length;r.push(t);s[o]=e.sourcesContent[i.source]}else if(s[o]==null){s[o]=e.sourcesContent[i.source]}const l=[u[0],o,i.line,i.column];if(i.name){let e=a.indexOf(i.name);if(e===-1){e=a.length;a.push(i.name)}l[4]=e}n.push(l)}}u.push(n)}return{version:3,file:null,sources:r,mappings:i(u),names:a,sourcesContent:s}}},238:function(e,t,r){"use strict";t.TrackerGroup=r(604);t.Tracker=r(358);t.TrackerStream=r(30)},254:function(e,t,r){"use strict";var i=r(354);var n=r(160);var s=e.exports=new n;s.addTheme("ASCII",{preProgressbar:"[",postProgressbar:"]",progressbarTheme:{complete:"#",remaining:"."},activityIndicatorTheme:"-\\|/",preSubsection:">"});s.addTheme("colorASCII",s.getTheme("ASCII"),{progressbarTheme:{preComplete:i.color("inverse"),complete:" ",postComplete:i.color("stopInverse"),preRemaining:i.color("brightBlack"),remaining:".",postRemaining:i.color("reset")}});s.addTheme("brailleSpinner",{preProgressbar:"⸨",postProgressbar:"⸩",progressbarTheme:{complete:"░",remaining:"⠂"},activityIndicatorTheme:"⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏",preSubsection:">"});s.addTheme("colorBrailleSpinner",s.getTheme("brailleSpinner"),{progressbarTheme:{preComplete:i.color("inverse"),complete:" ",postComplete:i.color("stopInverse"),preRemaining:i.color("brightBlack"),remaining:"░",postRemaining:i.color("reset")}});s.setDefault({},"ASCII");s.setDefault({hasColor:true},"colorASCII");s.setDefault({platform:"darwin",hasUnicode:true},"brailleSpinner");s.setDefault({platform:"darwin",hasUnicode:true,hasColor:true},"colorBrailleSpinner")},285:function(e,t,r){var i=r(688);if(process.env.READABLE_STREAM==="disable"&&i){e.exports=i;t=e.exports=i.Readable;t.Readable=i.Readable;t.Writable=i.Writable;t.Duplex=i.Duplex;t.Transform=i.Transform;t.PassThrough=i.PassThrough;t.Stream=i}else{t=e.exports=r(923);t.Stream=i||t;t.Readable=t;t.Writable=r(86);t.Duplex=r(98);t.Transform=r(955);t.PassThrough=r(502)}},287:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=parse;var n=r(320);var s=_interopRequireWildcard(n);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var r in e){if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]}}t.default=e;return t}}var a=void 0;var u=void 0;var o=void 0;var l=void 0;var f=void 0;var h=void 0;var c=void 0;var p=void 0;var d=void 0;function parse(e,t){a=String(e);u="start";o=[];l=0;f=1;h=0;c=undefined;p=undefined;d=undefined;do{c=lex();E[u]()}while(c.type!=="eof");if(typeof t==="function"){return internalize({"":d},"",t)}return d}function internalize(e,t,r){var n=e[t];if(n!=null&&(typeof n==="undefined"?"undefined":i(n))==="object"){for(var s in n){var a=internalize(n,s,r);if(a===undefined){delete n[s]}else{n[s]=a}}}return r.call(e,t,n)}var v=void 0;var y=void 0;var g=void 0;var b=void 0;var _=void 0;function lex(){v="default";y="";g=false;b=1;for(;;){_=peek();var e=m[v]();if(e){return e}}}function peek(){if(a[l]){return String.fromCodePoint(a.codePointAt(l))}}function read(){var e=peek();if(e==="\n"){f++;h=0}else if(e){h+=e.length}else{h++}if(e){l+=e.length}return e}var m={default:function _default(){switch(_){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":read();return;case"/":read();v="comment";return;case undefined:read();return newToken("eof")}if(s.isSpaceSeparator(_)){read();return}return m[u]()},comment:function comment(){switch(_){case"*":read();v="multiLineComment";return;case"/":read();v="singleLineComment";return}throw invalidChar(read())},multiLineComment:function multiLineComment(){switch(_){case"*":read();v="multiLineCommentAsterisk";return;case undefined:throw invalidChar(read())}read()},multiLineCommentAsterisk:function multiLineCommentAsterisk(){switch(_){case"*":read();return;case"/":read();v="default";return;case undefined:throw invalidChar(read())}read();v="multiLineComment"},singleLineComment:function singleLineComment(){switch(_){case"\n":case"\r":case"\u2028":case"\u2029":read();v="default";return;case undefined:read();return newToken("eof")}read()},value:function value(){switch(_){case"{":case"[":return newToken("punctuator",read());case"n":read();literal("ull");return newToken("null",null);case"t":read();literal("rue");return newToken("boolean",true);case"f":read();literal("alse");return newToken("boolean",false);case"-":case"+":if(read()==="-"){b=-1}v="sign";return;case".":y=read();v="decimalPointLeading";return;case"0":y=read();v="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":y=read();v="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",Infinity);case"N":read();literal("aN");return newToken("numeric",NaN);case'"':case"'":g=read()==='"';y="";v="string";return}throw invalidChar(read())},identifierNameStartEscape:function identifierNameStartEscape(){if(_!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":break;default:if(!s.isIdStartChar(e)){throw invalidIdentifier()}break}y+=e;v="identifierName"},identifierName:function identifierName(){switch(_){case"$":case"_":case"‌":case"‍":y+=read();return;case"\\":read();v="identifierNameEscape";return}if(s.isIdContinueChar(_)){y+=read();return}return newToken("identifier",y)},identifierNameEscape:function identifierNameEscape(){if(_!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!s.isIdContinueChar(e)){throw invalidIdentifier()}break}y+=e;v="identifierName"},sign:function sign(){switch(_){case".":y=read();v="decimalPointLeading";return;case"0":y=read();v="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":y=read();v="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",b*Infinity);case"N":read();literal("aN");return newToken("numeric",NaN)}throw invalidChar(read())},zero:function zero(){switch(_){case".":y+=read();v="decimalPoint";return;case"e":case"E":y+=read();v="decimalExponent";return;case"x":case"X":y+=read();v="hexadecimal";return}return newToken("numeric",b*0)},decimalInteger:function decimalInteger(){switch(_){case".":y+=read();v="decimalPoint";return;case"e":case"E":y+=read();v="decimalExponent";return}if(s.isDigit(_)){y+=read();return}return newToken("numeric",b*Number(y))},decimalPointLeading:function decimalPointLeading(){if(s.isDigit(_)){y+=read();v="decimalFraction";return}throw invalidChar(read())},decimalPoint:function decimalPoint(){switch(_){case"e":case"E":y+=read();v="decimalExponent";return}if(s.isDigit(_)){y+=read();v="decimalFraction";return}return newToken("numeric",b*Number(y))},decimalFraction:function decimalFraction(){switch(_){case"e":case"E":y+=read();v="decimalExponent";return}if(s.isDigit(_)){y+=read();return}return newToken("numeric",b*Number(y))},decimalExponent:function decimalExponent(){switch(_){case"+":case"-":y+=read();v="decimalExponentSign";return}if(s.isDigit(_)){y+=read();v="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentSign:function decimalExponentSign(){if(s.isDigit(_)){y+=read();v="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentInteger:function decimalExponentInteger(){if(s.isDigit(_)){y+=read();return}return newToken("numeric",b*Number(y))},hexadecimal:function hexadecimal(){if(s.isHexDigit(_)){y+=read();v="hexadecimalInteger";return}throw invalidChar(read())},hexadecimalInteger:function hexadecimalInteger(){if(s.isHexDigit(_)){y+=read();return}return newToken("numeric",b*Number(y))},string:function string(){switch(_){case"\\":read();y+=escape();return;case'"':if(g){read();return newToken("string",y)}y+=read();return;case"'":if(!g){read();return newToken("string",y)}y+=read();return;case"\n":case"\r":throw invalidChar(read());case"\u2028":case"\u2029":separatorChar(_);break;case undefined:throw invalidChar(read())}y+=read()},start:function start(){switch(_){case"{":case"[":return newToken("punctuator",read())}v="value"},beforePropertyName:function beforePropertyName(){switch(_){case"$":case"_":y=read();v="identifierName";return;case"\\":read();v="identifierNameStartEscape";return;case"}":return newToken("punctuator",read());case'"':case"'":g=read()==='"';v="string";return}if(s.isIdStartChar(_)){y+=read();v="identifierName";return}throw invalidChar(read())},afterPropertyName:function afterPropertyName(){if(_===":"){return newToken("punctuator",read())}throw invalidChar(read())},beforePropertyValue:function beforePropertyValue(){v="value"},afterPropertyValue:function afterPropertyValue(){switch(_){case",":case"}":return newToken("punctuator",read())}throw invalidChar(read())},beforeArrayValue:function beforeArrayValue(){if(_==="]"){return newToken("punctuator",read())}v="value"},afterArrayValue:function afterArrayValue(){switch(_){case",":case"]":return newToken("punctuator",read())}throw invalidChar(read())},end:function end(){throw invalidChar(read())}};function newToken(e,t){return{type:e,value:t,line:f,column:h}}function literal(e){var t=true;var r=false;var i=undefined;try{for(var n=e[Symbol.iterator](),s;!(t=(s=n.next()).done);t=true){var a=s.value;var u=peek();if(u!==a){throw invalidChar(read())}read()}}catch(e){r=true;i=e}finally{try{if(!t&&n.return){n.return()}}finally{if(r){throw i}}}}function escape(){var e=peek();switch(e){case"b":read();return"\b";case"f":read();return"\f";case"n":read();return"\n";case"r":read();return"\r";case"t":read();return"\t";case"v":read();return"\v";case"0":read();if(s.isDigit(peek())){throw invalidChar(read())}return"\0";case"x":read();return hexEscape();case"u":read();return unicodeEscape();case"\n":case"\u2028":case"\u2029":read();return"";case"\r":read();if(peek()==="\n"){read()}return"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw invalidChar(read());case undefined:throw invalidChar(read())}return read()}function hexEscape(){var e="";var t=peek();if(!s.isHexDigit(t)){throw invalidChar(read())}e+=read();t=peek();if(!s.isHexDigit(t)){throw invalidChar(read())}e+=read();return String.fromCodePoint(parseInt(e,16))}function unicodeEscape(){var e="";var t=4;while(t-- >0){var r=peek();if(!s.isHexDigit(r)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var E={start:function start(){if(c.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(c.type){case"identifier":case"string":p=c.value;u="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(c.type==="eof"){throw invalidEOF()}u="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(c.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(c.type==="eof"){throw invalidEOF()}if(c.type==="punctuator"&&c.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(c.type==="eof"){throw invalidEOF()}switch(c.value){case",":u="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(c.type==="eof"){throw invalidEOF()}switch(c.value){case",":u="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(c.type){case"punctuator":switch(c.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=c.value;break}if(d===undefined){d=e}else{var t=o[o.length-1];if(Array.isArray(t)){t.push(e)}else{t[p]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":i(e))==="object"){o.push(e);if(Array.isArray(e)){u="beforeArrayValue"}else{u="beforePropertyName"}}else{var r=o[o.length-1];if(r==null){u="end"}else if(Array.isArray(r)){u="afterArrayValue"}else{u="afterPropertyValue"}}}function pop(){o.pop();var e=o[o.length-1];if(e==null){u="end"}else if(Array.isArray(e)){u="afterArrayValue"}else{u="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+f+":"+h)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+f+":"+h)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+f+":"+h)}function invalidIdentifier(){h-=5;return syntaxError("JSON5: invalid identifier character at "+f+":"+h)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e]){return t[e]}if(e<" "){var r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function syntaxError(e){var t=new SyntaxError(e);t.lineNumber=f;t.columnNumber=h;return t}e.exports=t["default"]},288:function(e,t,r){const i=r(589);e.exports=function(e,t,r){const n=i.extname(e);let s=e,a=0;while(s in r&&r[s]!==t)s=e.substr(0,e.length-n.length)+ ++a+n;r[s]=t;return s}},298:function(e){e.exports=__webpack_require__(417)},300:function(e){"use strict";function getRemainingRequest(e){if(e.remainingRequest){return e.remainingRequest}const t=e.loaders.slice(e.loaderIndex+1).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getRemainingRequest},308:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var i=r(589);var n=_interopDefault(i);var s=r(825);var a=_interopDefault(r(64));const u=function addExtension(e,t=".js"){if(!i.extname(e))e+=t;return e};const o={ArrayPattern(e,t){for(const r of t.elements){if(r)o[r.type](e,r)}},AssignmentPattern(e,t){o[t.left.type](e,t.left)},Identifier(e,t){e.push(t.name)},MemberExpression(){},ObjectPattern(e,t){for(const r of t.properties){if(r.type==="RestElement"){o.RestElement(e,r)}else{o[r.value.type](e,r.value)}}},RestElement(e,t){o[t.argument.type](e,t.argument)}};const l=function extractAssignedNames(e){const t=[];o[e.type](t,e);return t};const f={const:true,let:true};class Scope{constructor(e={}){this.parent=e.parent;this.isBlockScope=!!e.block;this.declarations=Object.create(null);if(e.params){e.params.forEach(e=>{l(e).forEach(e=>{this.declarations[e]=true})})}}addDeclaration(e,t,r){if(!t&&this.isBlockScope){this.parent.addDeclaration(e,t,r)}else if(e.id){l(e.id).forEach(e=>{this.declarations[e]=true})}}contains(e){return this.declarations[e]||(this.parent?this.parent.contains(e):false)}}const h=function attachScopes(e,t="scope"){let r=new Scope;s.walk(e,{enter(e,i){if(/(Function|Class)Declaration/.test(e.type)){r.addDeclaration(e,false,false)}if(e.type==="VariableDeclaration"){const t=e.kind;const i=f[t];e.declarations.forEach(e=>{r.addDeclaration(e,i,true)})}let n;if(/Function/.test(e.type)){n=new Scope({parent:r,block:false,params:e.params});if(e.type==="FunctionExpression"&&e.id){n.addDeclaration(e,false,false)}}if(e.type==="BlockStatement"&&!/Function/.test(i.type)){n=new Scope({parent:r,block:true})}if(e.type==="CatchClause"){n=new Scope({parent:r,params:e.param?[e.param]:[],block:true})}if(n){Object.defineProperty(e,t,{value:n,configurable:true});r=n}},leave(e){if(e[t])r=r.parent}});return r};function createCommonjsModule(e,t){return t={exports:{}},e(t,t.exports),t.exports}var c=createCommonjsModule(function(e,t){t.isInteger=(e=>{if(typeof e==="number"){return Number.isInteger(e)}if(typeof e==="string"&&e.trim()!==""){return Number.isInteger(Number(e))}return false});t.find=((e,t)=>e.nodes.find(e=>e.type===t));t.exceedsLimit=((e,r,i=1,n)=>{if(n===false)return false;if(!t.isInteger(e)||!t.isInteger(r))return false;return(Number(r)-Number(e))/Number(i)>=n});t.escapeNode=((e,t=0,r)=>{let i=e.nodes[t];if(!i)return;if(r&&i.type===r||i.type==="open"||i.type==="close"){if(i.escaped!==true){i.value="\\"+i.value;i.escaped=true}}});t.encloseBrace=(e=>{if(e.type!=="brace")return false;if(e.commas>>0+e.ranges>>0===0){e.invalid=true;return true}return false});t.isInvalidBrace=(e=>{if(e.type!=="brace")return false;if(e.invalid===true||e.dollar)return true;if(e.commas>>0+e.ranges>>0===0){e.invalid=true;return true}if(e.open!==true||e.close!==true){e.invalid=true;return true}return false});t.isOpenOrClose=(e=>{if(e.type==="open"||e.type==="close"){return true}return e.open===true||e.close===true});t.reduce=(e=>e.reduce((e,t)=>{if(t.type==="text")e.push(t.value);if(t.type==="range")t.type="text";return e},[]));t.flatten=((...e)=>{const t=[];const r=e=>{for(let i=0;i{let r=(e,i={})=>{let n=t.escapeInvalid&&c.isInvalidBrace(i);let s=e.invalid===true&&t.escapeInvalid===true;let a="";if(e.value){if((n||s)&&c.isOpenOrClose(e)){return"\\"+e.value}return e.value}if(e.value){return e.value}if(e.nodes){for(let t of e.nodes){a+=r(t)}}return a};return r(e)};var w=function(e){if(typeof e==="number"){return e-e===0}if(typeof e==="string"&&e.trim()!==""){return Number.isFinite?Number.isFinite(+e):isFinite(+e)}return false};const A=(e,t,r)=>{if(w(e)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(t===void 0||e===t){return String(e)}if(w(t)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let i=Object.assign({relaxZeros:true},r);if(typeof i.strictZeros==="boolean"){i.relaxZeros=i.strictZeros===false}let n=String(i.relaxZeros);let s=String(i.shorthand);let a=String(i.capture);let u=String(i.wrap);let o=e+":"+t+"="+n+s+a+u;if(A.cache.hasOwnProperty(o)){return A.cache[o].result}let l=Math.min(e,t);let f=Math.max(e,t);if(Math.abs(l-f)===1){let r=e+"|"+t;if(i.capture){return`(${r})`}if(i.wrap===false){return r}return`(?:${r})`}let h=hasPadding(e)||hasPadding(t);let c={min:e,max:t,a:l,b:f};let p=[];let d=[];if(h){c.isPadded=h;c.maxLen=String(c.max).length}if(l<0){let e=f<0?Math.abs(f):1;d=splitToPatterns(e,Math.abs(l),c,i);l=c.a=0}if(f>=0){p=splitToPatterns(l,f,c,i)}c.negatives=d;c.positives=p;c.result=collatePatterns(d,p,i);if(i.capture===true){c.result=`(${c.result})`}else if(i.wrap!==false&&p.length+d.length>1){c.result=`(?:${c.result})`}A.cache[o]=c;return c.result};function collatePatterns(e,t,r){let i=filterPatterns(e,t,"-",false,r)||[];let n=filterPatterns(t,e,"",false,r)||[];let s=filterPatterns(e,t,"-?",true,r)||[];let a=i.concat(s).concat(n);return a.join("|")}function splitToRanges(e,t){let r=1;let i=1;let n=countNines(e,r);let s=new Set([t]);while(e<=n&&n<=t){s.add(n);r+=1;n=countNines(e,r)}n=countZeros(t+1,i)-1;while(e1){u.count.pop()}u.count.push(o.count[0]);u.string=u.pattern+toQuantifier(u.count);a=t+1;continue}if(r.isPadded){l=padZeros(t,r,i)}o.string=l+o.pattern+toQuantifier(o.count);s.push(o);a=t+1;u=o}return s}function filterPatterns(e,t,r,i,n){let s=[];for(let n of e){let{string:e}=n;if(!i&&!contains(t,"string",e)){s.push(r+e)}if(i&&contains(t,"string",e)){s.push(r+e)}}return s}function zip(e,t){let r=[];for(let i=0;it?1:t>e?-1:0}function contains(e,t,r){return e.some(e=>e[t]===r)}function countNines(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function countZeros(e,t){return e-e%Math.pow(10,t)}function toQuantifier(e){let[t=0,r=""]=e;if(r||t>1){return`{${t+(r?","+r:"")}}`}return""}function toCharacterClass(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function hasPadding(e){return/^-?(0+)\d/.test(e)}function padZeros(e,t,r){if(!t.isPadded){return e}let i=Math.abs(t.maxLen-String(e).length);let n=r.relaxZeros!==false;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:{return n?`0{0,${i}}`:`0{${i}}`}}}A.cache={};A.clearCache=(()=>A.cache={});var C=A;const x=e=>e!==null&&typeof e==="object"&&!Array.isArray(e);const S=e=>{return t=>e===true?Number(t):String(t)};const k=e=>{return typeof e==="number"||typeof e==="string"&&e!==""};const F=e=>Number.isInteger(+e);const R=e=>{let t=`${e}`;let r=-1;if(t[0]==="-")t=t.slice(1);if(t==="0")return false;while(t[++r]==="0");return r>0};const T=(e,t,r)=>{if(typeof e==="string"||typeof t==="string"){return true}return r.stringify===true};const O=(e,t,r)=>{if(t>0){let r=e[0]==="-"?"-":"";if(r)e=e.slice(1);e=r+e.padStart(r?t-1:t,"0")}if(r===false){return String(e)}return e};const I=(e,t)=>{let r=e[0]==="-"?"-":"";if(r){e=e.slice(1);t--}while(e.length{e.negatives.sort((e,t)=>et?1:0);e.positives.sort((e,t)=>et?1:0);let r=t.capture?"":"?:";let i="";let n="";let s;if(e.positives.length){i=e.positives.join("|")}if(e.negatives.length){n=`-(${r}${e.negatives.join("|")})`}if(i&&n){s=`${i}|${n}`}else{s=i||n}if(t.wrap){return`(${r}${s})`}return s};const N=(e,t,r,i)=>{if(r){return C(e,t,Object.assign({wrap:false},i))}let n=String.fromCharCode(e);if(e===t)return n;let s=String.fromCharCode(t);return`[${n}-${s}]`};const L=(e,t,r)=>{if(Array.isArray(e)){let t=r.wrap===true;let i=r.capture?"":"?:";return t?`(${i}${e.join("|")})`:e.join("|")}return C(e,t,r)};const P=(...e)=>{return new RangeError("Invalid range arguments: "+a.inspect(...e))};const j=(e,t,r)=>{if(r.strictRanges===true)throw P([e,t]);return[]};const q=(e,t)=>{if(t.strictRanges===true){throw new TypeError(`Expected step "${e}" to be a number`)}return[]};const $=(e,t,r=1,i={})=>{let n=Number(e);let s=Number(t);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===true)throw P([e,t]);return[]}if(n===0)n=0;if(s===0)s=0;let a=n>s;let u=String(e);let o=String(t);let l=String(r);r=Math.max(Math.abs(r),1);let f=R(u)||R(o)||R(l);let h=f?Math.max(u.length,o.length,l.length):0;let c=f===false&&T(e,t,i)===false;let p=i.transform||S(c);if(i.toRegex&&r===1){return N(I(e,h),I(t,h),true,i)}let d={negatives:[],positives:[]};let v=e=>d[e<0?"negatives":"positives"].push(Math.abs(e));let y=[];let g=0;while(a?n>=s:n<=s){if(i.toRegex===true&&r>1){v(n)}else{y.push(O(p(n,g),h,c))}n=a?n-r:n+r;g++}if(i.toRegex===true){return r>1?B(d,i):L(y,null,Object.assign({wrap:false},i))}return y};const M=(e,t,r=1,i={})=>{if(!F(e)&&e.length>1||!F(t)&&t.length>1){return j(e,t,i)}let n=i.transform||(e=>String.fromCharCode(e));let s=`${e}`.charCodeAt(0);let a=`${t}`.charCodeAt(0);let u=s>a;let o=Math.min(s,a);let l=Math.max(s,a);if(i.toRegex&&r===1){return N(o,l,false,i)}let f=[];let h=0;while(u?s>=a:s<=a){f.push(n(s,h));s=u?s-r:s+r;h++}if(i.toRegex===true){return L(f,null,{wrap:false,options:i})}return f};const U=(e,t,r,i={})=>{if(t==null&&k(e)){return[e]}if(!k(e)||!k(t)){return j(e,t,i)}if(typeof r==="function"){return U(e,t,1,{transform:r})}if(x(r)){return U(e,t,0,r)}let n=Object.assign({},i);if(n.capture===true)n.wrap=true;r=r||n.step||1;if(!F(r)){if(r!=null&&!x(r))return q(r,n);return U(e,t,1,r)}if(F(e)&&F(t)){return $(e,t,r,n)}return M(e,t,Math.max(Math.abs(r),1),n)};var H=U;const W=(e,t={})=>{let r=(e,i={})=>{let n=c.isInvalidBrace(i);let s=e.invalid===true&&t.escapeInvalid===true;let a=n===true||s===true;let u=t.escapeInvalid===true?"\\":"";let o="";if(e.isOpen===true){return u+e.value}if(e.isClose===true){return u+e.value}if(e.type==="open"){return a?u+e.value:"("}if(e.type==="close"){return a?u+e.value:")"}if(e.type==="comma"){return e.prev.type==="comma"?"":a?e.value:"|"}if(e.value){return e.value}if(e.nodes&&e.ranges>0){let r=c.reduce(e.nodes);let i=H(...r,Object.assign({},t,{wrap:false,toRegex:true}));if(i.length!==0){return r.length>1&&i.length>1?`(${i})`:i}}if(e.nodes){for(let t of e.nodes){o+=r(t,e)}}return o};return r(e)};var G=W;const V=(e="",t="",r=false)=>{let i=[];e=[].concat(e);t=[].concat(t);if(!t.length)return e;if(!e.length){return r?c.flatten(t).map(e=>`{${e}}`):t}for(let n of e){if(Array.isArray(n)){for(let e of n){i.push(V(e,t,r))}}else{for(let e of t){if(r===true&&typeof e==="string")e=`{${e}}`;i.push(Array.isArray(e)?V(n,e,r):n+e)}}}return c.flatten(i)};const z=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit;let i=(e,n={})=>{e.queue=[];let s=n;let a=n.queue;while(s.type!=="brace"&&s.type!=="root"&&s.parent){s=s.parent;a=s.queue}if(e.invalid||e.dollar){a.push(V(a.pop(),D(e,t)));return}if(e.type==="brace"&&e.invalid!==true&&e.nodes.length===2){a.push(V(a.pop(),["{}"]));return}if(e.nodes&&e.ranges>0){let i=c.reduce(e.nodes);if(c.exceedsLimit(...i,t.step,r)){throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.")}let n=H(...i,t);if(n.length===0){n=D(e,t)}a.push(V(a.pop(),n));e.nodes=[];return}let u=c.encloseBrace(e);let o=e.queue;let l=e;while(l.type!=="brace"&&l.type!=="root"&&l.parent){l=l.parent;o=l.queue}for(let t=0;t",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"};const{MAX_LENGTH:X,CHAR_BACKSLASH:Z,CHAR_BACKTICK:J,CHAR_COMMA:Y,CHAR_DOT:ee,CHAR_LEFT_PARENTHESES:te,CHAR_RIGHT_PARENTHESES:re,CHAR_LEFT_CURLY_BRACE:ie,CHAR_RIGHT_CURLY_BRACE:ne,CHAR_LEFT_SQUARE_BRACKET:se,CHAR_RIGHT_SQUARE_BRACKET:ae,CHAR_DOUBLE_QUOTE:ue,CHAR_SINGLE_QUOTE:oe,CHAR_NO_BREAK_SPACE:le,CHAR_ZERO_WIDTH_NOBREAK_SPACE:fe}=Q;const he=(e,t={})=>{if(typeof e!=="string"){throw new TypeError("Expected a string")}let r=t||{};let i=typeof r.maxLength==="number"?Math.min(X,r.maxLength):X;if(e.length>i){throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${i})`)}let n={type:"root",input:e,nodes:[]};let s=[n];let a=n;let u=n;let o=0;let l=e.length;let f=0;let h=0;let c;const p=()=>e[f++];const d=e=>{if(e.type==="text"&&u.type==="dot"){u.type="text"}if(u&&u.type==="text"&&e.type==="text"){u.value+=e.value;return}a.nodes.push(e);e.parent=a;e.prev=u;u=e;return e};d({type:"bos"});while(f0){if(a.ranges>0){a.ranges=0;let e=a.nodes.shift();a.nodes=[e,{type:"text",value:D(a)}]}d({type:"comma",value:c});a.commas++;continue}if(c===ee&&h>0&&a.commas===0){let e=a.nodes;if(h===0||e.length===0){d({type:"text",value:c});continue}if(u.type==="dot"){a.range=[];u.value+=c;u.type="range";if(a.nodes.length!==3&&a.nodes.length!==5){a.invalid=true;a.ranges=0;u.type="text";continue}a.ranges++;a.args=[];continue}if(u.type==="range"){e.pop();let t=e[e.length-1];t.value+=u.value+c;u=t;a.ranges--;continue}d({type:"dot",value:c});continue}d({type:"text",value:c})}do{a=s.pop();if(a.type!=="root"){a.nodes.forEach(e=>{if(!e.nodes){if(e.type==="open")e.isOpen=true;if(e.type==="close")e.isClose=true;if(!e.nodes)e.type="text";e.invalid=true}});let e=s[s.length-1];let t=e.nodes.indexOf(a);e.nodes.splice(t,1,...a.nodes)}}while(s.length>0);d({type:"eos"});return n};var ce=he;const pe=(e,t={})=>{let r=[];if(Array.isArray(e)){for(let i of e){let e=pe.create(i,t);if(Array.isArray(e)){r.push(...e)}else{r.push(e)}}}else{r=[].concat(pe.create(e,t))}if(t&&t.expand===true&&t.nodupes===true){r=[...new Set(r)]}return r};pe.parse=((e,t={})=>ce(e,t));pe.stringify=((e,t={})=>{if(typeof e==="string"){return D(pe.parse(e,t),t)}return D(e,t)});pe.compile=((e,t={})=>{if(typeof e==="string"){e=pe.parse(e,t)}return G(e,t)});pe.expand=((e,t={})=>{if(typeof e==="string"){e=pe.parse(e,t)}let r=K(e,t);if(t.noempty===true){r=r.filter(Boolean)}if(t.nodupes===true){r=[...new Set(r)]}return r});pe.create=((e,t={})=>{if(e===""||e.length<3){return[e]}return t.expand!==true?pe.compile(e,t):pe.expand(e,t)});var de=pe;const ve="\\\\/";const ye=`[^${ve}]`;const ge="\\.";const be="\\+";const _e="\\?";const me="\\/";const Ee="(?=.)";const De="[^/]";const we=`(?:${me}|$)`;const Ae=`(?:^|${me})`;const Ce=`${ge}{1,2}${we}`;const xe=`(?!${ge})`;const Se=`(?!${Ae}${Ce})`;const ke=`(?!${ge}{0,1}${we})`;const Fe=`(?!${Ce})`;const Re=`[^.${me}]`;const Te=`${De}*?`;const Oe={DOT_LITERAL:ge,PLUS_LITERAL:be,QMARK_LITERAL:_e,SLASH_LITERAL:me,ONE_CHAR:Ee,QMARK:De,END_ANCHOR:we,DOTS_SLASH:Ce,NO_DOT:xe,NO_DOTS:Se,NO_DOT_SLASH:ke,NO_DOTS_SLASH:Fe,QMARK_NO_DOT:Re,STAR:Te,START_ANCHOR:Ae};const Ie=Object.assign({},Oe,{SLASH_LITERAL:`[${ve}]`,QMARK:ye,STAR:`${ye}*?`,DOTS_SLASH:`${ge}{1,2}(?:[${ve}]|$)`,NO_DOT:`(?!${ge})`,NO_DOTS:`(?!(?:^|[${ve}])${ge}{1,2}(?:[${ve}]|$))`,NO_DOT_SLASH:`(?!${ge}{0,1}(?:[${ve}]|$))`,NO_DOTS_SLASH:`(?!${ge}{1,2}(?:[${ve}]|$))`,QMARK_NO_DOT:`[^.${ve}]`,START_ANCHOR:`(?:^|[${ve}])`,END_ANCHOR:`(?:[${ve}]|$)`});const Be={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};var Ne={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Be,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHAR:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:n.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===true?Ie:Oe}};var Le=createCommonjsModule(function(e,t){const r=process.platform==="win32";const{REGEX_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_GLOBAL:s,REGEX_REMOVE_BACKSLASH:a}=Ne;t.isObject=(e=>e!==null&&typeof e==="object"&&!Array.isArray(e));t.hasRegexChars=(e=>i.test(e));t.isRegexChar=(e=>e.length===1&&t.hasRegexChars(e));t.escapeRegex=(e=>e.replace(s,"\\$1"));t.toPosixSlashes=(e=>e.replace(/\\/g,"/"));t.removeBackslashes=(e=>{return e.replace(a,e=>{return e==="\\"?"":e})});t.supportsLookbehinds=(()=>{let e=process.version.slice(1).split(".");if(e.length===3&&+e[0]>=9||+e[0]===8&&+e[1]>=10){return true}return false});t.isWindows=(e=>{if(e&&typeof e.windows==="boolean"){return e.windows}return r===true||n.sep==="\\"});t.escapeLast=((e,r,i)=>{let n=e.lastIndexOf(r,i);if(n===-1)return e;if(e[n-1]==="\\")return t.escapeLast(e,r,n-1);return e.slice(0,n)+"\\"+e.slice(n)})});var Pe=Le.isObject;var je=Le.hasRegexChars;var qe=Le.isRegexChar;var $e=Le.escapeRegex;var Me=Le.toPosixSlashes;var Ue=Le.removeBackslashes;var He=Le.supportsLookbehinds;var We=Le.isWindows;var Ge=Le.escapeLast;const{CHAR_ASTERISK:Ve,CHAR_AT:ze,CHAR_BACKWARD_SLASH:Ke,CHAR_COMMA:Qe,CHAR_DOT:Xe,CHAR_EXCLAMATION_MARK:Ze,CHAR_FORWARD_SLASH:Je,CHAR_LEFT_CURLY_BRACE:Ye,CHAR_LEFT_PARENTHESES:et,CHAR_LEFT_SQUARE_BRACKET:tt,CHAR_PLUS:rt,CHAR_QUESTION_MARK:it,CHAR_RIGHT_CURLY_BRACE:nt,CHAR_RIGHT_PARENTHESES:st,CHAR_RIGHT_SQUARE_BRACKET:at}=Ne;const ut=e=>{return e===Je||e===Ke};var ot=(e,t)=>{let r=t||{};let i=e.length-1;let n=-1;let s=0;let a=0;let u=false;let o=false;let l=false;let f=0;let h;let c;let p=false;let d=()=>n>=i;let v=()=>{h=c;return e.charCodeAt(++n)};while(n0){y=e.slice(0,s);e=e.slice(s);a-=s}if(b&&u===true&&a>0){b=e.slice(0,a);_=e.slice(a)}else if(u===true){b="";_=e}else{b=e}if(b&&b!==""&&b!=="/"&&b!==e){if(ut(b.charCodeAt(b.length-1))){b=b.slice(0,-1)}}if(r.unescape===true){if(_)_=Le.removeBackslashes(_);if(b&&o===true){b=Le.removeBackslashes(b)}}return{prefix:y,input:g,base:b,glob:_,negated:l,isGlob:u}};const{MAX_LENGTH:lt,POSIX_REGEX_SOURCE:ft,REGEX_NON_SPECIAL_CHAR:ht,REGEX_SPECIAL_CHARS_BACKREF:ct,REPLACEMENTS:pt}=Ne;const dt=(e,t)=>{if(typeof t.expandRange==="function"){return t.expandRange(...e,t)}e.sort();let r=`[${e.join("-")}]`;try{}catch(t){return e.map(e=>Le.escapeRegex(e)).join("..")}return r};const vt=e=>{let t=1;while(e.peek()==="!"&&(e.peek(2)!=="("||e.peek(3)==="?")){e.advance();e.start++;t++}if(t%2===0){return false}e.negated=true;e.start++;return true};const yt=(e,t)=>{return`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`};const gt=(e,t)=>{if(typeof e!=="string"){throw new TypeError("Expected a string")}e=pt[e]||e;let r=Object.assign({},t);let i=typeof r.maxLength==="number"?Math.min(lt,r.maxLength):lt;let n=e.length;if(n>i){throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`)}let s={type:"bos",value:"",output:r.prepend||""};let a=[s];let u=r.capture?"":"?:";let o=Le.isWindows(t);const l=Ne.globChars(o);const f=Ne.extglobChars(l);const{DOT_LITERAL:h,PLUS_LITERAL:c,SLASH_LITERAL:p,ONE_CHAR:d,DOTS_SLASH:v,NO_DOT:y,NO_DOT_SLASH:g,NO_DOTS_SLASH:b,QMARK:_,QMARK_NO_DOT:m,STAR:E,START_ANCHOR:D}=l;const w=e=>{return`(${u}(?:(?!${D}${e.dot?v:h}).)*?)`};let A=r.dot?"":y;let C=r.bash===true?w(r):E;let x=r.dot?_:m;if(r.capture){C=`(${C})`}if(typeof r.noext==="boolean"){r.noextglob=r.noext}let S={index:-1,start:0,consumed:"",output:"",backtrack:false,brackets:0,braces:0,parens:0,quotes:0,tokens:a};let k=[];let F=[];let R=s;let T;const O=()=>S.index===n-1;const I=S.peek=((t=1)=>e[S.index+t]);const B=S.advance=(()=>e[++S.index]);const N=e=>{S.output+=e.output!=null?e.output:e.value;S.consumed+=e.value||""};const L=e=>{S[e]++;F.push(e)};const P=e=>{S[e]--;F.pop()};const j=e=>{if(R.type==="globstar"){let t=S.braces>0&&(e.type==="comma"||e.type==="brace");let r=k.length&&(e.type==="pipe"||e.type==="paren");if(e.type!=="slash"&&e.type!=="paren"&&!t&&!r){S.output=S.output.slice(0,-R.output.length);R.type="star";R.value="*";R.output=C;S.output+=R.output}}if(k.length&&e.type!=="paren"&&!f[e.value]){k[k.length-1].inner+=e.value}if(e.value||e.output)N(e);if(R&&R.type==="text"&&e.type==="text"){R.value+=e.value;return}e.prev=R;a.push(e);R=e};const q=(e,t)=>{let i=Object.assign({},f[t],{conditions:1,inner:""});i.prev=R;i.parens=S.parens;i.output=S.output;let n=(r.capture?"(":"")+i.open;j({type:e,value:t,output:S.output?"":d});j({type:"paren",extglob:true,value:B(),output:n});L("parens");k.push(i)};const $=t=>{let i=t.close+(r.capture?")":"");if(t.type==="negate"){let n=C;if(t.inner&&t.inner.length>1&&t.inner.includes("/")){n=w(r)}if(n!==C||O()||/^\)+$/.test(e.slice(S.index+1))){i=t.close=")$))"+n}if(t.prev.type==="bos"&&O()){S.negatedExtglob=true}}j({type:"paren",extglob:true,value:T,output:i});P("parens")};if(r.fastpaths!==false&&!/(^[*!]|[/{[()\]}"])/.test(e)){let t=false;let i=e.replace(ct,(e,r,i,n,s,a)=>{if(n==="\\"){t=true;return e}if(n==="?"){if(r){return r+n+(s?_.repeat(s.length):"")}if(a===0){return x+(s?_.repeat(s.length):"")}return _.repeat(i.length)}if(n==="."){return h.repeat(i.length)}if(n==="*"){if(r){return r+n+(s?C:"")}return C}return r?e:"\\"+e});if(t===true){if(r.unescape===true){i=i.replace(/\\/g,"")}else{i=i.replace(/\\+/g,e=>{return e.length%2===0?"\\\\":e?"\\":""})}}S.output=i;return S}while(!O()){T=B();if(T==="\0"){continue}if(T==="\\"){let t=I();if(t==="/"&&r.bash!==true){continue}if(t==="."||t===";"){continue}if(!t){T+="\\";j({type:"text",value:T});continue}let i=/^\\+/.exec(e.slice(S.index+1));let n=0;if(i&&i[0].length>2){n=i[0].length;S.index+=n;if(n%2!==0){T+="\\"}}if(r.unescape===true){T=B()||""}else{T+=B()||""}if(S.brackets===0){j({type:"text",value:T});continue}}if(S.brackets>0&&(T!=="]"||R.value==="["||R.value==="[^")){if(r.posix!==false&&T===":"){let e=R.value.slice(1);if(e.includes("[")){R.posix=true;if(e.includes(":")){let e=R.value.lastIndexOf("[");let t=R.value.slice(0,e);let r=R.value.slice(e+2);let i=ft[r];if(i){R.value=t+i;S.backtrack=true;B();if(!s.output&&a.indexOf(R)===1){s.output=d}continue}}}}if(T==="["&&I()!==":"||T==="-"&&I()==="]"){T="\\"+T}if(T==="]"&&(R.value==="["||R.value==="[^")){T="\\"+T}if(r.posix===true&&T==="!"&&R.value==="["){T="^"}R.value+=T;N({value:T});continue}if(S.quotes===1&&T!=='"'){T=Le.escapeRegex(T);R.value+=T;N({value:T});continue}if(T==='"'){S.quotes=S.quotes===1?0:1;if(r.keepQuotes===true){j({type:"text",value:T})}continue}if(T==="("){j({type:"paren",value:T});L("parens");continue}if(T===")"){if(S.parens===0&&r.strictBrackets===true){throw new SyntaxError(yt("opening","("))}let e=k[k.length-1];if(e&&S.parens===e.parens+1){$(k.pop());continue}j({type:"paren",value:T,output:S.parens?")":"\\)"});P("parens");continue}if(T==="["){if(r.nobracket===true||!e.slice(S.index+1).includes("]")){if(r.nobracket!==true&&r.strictBrackets===true){throw new SyntaxError(yt("closing","]"))}T="\\"+T}else{L("brackets")}j({type:"bracket",value:T});continue}if(T==="]"){if(r.nobracket===true||R&&R.type==="bracket"&&R.value.length===1){j({type:"text",value:T,output:"\\"+T});continue}if(S.brackets===0){if(r.strictBrackets===true){throw new SyntaxError(yt("opening","["))}j({type:"text",value:T,output:"\\"+T});continue}P("brackets");let e=R.value.slice(1);if(R.posix!==true&&e[0]==="^"&&!e.includes("/")){T="/"+T}R.value+=T;N({value:T});if(r.literalBrackets===false||Le.hasRegexChars(e)){continue}let t=Le.escapeRegex(R.value);S.output=S.output.slice(0,-R.value.length);if(r.literalBrackets===true){S.output+=t;R.value=t;continue}R.value=`(${u}${t}|${R.value})`;S.output+=R.value;continue}if(T==="{"&&r.nobrace!==true){j({type:"brace",value:T,output:"("});L("braces");continue}if(T==="}"){if(r.nobrace===true||S.braces===0){j({type:"text",value:T,output:"\\"+T});continue}let e=")";if(S.dots===true){let t=a.slice();let i=[];for(let e=t.length-1;e>=0;e--){a.pop();if(t[e].type==="brace"){break}if(t[e].type!=="dots"){i.unshift(t[e].value)}}e=dt(i,r);S.backtrack=true}j({type:"brace",value:T,output:e});P("braces");continue}if(T==="|"){if(k.length>0){k[k.length-1].conditions++}j({type:"text",value:T});continue}if(T===","){let e=T;if(S.braces>0&&F[F.length-1]==="braces"){e="|"}j({type:"comma",value:T,output:e});continue}if(T==="/"){if(R.type==="dot"&&S.index===1){S.start=S.index+1;S.consumed="";S.output="";a.pop();R=s;continue}j({type:"slash",value:T,output:p});continue}if(T==="."){if(S.braces>0&&R.type==="dot"){if(R.value===".")R.output=h;R.type="dots";R.output+=T;R.value+=T;S.dots=true;continue}j({type:"dot",value:T,output:h});continue}if(T==="?"){if(R&&R.type==="paren"){let e=I();let t=T;if(e==="<"&&!Le.supportsLookbehinds()){throw new Error("Node.js v10 or higher is required for regex lookbehinds")}if(R.value==="("&&!/[!=<:]/.test(e)||e==="<"&&!/[!=]/.test(I(2))){t="\\"+T}j({type:"text",value:T,output:t});continue}if(r.noextglob!==true&&I()==="("&&I(2)!=="?"){q("qmark",T);continue}if(r.dot!==true&&(R.type==="slash"||R.type==="bos")){j({type:"qmark",value:T,output:m});continue}j({type:"qmark",value:T,output:_});continue}if(T==="!"){if(r.noextglob!==true&&I()==="("){if(I(2)!=="?"||!/[!=<:]/.test(I(3))){q("negate",T);continue}}if(r.nonegate!==true&&S.index===0){vt(S);continue}}if(T==="+"){if(r.noextglob!==true&&I()==="("&&I(2)!=="?"){q("plus",T);continue}if(R&&(R.type==="bracket"||R.type==="paren"||R.type==="brace")){let e=R.extglob===true?"\\"+T:T;j({type:"plus",value:T,output:e});continue}if(S.parens>0&&r.regex!==false){j({type:"plus",value:T});continue}j({type:"plus",value:c});continue}if(T==="@"){if(r.noextglob!==true&&I()==="("&&I(2)!=="?"){j({type:"at",value:T,output:""});continue}j({type:"text",value:T});continue}if(T!=="*"){if(T==="$"||T==="^"){T="\\"+T}let t=ht.exec(e.slice(S.index+1));if(t){T+=t[0];S.index+=t[0].length}j({type:"text",value:T});continue}if(R&&(R.type==="globstar"||R.star===true)){R.type="star";R.star=true;R.value+=T;R.output=C;S.backtrack=true;S.consumed+=T;continue}if(r.noextglob!==true&&I()==="("&&I(2)!=="?"){q("star",T);continue}if(R.type==="star"){if(r.noglobstar===true){S.consumed+=T;continue}let t=R.prev;let i=t.prev;let n=t.type==="slash"||t.type==="bos";let s=i&&(i.type==="star"||i.type==="globstar");if(r.bash===true&&(!n||!O()&&I()!=="/")){j({type:"star",value:T,output:""});continue}let a=S.braces>0&&(t.type==="comma"||t.type==="brace");let u=k.length&&(t.type==="pipe"||t.type==="paren");if(!n&&t.type!=="paren"&&!a&&!u){j({type:"star",value:T,output:""});continue}while(e.slice(S.index+1,S.index+4)==="/**"){let t=e[S.index+4];if(t&&t!=="/"){break}S.consumed+="/**";S.index+=3}if(t.type==="bos"&&O()){R.type="globstar";R.value+=T;R.output=w(r);S.output=R.output;S.consumed+=T;continue}if(t.type==="slash"&&t.prev.type!=="bos"&&!s&&O()){S.output=S.output.slice(0,-(t.output+R.output).length);t.output="(?:"+t.output;R.type="globstar";R.output=w(r)+"|$)";R.value+=T;S.output+=t.output+R.output;S.consumed+=T;continue}let o=I();if(t.type==="slash"&&t.prev.type!=="bos"&&o==="/"){let e=I(2)!==void 0?"|$":"";S.output=S.output.slice(0,-(t.output+R.output).length);t.output="(?:"+t.output;R.type="globstar";R.output=`${w(r)}${p}|${p}${e})`;R.value+=T;S.output+=t.output+R.output;S.consumed+=T+B();j({type:"slash",value:T,output:""});continue}if(t.type==="bos"&&o==="/"){R.type="globstar";R.value+=T;R.output=`(?:^|${p}|${w(r)}${p})`;S.output=R.output;S.consumed+=T+B();j({type:"slash",value:T,output:""});continue}S.output=S.output.slice(0,-R.output.length);R.type="globstar";R.output=w(r);R.value+=T;S.output+=R.output;S.consumed+=T;continue}let t={type:"star",value:T,output:C};if(r.bash===true){t.output=".*?";if(R.type==="bos"||R.type==="slash"){t.output=A+t.output}j(t);continue}if(R&&(R.type==="bracket"||R.type==="paren")&&r.regex===true){t.output=T;j(t);continue}if(S.index===S.start||R.type==="slash"||R.type==="dot"){if(R.type==="dot"){S.output+=g;R.output+=g}else if(r.dot===true){S.output+=b;R.output+=b}else{S.output+=A;R.output+=A}if(I()!=="*"){S.output+=d;R.output+=d}}j(t)}while(S.brackets>0){if(r.strictBrackets===true)throw new SyntaxError(yt("closing","]"));S.output=Le.escapeLast(S.output,"[");P("brackets")}while(S.parens>0){if(r.strictBrackets===true)throw new SyntaxError(yt("closing",")"));S.output=Le.escapeLast(S.output,"(");P("parens")}while(S.braces>0){if(r.strictBrackets===true)throw new SyntaxError(yt("closing","}"));S.output=Le.escapeLast(S.output,"{");P("braces")}if(r.strictSlashes!==true&&(R.type==="star"||R.type==="bracket")){j({type:"maybe_slash",value:"",output:`${p}?`})}if(S.backtrack===true){S.output="";for(let e of S.tokens){S.output+=e.output!=null?e.output:e.value;if(e.suffix){S.output+=e.suffix}}}return S};gt.fastpaths=((e,t)=>{let r=Object.assign({},t);let i=typeof r.maxLength==="number"?Math.min(lt,r.maxLength):lt;let n=e.length;if(n>i){throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`)}e=pt[e]||e;let s=Le.isWindows(t);const{DOT_LITERAL:a,SLASH_LITERAL:u,ONE_CHAR:o,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:h,NO_DOTS_SLASH:c,STAR:p,START_ANCHOR:d}=Ne.globChars(s);let v=r.capture?"":"?:";let y=r.bash===true?".*?":p;let g=r.dot?h:f;let b=r.dot?c:f;if(r.capture){y=`(${y})`}const _=e=>{return`(${v}(?:(?!${d}${e.dot?l:a}).)*?)`};const m=e=>{switch(e){case"*":return`${g}${o}${y}`;case".*":return`${a}${o}${y}`;case"*.*":return`${g}${y}${a}${o}${y}`;case"*/*":return`${g}${y}${u}${o}${b}${y}`;case"**":return g+_(r);case"**/*":return`(?:${g}${_(r)}${u})?${b}${o}${y}`;case"**/*.*":return`(?:${g}${_(r)}${u})?${b}${y}${a}${o}${y}`;case"**/.*":return`(?:${g}${_(r)}${u})?${a}${o}${y}`;default:{let r=/^(.*?)\.(\w+)$/.exec(e);if(!r)return;let i=m(r[1],t);if(!i)return;return i+a+r[2]}}};let E=m(e);if(E&&r.strictSlashes!==true){E+=`${u}?`}return E});var bt=gt;const _t=(e,t,r=false)=>{if(Array.isArray(e)){let i=e.map(e=>_t(e,t,r));return e=>{for(let t of i){let r=t(e);if(r)return r}return false}}if(typeof e!=="string"||e===""){throw new TypeError("Expected pattern to be a non-empty string")}let i=t||{};let n=Le.isWindows(t);let s=_t.makeRe(e,t,false,true);let a=s.state;delete s.state;let u=()=>false;if(i.ignore){let e=Object.assign({},t,{ignore:null,onMatch:null,onResult:null});u=_t(i.ignore,e,r)}const o=(r,o=false)=>{let{isMatch:l,match:f,output:h}=_t.test(r,s,t,{glob:e,posix:n});let c={glob:e,state:a,regex:s,posix:n,input:r,output:h,match:f,isMatch:l};if(typeof i.onResult==="function"){i.onResult(c)}if(l===false){c.isMatch=false;return o?c:false}if(u(r)){if(typeof i.onIgnore==="function"){i.onIgnore(c)}c.isMatch=false;return o?c:false}if(typeof i.onMatch==="function"){i.onMatch(c)}return o?c:true};if(r){o.state=a}return o};_t.test=((e,t,r,{glob:i,posix:n}={})=>{if(typeof e!=="string"){throw new TypeError("Expected input to be a string")}if(e===""){return{isMatch:false,output:""}}let s=r||{};let a=s.format||(n?Le.toPosixSlashes:null);let u=e===i;let o=u&&a?a(e):e;if(u===false){o=a?a(e):e;u=o===i}if(u===false||s.capture===true){if(s.matchBase===true||s.basename===true){u=_t.matchBase(e,t,r,n)}else{u=t.exec(o)}}return{isMatch:!!u,match:u,output:o}});_t.matchBase=((e,t,r,i=Le.isWindows(r))=>{let s=t instanceof RegExp?t:_t.makeRe(t,r);return s.test(n.basename(e))});_t.isMatch=((e,t,r)=>_t(t,r)(e));_t.parse=((e,t)=>bt(e,t));_t.scan=((e,t)=>ot(e,t));_t.makeRe=((e,t,r=false,i=false)=>{if(!e||typeof e!=="string"){throw new TypeError("Expected a non-empty string")}let n=t||{};let s=n.contains?"":"^";let a=n.contains?"":"$";let u={negated:false,fastpaths:true};let o="";let l;if(e.startsWith("./")){e=e.slice(2);o=u.prefix="./"}if(n.fastpaths!==false&&(e[0]==="."||e[0]==="*")){l=bt.fastpaths(e,t)}if(l===void 0){u=_t.parse(e,t);u.prefix=o+(u.prefix||"");l=u.output}if(r===true){return l}let f=`${s}(?:${l})${a}`;if(u&&u.negated===true){f=`^(?!${f}).*$`}let h=_t.toRegex(f,t);if(i===true){h.state=u}return h});_t.toRegex=((e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&t.debug===true)throw e;return/$^/}});_t.constants=Ne;var mt=_t;var Et=mt;const Dt=e=>typeof e==="string"&&(e===""||e==="./");const wt=(e,t,r)=>{t=[].concat(t);e=[].concat(e);let i=new Set;let n=new Set;let s=new Set;let a=0;let u=e=>{s.add(e.output);if(r&&r.onResult){r.onResult(e)}};for(let s=0;s!i.has(e));if(r&&l.length===0){if(r.failglob===true){throw new Error(`No matches found for "${t.join(", ")}"`)}if(r.nonull===true||r.nullglob===true){return r.unescape?t.map(e=>e.replace(/\\/g,"")):t}}return l};wt.match=wt;wt.matcher=((e,t)=>Et(e,t));wt.isMatch=((e,t,r)=>Et(t,r)(e));wt.any=wt.isMatch;wt.not=((e,t,r={})=>{t=[].concat(t).map(String);let i=new Set;let n=[];let s=e=>{if(r.onResult)r.onResult(e);n.push(e.output)};let a=wt(e,t,Object.assign({},r,{onResult:s}));for(let e of n){if(!a.includes(e)){i.add(e)}}return[...i]});wt.contains=((e,t,r)=>{if(typeof e!=="string"){throw new TypeError(`Expected a string: "${a.inspect(e)}"`)}if(Array.isArray(t)){return t.some(t=>wt.contains(e,t,r))}if(typeof t==="string"){if(Dt(e)||Dt(t)){return false}if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t)){return true}}return wt.isMatch(e,t,Object.assign({},r,{contains:true}))});wt.matchKeys=((e,t,r)=>{if(!Le.isObject(e)){throw new TypeError("Expected the first argument to be an object")}let i=wt(Object.keys(e),t,r);let n={};for(let t of i)n[t]=e[t];return n});wt.some=((e,t,r)=>{let i=[].concat(e);for(let e of[].concat(t)){let t=Et(String(e),r);if(i.some(e=>t(e))){return true}}return false});wt.every=((e,t,r)=>{let i=[].concat(e);for(let e of[].concat(t)){let t=Et(String(e),r);if(!i.every(e=>t(e))){return false}}return true});wt.all=((e,t,r)=>{if(typeof e!=="string"){throw new TypeError(`Expected a string: "${a.inspect(e)}"`)}return[].concat(t).every(t=>Et(t,r)(e))});wt.capture=((e,t,r)=>{let i=Le.isWindows(r);let n=Et.makeRe(String(e),Object.assign({},r,{capture:true}));let s=n.exec(i?Le.toPosixSlashes(t):t);if(s){return s.slice(1).map(e=>e===void 0?"":e)}});wt.makeRe=((...e)=>Et.makeRe(...e));wt.scan=((...e)=>Et.scan(...e));wt.parse=((e,t)=>{let r=[];for(let i of[].concat(e||[])){for(let e of de(String(i),t)){r.push(Et.parse(e,t))}}return r});wt.braces=((e,t)=>{if(typeof e!=="string")throw new TypeError("Expected a string");if(t&&t.nobrace===true||!/\{.*\}/.test(e)){return[e]}return de(e,t)});wt.braceExpand=((e,t)=>{if(typeof e!=="string")throw new TypeError("Expected a string");return wt.braces(e,Object.assign({},t,{expand:true}))});var At=wt;function ensureArray(e){if(Array.isArray(e))return e;if(e==undefined)return[];return[e]}function getMatcherString(e,t){if(t===false){return e}return i.resolve(...typeof t==="string"?[t,e]:[e])}const Ct=function createFilter(e,t,r){const n=r&&r.resolve;const s=e=>{return e instanceof RegExp?e:{test:At.matcher(getMatcherString(e,n).split(i.sep).join("/"),{dot:true})}};const a=ensureArray(e).map(s);const u=ensureArray(t).map(s);return function(e){if(typeof e!=="string")return false;if(/\0/.test(e))return false;e=e.split(i.sep).join("/");for(let t=0;tt.toUpperCase()).replace(/[^$_a-zA-Z0-9]/g,"_");if(/\d/.test(e[0])||kt.has(e)){e=`_${e}`}return e||"_"};function stringify$2(e){return(JSON.stringify(e)||"undefined").replace(/[\u2028\u2029]/g,e=>`\\u${("000"+e.charCodeAt(0).toString(16)).slice(-4)}`)}function serializeArray(e,t,r){let i="[";const n=t?"\n"+r+t:"";for(let s=0;s0?",":""}${n}${serialize(a,t,r+t)}`}return i+`${t?"\n"+r:""}]`}function serializeObject(e,t,r){let i="{";const n=t?"\n"+r+t:"";const s=Object.keys(e);for(let a=0;a0?",":""}${n}${o}:${t?" ":""}${serialize(e[u],t,r+t)}`}return i+`${t?"\n"+r:""}}`}function serialize(e,t,r){if(e===Infinity)return"Infinity";if(e===-Infinity)return"-Infinity";if(e===0&&1/e===-Infinity)return"-0";if(e instanceof Date)return"new Date("+e.getTime()+")";if(e instanceof RegExp)return e.toString();if(e!==e)return"NaN";if(Array.isArray(e))return serializeArray(e,t,r);if(e===null)return"null";if(typeof e==="object")return serializeObject(e,t,r);return stringify$2(e)}const Rt=function dataToEsm(e,t={}){const r=t.compact?"":"indent"in t?t.indent:"\t";const i=t.compact?"":" ";const n=t.compact?"":"\n";const s=t.preferConst?"const":"var";if(t.namedExports===false||typeof e!=="object"||Array.isArray(e)||e instanceof Date||e instanceof RegExp||e===null){const n=serialize(e,t.compact?null:r,"");const s=i||(/^[{[\-\/]/.test(n)?"":" ");return`export default${s}${n};`}let a="";const u=[];const o=Object.keys(e);for(let l=0;l="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||n.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||n.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},327:function(e,t,r){e.exports=glob;var i=r(66);var n=r(129);var s=r(620);var a=s.Minimatch;var u=r(207);var o=r(485).EventEmitter;var l=r(589);var f=r(393);var h=r(969);var c=r(487);var p=r(922);var d=p.alphasort;var v=p.alphasorti;var y=p.setopts;var g=p.ownProp;var b=r(408);var _=r(64);var m=p.childrenIgnored;var E=p.isIgnored;var D=r(83);function glob(e,t,r){if(typeof t==="function")r=t,t={};if(!t)t={};if(t.sync){if(r)throw new TypeError("callback provided to sync glob");return c(e,t)}return new Glob(e,t,r)}glob.sync=c;var w=glob.GlobSync=c.GlobSync;glob.glob=glob;function extend(e,t){if(t===null||typeof t!=="object"){return e}var r=Object.keys(t);var i=r.length;while(i--){e[r[i]]=t[r[i]]}return e}glob.hasMagic=function(e,t){var r=extend({},t);r.noprocess=true;var i=new Glob(e,r);var n=i.minimatch.set;if(!e)return false;if(n.length>1)return true;for(var s=0;sthis.maxLength)return t();if(!this.stat&&g(this.cache,r)){var s=this.cache[r];if(Array.isArray(s))s="DIR";if(!n||s==="DIR")return t(null,s);if(n&&s==="FILE")return t()}var a;var u=this.statCache[r];if(u!==undefined){if(u===false)return t(null,u);else{var o=u.isDirectory()?"DIR":"FILE";if(n&&o==="FILE")return t();else return t(null,o,u)}}var l=this;var f=b("stat\0"+r,lstatcb_);if(f)i.lstat(r,f);function lstatcb_(n,s){if(s&&s.isSymbolicLink()){return i.stat(r,function(i,n){if(i)l._stat2(e,r,null,s,t);else l._stat2(e,r,i,n,t)})}else{l._stat2(e,r,n,s,t)}}};Glob.prototype._stat2=function(e,t,r,i,n){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[t]=false;return n()}var s=e.slice(-1)==="/";this.statCache[t]=i;if(t.slice(-1)==="/"&&i&&!i.isDirectory())return n(null,false,i);var a=true;if(i)a=i.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||a;if(s&&a==="FILE")return n();return n(null,a,i)}},337:function(e,t,r){"use strict";const i=r(589);const n=r(607);const s=r(685);const a=/[\uD800-\uDFFF]./;const u=n.filter(e=>a.test(e));const o={};function encodeStringToEmoji(e,t){if(o[e]){return o[e]}t=t||1;const r=[];do{if(!u.length){throw new Error("Ran out of emoji")}const e=Math.floor(Math.random()*u.length);r.push(u[e]);u.splice(e,1)}while(--t>0);const i=r.join("");o[e]=i;return i}function interpolateName(e,t,r){let n;if(typeof t==="function"){n=t(e.resourcePath)}else{n=t||"[hash].[ext]"}const a=r.context;const u=r.content;const o=r.regExp;let l="bin";let f="file";let h="";let c="";if(e.resourcePath){const t=i.parse(e.resourcePath);let r=e.resourcePath;if(t.ext){l=t.ext.substr(1)}if(t.dir){f=t.name;r=t.dir+i.sep}if(typeof a!=="undefined"){h=i.relative(a,r+"_").replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1");h=h.substr(0,h.length-1)}else{h=r.replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1")}if(h.length===1){h=""}else if(h.length>1){c=i.basename(h)}}let p=n;if(u){p=p.replace(/\[(?:([^:\]]+):)?(?:hash|contenthash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi,(e,t,r,i)=>s(u,t,r,parseInt(i,10))).replace(/\[emoji(?::(\d+))?\]/gi,(e,t)=>encodeStringToEmoji(u,parseInt(t,10)))}p=p.replace(/\[ext\]/gi,()=>l).replace(/\[name\]/gi,()=>f).replace(/\[path\]/gi,()=>h).replace(/\[folder\]/gi,()=>c);if(o&&e.resourcePath){const t=e.resourcePath.match(new RegExp(o));t&&t.forEach((e,t)=>{p=p.replace(new RegExp("\\["+t+"\\]","ig"),e)})}if(typeof e.options==="object"&&typeof e.options.customInterpolateName==="function"){p=e.options.customInterpolateName.call(e,p,t,r)}return p}e.exports=interpolateName},341:function(e){var t={}.toString;e.exports=Array.isArray||function(e){return t.call(e)=="[object Array]"}},347:function(e){e.exports={assert:true,async_hooks:">= 8",buffer_ieee754:"< 0.9.7",buffer:true,child_process:true,cluster:true,console:true,constants:true,crypto:true,_debugger:"< 8",dgram:true,dns:true,domain:true,events:true,freelist:"< 6",fs:true,"fs/promises":">= 10 && < 10.1",_http_agent:">= 0.11.1",_http_client:">= 0.11.1",_http_common:">= 0.11.1",_http_incoming:">= 0.11.1",_http_outgoing:">= 0.11.1",_http_server:">= 0.11.1",http:true,http2:">= 8.8",https:true,inspector:">= 8.0.0",_linklist:"< 8",module:true,net:true,"node-inspect/lib/_inspect":">= 7.6.0","node-inspect/lib/internal/inspect_client":">= 7.6.0","node-inspect/lib/internal/inspect_repl":">= 7.6.0",os:true,path:true,perf_hooks:">= 8.5",process:">= 1",punycode:true,querystring:true,readline:true,repl:true,smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4",_stream_transform:">= 0.9.4",_stream_wrap:">= 1.4.1",_stream_passthrough:">= 0.9.4",_stream_readable:">= 0.9.4",_stream_writable:">= 0.9.4",stream:true,string_decoder:true,sys:true,timers:true,_tls_common:">= 0.11.13",_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3",tls:true,trace_events:">= 10",tty:true,url:true,util:true,"v8/tools/arguments":">= 10","v8/tools/codemap":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/consarray":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/csvparser":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/logreader":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/profile_view":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/splaytree":[">= 4.4.0 && < 5",">= 5.2.0"],v8:">= 1",vm:true,worker_threads:">= 11.7",zlib:true}},348:function(e,t,r){var i=r(20);var n=r(491);e.exports=expandTop;var s="\0SLASH"+Math.random()+"\0";var a="\0OPEN"+Math.random()+"\0";var u="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var l="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(s).split("\\{").join(a).split("\\}").join(u).split("\\,").join(o).split("\\.").join(l)}function unescapeBraces(e){return e.split(s).join("\\").split(a).join("{").split(u).join("}").split(o).join(",").split(l).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var r=n("{","}",e);if(!r)return e.split(",");var i=r.pre;var s=r.body;var a=r.post;var u=i.split(",");u[u.length-1]+="{"+s+"}";var o=parseCommaParts(a);if(a.length){u[u.length-1]+=o.shift();u.push.apply(u,o)}t.push.apply(t,u);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var r=[];var s=n("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var a=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var l=a||o;var f=s.body.indexOf(",")>=0;if(!l&&!f){if(s.post.match(/,.*\}/)){e=s.pre+"{"+s.body+u+s.post;return expand(e)}return[e]}var h;if(l){h=s.body.split(/\.\./)}else{h=parseCommaParts(s.body);if(h.length===1){h=expand(h[0],false).map(embrace);if(h.length===1){var c=s.post.length?expand(s.post,false):[""];return c.map(function(e){return s.pre+h[0]+e})}}}var p=s.pre;var c=s.post.length?expand(s.post,false):[""];var d;if(l){var v=numeric(h[0]);var y=numeric(h[1]);var g=Math.max(h[0].length,h[1].length);var b=h.length==3?Math.abs(numeric(h[2])):1;var _=lte;var m=y0){var C=new Array(A+1).join("0");if(D<0)w="-"+C+w.slice(1);else w=C+w}}}d.push(w)}}else{d=i(h,function(e){return expand(e,false)})}for(var x=0;xthis.workTodo)this.workDone=this.workTodo;this.emit("change",this.name,this.completed(),this)};s.prototype.finish=function(){this.workTodo=this.workDone=1;this.emit("change",this.name,1,this)}},377:function(e,t,r){var i=r(55);var n=r(66);var s=r(589);var a=r(68);var u=r(807);var o=r(764);var l=function isFile(e){try{var t=n.statSync(e)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR"))return false;throw e}return t.isFile()||t.isFIFO()};e.exports=function(e,t){if(typeof e!=="string"){throw new TypeError("Path must be a string.")}var r=o(e,t);var f=r.isFile||l;var h=r.readFileSync||n.readFileSync;var c=r.extensions||[".js"];var p=r.basedir||s.dirname(a());var d=r.filename||p;r.paths=r.paths||[];var v=s.resolve(p);if(r.preserveSymlinks===false){try{v=n.realpathSync(v)}catch(e){if(e.code!=="ENOENT"){throw e}}}if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){var y=s.resolve(v,e);if(e===".."||e.slice(-1)==="/")y+="/";var g=loadAsFileSync(y)||loadAsDirectorySync(y);if(g)return g}else{var b=loadNodeModulesSync(e,v);if(b)return b}if(i[e])return e;var _=new Error("Cannot find module '"+e+"' from '"+d+"'");_.code="MODULE_NOT_FOUND";throw _;function loadAsFileSync(e){var t=loadpkg(s.dirname(e));if(t&&t.dir&&t.pkg&&r.pathFilter){var i=s.relative(t.dir,e);var n=r.pathFilter(t.pkg,e,i);if(n){e=s.resolve(t.dir,n)}}if(f(e)){return e}for(var a=0;a{r.assetNames[e]=true})}}return N=r}const L=e=>Array.prototype.concat.apply([],e);function getEntryIds(e){if(e.options.entry){if(typeof e.options.entry==="string"){try{return[C.sync(e.options.entry,{extensions:F})]}catch(e){return}}else if(typeof e.options.entry==="object"){try{return L(Object.values(e.options.entry).map(e=>{if(typeof e==="string"){return[e]}if(e&&Array.isArray(e.import)){return e.import}return[]})).map(e=>C.sync(e,{extensions:F}))}catch(e){return}}}}function assetBase(e){if(!e)return"";if(e.endsWith("/")||e.endsWith("\\"))return e;return e+"/"}const P={cwd:()=>{return J},env:{NODE_ENV:R,[R]:true},[R]:true};const j=Symbol();const q=Symbol();const $=Symbol();const M=Symbol();const U=Symbol();const H=Symbol();const W=Symbol();const G={access:M,accessSync:M,createReadStream:M,exists:M,existsSync:M,fstat:M,fstatSync:M,lstat:M,lstatSync:M,open:M,readFile:M,readFileSync:M,stat:M,statSync:M};const V=Object.assign(Object.create(null),{bindings:{default:H},express:{default:function(){return{[R]:true,set:j,engine:q}}},fs:{default:G,...G},process:{default:P,...P},path:{default:{}},os:{default:S,...S},"node-pre-gyp":E,"node-pre-gyp/lib/pre-binding":E,"node-pre-gyp/lib/pre-binding.js":E,"node-gyp-build":{default:W},nbind:{init:$,default:{init:$}},"resolve-from":{default:U}});const z={MONGOOSE_DRIVER_PATH:undefined};z.global=z.GLOBAL=z.globalThis=z;const K=Symbol();E.find[K]=true;const Q=V.path;Object.keys(i).forEach(e=>{const t=i[e];if(typeof t==="function"){const r=function(){return t.apply(this,arguments)};r[K]=true;Q[e]=Q.default[e]=r}else{Q[e]=Q.default[e]=t}});Q.resolve=Q.default.resolve=function(...e){return i.resolve.apply(this,[J,...e])};Q.resolve[K]=true;const X=new Set([".h",".cmake",".c",".cpp"]);const Z=new Set(["CHANGELOG.md","README.md","readme.md","changelog.md"]);let J;function backtrack(e,t){if(!t||t.type!=="ArrayExpression")return e.skip()}const Y=/^\/[^\/]+|^[a-z]:[\\/][^\\/]+/i;function isAbsolutePathStr(e){return typeof e==="string"&&e.match(Y)}const ee=Symbol();function generateWildcardRequire(e,t,r,n,s){const a=n.length;const u=t.endsWith(O);const o=t.indexOf(O);const l=t.substr(0,o);const f=t.substr(o+1);const h=f?"?(.@(js|json|node))":".@(js|json|node)";if(s)console.log("Generating wildcard requires for "+t.replace(O,"*"));let c=b.sync(l+"**"+f+h,{mark:true,ignore:"node_modules/**/*"});if(!c.length)return;const p=c.map((t,r)=>{const n=JSON.stringify(t.substring(l.length,t.lastIndexOf(f)));let s=i.relative(e,t).replace(/\\/g,"/");if(!s.startsWith("../"))s="./"+s;let a=r===0?" ":" else ";if(u&&n.endsWith('.js"'))a+=`if (arg === ${n} || arg === ${n.substr(0,n.length-4)}")`;else if(u&&n.endsWith('.json"'))a+=`if (arg === ${n} || arg === ${n.substr(0,n.length-6)}")`;else if(u&&n.endsWith('.node"'))a+=`if (arg === ${n} || arg === ${n.substr(0,n.length-6)}")`;else a+=`if (arg === ${n})`;a+=` return require(${JSON.stringify(s)});`;return a}).join("\n");n.push(`function __ncc_wildcard$${a} (arg) {\n${p}\n}`);return`__ncc_wildcard$${a}(${r})`}const te=new WeakSet;function injectPathHook(e,t){const{mainTemplate:r}=e;if(!te.has(r)){te.add(r);r.hooks.requireExtensions.tap("asset-relocator-loader",(e,r)=>{let n="";if(r.name){n=i.relative(i.dirname(r.name),".").replace(/\\/g,"/");if(n.length)n="/"+n}return`${e}\n__webpack_require__.ab = __dirname + ${JSON.stringify(n+"/"+assetBase(t))};`})}}e.exports=async function(e,t){if(this.cacheable)this.cacheable();this.async();const r=this.resourcePath;const E=i.dirname(r);const x=A(this);injectPathHook(this._compilation,x.outputAssetBase);if(r.endsWith(".node")){const t=getAssetState(x,this._compilation);const i=_(this.resourcePath)||E;await g(i,t,assetBase(x.outputAssetBase),this.emitFile);let n;if(!(n=t.assets[r]))n=t.assets[r]=y(r.substr(i.length+1).replace(/\\/g,"/"),r,t.assetNames);const s=await new Promise((e,t)=>a(r,(r,i)=>r?t(r):e(i.mode)));t.assetPermissions[n]=s;this.emitFile(assetBase(x.outputAssetBase)+n,e);this.callback(null,"module.exports = __non_webpack_require__(__webpack_require__.ab + "+JSON.stringify(n)+")");return}if(r.endsWith(".json"))return this.callback(null,S,t);let S=e.toString();if(typeof x.production==="boolean"&&P.env.NODE_ENV===R){P.env.NODE_ENV=x.production?"production":"dev"}if(!J){if(typeof x.cwd==="string")J=i.resolve(x.cwd);else J=process.cwd()}const B=getAssetState(x,this._compilation);const N=B.entryIds;const L=_(r);const G=e=>{let t=i.basename(e);if(e.endsWith(".node")){if(L)t=e.substr(L.length+1).replace(/\\/g,"/");const r=g(L,B,assetBase(x.outputAssetBase),this.emitFile);te=te.then(()=>{return r})}let n;if(!(n=B.assets[e])){n=B.assets[e]=y(t,e,B.assetNames);if(x.debugLog)console.log("Emitting "+e+" for static use in module "+r)}te=te.then(async()=>{const[t,r]=await Promise.all([new Promise((t,r)=>s(e,(e,i)=>e?r(e):t(i))),await new Promise((t,r)=>u(e,(e,i)=>e?r(e):t(i)))]);if(r.isSymbolicLink()){const t=await new Promise((t,r)=>{o(e,(e,i)=>e?r(e):t(i))});const r=i.dirname(e);B.assetSymlinks[assetBase(x.outputAssetBase)+n]=i.relative(r,i.resolve(r,t))}else{B.assetPermissions[assetBase(x.outputAssetBase)+n]=r.mode;this.addDependency(e);this.emitFile(assetBase(x.outputAssetBase)+n,t)}});return"__webpack_require__.ab + "+JSON.stringify(n)};const Q=(e,t)=>{const n=e.indexOf(O);const a=n===-1?e.length:e.lastIndexOf(i.sep,n);const l=e.substr(0,a);const f=e.substr(a);const h=f.replace(I,(e,t)=>{return f[t-1]===i.sep?"**/*":"*/**/*"})||"/**/*";if(x.debugLog)console.log("Emitting directory "+l+h+" for static use in module "+r);const c=i.basename(l);const p=B.assets[l]||(B.assets[l]=y(c,l,B.assetNames));B.assets[l]=p;const d=b.sync(l+h,{mark:true,ignore:"node_modules/**/*"}).filter(e=>!X.has(i.extname(e))&&!Z.has(i.basename(e))&&!e.endsWith("/"));if(!d.length)return;te=te.then(async()=>{await Promise.all(d.map(async e=>{const[t,r]=await Promise.all([new Promise((t,r)=>s(e,(e,i)=>e?r(e):t(i))),await new Promise((t,r)=>u(e,(e,i)=>e?r(e):t(i)))]);if(r.isSymbolicLink()){const t=await new Promise((t,r)=>{o(e,(e,i)=>e?r(e):t(i))});const r=i.dirname(e);B.assetSymlinks[assetBase(x.outputAssetBase)+p+e.substr(l.length)]=i.relative(r,i.resolve(r,t)).replace(/\\/g,"/")}else{B.assetPermissions[assetBase(x.outputAssetBase)+p+e.substr(l.length)]=r.mode;this.addDependency(e);this.emitFile(assetBase(x.outputAssetBase)+p+e.substr(l.length),t)}}))});let v="";let g="";if(t){let e=f;let r=true;for(const i of t){const t=e.indexOf(O);const n=e.substr(0,t);e=e.substr(t+1);if(r){g=n;r=false}else{v+=" + '"+JSON.stringify(n).slice(1,-1)+"'"}if(i.type==="SpreadElement")v+=" + "+S.substring(i.argument.start,i.argument.end)+".join('/')";else v+=" + "+S.substring(i.start,i.end)}if(e.length){v+=" + '"+JSON.stringify(e).slice(1,-1)+"'"}}return"__webpack_require__.ab + "+JSON.stringify(p+g)+v};let te=Promise.resolve();const re=new h(S);let ie,ne;try{ie=d.parse(S,{allowReturnOutsideFunction:true,ecmaVersion:2020});ne=false}catch(e){}if(!ie){try{ie=d.parse(S,{sourceType:"module",ecmaVersion:2020});ne=true}catch(e){return this.callback(null,S,t)}}let se=c(ie,"scope");let ae=false;const ue=Object.assign(Object.create(null),{__dirname:{shadowDepth:0,value:i.resolve(r,"..")},__filename:{shadowDepth:0,value:r},process:{shadowDepth:0,value:P}});if(!ne){ue.require={shadowDepth:0,value:{[T](e){const t=V[e];return t.default},resolve(e){return C.sync(e,{basedir:E,extensions:F})}}};ue.require.value.resolve[K]=true}let oe=[];function setKnownBinding(e,t){if(e==="require")return;ue[e]={shadowDepth:0,value:t}}function getKnownBinding(e){const t=ue[e];if(t){if(t.shadowDepth===0){return t.value}}}if(ne){for(const e of ie.body){if(e.type==="ImportDeclaration"){const t=e.source.value;const r=V[t];if(r){for(const t of e.specifiers){if(t.type==="ImportNamespaceSpecifier")setKnownBinding(t.local.name,r);else if(t.type==="ImportDefaultSpecifier"&&"default"in r)setKnownBinding(t.local.name,r.default);else if(t.type==="ImportSpecifier"&&t.imported.name in r)setKnownBinding(t.local.name,r[t.imported.name])}}}}}function computePureStaticValue(e,t=true){const r=Object.create(null);Object.keys(ue).forEach(e=>{r[e]=getKnownBinding(e)});Object.keys(z).forEach(e=>{r[e]=z[e]});const i=p(e,r,t);return i}let le,fe;let he=false;let ce;function isStaticRequire(e){return e&&e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="require"&&ue.require.shadowDepth===0&&e.arguments.length===1&&e.arguments[0].type==="Literal"}({ast:ie=ie,scope:se=se,transformed:ae=ae}=w({id:r,ast:ie,scope:se,pkgBase:L,magicString:re,options:x,emitAsset:G,emitAssetDirectory:Q})||{});f(ie,{enter(e,t){if(e.scope){se=e.scope;for(const t in e.scope.declarations){if(t in ue)ue[t].shadowDepth++}}if(le)return backtrack(this,t);if(e.type==="Identifier"){if(isIdentifierRead(e,t)){let r;if(typeof(r=getKnownBinding(e.name))==="string"&&r.match(Y)||r&&(typeof r==="function"||typeof r==="object")&&r[K]){fe={value:typeof r==="string"?r:undefined};le=e;return this.skip()}else if(!ne&&e.name==="require"&&ue.require.shadowDepth===0&&t.type!=="UnaryExpression"){re.overwrite(e.start,e.end,"__non_webpack_require__");ae=true;return this.skip()}else if(!ne&&e.name==="__non_webpack_require__"&&t.type!=="UnaryExpression"){re.overwrite(e.start,e.end,'eval("require")');ae=true;return this.skip()}}}else if(!ne&&e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="require"&&ue.require.shadowDepth===0&&e.arguments.length){const u=e.arguments[0];const{result:o,sawIdentifier:l}=computePureStaticValue(u,true);if(!o){if(u.type==="LogicalExpression"&&u.operator==="||"&&u.left.type==="Identifier"){ae=true;re.overwrite(u.start,u.end,S.substring(u.right.start,u.right.end));return this.skip()}ae=true;re.overwrite(e.callee.start,e.callee.end,"__non_webpack_require__");return this.skip()}else if(typeof o.value==="string"&&l){if(o.wildcards){const t=i.resolve(E,o.value);if(o.wildcards.length===1&&validAssetEmission(t)){const r=generateWildcardRequire(E,t,S.substring(o.wildcards[0].start,o.wildcards[0].end),oe,x.debugLog);if(r){re.overwrite(e.start,e.end,r);ae=true;return this.skip()}}}else if(o.value){re.overwrite(u.start,u.end,JSON.stringify(o.value));ae=true;return this.skip()}}else if(o&&typeof o.then==="string"&&typeof o.else==="string"&&l){const e=computePureStaticValue(o.test,true).result;if(e&&"value"in e){if(e){ae=true;re.overwrite(u.start,u.end,JSON.stringify(o.then));return this.skip()}else{ae=true;re.overwrite(u.start,u.end,JSON.stringify(o.else));return this.skip()}}else{const e=S.substring(o.test.start,o.test.end);ae=true;re.overwrite(u.start,u.end,`${e} ? ${JSON.stringify(o.then)} : ${JSON.stringify(o.else)}`);return this.skip()}}else if(t.type==="CallExpression"&&t.callee===e){if(o.value==="pkginfo"&&t.arguments.length&&t.arguments[0].type==="Identifier"&&t.arguments[0].name==="module"){let e=new Set;for(let r=1;re.id.type==="Identifier"&&e.init&&e.init.type==="CallExpression"&&e.init.callee.type==="Identifier"&&e.init.callee.name==="require"&&ue.require.shadowDepth===0&&e.init.arguments[0]&&e.init.arguments[0].type==="Identifier"&&e.init.arguments[0].name===i[0].name);if(n)s=e.body.body[t]}if(n&&e.body.body[t].type==="ReturnStatement"&&e.body.body[t].argument&&e.body.body[t].argument.type==="Identifier"&&e.body.body[t].argument.name===n.id.name){a=true;break}}if(a){let a=";";const u=e.type==="ArrowFunctionExpression"&&e.params[0].start===e.start;if(e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"){e=t;a=","}ce=r.name+"$$mod";setKnownBinding(r.name,ee);const o=a+S.substring(e.start,r.start)+ce+S.substring(r.end,i[0].start+!u)+(u?"(":"")+n.id.name+", "+S.substring(i[0].start,i[i.length-1].end+!u)+(u?")":"")+S.substring(i[0].end+!u,s.start)+S.substring(s.end,e.end);re.appendRight(e.end,o)}}}},leave(e,t){if(e.scope){se=se.parent;for(const t in e.scope.declarations){if(t in ue){if(ue[t].shadowDepth>0)ue[t].shadowDepth--;else delete ue[t]}}}if(le){const t=computePureStaticValue(e,true).result;if(t){if("value"in t&&typeof t.value!=="symbol"||typeof t.then!=="symbol"&&typeof t.else!=="symbol"){fe=t;le=e;return}}emitStaticChildAsset()}}});if(!ae)return this.callback(null,S,t);te.then(()=>{if(oe.length)re.appendLeft(ie.body[0].start,oe.join("\n")+"\n");S=re.toString();t=t||re.generateMap();if(t){t.sources=[r]}this.callback(null,S,t)});function validAssetEmission(e){if(!e)return;if(e===r)return;let t="";if(e.endsWith(i.sep))t=i.sep;else if(e.endsWith(i.sep+O))t=i.sep+O;else if(e.endsWith(O))t=O;if(!x.emitDirnameAll&&e===E+t)return;if(!x.emitFilterAssetBaseAll&&e===(x.filterAssetBase||J)+t)return;if(e.endsWith(i.sep+"node_modules"+t))return;if(E.startsWith(e.substr(0,e.length-t.length)+i.sep))return;if(L){const t=r.substr(0,r.indexOf(i.sep+"node_modules"))+i.sep+"node_modules"+i.sep;if(!e.startsWith(t)){if(x.debugLog){if(assetEmission(e))console.log("Skipping asset emission of "+e.replace(I,"*")+" for "+r+" as it is outside the package base "+L)}return}}else if(!e.startsWith(x.filterAssetBase||J)){if(x.debugLog){if(assetEmission(e))console.log("Skipping asset emission of "+e.replace(I,"*")+" for "+r+" as it is outside the filterAssetBase directory "+(x.filterAssetBase||J))}return}return assetEmission(e)}function assetEmission(e){const t=e.indexOf(O);const r=t===-1?e.length:e.lastIndexOf(i.sep,t);const n=e.substr(0,r);try{const e=l(n);if(t!==-1&&e.isFile())return;if(e.isFile())return G;if(e.isDirectory())return Q}catch(e){return}}function emitStaticChildAsset(e=false){if(isAbsolutePathStr(fe.value)){let t;try{t=i.resolve(fe.value)}catch(e){}let r;if(r=validAssetEmission(t)){let i=r(t,fe.wildcards);if(i){if(e)i="__non_webpack_require__("+i+")";re.overwrite(le.start,le.end,i);ae=true}}}else if(isAbsolutePathStr(fe.then)&&isAbsolutePathStr(fe.else)){let t;try{t=i.resolve(fe.then)}catch(e){}let r;try{r=i.resolve(fe.else)}catch(e){}let n;if(!e&&(n=validAssetEmission(t))&&n===validAssetEmission(r)){const e=n(t);const i=n(r);if(e&&i){re.overwrite(le.start,le.end,`${S.substring(fe.test.start,fe.test.end)} ? ${e} : ${i}`);ae=true}}}le=fe=undefined}};e.exports.raw=true;e.exports.getAssetPermissions=function(e){if(N)return N.assetPermissions[e]};e.exports.getSymlinks=function(){if(N)return N.assetSymlinks};e.exports.initAssetCache=e.exports.initAssetPermissionsCache=function(e,t){injectPathHook(e,t);const r=getEntryIds(e);if(!r)return;const i=N={entryIds:r,assets:Object.create(null),assetNames:Object.create(null),assetPermissions:Object.create(null),assetSymlinks:Object.create(null),hadOptions:false};B.set(e,i);const n=e.getCache?e.getCache():e.cache;n.get("/RelocateLoader/AssetState/"+JSON.stringify(r),null,(e,t)=>{if(e)console.error(e);if(t){const e=JSON.parse(t);if(e.assetPermissions)i.assetPermissions=e.assetPermissions;if(e.assetSymlinks)i.assetSymlinks=e.assetSymlinks}});e.compiler.hooks.afterCompile.tap("relocate-loader",e=>{const t=e.getCache?e.getCache():e.cache;t.store("/RelocateLoader/AssetState/"+JSON.stringify(r),null,JSON.stringify({assetPermissions:i.assetPermissions,assetSymlinks:i.assetSymlinks}),e=>{if(e)console.error(e)})})}},384:function(e,t,r){const i=r(589);const n=r(564);const s=r(66);const a=r(708);e.exports=function({id:e,code:t,pkgBase:r,ast:u,scope:o,magicString:l,emitAssetDirectory:f}){let h;({transformed:h,ast:u,scope:o}=a(u,o,l));if(h)return{transformed:h,ast:u,scope:o};if(e.endsWith("google-gax/build/src/grpc.js")||global._unit&&e.includes("google-gax")){for(const t of u.body){if(t.type==="VariableDeclaration"&&t.declarations[0].id.type==="Identifier"&&t.declarations[0].id.name==="googleProtoFilesDir"){const r=f(i.resolve(i.dirname(e),global._unit?"./":"../../../google-proto-files"));if(r){l.overwrite(t.declarations[0].init.start,t.declarations[0].init.end,r);t.declarations[0].init=null;return{transformed:true}}}}}else if(e.endsWith("socket.io/lib/index.js")||global._unit&&e.includes("socket.io")){function replaceResolvePathStatement(t){if(t.type==="ExpressionStatement"&&t.expression.type==="AssignmentExpression"&&t.expression.operator==="="&&t.expression.right.type==="CallExpression"&&t.expression.right.callee.type==="Identifier"&&t.expression.right.callee.name==="read"&&t.expression.right.arguments.length>=1&&t.expression.right.arguments[0].type==="CallExpression"&&t.expression.right.arguments[0].callee.type==="Identifier"&&t.expression.right.arguments[0].callee.name==="resolvePath"&&t.expression.right.arguments[0].arguments.length===1&&t.expression.right.arguments[0].arguments[0].type==="Literal"){const s=t.expression.right.arguments[0].arguments[0].value;try{var r=n.sync(s,{basedir:i.dirname(e)})}catch(e){return{transformed:false}}const a="/"+i.relative(i.dirname(e),r);t.expression.right.arguments[0]={type:"BinaryExpression",start:t.expression.right.arguments[0].start,end:t.expression.right.arguments[0].end,operator:"+",left:{type:"Identifier",name:"__dirname"},right:{type:"Literal",value:a,raw:JSON.stringify(a)}};return{transformed:true}}return{transformed:false}}for(const e of u.body){if(e.type==="ExpressionStatement"&&e.expression.type==="AssignmentExpression"&&e.expression.operator==="="&&e.expression.left.type==="MemberExpression"&&e.expression.left.object.type==="MemberExpression"&&e.expression.left.object.object.type==="Identifier"&&e.expression.left.object.object.name==="Server"&&e.expression.left.object.property.type==="Identifier"&&e.expression.left.object.property.name==="prototype"&&e.expression.left.property.type==="Identifier"&&e.expression.left.property.name==="serveClient"&&e.expression.right.type==="FunctionExpression"){let t;for(const r of e.expression.right.body.body)if(r.type==="IfStatement")t=r;const r=t&&t.consequent.body;let i=false;if(r&&r[0]&&r[0].type==="ExpressionStatement")i=replaceResolvePathStatement(r[0]);const n=r&&r[1]&&r[1].type==="TryStatement"&&r[1].block.body;if(n&&n[0])i=replaceResolvePathStatement(n[0])||i;return{transformed:i}}}}else if(e.endsWith("oracledb/lib/oracledb.js")||global._unit&&e.includes("oracledb")){for(const t of u.body){if(t.type==="ForStatement"&&t.body.body&&t.body.body[0]&&t.body.body[0].type==="TryStatement"&&t.body.body[0].block.body[0]&&t.body.body[0].block.body[0].type==="ExpressionStatement"&&t.body.body[0].block.body[0].expression.type==="AssignmentExpression"&&t.body.body[0].block.body[0].expression.operator==="="&&t.body.body[0].block.body[0].expression.left.type==="Identifier"&&t.body.body[0].block.body[0].expression.left.name==="oracledbCLib"&&t.body.body[0].block.body[0].expression.right.type==="CallExpression"&&t.body.body[0].block.body[0].expression.right.callee.type==="Identifier"&&t.body.body[0].block.body[0].expression.right.callee.name==="require"&&t.body.body[0].block.body[0].expression.right.arguments.length===1&&t.body.body[0].block.body[0].expression.right.arguments[0].type==="MemberExpression"&&t.body.body[0].block.body[0].expression.right.arguments[0].computed===true&&t.body.body[0].block.body[0].expression.right.arguments[0].object.type==="Identifier"&&t.body.body[0].block.body[0].expression.right.arguments[0].object.name==="binaryLocations"&&t.body.body[0].block.body[0].expression.right.arguments[0].property.type==="Identifier"&&t.body.body[0].block.body[0].expression.right.arguments[0].property.name==="i"){const r=t.body.body[0].block.body[0].expression.right.arguments[0];t.body.body[0].block.body[0].expression.right.arguments=[{type:"Literal",value:"_"}];const i=global._unit?"3.0.0":JSON.parse(s.readFileSync(e.slice(0,-15)+"package.json")).version;const n=Number(i.slice(0,i.indexOf(".")))>=4;const a="oracledb-"+(n?i:"abi"+process.versions.modules)+"-"+process.platform+"-"+process.arch+".node";l.overwrite(r.start,r.end,global._unit?"'./oracledb.js'":"'../build/Release/"+a+"'");return{transformed:true}}}}return{transformed:false}}},387:function(e,t,r){"use strict";var i=r(238);var n=r(737);var s=r(485).EventEmitter;var a=t=e.exports=new s;var u=r(64);var o=r(745);var l=r(354);o(true);var f=process.stderr;Object.defineProperty(a,"stream",{set:function(e){f=e;if(this.gauge)this.gauge.setWriteTo(f,f)},get:function(){return f}});var h;a.useColor=function(){return h!=null?h:f.isTTY};a.enableColor=function(){h=true;this.gauge.setTheme({hasColor:h,hasUnicode:c})};a.disableColor=function(){h=false;this.gauge.setTheme({hasColor:h,hasUnicode:c})};a.level="info";a.gauge=new n(f,{enabled:false,theme:{hasColor:a.useColor()},template:[{type:"progressbar",length:20},{type:"activityIndicator",kerning:1,length:1},{type:"section",default:""},":",{type:"logline",kerning:1,default:""}]});a.tracker=new i.TrackerGroup;a.progressEnabled=a.gauge.isEnabled();var c;a.enableUnicode=function(){c=true;this.gauge.setTheme({hasColor:this.useColor(),hasUnicode:c})};a.disableUnicode=function(){c=false;this.gauge.setTheme({hasColor:this.useColor(),hasUnicode:c})};a.setGaugeThemeset=function(e){this.gauge.setThemeset(e)};a.setGaugeTemplate=function(e){this.gauge.setTemplate(e)};a.enableProgress=function(){if(this.progressEnabled)return;this.progressEnabled=true;this.tracker.on("change",this.showProgress);if(this._pause)return;this.gauge.enable()};a.disableProgress=function(){if(!this.progressEnabled)return;this.progressEnabled=false;this.tracker.removeListener("change",this.showProgress);this.gauge.disable()};var p=["newGroup","newItem","newStream"];var d=function(e){Object.keys(a).forEach(function(t){if(t[0]==="_")return;if(p.filter(function(e){return e===t}).length)return;if(e[t])return;if(typeof a[t]!=="function")return;var r=a[t];e[t]=function(){return r.apply(a,arguments)}});if(e instanceof i.TrackerGroup){p.forEach(function(t){var r=e[t];e[t]=function(){return d(r.apply(e,arguments))}})}return e};p.forEach(function(e){a[e]=function(){return d(this.tracker[e].apply(this.tracker,arguments))}});a.clearProgress=function(e){if(!this.progressEnabled)return e&&process.nextTick(e);this.gauge.hide(e)};a.showProgress=function(e,t){if(!this.progressEnabled)return;var r={};if(e)r.section=e;var i=a.record[a.record.length-1];if(i){r.subsection=i.prefix;var n=a.disp[i.level]||i.level;var s=this._format(n,a.style[i.level]);if(i.prefix)s+=" "+this._format(i.prefix,this.prefixStyle);s+=" "+i.message.split(/\r?\n/)[0];r.logline=s}r.completed=t||this.tracker.completed();this.gauge.show(r)}.bind(a);a.pause=function(){this._paused=true;if(this.progressEnabled)this.gauge.disable()};a.resume=function(){if(!this._paused)return;this._paused=false;var e=this._buffer;this._buffer=[];e.forEach(function(e){this.emitLog(e)},this);if(this.progressEnabled)this.gauge.enable()};a._buffer=[];var v=0;a.record=[];a.maxRecordSize=1e4;a.log=function(e,t,r){var i=this.levels[e];if(i===undefined){return this.emit("error",new Error(u.format("Undefined log level: %j",e)))}var n=new Array(arguments.length-2);var s=null;for(var a=2;af/10){var c=Math.floor(f*.9);this.record=this.record.slice(-1*c)}this.emitLog(l)}.bind(a);a.emitLog=function(e){if(this._paused){this._buffer.push(e);return}if(this.progressEnabled)this.gauge.pulse(e.prefix);var t=this.levels[e.level];if(t===undefined)return;if(t0&&!isFinite(t))return;var r=a.disp[e.level]!=null?a.disp[e.level]:e.level;this.clearProgress();e.message.split(/\r?\n/).forEach(function(t){if(this.heading){this.write(this.heading,this.headingStyle);this.write(" ")}this.write(r,a.style[e.level]);var i=e.prefix||"";if(i)this.write(" ");this.write(i,this.prefixStyle);this.write(" "+t+"\n")},this);this.showProgress()};a._format=function(e,t){if(!f)return;var r="";if(this.useColor()){t=t||{};var i=[];if(t.fg)i.push(t.fg);if(t.bg)i.push("bg"+t.bg[0].toUpperCase()+t.bg.slice(1));if(t.bold)i.push("bold");if(t.underline)i.push("underline");if(t.inverse)i.push("inverse");if(i.length)r+=l.color(i);if(t.beep)r+=l.beep()}r+=e;if(this.useColor()){r+=l.color("reset")}return r};a.write=function(e,t){if(!f)return;f.write(this._format(e,t))};a.addLevel=function(e,t,r,i){if(i==null)i=e;this.levels[e]=t;this.style[e]=r;if(!this[e]){this[e]=function(){var t=new Array(arguments.length+1);t[0]=e;for(var r=0;r0)}else t.next();if(t.type!=s.eq&&!t.canInsertSemicolon()&&t.type!=s.semi){return super.parseClassElement.apply(this,arguments)}const r=this.startNode();r.static=this.eatContextual("static");if(this.type==this.privateNameToken){this.parsePrivateClassElementName(r)}else{this.parsePropertyName(r)}if(r.key.type==="Identifier"&&r.key.name==="constructor"||r.key.type==="Literal"&&!r.computed&&r.key.value==="constructor"){this.raise(r.key.start,"Classes may not have a field called constructor")}if((r.key.name||r.key.value)==="prototype"&&!r.computed){this.raise(r.key.start,"Classes may not have a static property named prototype")}this._maybeParseFieldValue(r);this.finishNode(r,"FieldDefinition");this.semicolon();return r}parsePropertyName(e){if(e.static&&this.type==this.privateNameToken){this.parsePrivateClassElementName(e)}else{super.parsePropertyName(e)}}parseIdent(e,t){const r=super.parseIdent(e,t);if(this._inStaticFieldValue&&r.name=="arguments")this.raise(r.start,"A static class field initializer may not contain arguments");return r}}}},392:function(e,t,r){"use strict";const i=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;const n=r(996).tokTypes;e.exports=function(e){return class extends e{parseExport(e,t){i.lastIndex=this.pos;const r=i.exec(this.input);const s=this.input.charAt(this.pos+r[0].length);if(s!=="*")return super.parseExport(e,t);this.next();const a=this.startNode();this.expect(n.star);if(this.eatContextual("as")){e.declaration=null;a.exported=this.parseIdent(true);this.checkExport(t,a.exported.name,this.lastTokStart);e.specifiers=[this.finishNode(a,"ExportNamespaceSpecifier")]}this.expectContextual("from");if(this.type!==n.string)this.unexpected();e.source=this.parseExprAtom();this.semicolon();return this.finishNode(e,e.specifiers?"ExportNamedDeclaration":"ExportAllDeclaration")}}}},393:function(e){e.exports=__webpack_require__(357)},402:function(e,t,r){"use strict";function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var i=r(945).Buffer;var n=r(64);function copyBuffer(e,t,r){e.copy(t,r)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length};BufferList.prototype.unshift=function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var t=this.head;var r=""+t.data;while(t=t.next){r+=e+t.data}return r};BufferList.prototype.concat=function concat(e){if(this.length===0)return i.alloc(0);if(this.length===1)return this.head.data;var t=i.allocUnsafe(e>>>0);var r=this.head;var n=0;while(r){copyBuffer(r.data,t,n);n+=r.data.length;r=r.next}return t};return BufferList}();if(n&&n.inspect&&n.inspect.custom){e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e}}},408:function(e,t,r){var i=r(16);var n=Object.create(null);var s=r(83);e.exports=i(inflight);function inflight(e,t){if(n[e]){n[e].push(t);return null}else{n[e]=[t];return makeres(e)}}function makeres(e){return s(function RES(){var t=n[e];var r=t.length;var i=slice(arguments);try{for(var s=0;sr){t.splice(0,r);process.nextTick(function(){RES.apply(null,i)})}else{delete n[e]}}})}function slice(e){var t=e.length;var r=[];for(var i=0;i>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var i=t.length-1;if(i=0){if(n>0)e.lastNeed=n-1;return n}if(--i=0){if(n>0)e.lastNeed=n-2;return n}if(--i=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString("utf8",t,i)}function utf8End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+"�";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString("base64",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+this.lastChar.toString("base64",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},431:function(e){e.exports=__webpack_require__(87)},433:function(e,t,r){"use strict";var i=r(22);e.exports=TemplateItem;function isPercent(e){if(typeof e!=="string")return false;return e.slice(-1)==="%"}function percent(e){return Number(e.slice(0,-1))/100}function TemplateItem(e,t){this.overallOutputLength=t;this.finished=false;this.type=null;this.value=null;this.length=null;this.maxLength=null;this.minLength=null;this.kerning=null;this.align="left";this.padLeft=0;this.padRight=0;this.index=null;this.first=null;this.last=null;if(typeof e==="string"){this.value=e}else{for(var r in e)this[r]=e[r]}if(isPercent(this.length)){this.length=Math.round(this.overallOutputLength*percent(this.length))}if(isPercent(this.minLength)){this.minLength=Math.round(this.overallOutputLength*percent(this.minLength))}if(isPercent(this.maxLength)){this.maxLength=Math.round(this.overallOutputLength*percent(this.maxLength))}return this}TemplateItem.prototype={};TemplateItem.prototype.getBaseLength=function(){var e=this.length;if(e==null&&typeof this.value==="string"&&this.maxLength==null&&this.minLength==null){e=i(this.value)}return e};TemplateItem.prototype.getLength=function(){var e=this.getBaseLength();if(e==null)return null;return e+this.padLeft+this.padRight};TemplateItem.prototype.getMaxLength=function(){if(this.maxLength==null)return null;return this.maxLength+this.padLeft+this.padRight};TemplateItem.prototype.getMinLength=function(){if(this.minLength==null)return null;return this.minLength+this.padLeft+this.padRight}},445:function(e,t,r){"use strict";var i=r(66);var n=r(378);var s=r(387);e.exports=t;var a=process.version.substr(1).replace(/-.*$/,"").split(".").map(function(e){return+e});var u=["build","clean","configure","package","publish","reveal","testbinary","testpackage","unpublish"];var o="napi_build_version=";e.exports.get_napi_version=function(e){var t=process.versions.napi;if(!t){if(a[0]===9&&a[1]>=3)t=2;else if(a[0]===8)t=1}return t};e.exports.get_napi_version_as_string=function(t){var r=e.exports.get_napi_version(t);return r?""+r:""};e.exports.validate_package_json=function(t,r){var i=t.binary;var n=pathOK(i.module_path);var s=pathOK(i.remote_path);var a=pathOK(i.package_name);var u=e.exports.get_napi_build_versions(t,r,true);var o=e.exports.get_napi_build_versions_raw(t);if(u){u.forEach(function(e){if(!(parseInt(e,10)===e&&e>0)){throw new Error("All values specified in napi_versions must be positive integers.")}})}if(u&&(!n||!s&&!a)){throw new Error("When napi_versions is specified; module_path and either remote_path or "+"package_name must contain the substitution string '{napi_build_version}`.")}if((n||s||a)&&!o){throw new Error("When the substitution string '{napi_build_version}` is specified in "+"module_path, remote_path, or package_name; napi_versions must also be specified.")}if(u&&!e.exports.get_best_napi_build_version(t,r)&&e.exports.build_napi_only(t)){throw new Error("The N-API version of this Node instance is "+e.exports.get_napi_version(r?r.target:undefined)+". "+"This module supports N-API version(s) "+e.exports.get_napi_build_versions_raw(t)+". "+"This Node instance cannot run this module.")}if(o&&!u&&e.exports.build_napi_only(t)){throw new Error("The N-API version of this Node instance is "+e.exports.get_napi_version(r?r.target:undefined)+". "+"This module supports N-API version(s) "+e.exports.get_napi_build_versions_raw(t)+". "+"This Node instance cannot run this module.")}};function pathOK(e){return e&&(e.indexOf("{napi_build_version}")!==-1||e.indexOf("{node_napi_label}")!==-1)}e.exports.expand_commands=function(t,r,i){var n=[];var s=e.exports.get_napi_build_versions(t,r);i.forEach(function(i){if(s&&i.name==="install"){var a=e.exports.get_best_napi_build_version(t,r);var l=a?[o+a]:[];n.push({name:i.name,args:l})}else if(s&&u.indexOf(i.name)!==-1){s.forEach(function(e){var t=i.args.slice();t.push(o+e);n.push({name:i.name,args:t})})}else{n.push(i)}});return n};e.exports.get_napi_build_versions=function(t,r,i){var n=[];var a=e.exports.get_napi_version(r?r.target:undefined);if(t.binary&&t.binary.napi_versions){t.binary.napi_versions.forEach(function(e){var t=n.indexOf(e)!==-1;if(!t&&a&&e<=a){n.push(e)}else if(i&&!t&&a){s.info("This Node instance does not support builds for N-API version",e)}})}if(r&&r["build-latest-napi-version-only"]){var u=0;n.forEach(function(e){if(e>u)u=e});n=u?[u]:[]}return n.length?n:undefined};e.exports.get_napi_build_versions_raw=function(e){var t=[];if(e.binary&&e.binary.napi_versions){e.binary.napi_versions.forEach(function(e){if(t.indexOf(e)===-1){t.push(e)}})}return t.length?t:undefined};e.exports.get_command_arg=function(e){return o+e};e.exports.get_napi_build_version_from_command_args=function(e){for(var t=0;ti&&e<=s){i=e}})}return i===0?undefined:i};e.exports.build_napi_only=function(e){return e.binary&&e.binary.package_name&&e.binary.package_name.indexOf("{node_napi_label}")===-1}},446:function(e){"use strict";e.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g}},468:function(e){e.exports=Delegator;function Delegator(e,t){if(!(this instanceof Delegator))return new Delegator(e,t);this.proto=e;this.target=t;this.methods=[];this.getters=[];this.setters=[];this.fluents=[]}Delegator.prototype.method=function(e){var t=this.proto;var r=this.target;this.methods.push(e);t[e]=function(){return this[r][e].apply(this[r],arguments)};return this};Delegator.prototype.access=function(e){return this.getter(e).setter(e)};Delegator.prototype.getter=function(e){var t=this.proto;var r=this.target;this.getters.push(e);t.__defineGetter__(e,function(){return this[r][e]});return this};Delegator.prototype.setter=function(e){var t=this.proto;var r=this.target;this.setters.push(e);t.__defineSetter__(e,function(t){return this[r][e]=t});return this};Delegator.prototype.fluent=function(e){var t=this.proto;var r=this.target;this.fluents.push(e);t[e]=function(t){if("undefined"!=typeof t){this[r][e]=t;return this}else{return this[r][e]}};return this}},480:function(e){(function(t){"use strict";var r,i=20,n=1,s=1e6,a=1e6,u=-7,o=21,l="[big.js] ",f=l+"Invalid ",h=f+"decimal places",c=f+"rounding mode",p=l+"Division by zero",d={},v=void 0,y=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function _Big_(){function Big(e){var t=this;if(!(t instanceof Big))return e===v?_Big_():new Big(e);if(e instanceof Big){t.s=e.s;t.e=e.e;t.c=e.c.slice()}else{parse(t,e)}t.constructor=Big}Big.prototype=d;Big.DP=i;Big.RM=n;Big.NE=u;Big.PE=o;Big.version="5.2.2";return Big}function parse(e,t){var r,i,n;if(t===0&&1/t<0)t="-0";else if(!y.test(t+=""))throw Error(f+"number");e.s=t.charAt(0)=="-"?(t=t.slice(1),-1):1;if((r=t.indexOf("."))>-1)t=t.replace(".","");if((i=t.search(/e/i))>0){if(r<0)r=i;r+=+t.slice(i+1);t=t.substring(0,i)}else if(r<0){r=t.length}n=t.length;for(i=0;i0&&t.charAt(--n)=="0";);e.e=r-i-1;e.c=[];for(r=0;i<=n;)e.c[r++]=+t.charAt(i++)}return e}function round(e,t,r,i){var n=e.c,s=e.e+t+1;if(s=5}else if(r===2){i=n[s]>5||n[s]==5&&(i||s<0||n[s+1]!==v||n[s-1]&1)}else if(r===3){i=i||!!n[0]}else{i=false;if(r!==0)throw Error(c)}if(s<1){n.length=1;if(i){e.e=-t;n[0]=1}else{n[0]=e.e=0}}else{n.length=s--;if(i){for(;++n[s]>9;){n[s]=0;if(!s--){++e.e;n.unshift(1)}}}for(s=n.length;!n[--s];)n.pop()}}else if(r<0||r>3||r!==~~r){throw Error(c)}return e}function stringify(e,t,r,i){var n,a,u=e.constructor,o=!e.c[0];if(r!==v){if(r!==~~r||r<(t==3)||r>s){throw Error(t==3?f+"precision":h)}e=new u(e);r=i-e.e;if(e.c.length>++i)round(e,r,u.RM);if(t==2)i=e.e+r+1;for(;e.c.length=u.PE)){a=a.charAt(0)+(r>1?"."+a.slice(1):"")+(n<0?"e":"e+")+n}else if(n<0){for(;++n;)a="0"+a;a="0."+a}else if(n>0){if(++n>r)for(n-=r;n--;)a+="0";else if(n1){a=a.charAt(0)+"."+a.slice(1)}return e.s<0&&(!o||t==4)?"-"+a:a}d.abs=function(){var e=new this.constructor(this);e.s=1;return e};d.cmp=function(e){var t,r=this,i=r.c,n=(e=new r.constructor(e)).c,s=r.s,a=e.s,u=r.e,o=e.e;if(!i[0]||!n[0])return!i[0]?!n[0]?0:-a:s;if(s!=a)return s;t=s<0;if(u!=o)return u>o^t?1:-1;a=(u=i.length)<(o=n.length)?u:o;for(s=-1;++sn[s]^t?1:-1}return u==o?0:u>o^t?1:-1};d.div=function(e){var t=this,r=t.constructor,i=t.c,n=(e=new r(e)).c,a=t.s==e.s?1:-1,u=r.DP;if(u!==~~u||u<0||u>s)throw Error(h);if(!n[0])throw Error(p);if(!i[0])return new r(a*0);var o,l,f,c,d,y=n.slice(),g=o=n.length,b=i.length,_=i.slice(0,o),m=_.length,E=e,D=E.c=[],w=0,A=u+(E.e=t.e-e.e)+1;E.s=a;a=A<0?0:A;y.unshift(0);for(;m++m?1:-1}else{for(d=-1,c=0;++d_[d]?1:-1;break}}}if(c<0){for(l=m==o?n:y;m;){if(_[--m]A)round(E,u,r.RM,_[0]!==v);return E};d.eq=function(e){return!this.cmp(e)};d.gt=function(e){return this.cmp(e)>0};d.gte=function(e){return this.cmp(e)>-1};d.lt=function(e){return this.cmp(e)<0};d.lte=function(e){return this.cmp(e)<1};d.minus=d.sub=function(e){var t,r,i,n,s=this,a=s.constructor,u=s.s,o=(e=new a(e)).s;if(u!=o){e.s=-o;return s.plus(e)}var l=s.c.slice(),f=s.e,h=e.c,c=e.e;if(!l[0]||!h[0]){return h[0]?(e.s=-o,e):new a(l[0]?s:0)}if(u=f-c){if(n=u<0){u=-u;i=l}else{c=f;i=h}i.reverse();for(o=u;o--;)i.push(0);i.reverse()}else{r=((n=l.length0)for(;o--;)l[t++]=0;for(o=t;r>u;){if(l[--r]0){o=a;t=l}else{n=-n;t=u}t.reverse();for(;n--;)t.push(0);t.reverse()}if(u.length-l.length<0){t=l;l=u;u=t}n=l.length;for(s=0;n;u[n]%=10)s=(u[--n]=u[n]+l[n]+s)/10|0;if(s){u.unshift(s);++o}for(n=u.length;u[--n]===0;)u.pop();e.c=u;e.e=o;return e};d.pow=function(e){var t=this,r=new t.constructor(1),i=r,n=e<0;if(e!==~~e||e<-a||e>a)throw Error(f+"exponent");if(n)e=-e;for(;;){if(e&1)i=i.times(t);e>>=1;if(!e)break;t=t.times(t)}return n?r.div(i):i};d.round=function(e,t){var r=this.constructor;if(e===v)e=0;else if(e!==~~e||e<-s||e>s)throw Error(h);return round(new r(this),e,t===v?r.RM:t)};d.sqrt=function(){var e,t,r,i=this,n=i.constructor,s=i.s,a=i.e,u=new n(.5);if(!i.c[0])return new n(i);if(s<0)throw Error(l+"No square root");s=Math.sqrt(i+"");if(s===0||s===1/0){t=i.c.join("");if(!(t.length+a&1))t+="0";s=Math.sqrt(t);a=((a+1)/2|0)-(a<0||a&1);e=new n((s==1/0?"1e":(s=s.toExponential()).slice(0,s.indexOf("e")+1))+a)}else{e=new n(s)}a=e.e+(n.DP+=4);do{r=e;e=u.times(r.plus(i.div(r)))}while(r.c.slice(0,a).join("")!==e.c.slice(0,a).join(""));return round(e,n.DP-=4,n.RM)};d.times=d.mul=function(e){var t,r=this,i=r.constructor,n=r.c,s=(e=new i(e)).c,a=n.length,u=s.length,o=r.e,l=e.e;e.s=r.s==e.s?1:-1;if(!n[0]||!s[0])return new i(e.s*0);e.e=o+l;if(ao;){u=t[l]+s[o]*n[l-o-1]+u;t[l--]=u%10;u=u/10|0}t[l]=(t[l]+u)%10}if(u)++e.e;else t.shift();for(o=t.length;!t[--o];)t.pop();e.c=t;return e};d.toExponential=function(e){return stringify(this,1,e,e)};d.toFixed=function(e){return stringify(this,2,e,this.e+e)};d.toPrecision=function(e){return stringify(this,3,e,e-1)};d.toString=function(){return stringify(this)};d.valueOf=d.toJSON=function(){return stringify(this,4)};r=_Big_();r["default"]=r.Big=r;if(typeof define==="function"&&define.amd){define(function(){return r})}else if(true&&e.exports){e.exports=r}else{t.Big=r}})(this)},485:function(e){e.exports=__webpack_require__(614)},487:function(e,t,r){e.exports=globSync;globSync.GlobSync=GlobSync;var i=r(66);var n=r(129);var s=r(620);var a=s.Minimatch;var u=r(327).Glob;var o=r(64);var l=r(589);var f=r(393);var h=r(969);var c=r(922);var p=c.alphasort;var d=c.alphasorti;var v=c.setopts;var y=c.ownProp;var g=c.childrenIgnored;var b=c.isIgnored;function globSync(e,t){if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,t).found}function GlobSync(e,t){if(!e)throw new Error("must provide pattern");if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,t);v(this,e,t);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var i=0;ithis.maxLength)return false;if(!this.stat&&y(this.cache,t)){var n=this.cache[t];if(Array.isArray(n))n="DIR";if(!r||n==="DIR")return n;if(r&&n==="FILE")return false}var s;var a=this.statCache[t];if(!a){var u;try{u=i.lstatSync(t)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[t]=false;return false}}if(u&&u.isSymbolicLink()){try{a=i.statSync(t)}catch(e){a=u}}else{a=u}}this.statCache[t]=a;var n=true;if(a)n=a.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||n;if(r&&n==="FILE")return false;return n};GlobSync.prototype._mark=function(e){return c.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return c.makeAbs(this,e)}},491:function(e){"use strict";e.exports=balanced;function balanced(e,t,r){if(e instanceof RegExp)e=maybeMatch(e,r);if(t instanceof RegExp)t=maybeMatch(t,r);var i=range(e,t,r);return i&&{start:i[0],end:i[1],pre:r.slice(0,i[0]),body:r.slice(i[0]+e.length,i[1]),post:r.slice(i[1]+t.length)}}function maybeMatch(e,t){var r=t.match(e);return r?r[0]:null}balanced.range=range;function range(e,t,r){var i,n,s,a,u;var o=r.indexOf(e);var l=r.indexOf(t,o+1);var f=o;if(o>=0&&l>0){i=[];s=r.length;while(f>=0&&!u){if(f==o){i.push(f);o=r.indexOf(e,f+1)}else if(i.length==1){u=[i.pop(),l]}else{n=i.pop();if(n=0?o:l}if(i.length){u=[s,a]}}return u}},500:function(e){"use strict";e.exports=(()=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")})},502:function(e,t,r){"use strict";e.exports=PassThrough;var i=r(955);var n=r(683);n.inherits=r(207);n.inherits(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},503:function(e,t,r){"use strict";e.exports=t;var i=r(589);var n=r(579);var s=r(77);var a=r(630);var u=r(445);var o;if(process.env.NODE_PRE_GYP_ABI_CROSSWALK){o=require(process.env.NODE_PRE_GYP_ABI_CROSSWALK)}else{o=r(590)}var l={};Object.keys(o).forEach(function(e){var t=e.split(".")[0];if(!l[t]){l[t]=e}});function get_electron_abi(e,t){if(!e){throw new Error("get_electron_abi requires valid runtime arg")}if(typeof t==="undefined"){throw new Error("Empty target version is not supported if electron is the target.")}var r=n.parse(t);return e+"-v"+r.major+"."+r.minor}e.exports.get_electron_abi=get_electron_abi;function get_node_webkit_abi(e,t){if(!e){throw new Error("get_node_webkit_abi requires valid runtime arg")}if(typeof t==="undefined"){throw new Error("Empty target version is not supported if node-webkit is the target.")}return e+"-v"+t}e.exports.get_node_webkit_abi=get_node_webkit_abi;function get_node_abi(e,t){if(!e){throw new Error("get_node_abi requires valid runtime arg")}if(!t){throw new Error("get_node_abi requires valid process.versions object")}var r=n.parse(t.node);if(r.major===0&&r.minor%2){return e+"-v"+t.node}else{return t.modules?e+"-v"+ +t.modules:"v8-"+t.v8.split(".").slice(0,2).join(".")}}e.exports.get_node_abi=get_node_abi;function get_runtime_abi(e,t){if(!e){throw new Error("get_runtime_abi requires valid runtime arg")}if(e==="node-webkit"){return get_node_webkit_abi(e,t||process.versions["node-webkit"])}else if(e==="electron"){return get_electron_abi(e,t||process.versions.electron)}else{if(e!="node"){throw new Error("Unknown Runtime: '"+e+"'")}if(!t){return get_node_abi(e,process.versions)}else{var r;if(o[t]){r=o[t]}else{var i=t.split(".").map(function(e){return+e});if(i.length!=3){throw new Error("Unknown target version: "+t)}var n=i[0];var s=i[1];var a=i[2];if(n===1){while(true){if(s>0)--s;if(a>0)--a;var u=""+n+"."+s+"."+a;if(o[u]){r=o[u];console.log("Warning: node-pre-gyp could not find exact match for "+t);console.log("Warning: but node-pre-gyp successfully choose "+u+" as ABI compatible target");break}if(s===0&&a===0){break}}}else if(n>=2){if(l[n]){r=o[l[n]];console.log("Warning: node-pre-gyp could not find exact match for "+t);console.log("Warning: but node-pre-gyp successfully choose "+l[n]+" as ABI compatible target")}}else if(n===0){if(i[1]%2===0){while(--a>0){var f=""+n+"."+s+"."+a;if(o[f]){r=o[f];console.log("Warning: node-pre-gyp could not find exact match for "+t);console.log("Warning: but node-pre-gyp successfully choose "+f+" as ABI compatible target");break}}}}}if(!r){throw new Error("Unsupported target version: "+t)}var h={node:t,v8:r.v8+".0",modules:r.node_abi>1?r.node_abi:undefined};return get_node_abi(e,h)}}}e.exports.get_runtime_abi=get_runtime_abi;var f=["module_name","module_path","host"];function validate_config(e,t){var r=e.name+" package.json is not node-pre-gyp ready:\n";var i=[];if(!e.main){i.push("main")}if(!e.version){i.push("version")}if(!e.name){i.push("name")}if(!e.binary){i.push("binary")}var n=e.binary;f.forEach(function(e){if(i.indexOf("binary")>-1){i.pop("binary")}if(!n||n[e]===undefined||n[e]===""){i.push("binary."+e)}});if(i.length>=1){throw new Error(r+"package.json must declare these properties: \n"+i.join("\n"))}if(n){var a=s.parse(n.host).protocol;if(a==="http:"){throw new Error("'host' protocol ("+a+") is invalid - only 'https:' is accepted")}}u.validate_package_json(e,t)}e.exports.validate_config=validate_config;function eval_template(e,t){Object.keys(t).forEach(function(r){var i="{"+r+"}";while(e.indexOf(i)>-1){e=e.replace(i,t[r])}});return e}function fix_slashes(e){if(e.slice(-1)!="/"){return e+"/"}return e}function drop_double_slashes(e){return e.replace(/\/\//g,"/")}function get_process_runtime(e){var t="node";if(e["node-webkit"]){t="node-webkit"}else if(e.electron){t="electron"}return t}e.exports.get_process_runtime=get_process_runtime;var h="{module_name}-v{version}-{node_abi}-{platform}-{arch}.tar.gz";var c="";e.exports.evaluate=function(e,t,r){t=t||{};validate_config(e,t);var o=e.version;var l=n.parse(o);var f=t.runtime||get_process_runtime(process.versions);var p={name:e.name,configuration:Boolean(t.debug)?"Debug":"Release",debug:t.debug,module_name:e.binary.module_name,version:l.version,prerelease:l.prerelease.length?l.prerelease.join("."):"",build:l.build.length?l.build.join("."):"",major:l.major,minor:l.minor,patch:l.patch,runtime:f,node_abi:get_runtime_abi(f,t.target),node_abi_napi:u.get_napi_version(t.target)?"napi":get_runtime_abi(f,t.target),napi_version:u.get_napi_version(t.target),napi_build_version:r||"",node_napi_label:r?"napi-v"+r:get_runtime_abi(f,t.target),target:t.target||"",platform:t.target_platform||process.platform,target_platform:t.target_platform||process.platform,arch:t.target_arch||process.arch,target_arch:t.target_arch||process.arch,libc:t.target_libc||a.family||"unknown",module_main:e.main,toolset:t.toolset||""};var d=process.env["npm_config_"+p.module_name+"_binary_host_mirror"]||e.binary.host;p.host=fix_slashes(eval_template(d,p));p.module_path=eval_template(e.binary.module_path,p);if(t.module_root){p.module_path=i.join(t.module_root,p.module_path)}else{p.module_path=i.resolve(p.module_path)}p.module=i.join(p.module_path,p.module_name+".node");p.remote_path=e.binary.remote_path?drop_double_slashes(fix_slashes(eval_template(e.binary.remote_path,p))):c;var v=e.binary.package_name?e.binary.package_name:h;p.package_name=eval_template(v,p);p.staged_tarball=i.join("build/stage",p.remote_path,p.package_name);p.hosted_path=s.resolve(p.host,p.remote_path);p.hosted_tarball=s.resolve(p.hosted_path,p.package_name);return p}},507:function(e,t,r){e.exports=r(64).deprecate},513:function(e){"use strict";e.exports=isWin32()||isColorTerm();function isWin32(){return process.platform==="win32"}function isColorTerm(){var e=/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i;return!!process.env.COLORTERM||e.test(process.env.TERM)}},543:function(e,t,r){"use strict";const i=r(589);const n=/^\.\.?[/\\]/;function isAbsolutePath(e){return i.posix.isAbsolute(e)||i.win32.isAbsolute(e)}function isRelativePath(e){return n.test(e)}function stringifyRequest(e,t){const r=t.split("!");const n=e.context||e.options&&e.options.context;return JSON.stringify(r.map(e=>{const t=e.match(/^(.*?)(\?.*)/);const r=t?t[2]:"";let s=t?t[1]:e;if(isAbsolutePath(s)&&n){s=i.relative(n,s);if(isAbsolutePath(s)){return s+r}if(isRelativePath(s)===false){s="./"+s}}return s.replace(/\\/g,"/")+r}).join("!"))}e.exports=stringifyRequest},544:function(e,t,r){var i=r(589);var n=process.platform==="win32";var s=r(66);var a=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var e;if(a){var t=new Error;e=debugCallback}else e=missingCallback;return e;function debugCallback(e){if(e){t.message=e.message;e=t;missingCallback(e)}}function missingCallback(e){if(e){if(process.throwDeprecation)throw e;else if(!process.noDeprecation){var t="fs: missing callback "+(e.stack||e.message);if(process.traceDeprecation)console.trace(t);else console.error(t)}}}}function maybeCallback(e){return typeof e==="function"?e:rethrow()}var u=i.normalize;if(n){var o=/(.*?)(?:[\/\\]+|$)/g}else{var o=/(.*?)(?:[\/]+|$)/g}if(n){var l=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var l=/^[\/]*/}t.realpathSync=function realpathSync(e,t){e=i.resolve(e);if(t&&Object.prototype.hasOwnProperty.call(t,e)){return t[e]}var r=e,a={},u={};var f;var h;var c;var p;start();function start(){var t=l.exec(e);f=t[0].length;h=t[0];c=t[0];p="";if(n&&!u[c]){s.lstatSync(c);u[c]=true}}while(f=e.length){if(t)t[a]=e;return r(null,e)}o.lastIndex=h;var i=o.exec(e);d=c;c+=i[0];p=d+i[1];h=o.lastIndex;if(f[p]||t&&t[p]===p){return process.nextTick(LOOP)}if(t&&Object.prototype.hasOwnProperty.call(t,p)){return gotResolvedLink(t[p])}return s.lstat(p,gotStat)}function gotStat(e,i){if(e)return r(e);if(!i.isSymbolicLink()){f[p]=true;if(t)t[p]=p;return process.nextTick(LOOP)}if(!n){var a=i.dev.toString(32)+":"+i.ino.toString(32);if(u.hasOwnProperty(a)){return gotTarget(null,u[a],p)}}s.stat(p,function(e){if(e)return r(e);s.readlink(p,function(e,t){if(!n)u[a]=t;gotTarget(e,t)})})}function gotTarget(e,n,s){if(e)return r(e);var a=i.resolve(d,n);if(t)t[s]=a;gotResolvedLink(a)}function gotResolvedLink(t){e=i.resolve(t,e.slice(h));start()}}},564:function(e,t,r){var i=r(55);var n=r(572);n.core=i;n.isCore=function isCore(e){return i[e]};n.sync=r(377);t=n;e.exports=n},569:function(e,t,r){e.exports=r(688)},572:function(e,t,r){var i=r(55);var n=r(66);var s=r(589);var a=r(68);var u=r(807);var o=r(764);var l=function isFile(e,t){n.stat(e,function(e,r){if(!e){return t(null,r.isFile()||r.isFIFO())}if(e.code==="ENOENT"||e.code==="ENOTDIR")return t(null,false);return t(e)})};e.exports=function resolve(e,t,r){var f=r;var h=t;if(typeof t==="function"){f=h;h={}}if(typeof e!=="string"){var c=new TypeError("Path must be a string.");return process.nextTick(function(){f(c)})}h=o(e,h);var p=h.isFile||l;var d=h.readFile||n.readFile;var v=h.extensions||[".js"];var y=h.basedir||s.dirname(a());var g=h.filename||y;h.paths=h.paths||[];var b=s.resolve(y);if(h.preserveSymlinks===false){n.realpath(b,function(e,t){if(e&&e.code!=="ENOENT")f(c);else init(e?b:t)})}else{init(b)}var _;function init(t){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){_=s.resolve(t,e);if(e===".."||e.slice(-1)==="/")_+="/";if(/\/$/.test(e)&&_===t){loadAsDirectory(_,h.package,onfile)}else loadAsFile(_,h.package,onfile)}else loadNodeModules(e,t,function(t,r,n){if(t)f(t);else if(r)f(null,r,n);else if(i[e])return f(null,e);else{var s=new Error("Cannot find module '"+e+"' from '"+g+"'");s.code="MODULE_NOT_FOUND";f(s)}})}function onfile(t,r,i){if(t)f(t);else if(r)f(null,r,i);else loadAsDirectory(_,function(t,r,i){if(t)f(t);else if(r)f(null,r,i);else{var n=new Error("Cannot find module '"+e+"' from '"+g+"'");n.code="MODULE_NOT_FOUND";f(n)}})}function loadAsFile(e,t,r){var i=t;var n=r;if(typeof i==="function"){n=i;i=undefined}var a=[""].concat(v);load(a,e,i);function load(e,t,r){if(e.length===0)return n(null,undefined,r);var i=t+e[0];var a=r;if(a)onpkg(null,a);else loadpkg(s.dirname(i),onpkg);function onpkg(r,u,o){a=u;if(r)return n(r);if(o&&a&&h.pathFilter){var l=s.relative(o,i);var f=l.slice(0,l.length-e[0].length);var c=h.pathFilter(a,t,f);if(c)return load([""].concat(v.slice()),s.resolve(o,c),a)}p(i,onex)}function onex(r,s){if(r)return n(r);if(s)return n(null,i,a);load(e.slice(1),t,a)}}}function loadpkg(e,t){if(e===""||e==="/")return t(null);if(process.platform==="win32"&&/^\w:[/\\]*$/.test(e)){return t(null)}if(/[/\\]node_modules[/\\]*$/.test(e))return t(null);var r=s.join(e,"package.json");p(r,function(i,n){if(!n)return loadpkg(s.dirname(e),t);d(r,function(i,n){if(i)t(i);try{var s=JSON.parse(n)}catch(e){}if(s&&h.packageFilter){s=h.packageFilter(s,r)}t(null,s,e)})})}function loadAsDirectory(e,t,r){var i=r;var n=t;if(typeof n==="function"){i=n;n=h.package}var a=s.join(e,"package.json");p(a,function(t,r){if(t)return i(t);if(!r)return loadAsFile(s.join(e,"index"),n,i);d(a,function(t,r){if(t)return i(t);try{var n=JSON.parse(r)}catch(e){}if(h.packageFilter){n=h.packageFilter(n,a)}if(n.main){if(typeof n.main!=="string"){var u=new TypeError("package “"+n.name+"” `main` must be a string");u.code="INVALID_PACKAGE_MAIN";return i(u)}if(n.main==="."||n.main==="./"){n.main="index"}loadAsFile(s.resolve(e,n.main),n,function(t,r,n){if(t)return i(t);if(r)return i(null,r,n);if(!n)return loadAsFile(s.join(e,"index"),n,i);var a=s.resolve(e,n.main);loadAsDirectory(a,n,function(t,r,n){if(t)return i(t);if(r)return i(null,r,n);loadAsFile(s.join(e,"index"),n,i)})});return}loadAsFile(s.join(e,"/index"),n,i)})})}function processDirs(t,r){if(r.length===0)return t(null,undefined);var i=r[0];var n=s.join(i,e);loadAsFile(n,h.package,onfile);function onfile(r,n,a){if(r)return t(r);if(n)return t(null,n,a);loadAsDirectory(s.join(i,e),h.package,ondir)}function ondir(e,i,n){if(e)return t(e);if(i)return t(null,i,n);processDirs(t,r.slice(1))}}function loadNodeModules(e,t,r){processDirs(r,u(t,h,e))}}},579:function(e,t){t=e.exports=SemVer;var r;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){r=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER");console.log.apply(console,e)}}else{r=function(){}}t.SEMVER_SPEC_VERSION="2.0.0";var i=256;var n=Number.MAX_SAFE_INTEGER||9007199254740991;var s=16;var a=t.re=[];var u=t.src=[];var o=0;var l=o++;u[l]="0|[1-9]\\d*";var f=o++;u[f]="[0-9]+";var h=o++;u[h]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var c=o++;u[c]="("+u[l]+")\\."+"("+u[l]+")\\."+"("+u[l]+")";var p=o++;u[p]="("+u[f]+")\\."+"("+u[f]+")\\."+"("+u[f]+")";var d=o++;u[d]="(?:"+u[l]+"|"+u[h]+")";var v=o++;u[v]="(?:"+u[f]+"|"+u[h]+")";var y=o++;u[y]="(?:-("+u[d]+"(?:\\."+u[d]+")*))";var g=o++;u[g]="(?:-?("+u[v]+"(?:\\."+u[v]+")*))";var b=o++;u[b]="[0-9A-Za-z-]+";var _=o++;u[_]="(?:\\+("+u[b]+"(?:\\."+u[b]+")*))";var m=o++;var E="v?"+u[c]+u[y]+"?"+u[_]+"?";u[m]="^"+E+"$";var D="[v=\\s]*"+u[p]+u[g]+"?"+u[_]+"?";var w=o++;u[w]="^"+D+"$";var A=o++;u[A]="((?:<|>)?=?)";var C=o++;u[C]=u[f]+"|x|X|\\*";var x=o++;u[x]=u[l]+"|x|X|\\*";var S=o++;u[S]="[v=\\s]*("+u[x]+")"+"(?:\\.("+u[x]+")"+"(?:\\.("+u[x]+")"+"(?:"+u[y]+")?"+u[_]+"?"+")?)?";var k=o++;u[k]="[v=\\s]*("+u[C]+")"+"(?:\\.("+u[C]+")"+"(?:\\.("+u[C]+")"+"(?:"+u[g]+")?"+u[_]+"?"+")?)?";var F=o++;u[F]="^"+u[A]+"\\s*"+u[S]+"$";var R=o++;u[R]="^"+u[A]+"\\s*"+u[k]+"$";var T=o++;u[T]="(?:^|[^\\d])"+"(\\d{1,"+s+"})"+"(?:\\.(\\d{1,"+s+"}))?"+"(?:\\.(\\d{1,"+s+"}))?"+"(?:$|[^\\d])";var O=o++;u[O]="(?:~>?)";var I=o++;u[I]="(\\s*)"+u[O]+"\\s+";a[I]=new RegExp(u[I],"g");var B="$1~";var N=o++;u[N]="^"+u[O]+u[S]+"$";var L=o++;u[L]="^"+u[O]+u[k]+"$";var P=o++;u[P]="(?:\\^)";var j=o++;u[j]="(\\s*)"+u[P]+"\\s+";a[j]=new RegExp(u[j],"g");var q="$1^";var $=o++;u[$]="^"+u[P]+u[S]+"$";var M=o++;u[M]="^"+u[P]+u[k]+"$";var U=o++;u[U]="^"+u[A]+"\\s*("+D+")$|^$";var H=o++;u[H]="^"+u[A]+"\\s*("+E+")$|^$";var W=o++;u[W]="(\\s*)"+u[A]+"\\s*("+D+"|"+u[S]+")";a[W]=new RegExp(u[W],"g");var G="$1$2$3";var V=o++;u[V]="^\\s*("+u[S]+")"+"\\s+-\\s+"+"("+u[S]+")"+"\\s*$";var z=o++;u[z]="^\\s*("+u[k]+")"+"\\s+-\\s+"+"("+u[k]+")"+"\\s*$";var K=o++;u[K]="(<|>)?=?\\s*\\*";for(var Q=0;Qi){return null}var r=t.loose?a[w]:a[m];if(!r.test(e)){return null}try{return new SemVer(e,t)}catch(e){return null}}t.valid=valid;function valid(e,t){var r=parse(e,t);return r?r.version:null}t.clean=clean;function clean(e,t){var r=parse(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}t.SemVer=SemVer;function SemVer(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof SemVer){if(e.loose===t.loose){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(e.length>i){throw new TypeError("version is longer than "+i+" characters")}if(!(this instanceof SemVer)){return new SemVer(e,t)}r("SemVer",e,t);this.options=t;this.loose=!!t.loose;var s=e.trim().match(t.loose?a[w]:a[m]);if(!s){throw new TypeError("Invalid Version: "+e)}this.raw=e;this.major=+s[1];this.minor=+s[2];this.patch=+s[3];if(this.major>n||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>n||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>n||this.patch<0){throw new TypeError("Invalid patch version")}if(!s[4]){this.prerelease=[]}else{this.prerelease=s[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1){this.prerelease.push(0)}}if(t){if(this.prerelease[0]===t){if(isNaN(this.prerelease[1])){this.prerelease=[t,0]}}else{this.prerelease=[t,0]}}break;default:throw new Error("invalid increment argument: "+e)}this.format();this.raw=this.version;return this};t.inc=inc;function inc(e,t,r,i){if(typeof r==="string"){i=r;r=undefined}try{return new SemVer(e,r).inc(t,i).version}catch(e){return null}}t.diff=diff;function diff(e,t){if(eq(e,t)){return null}else{var r=parse(e);var i=parse(t);var n="";if(r.prerelease.length||i.prerelease.length){n="pre";var s="prerelease"}for(var a in r){if(a==="major"||a==="minor"||a==="patch"){if(r[a]!==i[a]){return n+a}}}return s}}t.compareIdentifiers=compareIdentifiers;var X=/^[0-9]+$/;function compareIdentifiers(e,t){var r=X.test(e);var i=X.test(t);if(r&&i){e=+e;t=+t}return e===t?0:r&&!i?-1:i&&!r?1:e0}t.lt=lt;function lt(e,t,r){return compare(e,t,r)<0}t.eq=eq;function eq(e,t,r){return compare(e,t,r)===0}t.neq=neq;function neq(e,t,r){return compare(e,t,r)!==0}t.gte=gte;function gte(e,t,r){return compare(e,t,r)>=0}t.lte=lte;function lte(e,t,r){return compare(e,t,r)<=0}t.cmp=cmp;function cmp(e,t,r,i){switch(t){case"===":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e===r;case"!==":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e!==r;case"":case"=":case"==":return eq(e,r,i);case"!=":return neq(e,r,i);case">":return gt(e,r,i);case">=":return gte(e,r,i);case"<":return lt(e,r,i);case"<=":return lte(e,r,i);default:throw new TypeError("Invalid operator: "+t)}}t.Comparator=Comparator;function Comparator(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}if(!(this instanceof Comparator)){return new Comparator(e,t)}r("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===Z){this.value=""}else{this.value=this.operator+this.semver.version}r("comp",this)}var Z={};Comparator.prototype.parse=function(e){var t=this.options.loose?a[U]:a[H];var r=e.match(t);if(!r){throw new TypeError("Invalid comparator: "+e)}this.operator=r[1];if(this.operator==="="){this.operator=""}if(!r[2]){this.semver=Z}else{this.semver=new SemVer(r[2],this.options.loose)}};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(e){r("Comparator.test",e,this.options.loose);if(this.semver===Z){return true}if(typeof e==="string"){e=new SemVer(e,this.options)}return cmp(e,this.operator,this.semver,this.options)};Comparator.prototype.intersects=function(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}var r;if(this.operator===""){r=new Range(e.value,t);return satisfies(this.value,r,t)}else if(e.operator===""){r=new Range(this.value,t);return satisfies(e.semver,r,t)}var i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">");var n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<");var s=this.semver.version===e.semver.version;var a=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<=");var u=cmp(this.semver,"<",e.semver,t)&&((this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"));var o=cmp(this.semver,">",e.semver,t)&&((this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">"));return i||n||s&&a||u||o};t.Range=Range;function Range(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof Comparator){return new Range(e.value,t)}if(!(this instanceof Range)){return new Range(e,t)}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}Range.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var i=t?a[z]:a[V];e=e.replace(i,hyphenReplace);r("hyphen replace",e);e=e.replace(a[W],G);r("comparator trim",e,a[W]);e=e.replace(a[I],B);e=e.replace(a[j],q);e=e.split(/\s+/).join(" ");var n=t?a[U]:a[H];var s=e.split(" ").map(function(e){return parseComparator(e,this.options)},this).join(" ").split(/\s+/);if(this.options.loose){s=s.filter(function(e){return!!e.match(n)})}s=s.map(function(e){return new Comparator(e,this.options)},this);return s};Range.prototype.intersects=function(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(function(r){return r.every(function(r){return e.set.some(function(e){return e.every(function(e){return r.intersects(e,t)})})})})};t.toComparators=toComparators;function toComparators(e,t){return new Range(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function parseComparator(e,t){r("comp",e,t);e=replaceCarets(e,t);r("caret",e);e=replaceTildes(e,t);r("tildes",e);e=replaceXRanges(e,t);r("xrange",e);e=replaceStars(e,t);r("stars",e);return e}function isX(e){return!e||e.toLowerCase()==="x"||e==="*"}function replaceTildes(e,t){return e.trim().split(/\s+/).map(function(e){return replaceTilde(e,t)}).join(" ")}function replaceTilde(e,t){var i=t.loose?a[L]:a[N];return e.replace(i,function(t,i,n,s,a){r("tilde",e,t,i,n,s,a);var u;if(isX(i)){u=""}else if(isX(n)){u=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(isX(s)){u=">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0"}else if(a){r("replaceTilde pr",a);u=">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+(+n+1)+".0"}else{u=">="+i+"."+n+"."+s+" <"+i+"."+(+n+1)+".0"}r("tilde return",u);return u})}function replaceCarets(e,t){return e.trim().split(/\s+/).map(function(e){return replaceCaret(e,t)}).join(" ")}function replaceCaret(e,t){r("caret",e,t);var i=t.loose?a[M]:a[$];return e.replace(i,function(t,i,n,s,a){r("caret",e,t,i,n,s,a);var u;if(isX(i)){u=""}else if(isX(n)){u=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(isX(s)){if(i==="0"){u=">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0"}else{u=">="+i+"."+n+".0 <"+(+i+1)+".0.0"}}else if(a){r("replaceCaret pr",a);if(i==="0"){if(n==="0"){u=">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+n+"."+(+s+1)}else{u=">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+(+n+1)+".0"}}else{u=">="+i+"."+n+"."+s+"-"+a+" <"+(+i+1)+".0.0"}}else{r("no pr");if(i==="0"){if(n==="0"){u=">="+i+"."+n+"."+s+" <"+i+"."+n+"."+(+s+1)}else{u=">="+i+"."+n+"."+s+" <"+i+"."+(+n+1)+".0"}}else{u=">="+i+"."+n+"."+s+" <"+(+i+1)+".0.0"}}r("caret return",u);return u})}function replaceXRanges(e,t){r("replaceXRanges",e,t);return e.split(/\s+/).map(function(e){return replaceXRange(e,t)}).join(" ")}function replaceXRange(e,t){e=e.trim();var i=t.loose?a[R]:a[F];return e.replace(i,function(t,i,n,s,a,u){r("xRange",e,t,i,n,s,a,u);var o=isX(n);var l=o||isX(s);var f=l||isX(a);var h=f;if(i==="="&&h){i=""}if(o){if(i===">"||i==="<"){t="<0.0.0"}else{t="*"}}else if(i&&h){if(l){s=0}a=0;if(i===">"){i=">=";if(l){n=+n+1;s=0;a=0}else{s=+s+1;a=0}}else if(i==="<="){i="<";if(l){n=+n+1}else{s=+s+1}}t=i+n+"."+s+"."+a}else if(l){t=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(f){t=">="+n+"."+s+".0 <"+n+"."+(+s+1)+".0"}r("xRange return",t);return t})}function replaceStars(e,t){r("replaceStars",e,t);return e.trim().replace(a[K],"")}function hyphenReplace(e,t,r,i,n,s,a,u,o,l,f,h,c){if(isX(r)){t=""}else if(isX(i)){t=">="+r+".0.0"}else if(isX(n)){t=">="+r+"."+i+".0"}else{t=">="+t}if(isX(o)){u=""}else if(isX(l)){u="<"+(+o+1)+".0.0"}else if(isX(f)){u="<"+o+"."+(+l+1)+".0"}else if(h){u="<="+o+"."+l+"."+f+"-"+h}else{u="<="+u}return(t+" "+u).trim()}Range.prototype.test=function(e){if(!e){return false}if(typeof e==="string"){e=new SemVer(e,this.options)}for(var t=0;t0){var s=e[n].semver;if(s.major===t.major&&s.minor===t.minor&&s.patch===t.patch){return true}}}return false}return true}t.satisfies=satisfies;function satisfies(e,t,r){try{t=new Range(t,r)}catch(e){return false}return t.test(e)}t.maxSatisfying=maxSatisfying;function maxSatisfying(e,t,r){var i=null;var n=null;try{var s=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(s.test(e)){if(!i||n.compare(e)===-1){i=e;n=new SemVer(i,r)}}});return i}t.minSatisfying=minSatisfying;function minSatisfying(e,t,r){var i=null;var n=null;try{var s=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(s.test(e)){if(!i||n.compare(e)===1){i=e;n=new SemVer(i,r)}}});return i}t.minVersion=minVersion;function minVersion(e,t){e=new Range(e,t);var r=new SemVer("0.0.0");if(e.test(r)){return r}r=new SemVer("0.0.0-0");if(e.test(r)){return r}r=null;for(var i=0;i":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!r||gt(r,t)){r=t}break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(r&&e.test(r)){return r}return null}t.validRange=validRange;function validRange(e,t){try{return new Range(e,t).range||"*"}catch(e){return null}}t.ltr=ltr;function ltr(e,t,r){return outside(e,t,"<",r)}t.gtr=gtr;function gtr(e,t,r){return outside(e,t,">",r)}t.outside=outside;function outside(e,t,r,i){e=new SemVer(e,i);t=new Range(t,i);var n,s,a,u,o;switch(r){case">":n=gt;s=lte;a=lt;u=">";o=">=";break;case"<":n=lt;s=gte;a=gt;u="<";o="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(e,t,i)){return false}for(var l=0;l=0.0.0")}h=h||e;c=c||e;if(n(e.semver,h.semver,i)){h=e}else if(a(e.semver,c.semver,i)){c=e}});if(h.operator===u||h.operator===o){return false}if((!c.operator||c.operator===u)&&s(e,c.semver)){return false}else if(c.operator===o&&a(e,c.semver)){return false}}return true}t.prerelease=prerelease;function prerelease(e,t){var r=parse(e,t);return r&&r.prerelease.length?r.prerelease:null}t.intersects=intersects;function intersects(e,t,r){e=new Range(e,r);t=new Range(t,r);return e.intersects(t)}t.coerce=coerce;function coerce(e){if(e instanceof SemVer){return e}if(typeof e!=="string"){return null}var t=e.match(a[T]);if(t==null){return null}return parse(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}},589:function(e){e.exports=__webpack_require__(622)},590:function(e){e.exports={"0.1.14":{node_abi:null,v8:"1.3"},"0.1.15":{node_abi:null,v8:"1.3"},"0.1.16":{node_abi:null,v8:"1.3"},"0.1.17":{node_abi:null,v8:"1.3"},"0.1.18":{node_abi:null,v8:"1.3"},"0.1.19":{node_abi:null,v8:"2.0"},"0.1.20":{node_abi:null,v8:"2.0"},"0.1.21":{node_abi:null,v8:"2.0"},"0.1.22":{node_abi:null,v8:"2.0"},"0.1.23":{node_abi:null,v8:"2.0"},"0.1.24":{node_abi:null,v8:"2.0"},"0.1.25":{node_abi:null,v8:"2.0"},"0.1.26":{node_abi:null,v8:"2.0"},"0.1.27":{node_abi:null,v8:"2.1"},"0.1.28":{node_abi:null,v8:"2.1"},"0.1.29":{node_abi:null,v8:"2.1"},"0.1.30":{node_abi:null,v8:"2.1"},"0.1.31":{node_abi:null,v8:"2.1"},"0.1.32":{node_abi:null,v8:"2.1"},"0.1.33":{node_abi:null,v8:"2.1"},"0.1.90":{node_abi:null,v8:"2.2"},"0.1.91":{node_abi:null,v8:"2.2"},"0.1.92":{node_abi:null,v8:"2.2"},"0.1.93":{node_abi:null,v8:"2.2"},"0.1.94":{node_abi:null,v8:"2.2"},"0.1.95":{node_abi:null,v8:"2.2"},"0.1.96":{node_abi:null,v8:"2.2"},"0.1.97":{node_abi:null,v8:"2.2"},"0.1.98":{node_abi:null,v8:"2.2"},"0.1.99":{node_abi:null,v8:"2.2"},"0.1.100":{node_abi:null,v8:"2.2"},"0.1.101":{node_abi:null,v8:"2.3"},"0.1.102":{node_abi:null,v8:"2.3"},"0.1.103":{node_abi:null,v8:"2.3"},"0.1.104":{node_abi:null,v8:"2.3"},"0.2.0":{node_abi:1,v8:"2.3"},"0.2.1":{node_abi:1,v8:"2.3"},"0.2.2":{node_abi:1,v8:"2.3"},"0.2.3":{node_abi:1,v8:"2.3"},"0.2.4":{node_abi:1,v8:"2.3"},"0.2.5":{node_abi:1,v8:"2.3"},"0.2.6":{node_abi:1,v8:"2.3"},"0.3.0":{node_abi:1,v8:"2.5"},"0.3.1":{node_abi:1,v8:"2.5"},"0.3.2":{node_abi:1,v8:"3.0"},"0.3.3":{node_abi:1,v8:"3.0"},"0.3.4":{node_abi:1,v8:"3.0"},"0.3.5":{node_abi:1,v8:"3.0"},"0.3.6":{node_abi:1,v8:"3.0"},"0.3.7":{node_abi:1,v8:"3.0"},"0.3.8":{node_abi:1,v8:"3.1"},"0.4.0":{node_abi:1,v8:"3.1"},"0.4.1":{node_abi:1,v8:"3.1"},"0.4.2":{node_abi:1,v8:"3.1"},"0.4.3":{node_abi:1,v8:"3.1"},"0.4.4":{node_abi:1,v8:"3.1"},"0.4.5":{node_abi:1,v8:"3.1"},"0.4.6":{node_abi:1,v8:"3.1"},"0.4.7":{node_abi:1,v8:"3.1"},"0.4.8":{node_abi:1,v8:"3.1"},"0.4.9":{node_abi:1,v8:"3.1"},"0.4.10":{node_abi:1,v8:"3.1"},"0.4.11":{node_abi:1,v8:"3.1"},"0.4.12":{node_abi:1,v8:"3.1"},"0.5.0":{node_abi:1,v8:"3.1"},"0.5.1":{node_abi:1,v8:"3.4"},"0.5.2":{node_abi:1,v8:"3.4"},"0.5.3":{node_abi:1,v8:"3.4"},"0.5.4":{node_abi:1,v8:"3.5"},"0.5.5":{node_abi:1,v8:"3.5"},"0.5.6":{node_abi:1,v8:"3.6"},"0.5.7":{node_abi:1,v8:"3.6"},"0.5.8":{node_abi:1,v8:"3.6"},"0.5.9":{node_abi:1,v8:"3.6"},"0.5.10":{node_abi:1,v8:"3.7"},"0.6.0":{node_abi:1,v8:"3.6"},"0.6.1":{node_abi:1,v8:"3.6"},"0.6.2":{node_abi:1,v8:"3.6"},"0.6.3":{node_abi:1,v8:"3.6"},"0.6.4":{node_abi:1,v8:"3.6"},"0.6.5":{node_abi:1,v8:"3.6"},"0.6.6":{node_abi:1,v8:"3.6"},"0.6.7":{node_abi:1,v8:"3.6"},"0.6.8":{node_abi:1,v8:"3.6"},"0.6.9":{node_abi:1,v8:"3.6"},"0.6.10":{node_abi:1,v8:"3.6"},"0.6.11":{node_abi:1,v8:"3.6"},"0.6.12":{node_abi:1,v8:"3.6"},"0.6.13":{node_abi:1,v8:"3.6"},"0.6.14":{node_abi:1,v8:"3.6"},"0.6.15":{node_abi:1,v8:"3.6"},"0.6.16":{node_abi:1,v8:"3.6"},"0.6.17":{node_abi:1,v8:"3.6"},"0.6.18":{node_abi:1,v8:"3.6"},"0.6.19":{node_abi:1,v8:"3.6"},"0.6.20":{node_abi:1,v8:"3.6"},"0.6.21":{node_abi:1,v8:"3.6"},"0.7.0":{node_abi:1,v8:"3.8"},"0.7.1":{node_abi:1,v8:"3.8"},"0.7.2":{node_abi:1,v8:"3.8"},"0.7.3":{node_abi:1,v8:"3.9"},"0.7.4":{node_abi:1,v8:"3.9"},"0.7.5":{node_abi:1,v8:"3.9"},"0.7.6":{node_abi:1,v8:"3.9"},"0.7.7":{node_abi:1,v8:"3.9"},"0.7.8":{node_abi:1,v8:"3.9"},"0.7.9":{node_abi:1,v8:"3.11"},"0.7.10":{node_abi:1,v8:"3.9"},"0.7.11":{node_abi:1,v8:"3.11"},"0.7.12":{node_abi:1,v8:"3.11"},"0.8.0":{node_abi:1,v8:"3.11"},"0.8.1":{node_abi:1,v8:"3.11"},"0.8.2":{node_abi:1,v8:"3.11"},"0.8.3":{node_abi:1,v8:"3.11"},"0.8.4":{node_abi:1,v8:"3.11"},"0.8.5":{node_abi:1,v8:"3.11"},"0.8.6":{node_abi:1,v8:"3.11"},"0.8.7":{node_abi:1,v8:"3.11"},"0.8.8":{node_abi:1,v8:"3.11"},"0.8.9":{node_abi:1,v8:"3.11"},"0.8.10":{node_abi:1,v8:"3.11"},"0.8.11":{node_abi:1,v8:"3.11"},"0.8.12":{node_abi:1,v8:"3.11"},"0.8.13":{node_abi:1,v8:"3.11"},"0.8.14":{node_abi:1,v8:"3.11"},"0.8.15":{node_abi:1,v8:"3.11"},"0.8.16":{node_abi:1,v8:"3.11"},"0.8.17":{node_abi:1,v8:"3.11"},"0.8.18":{node_abi:1,v8:"3.11"},"0.8.19":{node_abi:1,v8:"3.11"},"0.8.20":{node_abi:1,v8:"3.11"},"0.8.21":{node_abi:1,v8:"3.11"},"0.8.22":{node_abi:1,v8:"3.11"},"0.8.23":{node_abi:1,v8:"3.11"},"0.8.24":{node_abi:1,v8:"3.11"},"0.8.25":{node_abi:1,v8:"3.11"},"0.8.26":{node_abi:1,v8:"3.11"},"0.8.27":{node_abi:1,v8:"3.11"},"0.8.28":{node_abi:1,v8:"3.11"},"0.9.0":{node_abi:1,v8:"3.11"},"0.9.1":{node_abi:10,v8:"3.11"},"0.9.2":{node_abi:10,v8:"3.11"},"0.9.3":{node_abi:10,v8:"3.13"},"0.9.4":{node_abi:10,v8:"3.13"},"0.9.5":{node_abi:10,v8:"3.13"},"0.9.6":{node_abi:10,v8:"3.15"},"0.9.7":{node_abi:10,v8:"3.15"},"0.9.8":{node_abi:10,v8:"3.15"},"0.9.9":{node_abi:11,v8:"3.15"},"0.9.10":{node_abi:11,v8:"3.15"},"0.9.11":{node_abi:11,v8:"3.14"},"0.9.12":{node_abi:11,v8:"3.14"},"0.10.0":{node_abi:11,v8:"3.14"},"0.10.1":{node_abi:11,v8:"3.14"},"0.10.2":{node_abi:11,v8:"3.14"},"0.10.3":{node_abi:11,v8:"3.14"},"0.10.4":{node_abi:11,v8:"3.14"},"0.10.5":{node_abi:11,v8:"3.14"},"0.10.6":{node_abi:11,v8:"3.14"},"0.10.7":{node_abi:11,v8:"3.14"},"0.10.8":{node_abi:11,v8:"3.14"},"0.10.9":{node_abi:11,v8:"3.14"},"0.10.10":{node_abi:11,v8:"3.14"},"0.10.11":{node_abi:11,v8:"3.14"},"0.10.12":{node_abi:11,v8:"3.14"},"0.10.13":{node_abi:11,v8:"3.14"},"0.10.14":{node_abi:11,v8:"3.14"},"0.10.15":{node_abi:11,v8:"3.14"},"0.10.16":{node_abi:11,v8:"3.14"},"0.10.17":{node_abi:11,v8:"3.14"},"0.10.18":{node_abi:11,v8:"3.14"},"0.10.19":{node_abi:11,v8:"3.14"},"0.10.20":{node_abi:11,v8:"3.14"},"0.10.21":{node_abi:11,v8:"3.14"},"0.10.22":{node_abi:11,v8:"3.14"},"0.10.23":{node_abi:11,v8:"3.14"},"0.10.24":{node_abi:11,v8:"3.14"},"0.10.25":{node_abi:11,v8:"3.14"},"0.10.26":{node_abi:11,v8:"3.14"},"0.10.27":{node_abi:11,v8:"3.14"},"0.10.28":{node_abi:11,v8:"3.14"},"0.10.29":{node_abi:11,v8:"3.14"},"0.10.30":{node_abi:11,v8:"3.14"},"0.10.31":{node_abi:11,v8:"3.14"},"0.10.32":{node_abi:11,v8:"3.14"},"0.10.33":{node_abi:11,v8:"3.14"},"0.10.34":{node_abi:11,v8:"3.14"},"0.10.35":{node_abi:11,v8:"3.14"},"0.10.36":{node_abi:11,v8:"3.14"},"0.10.37":{node_abi:11,v8:"3.14"},"0.10.38":{node_abi:11,v8:"3.14"},"0.10.39":{node_abi:11,v8:"3.14"},"0.10.40":{node_abi:11,v8:"3.14"},"0.10.41":{node_abi:11,v8:"3.14"},"0.10.42":{node_abi:11,v8:"3.14"},"0.10.43":{node_abi:11,v8:"3.14"},"0.10.44":{node_abi:11,v8:"3.14"},"0.10.45":{node_abi:11,v8:"3.14"},"0.10.46":{node_abi:11,v8:"3.14"},"0.10.47":{node_abi:11,v8:"3.14"},"0.10.48":{node_abi:11,v8:"3.14"},"0.11.0":{node_abi:12,v8:"3.17"},"0.11.1":{node_abi:12,v8:"3.18"},"0.11.2":{node_abi:12,v8:"3.19"},"0.11.3":{node_abi:12,v8:"3.19"},"0.11.4":{node_abi:12,v8:"3.20"},"0.11.5":{node_abi:12,v8:"3.20"},"0.11.6":{node_abi:12,v8:"3.20"},"0.11.7":{node_abi:12,v8:"3.20"},"0.11.8":{node_abi:13,v8:"3.21"},"0.11.9":{node_abi:13,v8:"3.22"},"0.11.10":{node_abi:13,v8:"3.22"},"0.11.11":{node_abi:14,v8:"3.22"},"0.11.12":{node_abi:14,v8:"3.22"},"0.11.13":{node_abi:14,v8:"3.25"},"0.11.14":{node_abi:14,v8:"3.26"},"0.11.15":{node_abi:14,v8:"3.28"},"0.11.16":{node_abi:14,v8:"3.28"},"0.12.0":{node_abi:14,v8:"3.28"},"0.12.1":{node_abi:14,v8:"3.28"},"0.12.2":{node_abi:14,v8:"3.28"},"0.12.3":{node_abi:14,v8:"3.28"},"0.12.4":{node_abi:14,v8:"3.28"},"0.12.5":{node_abi:14,v8:"3.28"},"0.12.6":{node_abi:14,v8:"3.28"},"0.12.7":{node_abi:14,v8:"3.28"},"0.12.8":{node_abi:14,v8:"3.28"},"0.12.9":{node_abi:14,v8:"3.28"},"0.12.10":{node_abi:14,v8:"3.28"},"0.12.11":{node_abi:14,v8:"3.28"},"0.12.12":{node_abi:14,v8:"3.28"},"0.12.13":{node_abi:14,v8:"3.28"},"0.12.14":{node_abi:14,v8:"3.28"},"0.12.15":{node_abi:14,v8:"3.28"},"0.12.16":{node_abi:14,v8:"3.28"},"0.12.17":{node_abi:14,v8:"3.28"},"0.12.18":{node_abi:14,v8:"3.28"},"1.0.0":{node_abi:42,v8:"3.31"},"1.0.1":{node_abi:42,v8:"3.31"},"1.0.2":{node_abi:42,v8:"3.31"},"1.0.3":{node_abi:42,v8:"4.1"},"1.0.4":{node_abi:42,v8:"4.1"},"1.1.0":{node_abi:43,v8:"4.1"},"1.2.0":{node_abi:43,v8:"4.1"},"1.3.0":{node_abi:43,v8:"4.1"},"1.4.1":{node_abi:43,v8:"4.1"},"1.4.2":{node_abi:43,v8:"4.1"},"1.4.3":{node_abi:43,v8:"4.1"},"1.5.0":{node_abi:43,v8:"4.1"},"1.5.1":{node_abi:43,v8:"4.1"},"1.6.0":{node_abi:43,v8:"4.1"},"1.6.1":{node_abi:43,v8:"4.1"},"1.6.2":{node_abi:43,v8:"4.1"},"1.6.3":{node_abi:43,v8:"4.1"},"1.6.4":{node_abi:43,v8:"4.1"},"1.7.1":{node_abi:43,v8:"4.1"},"1.8.1":{node_abi:43,v8:"4.1"},"1.8.2":{node_abi:43,v8:"4.1"},"1.8.3":{node_abi:43,v8:"4.1"},"1.8.4":{node_abi:43,v8:"4.1"},"2.0.0":{node_abi:44,v8:"4.2"},"2.0.1":{node_abi:44,v8:"4.2"},"2.0.2":{node_abi:44,v8:"4.2"},"2.1.0":{node_abi:44,v8:"4.2"},"2.2.0":{node_abi:44,v8:"4.2"},"2.2.1":{node_abi:44,v8:"4.2"},"2.3.0":{node_abi:44,v8:"4.2"},"2.3.1":{node_abi:44,v8:"4.2"},"2.3.2":{node_abi:44,v8:"4.2"},"2.3.3":{node_abi:44,v8:"4.2"},"2.3.4":{node_abi:44,v8:"4.2"},"2.4.0":{node_abi:44,v8:"4.2"},"2.5.0":{node_abi:44,v8:"4.2"},"3.0.0":{node_abi:45,v8:"4.4"},"3.1.0":{node_abi:45,v8:"4.4"},"3.2.0":{node_abi:45,v8:"4.4"},"3.3.0":{node_abi:45,v8:"4.4"},"3.3.1":{node_abi:45,v8:"4.4"},"4.0.0":{node_abi:46,v8:"4.5"},"4.1.0":{node_abi:46,v8:"4.5"},"4.1.1":{node_abi:46,v8:"4.5"},"4.1.2":{node_abi:46,v8:"4.5"},"4.2.0":{node_abi:46,v8:"4.5"},"4.2.1":{node_abi:46,v8:"4.5"},"4.2.2":{node_abi:46,v8:"4.5"},"4.2.3":{node_abi:46,v8:"4.5"},"4.2.4":{node_abi:46,v8:"4.5"},"4.2.5":{node_abi:46,v8:"4.5"},"4.2.6":{node_abi:46,v8:"4.5"},"4.3.0":{node_abi:46,v8:"4.5"},"4.3.1":{node_abi:46,v8:"4.5"},"4.3.2":{node_abi:46,v8:"4.5"},"4.4.0":{node_abi:46,v8:"4.5"},"4.4.1":{node_abi:46,v8:"4.5"},"4.4.2":{node_abi:46,v8:"4.5"},"4.4.3":{node_abi:46,v8:"4.5"},"4.4.4":{node_abi:46,v8:"4.5"},"4.4.5":{node_abi:46,v8:"4.5"},"4.4.6":{node_abi:46,v8:"4.5"},"4.4.7":{node_abi:46,v8:"4.5"},"4.5.0":{node_abi:46,v8:"4.5"},"4.6.0":{node_abi:46,v8:"4.5"},"4.6.1":{node_abi:46,v8:"4.5"},"4.6.2":{node_abi:46,v8:"4.5"},"4.7.0":{node_abi:46,v8:"4.5"},"4.7.1":{node_abi:46,v8:"4.5"},"4.7.2":{node_abi:46,v8:"4.5"},"4.7.3":{node_abi:46,v8:"4.5"},"4.8.0":{node_abi:46,v8:"4.5"},"4.8.1":{node_abi:46,v8:"4.5"},"4.8.2":{node_abi:46,v8:"4.5"},"4.8.3":{node_abi:46,v8:"4.5"},"4.8.4":{node_abi:46,v8:"4.5"},"4.8.5":{node_abi:46,v8:"4.5"},"4.8.6":{node_abi:46,v8:"4.5"},"4.8.7":{node_abi:46,v8:"4.5"},"4.9.0":{node_abi:46,v8:"4.5"},"4.9.1":{node_abi:46,v8:"4.5"},"5.0.0":{node_abi:47,v8:"4.6"},"5.1.0":{node_abi:47,v8:"4.6"},"5.1.1":{node_abi:47,v8:"4.6"},"5.2.0":{node_abi:47,v8:"4.6"},"5.3.0":{node_abi:47,v8:"4.6"},"5.4.0":{node_abi:47,v8:"4.6"},"5.4.1":{node_abi:47,v8:"4.6"},"5.5.0":{node_abi:47,v8:"4.6"},"5.6.0":{node_abi:47,v8:"4.6"},"5.7.0":{node_abi:47,v8:"4.6"},"5.7.1":{node_abi:47,v8:"4.6"},"5.8.0":{node_abi:47,v8:"4.6"},"5.9.0":{node_abi:47,v8:"4.6"},"5.9.1":{node_abi:47,v8:"4.6"},"5.10.0":{node_abi:47,v8:"4.6"},"5.10.1":{node_abi:47,v8:"4.6"},"5.11.0":{node_abi:47,v8:"4.6"},"5.11.1":{node_abi:47,v8:"4.6"},"5.12.0":{node_abi:47,v8:"4.6"},"6.0.0":{node_abi:48,v8:"5.0"},"6.1.0":{node_abi:48,v8:"5.0"},"6.2.0":{node_abi:48,v8:"5.0"},"6.2.1":{node_abi:48,v8:"5.0"},"6.2.2":{node_abi:48,v8:"5.0"},"6.3.0":{node_abi:48,v8:"5.0"},"6.3.1":{node_abi:48,v8:"5.0"},"6.4.0":{node_abi:48,v8:"5.0"},"6.5.0":{node_abi:48,v8:"5.1"},"6.6.0":{node_abi:48,v8:"5.1"},"6.7.0":{node_abi:48,v8:"5.1"},"6.8.0":{node_abi:48,v8:"5.1"},"6.8.1":{node_abi:48,v8:"5.1"},"6.9.0":{node_abi:48,v8:"5.1"},"6.9.1":{node_abi:48,v8:"5.1"},"6.9.2":{node_abi:48,v8:"5.1"},"6.9.3":{node_abi:48,v8:"5.1"},"6.9.4":{node_abi:48,v8:"5.1"},"6.9.5":{node_abi:48,v8:"5.1"},"6.10.0":{node_abi:48,v8:"5.1"},"6.10.1":{node_abi:48,v8:"5.1"},"6.10.2":{node_abi:48,v8:"5.1"},"6.10.3":{node_abi:48,v8:"5.1"},"6.11.0":{node_abi:48,v8:"5.1"},"6.11.1":{node_abi:48,v8:"5.1"},"6.11.2":{node_abi:48,v8:"5.1"},"6.11.3":{node_abi:48,v8:"5.1"},"6.11.4":{node_abi:48,v8:"5.1"},"6.11.5":{node_abi:48,v8:"5.1"},"6.12.0":{node_abi:48,v8:"5.1"},"6.12.1":{node_abi:48,v8:"5.1"},"6.12.2":{node_abi:48,v8:"5.1"},"6.12.3":{node_abi:48,v8:"5.1"},"6.13.0":{node_abi:48,v8:"5.1"},"6.13.1":{node_abi:48,v8:"5.1"},"6.14.0":{node_abi:48,v8:"5.1"},"6.14.1":{node_abi:48,v8:"5.1"},"6.14.2":{node_abi:48,v8:"5.1"},"6.14.3":{node_abi:48,v8:"5.1"},"6.14.4":{node_abi:48,v8:"5.1"},"7.0.0":{node_abi:51,v8:"5.4"},"7.1.0":{node_abi:51,v8:"5.4"},"7.2.0":{node_abi:51,v8:"5.4"},"7.2.1":{node_abi:51,v8:"5.4"},"7.3.0":{node_abi:51,v8:"5.4"},"7.4.0":{node_abi:51,v8:"5.4"},"7.5.0":{node_abi:51,v8:"5.4"},"7.6.0":{node_abi:51,v8:"5.5"},"7.7.0":{node_abi:51,v8:"5.5"},"7.7.1":{node_abi:51,v8:"5.5"},"7.7.2":{node_abi:51,v8:"5.5"},"7.7.3":{node_abi:51,v8:"5.5"},"7.7.4":{node_abi:51,v8:"5.5"},"7.8.0":{node_abi:51,v8:"5.5"},"7.9.0":{node_abi:51,v8:"5.5"},"7.10.0":{node_abi:51,v8:"5.5"},"7.10.1":{node_abi:51,v8:"5.5"},"8.0.0":{node_abi:57,v8:"5.8"},"8.1.0":{node_abi:57,v8:"5.8"},"8.1.1":{node_abi:57,v8:"5.8"},"8.1.2":{node_abi:57,v8:"5.8"},"8.1.3":{node_abi:57,v8:"5.8"},"8.1.4":{node_abi:57,v8:"5.8"},"8.2.0":{node_abi:57,v8:"5.8"},"8.2.1":{node_abi:57,v8:"5.8"},"8.3.0":{node_abi:57,v8:"6.0"},"8.4.0":{node_abi:57,v8:"6.0"},"8.5.0":{node_abi:57,v8:"6.0"},"8.6.0":{node_abi:57,v8:"6.0"},"8.7.0":{node_abi:57,v8:"6.1"},"8.8.0":{node_abi:57,v8:"6.1"},"8.8.1":{node_abi:57,v8:"6.1"},"8.9.0":{node_abi:57,v8:"6.1"},"8.9.1":{node_abi:57,v8:"6.1"},"8.9.2":{node_abi:57,v8:"6.1"},"8.9.3":{node_abi:57,v8:"6.1"},"8.9.4":{node_abi:57,v8:"6.1"},"8.10.0":{node_abi:57,v8:"6.2"},"8.11.0":{node_abi:57,v8:"6.2"},"8.11.1":{node_abi:57,v8:"6.2"},"8.11.2":{node_abi:57,v8:"6.2"},"8.11.3":{node_abi:57,v8:"6.2"},"8.11.4":{node_abi:57,v8:"6.2"},"8.12.0":{node_abi:57,v8:"6.2"},"9.0.0":{node_abi:59,v8:"6.2"},"9.1.0":{node_abi:59,v8:"6.2"},"9.2.0":{node_abi:59,v8:"6.2"},"9.2.1":{node_abi:59,v8:"6.2"},"9.3.0":{node_abi:59,v8:"6.2"},"9.4.0":{node_abi:59,v8:"6.2"},"9.5.0":{node_abi:59,v8:"6.2"},"9.6.0":{node_abi:59,v8:"6.2"},"9.6.1":{node_abi:59,v8:"6.2"},"9.7.0":{node_abi:59,v8:"6.2"},"9.7.1":{node_abi:59,v8:"6.2"},"9.8.0":{node_abi:59,v8:"6.2"},"9.9.0":{node_abi:59,v8:"6.2"},"9.10.0":{node_abi:59,v8:"6.2"},"9.10.1":{node_abi:59,v8:"6.2"},"9.11.0":{node_abi:59,v8:"6.2"},"9.11.1":{node_abi:59,v8:"6.2"},"9.11.2":{node_abi:59,v8:"6.2"},"10.0.0":{node_abi:64,v8:"6.6"},"10.1.0":{node_abi:64,v8:"6.6"},"10.2.0":{node_abi:64,v8:"6.6"},"10.2.1":{node_abi:64,v8:"6.6"},"10.3.0":{node_abi:64,v8:"6.6"},"10.4.0":{node_abi:64,v8:"6.7"},"10.4.1":{node_abi:64,v8:"6.7"},"10.5.0":{node_abi:64,v8:"6.7"},"10.6.0":{node_abi:64,v8:"6.7"},"10.7.0":{node_abi:64,v8:"6.7"},"10.8.0":{node_abi:64,v8:"6.7"},"10.9.0":{node_abi:64,v8:"6.8"},"10.10.0":{node_abi:64,v8:"6.8"},"10.11.0":{node_abi:64,v8:"6.8"},"10.12.0":{node_abi:64,v8:"6.8"},"10.13.0":{node_abi:64,v8:"6.8"},"11.0.0":{node_abi:67,v8:"7.0"},"11.1.0":{node_abi:67,v8:"7.0"}}},594:function(module,__unusedexports,__nested_webpack_require_466019__){var fs=__nested_webpack_require_466019__(66);var path=__nested_webpack_require_466019__(589);var os=__nested_webpack_require_466019__(431);var runtimeRequire=true?eval("require"):0;var vars=process.config&&process.config.variables||{};var prebuildsOnly=!!process.env.PREBUILDS_ONLY;var abi=process.versions.modules;var runtime=isElectron()?"electron":"node";var arch=os.arch();var platform=os.platform();var libc=process.env.LIBC||(isAlpine(platform)?"musl":"glibc");var armv=process.env.ARM_VERSION||(arch==="arm64"?"8":vars.arm_version)||"";var uv=(process.versions.uv||"").split(".")[0];module.exports=load;function load(e){return runtimeRequire(load.path(e))}load.path=function(e){e=path.resolve(e||".");try{var t=runtimeRequire(path.join(e,"package.json")).name.toUpperCase().replace(/-/g,"_");if(process.env[t+"_PREBUILD"])e=process.env[t+"_PREBUILD"]}catch(e){}if(!prebuildsOnly){var r=getFirst(path.join(e,"build/Release"),matchBuild);if(r)return r;var i=getFirst(path.join(e,"build/Debug"),matchBuild);if(i)return i}var n=resolve(e);if(n)return n;var s=resolve(path.dirname(process.execPath));if(s)return s;var a=["platform="+platform,"arch="+arch,"runtime="+runtime,"abi="+abi,"uv="+uv,armv?"armv="+armv:"","libc="+libc].filter(Boolean).join(" ");throw new Error("No native build was found for "+a);function resolve(e){var t=path.join(e,"prebuilds",platform+"-"+arch);var r=readdirSync(t).map(parseTags);var i=r.filter(matchTags(runtime,abi));var n=i.sort(compareTags(runtime))[0];if(n)return path.join(t,n.file)}};function readdirSync(e){try{return fs.readdirSync(e)}catch(e){return[]}}function getFirst(e,t){var r=readdirSync(e).filter(t);return r[0]&&path.join(e,r[0])}function matchBuild(e){return/\.node$/.test(e)}function parseTags(e){var t=e.split(".");var r=t.pop();var i={file:e,specificity:0};if(r!=="node")return;for(var n=0;nr.specificity?-1:1}else{return 0}}}function isElectron(){if(process.versions&&process.versions.electron)return true;if(process.env.ELECTRON_RUN_AS_NODE)return true;return typeof window!=="undefined"&&window.process&&window.process.type==="renderer"}function isAlpine(e){return e==="linux"&&fs.existsSync("/etc/alpine-release")}load.parseTags=parseTags;load.matchTags=matchTags;load.compareTags=compareTags},597:function(e,t,r){var i=r(688).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,r){if(!(this instanceof ReadStream))return new ReadStream(t,r);i.call(this);var n=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;r=r||{};var s=Object.keys(r);for(var a=0,u=s.length;athis.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){n._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){n.emit("error",e);n.readable=false;return}n.fd=t;n.emit("open",t);n._read()})}function WriteStream(t,r){if(!(this instanceof WriteStream))return new WriteStream(t,r);i.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;r=r||{};var n=Object.keys(r);for(var s=0,a=n.length;s= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},604:function(e,t,r){"use strict";var i=r(64);var n=r(663);var s=r(358);var a=r(30);var u=e.exports=function(e){n.call(this,e);this.parentGroup=null;this.trackers=[];this.completion={};this.weight={};this.totalWeight=0;this.finished=false;this.bubbleChange=bubbleChange(this)};i.inherits(u,n);function bubbleChange(e){return function(t,r,i){e.completion[i.id]=r;if(e.finished)return;e.emit("change",t||e.name,e.completed(),e)}}u.prototype.nameInTree=function(){var e=[];var t=this;while(t){e.unshift(t.name);t=t.parentGroup}return e.join("/")};u.prototype.addUnit=function(e,t){if(e.addUnit){var r=this;while(r){if(e===r){throw new Error("Attempted to add tracker group "+e.name+" to tree that already includes it "+this.nameInTree(this))}r=r.parentGroup}e.parentGroup=this}this.weight[e.id]=t||1;this.totalWeight+=this.weight[e.id];this.trackers.push(e);this.completion[e.id]=e.completed();e.on("change",this.bubbleChange);if(!this.finished)this.emit("change",e.name,this.completion[e.id],e);return e};u.prototype.completed=function(){if(this.trackers.length===0)return 0;var e=1/this.totalWeight;var t=0;for(var r=0;r{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false})},607:function(e){e.exports=["🀄","🃏","🅰","🅱","🅾","🅿","🆎","🆑","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🆙","🆚","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇦","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇧","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇨","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇩","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇪","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇫","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇬","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇭","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇮","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇯","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇰","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇱","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇲","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇳","🇴🇲","🇴","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇵","🇶🇦","🇶","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇷","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇸","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇹","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇺","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇻","🇼🇫","🇼🇸","🇼","🇽🇰","🇽","🇾🇪","🇾🇹","🇾","🇿🇦","🇿🇲","🇿🇼","🇿","🈁","🈂","🈚","🈯","🈲","🈳","🈴","🈵","🈶","🈷","🈸","🈹","🈺","🉐","🉑","🌀","🌁","🌂","🌃","🌄","🌅","🌆","🌇","🌈","🌉","🌊","🌋","🌌","🌍","🌎","🌏","🌐","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌝","🌞","🌟","🌠","🌡","🌤","🌥","🌦","🌧","🌨","🌩","🌪","🌫","🌬","🌭","🌮","🌯","🌰","🌱","🌲","🌳","🌴","🌵","🌶","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🍋","🍌","🍍","🍎","🍏","🍐","🍑","🍒","🍓","🍔","🍕","🍖","🍗","🍘","🍙","🍚","🍛","🍜","🍝","🍞","🍟","🍠","🍡","🍢","🍣","🍤","🍥","🍦","🍧","🍨","🍩","🍪","🍫","🍬","🍭","🍮","🍯","🍰","🍱","🍲","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🍼","🍽","🍾","🍿","🎀","🎁","🎂","🎃","🎄","🎅🏻","🎅🏼","🎅🏽","🎅🏾","🎅🏿","🎅","🎆","🎇","🎈","🎉","🎊","🎋","🎌","🎍","🎎","🎏","🎐","🎑","🎒","🎓","🎖","🎗","🎙","🎚","🎛","🎞","🎟","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🎨","🎩","🎪","🎫","🎬","🎭","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🎵","🎶","🎷","🎸","🎹","🎺","🎻","🎼","🎽","🎾","🎿","🏀","🏁","🏂🏻","🏂🏼","🏂🏽","🏂🏾","🏂🏿","🏂","🏃🏻‍♀️","🏃🏻‍♂️","🏃🏻","🏃🏼‍♀️","🏃🏼‍♂️","🏃🏼","🏃🏽‍♀️","🏃🏽‍♂️","🏃🏽","🏃🏾‍♀️","🏃🏾‍♂️","🏃🏾","🏃🏿‍♀️","🏃🏿‍♂️","🏃🏿","🏃‍♀️","🏃‍♂️","🏃","🏄🏻‍♀️","🏄🏻‍♂️","🏄🏻","🏄🏼‍♀️","🏄🏼‍♂️","🏄🏼","🏄🏽‍♀️","🏄🏽‍♂️","🏄🏽","🏄🏾‍♀️","🏄🏾‍♂️","🏄🏾","🏄🏿‍♀️","🏄🏿‍♂️","🏄🏿","🏄‍♀️","🏄‍♂️","🏄","🏅","🏆","🏇🏻","🏇🏼","🏇🏽","🏇🏾","🏇🏿","🏇","🏈","🏉","🏊🏻‍♀️","🏊🏻‍♂️","🏊🏻","🏊🏼‍♀️","🏊🏼‍♂️","🏊🏼","🏊🏽‍♀️","🏊🏽‍♂️","🏊🏽","🏊🏾‍♀️","🏊🏾‍♂️","🏊🏾","🏊🏿‍♀️","🏊🏿‍♂️","🏊🏿","🏊‍♀️","🏊‍♂️","🏊","🏋🏻‍♀️","🏋🏻‍♂️","🏋🏻","🏋🏼‍♀️","🏋🏼‍♂️","🏋🏼","🏋🏽‍♀️","🏋🏽‍♂️","🏋🏽","🏋🏾‍♀️","🏋🏾‍♂️","🏋🏾","🏋🏿‍♀️","🏋🏿‍♂️","🏋🏿","🏋️‍♀️","🏋️‍♂️","🏋","🏌🏻‍♀️","🏌🏻‍♂️","🏌🏻","🏌🏼‍♀️","🏌🏼‍♂️","🏌🏼","🏌🏽‍♀️","🏌🏽‍♂️","🏌🏽","🏌🏾‍♀️","🏌🏾‍♂️","🏌🏾","🏌🏿‍♀️","🏌🏿‍♂️","🏌🏿","🏌️‍♀️","🏌️‍♂️","🏌","🏍","🏎","🏏","🏐","🏑","🏒","🏓","🏔","🏕","🏖","🏗","🏘","🏙","🏚","🏛","🏜","🏝","🏞","🏟","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🏭","🏮","🏯","🏰","🏳️‍🌈","🏳","🏴‍☠️","🏴","🏵","🏷","🏸","🏹","🏺","🏻","🏼","🏽","🏾","🏿","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐌","🐍","🐎","🐏","🐐","🐑","🐒","🐓","🐔","🐕","🐖","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐪","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","🐿","👀","👁‍🗨","👁","👂🏻","👂🏼","👂🏽","👂🏾","👂🏿","👂","👃🏻","👃🏼","👃🏽","👃🏾","👃🏿","👃","👄","👅","👆🏻","👆🏼","👆🏽","👆🏾","👆🏿","👆","👇🏻","👇🏼","👇🏽","👇🏾","👇🏿","👇","👈🏻","👈🏼","👈🏽","👈🏾","👈🏿","👈","👉🏻","👉🏼","👉🏽","👉🏾","👉🏿","👉","👊🏻","👊🏼","👊🏽","👊🏾","👊🏿","👊","👋🏻","👋🏼","👋🏽","👋🏾","👋🏿","👋","👌🏻","👌🏼","👌🏽","👌🏾","👌🏿","👌","👍🏻","👍🏼","👍🏽","👍🏾","👍🏿","👍","👎🏻","👎🏼","👎🏽","👎🏾","👎🏿","👎","👏🏻","👏🏼","👏🏽","👏🏾","👏🏿","👏","👐🏻","👐🏼","👐🏽","👐🏾","👐🏿","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👥","👦🏻","👦🏼","👦🏽","👦🏾","👦🏿","👦","👧🏻","👧🏼","👧🏽","👧🏾","👧🏿","👧","👨🏻‍🌾","👨🏻‍🍳","👨🏻‍🎓","👨🏻‍🎤","👨🏻‍🎨","👨🏻‍🏫","👨🏻‍🏭","👨🏻‍💻","👨🏻‍💼","👨🏻‍🔧","👨🏻‍🔬","👨🏻‍🚀","👨🏻‍🚒","👨🏻‍⚕️","👨🏻‍⚖️","👨🏻‍✈️","👨🏻","👨🏼‍🌾","👨🏼‍🍳","👨🏼‍🎓","👨🏼‍🎤","👨🏼‍🎨","👨🏼‍🏫","👨🏼‍🏭","👨🏼‍💻","👨🏼‍💼","👨🏼‍🔧","👨🏼‍🔬","👨🏼‍🚀","👨🏼‍🚒","👨🏼‍⚕️","👨🏼‍⚖️","👨🏼‍✈️","👨🏼","👨🏽‍🌾","👨🏽‍🍳","👨🏽‍🎓","👨🏽‍🎤","👨🏽‍🎨","👨🏽‍🏫","👨🏽‍🏭","👨🏽‍💻","👨🏽‍💼","👨🏽‍🔧","👨🏽‍🔬","👨🏽‍🚀","👨🏽‍🚒","👨🏽‍⚕️","👨🏽‍⚖️","👨🏽‍✈️","👨🏽","👨🏾‍🌾","👨🏾‍🍳","👨🏾‍🎓","👨🏾‍🎤","👨🏾‍🎨","👨🏾‍🏫","👨🏾‍🏭","👨🏾‍💻","👨🏾‍💼","👨🏾‍🔧","👨🏾‍🔬","👨🏾‍🚀","👨🏾‍🚒","👨🏾‍⚕️","👨🏾‍⚖️","👨🏾‍✈️","👨🏾","👨🏿‍🌾","👨🏿‍🍳","👨🏿‍🎓","👨🏿‍🎤","👨🏿‍🎨","👨🏿‍🏫","👨🏿‍🏭","👨🏿‍💻","👨🏿‍💼","👨🏿‍🔧","👨🏿‍🔬","👨🏿‍🚀","👨🏿‍🚒","👨🏿‍⚕️","👨🏿‍⚖️","👨🏿‍✈️","👨🏿","👨‍🌾","👨‍🍳","👨‍🎓","👨‍🎤","👨‍🎨","👨‍🏫","👨‍🏭","👨‍👦‍👦","👨‍👦","👨‍👧‍👦","👨‍👧‍👧","👨‍👧","👨‍👨‍👦‍👦","👨‍👨‍👦","👨‍👨‍👧‍👦","👨‍👨‍👧‍👧","👨‍👨‍👧","👨‍👩‍👦‍👦","👨‍👩‍👦","👨‍👩‍👧‍👦","👨‍👩‍👧‍👧","👨‍👩‍👧","👨‍💻","👨‍💼","👨‍🔧","👨‍🔬","👨‍🚀","👨‍🚒","👨‍⚕️","👨‍⚖️","👨‍✈️","👨‍❤️‍👨","👨‍❤️‍💋‍👨","👨","👩🏻‍🌾","👩🏻‍🍳","👩🏻‍🎓","👩🏻‍🎤","👩🏻‍🎨","👩🏻‍🏫","👩🏻‍🏭","👩🏻‍💻","👩🏻‍💼","👩🏻‍🔧","👩🏻‍🔬","👩🏻‍🚀","👩🏻‍🚒","👩🏻‍⚕️","👩🏻‍⚖️","👩🏻‍✈️","👩🏻","👩🏼‍🌾","👩🏼‍🍳","👩🏼‍🎓","👩🏼‍🎤","👩🏼‍🎨","👩🏼‍🏫","👩🏼‍🏭","👩🏼‍💻","👩🏼‍💼","👩🏼‍🔧","👩🏼‍🔬","👩🏼‍🚀","👩🏼‍🚒","👩🏼‍⚕️","👩🏼‍⚖️","👩🏼‍✈️","👩🏼","👩🏽‍🌾","👩🏽‍🍳","👩🏽‍🎓","👩🏽‍🎤","👩🏽‍🎨","👩🏽‍🏫","👩🏽‍🏭","👩🏽‍💻","👩🏽‍💼","👩🏽‍🔧","👩🏽‍🔬","👩🏽‍🚀","👩🏽‍🚒","👩🏽‍⚕️","👩🏽‍⚖️","👩🏽‍✈️","👩🏽","👩🏾‍🌾","👩🏾‍🍳","👩🏾‍🎓","👩🏾‍🎤","👩🏾‍🎨","👩🏾‍🏫","👩🏾‍🏭","👩🏾‍💻","👩🏾‍💼","👩🏾‍🔧","👩🏾‍🔬","👩🏾‍🚀","👩🏾‍🚒","👩🏾‍⚕️","👩🏾‍⚖️","👩🏾‍✈️","👩🏾","👩🏿‍🌾","👩🏿‍🍳","👩🏿‍🎓","👩🏿‍🎤","👩🏿‍🎨","👩🏿‍🏫","👩🏿‍🏭","👩🏿‍💻","👩🏿‍💼","👩🏿‍🔧","👩🏿‍🔬","👩🏿‍🚀","👩🏿‍🚒","👩🏿‍⚕️","👩🏿‍⚖️","👩🏿‍✈️","👩🏿","👩‍🌾","👩‍🍳","👩‍🎓","👩‍🎤","👩‍🎨","👩‍🏫","👩‍🏭","👩‍👦‍👦","👩‍👦","👩‍👧‍👦","👩‍👧‍👧","👩‍👧","👩‍👩‍👦‍👦","👩‍👩‍👦","👩‍👩‍👧‍👦","👩‍👩‍👧‍👧","👩‍👩‍👧","👩‍💻","👩‍💼","👩‍🔧","👩‍🔬","👩‍🚀","👩‍🚒","👩‍⚕️","👩‍⚖️","👩‍✈️","👩‍❤️‍👨","👩‍❤️‍👩","👩‍❤️‍💋‍👨","👩‍❤️‍💋‍👩","👩","👪🏻","👪🏼","👪🏽","👪🏾","👪🏿","👪","👫🏻","👫🏼","👫🏽","👫🏾","👫🏿","👫","👬🏻","👬🏼","👬🏽","👬🏾","👬🏿","👬","👭🏻","👭🏼","👭🏽","👭🏾","👭🏿","👭","👮🏻‍♀️","👮🏻‍♂️","👮🏻","👮🏼‍♀️","👮🏼‍♂️","👮🏼","👮🏽‍♀️","👮🏽‍♂️","👮🏽","👮🏾‍♀️","👮🏾‍♂️","👮🏾","👮🏿‍♀️","👮🏿‍♂️","👮🏿","👮‍♀️","👮‍♂️","👮","👯🏻‍♀️","👯🏻‍♂️","👯🏻","👯🏼‍♀️","👯🏼‍♂️","👯🏼","👯🏽‍♀️","👯🏽‍♂️","👯🏽","👯🏾‍♀️","👯🏾‍♂️","👯🏾","👯🏿‍♀️","👯🏿‍♂️","👯🏿","👯‍♀️","👯‍♂️","👯","👰🏻","👰🏼","👰🏽","👰🏾","👰🏿","👰","👱🏻‍♀️","👱🏻‍♂️","👱🏻","👱🏼‍♀️","👱🏼‍♂️","👱🏼","👱🏽‍♀️","👱🏽‍♂️","👱🏽","👱🏾‍♀️","👱🏾‍♂️","👱🏾","👱🏿‍♀️","👱🏿‍♂️","👱🏿","👱‍♀️","👱‍♂️","👱","👲🏻","👲🏼","👲🏽","👲🏾","👲🏿","👲","👳🏻‍♀️","👳🏻‍♂️","👳🏻","👳🏼‍♀️","👳🏼‍♂️","👳🏼","👳🏽‍♀️","👳🏽‍♂️","👳🏽","👳🏾‍♀️","👳🏾‍♂️","👳🏾","👳🏿‍♀️","👳🏿‍♂️","👳🏿","👳‍♀️","👳‍♂️","👳","👴🏻","👴🏼","👴🏽","👴🏾","👴🏿","👴","👵🏻","👵🏼","👵🏽","👵🏾","👵🏿","👵","👶🏻","👶🏼","👶🏽","👶🏾","👶🏿","👶","👷🏻‍♀️","👷🏻‍♂️","👷🏻","👷🏼‍♀️","👷🏼‍♂️","👷🏼","👷🏽‍♀️","👷🏽‍♂️","👷🏽","👷🏾‍♀️","👷🏾‍♂️","👷🏾","👷🏿‍♀️","👷🏿‍♂️","👷🏿","👷‍♀️","👷‍♂️","👷","👸🏻","👸🏼","👸🏽","👸🏾","👸🏿","👸","👹","👺","👻","👼🏻","👼🏼","👼🏽","👼🏾","👼🏿","👼","👽","👾","👿","💀","💁🏻‍♀️","💁🏻‍♂️","💁🏻","💁🏼‍♀️","💁🏼‍♂️","💁🏼","💁🏽‍♀️","💁🏽‍♂️","💁🏽","💁🏾‍♀️","💁🏾‍♂️","💁🏾","💁🏿‍♀️","💁🏿‍♂️","💁🏿","💁‍♀️","💁‍♂️","💁","💂🏻‍♀️","💂🏻‍♂️","💂🏻","💂🏼‍♀️","💂🏼‍♂️","💂🏼","💂🏽‍♀️","💂🏽‍♂️","💂🏽","💂🏾‍♀️","💂🏾‍♂️","💂🏾","💂🏿‍♀️","💂🏿‍♂️","💂🏿","💂‍♀️","💂‍♂️","💂","💃🏻","💃🏼","💃🏽","💃🏾","💃🏿","💃","💄","💅🏻","💅🏼","💅🏽","💅🏾","💅🏿","💅","💆🏻‍♀️","💆🏻‍♂️","💆🏻","💆🏼‍♀️","💆🏼‍♂️","💆🏼","💆🏽‍♀️","💆🏽‍♂️","💆🏽","💆🏾‍♀️","💆🏾‍♂️","💆🏾","💆🏿‍♀️","💆🏿‍♂️","💆🏿","💆‍♀️","💆‍♂️","💆","💇🏻‍♀️","💇🏻‍♂️","💇🏻","💇🏼‍♀️","💇🏼‍♂️","💇🏼","💇🏽‍♀️","💇🏽‍♂️","💇🏽","💇🏾‍♀️","💇🏾‍♂️","💇🏾","💇🏿‍♀️","💇🏿‍♂️","💇🏿","💇‍♀️","💇‍♂️","💇","💈","💉","💊","💋","💌","💍","💎","💏","💐","💑","💒","💓","💔","💕","💖","💗","💘","💙","💚","💛","💜","💝","💞","💟","💠","💡","💢","💣","💤","💥","💦","💧","💨","💩","💪🏻","💪🏼","💪🏽","💪🏾","💪🏿","💪","💫","💬","💭","💮","💯","💰","💱","💲","💳","💴","💵","💶","💷","💸","💹","💺","💻","💼","💽","💾","💿","📀","📁","📂","📃","📄","📅","📆","📇","📈","📉","📊","📋","📌","📍","📎","📏","📐","📑","📒","📓","📔","📕","📖","📗","📘","📙","📚","📛","📜","📝","📞","📟","📠","📡","📢","📣","📤","📥","📦","📧","📨","📩","📪","📫","📬","📭","📮","📯","📰","📱","📲","📳","📴","📵","📶","📷","📸","📹","📺","📻","📼","📽","📿","🔀","🔁","🔂","🔃","🔄","🔅","🔆","🔇","🔈","🔉","🔊","🔋","🔌","🔍","🔎","🔏","🔐","🔑","🔒","🔓","🔔","🔕","🔖","🔗","🔘","🔙","🔚","🔛","🔜","🔝","🔞","🔟","🔠","🔡","🔢","🔣","🔤","🔥","🔦","🔧","🔨","🔩","🔪","🔫","🔬","🔭","🔮","🔯","🔰","🔱","🔲","🔳","🔴","🔵","🔶","🔷","🔸","🔹","🔺","🔻","🔼","🔽","🕉","🕊","🕋","🕌","🕍","🕎","🕐","🕑","🕒","🕓","🕔","🕕","🕖","🕗","🕘","🕙","🕚","🕛","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🕯","🕰","🕳","🕴🏻","🕴🏼","🕴🏽","🕴🏾","🕴🏿","🕴","🕵🏻‍♀️","🕵🏻‍♂️","🕵🏻","🕵🏼‍♀️","🕵🏼‍♂️","🕵🏼","🕵🏽‍♀️","🕵🏽‍♂️","🕵🏽","🕵🏾‍♀️","🕵🏾‍♂️","🕵🏾","🕵🏿‍♀️","🕵🏿‍♂️","🕵🏿","🕵️‍♀️","🕵️‍♂️","🕵","🕶","🕷","🕸","🕹","🕺🏻","🕺🏼","🕺🏽","🕺🏾","🕺🏿","🕺","🖇","🖊","🖋","🖌","🖍","🖐🏻","🖐🏼","🖐🏽","🖐🏾","🖐🏿","🖐","🖕🏻","🖕🏼","🖕🏽","🖕🏾","🖕🏿","🖕","🖖🏻","🖖🏼","🖖🏽","🖖🏾","🖖🏿","🖖","🖤","🖥","🖨","🖱","🖲","🖼","🗂","🗃","🗄","🗑","🗒","🗓","🗜","🗝","🗞","🗡","🗣","🗨","🗯","🗳","🗺","🗻","🗼","🗽","🗾","🗿","😀","😁","😂","😃","😄","😅","😆","😇","😈","😉","😊","😋","😌","😍","😎","😏","😐","😑","😒","😓","😔","😕","😖","😗","😘","😙","😚","😛","😜","😝","😞","😟","😠","😡","😢","😣","😤","😥","😦","😧","😨","😩","😪","😫","😬","😭","😮","😯","😰","😱","😲","😳","😴","😵","😶","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙁","🙂","🙃","🙄","🙅🏻‍♀️","🙅🏻‍♂️","🙅🏻","🙅🏼‍♀️","🙅🏼‍♂️","🙅🏼","🙅🏽‍♀️","🙅🏽‍♂️","🙅🏽","🙅🏾‍♀️","🙅🏾‍♂️","🙅🏾","🙅🏿‍♀️","🙅🏿‍♂️","🙅🏿","🙅‍♀️","🙅‍♂️","🙅","🙆🏻‍♀️","🙆🏻‍♂️","🙆🏻","🙆🏼‍♀️","🙆🏼‍♂️","🙆🏼","🙆🏽‍♀️","🙆🏽‍♂️","🙆🏽","🙆🏾‍♀️","🙆🏾‍♂️","🙆🏾","🙆🏿‍♀️","🙆🏿‍♂️","🙆🏿","🙆‍♀️","🙆‍♂️","🙆","🙇🏻‍♀️","🙇🏻‍♂️","🙇🏻","🙇🏼‍♀️","🙇🏼‍♂️","🙇🏼","🙇🏽‍♀️","🙇🏽‍♂️","🙇🏽","🙇🏾‍♀️","🙇🏾‍♂️","🙇🏾","🙇🏿‍♀️","🙇🏿‍♂️","🙇🏿","🙇‍♀️","🙇‍♂️","🙇","🙈","🙉","🙊","🙋🏻‍♀️","🙋🏻‍♂️","🙋🏻","🙋🏼‍♀️","🙋🏼‍♂️","🙋🏼","🙋🏽‍♀️","🙋🏽‍♂️","🙋🏽","🙋🏾‍♀️","🙋🏾‍♂️","🙋🏾","🙋🏿‍♀️","🙋🏿‍♂️","🙋🏿","🙋‍♀️","🙋‍♂️","🙋","🙌🏻","🙌🏼","🙌🏽","🙌🏾","🙌🏿","🙌","🙍🏻‍♀️","🙍🏻‍♂️","🙍🏻","🙍🏼‍♀️","🙍🏼‍♂️","🙍🏼","🙍🏽‍♀️","🙍🏽‍♂️","🙍🏽","🙍🏾‍♀️","🙍🏾‍♂️","🙍🏾","🙍🏿‍♀️","🙍🏿‍♂️","🙍🏿","🙍‍♀️","🙍‍♂️","🙍","🙎🏻‍♀️","🙎🏻‍♂️","🙎🏻","🙎🏼‍♀️","🙎🏼‍♂️","🙎🏼","🙎🏽‍♀️","🙎🏽‍♂️","🙎🏽","🙎🏾‍♀️","🙎🏾‍♂️","🙎🏾","🙎🏿‍♀️","🙎🏿‍♂️","🙎🏿","🙎‍♀️","🙎‍♂️","🙎","🙏🏻","🙏🏼","🙏🏽","🙏🏾","🙏🏿","🙏","🚀","🚁","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚋","🚌","🚍","🚎","🚏","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🚚","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚢","🚣🏻‍♀️","🚣🏻‍♂️","🚣🏻","🚣🏼‍♀️","🚣🏼‍♂️","🚣🏼","🚣🏽‍♀️","🚣🏽‍♂️","🚣🏽","🚣🏾‍♀️","🚣🏾‍♂️","🚣🏾","🚣🏿‍♀️","🚣🏿‍♂️","🚣🏿","🚣‍♀️","🚣‍♂️","🚣","🚤","🚥","🚦","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚮","🚯","🚰","🚱","🚲","🚳","🚴🏻‍♀️","🚴🏻‍♂️","🚴🏻","🚴🏼‍♀️","🚴🏼‍♂️","🚴🏼","🚴🏽‍♀️","🚴🏽‍♂️","🚴🏽","🚴🏾‍♀️","🚴🏾‍♂️","🚴🏾","🚴🏿‍♀️","🚴🏿‍♂️","🚴🏿","🚴‍♀️","🚴‍♂️","🚴","🚵🏻‍♀️","🚵🏻‍♂️","🚵🏻","🚵🏼‍♀️","🚵🏼‍♂️","🚵🏼","🚵🏽‍♀️","🚵🏽‍♂️","🚵🏽","🚵🏾‍♀️","🚵🏾‍♂️","🚵🏾","🚵🏿‍♀️","🚵🏿‍♂️","🚵🏿","🚵‍♀️","🚵‍♂️","🚵","🚶🏻‍♀️","🚶🏻‍♂️","🚶🏻","🚶🏼‍♀️","🚶🏼‍♂️","🚶🏼","🚶🏽‍♀️","🚶🏽‍♂️","🚶🏽","🚶🏾‍♀️","🚶🏾‍♂️","🚶🏾","🚶🏿‍♀️","🚶🏿‍♂️","🚶🏿","🚶‍♀️","🚶‍♂️","🚶","🚷","🚸","🚹","🚺","🚻","🚼","🚽","🚾","🚿","🛀🏻","🛀🏼","🛀🏽","🛀🏾","🛀🏿","🛀","🛁","🛂","🛃","🛄","🛅","🛋","🛌🏻","🛌🏼","🛌🏽","🛌🏾","🛌🏿","🛌","🛍","🛎","🛏","🛐","🛑","🛒","🛠","🛡","🛢","🛣","🛤","🛥","🛩","🛫","🛬","🛰","🛳","🛴","🛵","🛶","🤐","🤑","🤒","🤓","🤔","🤕","🤖","🤗","🤘🏻","🤘🏼","🤘🏽","🤘🏾","🤘🏿","🤘","🤙🏻","🤙🏼","🤙🏽","🤙🏾","🤙🏿","🤙","🤚🏻","🤚🏼","🤚🏽","🤚🏾","🤚🏿","🤚","🤛🏻","🤛🏼","🤛🏽","🤛🏾","🤛🏿","🤛","🤜🏻","🤜🏼","🤜🏽","🤜🏾","🤜🏿","🤜","🤝🏻","🤝🏼","🤝🏽","🤝🏾","🤝🏿","🤝","🤞🏻","🤞🏼","🤞🏽","🤞🏾","🤞🏿","🤞","🤠","🤡","🤢","🤣","🤤","🤥","🤦🏻‍♀️","🤦🏻‍♂️","🤦🏻","🤦🏼‍♀️","🤦🏼‍♂️","🤦🏼","🤦🏽‍♀️","🤦🏽‍♂️","🤦🏽","🤦🏾‍♀️","🤦🏾‍♂️","🤦🏾","🤦🏿‍♀️","🤦🏿‍♂️","🤦🏿","🤦‍♀️","🤦‍♂️","🤦","🤧","🤰🏻","🤰🏼","🤰🏽","🤰🏾","🤰🏿","🤰","🤳🏻","🤳🏼","🤳🏽","🤳🏾","🤳🏿","🤳","🤴🏻","🤴🏼","🤴🏽","🤴🏾","🤴🏿","🤴","🤵🏻","🤵🏼","🤵🏽","🤵🏾","🤵🏿","🤵","🤶🏻","🤶🏼","🤶🏽","🤶🏾","🤶🏿","🤶","🤷🏻‍♀️","🤷🏻‍♂️","🤷🏻","🤷🏼‍♀️","🤷🏼‍♂️","🤷🏼","🤷🏽‍♀️","🤷🏽‍♂️","🤷🏽","🤷🏾‍♀️","🤷🏾‍♂️","🤷🏾","🤷🏿‍♀️","🤷🏿‍♂️","🤷🏿","🤷‍♀️","🤷‍♂️","🤷","🤸🏻‍♀️","🤸🏻‍♂️","🤸🏻","🤸🏼‍♀️","🤸🏼‍♂️","🤸🏼","🤸🏽‍♀️","🤸🏽‍♂️","🤸🏽","🤸🏾‍♀️","🤸🏾‍♂️","🤸🏾","🤸🏿‍♀️","🤸🏿‍♂️","🤸🏿","🤸‍♀️","🤸‍♂️","🤸","🤹🏻‍♀️","🤹🏻‍♂️","🤹🏻","🤹🏼‍♀️","🤹🏼‍♂️","🤹🏼","🤹🏽‍♀️","🤹🏽‍♂️","🤹🏽","🤹🏾‍♀️","🤹🏾‍♂️","🤹🏾","🤹🏿‍♀️","🤹🏿‍♂️","🤹🏿","🤹‍♀️","🤹‍♂️","🤹","🤺","🤼🏻‍♀️","🤼🏻‍♂️","🤼🏻","🤼🏼‍♀️","🤼🏼‍♂️","🤼🏼","🤼🏽‍♀️","🤼🏽‍♂️","🤼🏽","🤼🏾‍♀️","🤼🏾‍♂️","🤼🏾","🤼🏿‍♀️","🤼🏿‍♂️","🤼🏿","🤼‍♀️","🤼‍♂️","🤼","🤽🏻‍♀️","🤽🏻‍♂️","🤽🏻","🤽🏼‍♀️","🤽🏼‍♂️","🤽🏼","🤽🏽‍♀️","🤽🏽‍♂️","🤽🏽","🤽🏾‍♀️","🤽🏾‍♂️","🤽🏾","🤽🏿‍♀️","🤽🏿‍♂️","🤽🏿","🤽‍♀️","🤽‍♂️","🤽","🤾🏻‍♀️","🤾🏻‍♂️","🤾🏻","🤾🏼‍♀️","🤾🏼‍♂️","🤾🏼","🤾🏽‍♀️","🤾🏽‍♂️","🤾🏽","🤾🏾‍♀️","🤾🏾‍♂️","🤾🏾","🤾🏿‍♀️","🤾🏿‍♂️","🤾🏿","🤾‍♀️","🤾‍♂️","🤾","🥀","🥁","🥂","🥃","🥄","🥅","🥇","🥈","🥉","🥊","🥋","🥐","🥑","🥒","🥓","🥔","🥕","🥖","🥗","🥘","🥙","🥚","🥛","🥜","🥝","🥞","🦀","🦁","🦂","🦃","🦄","🦅","🦆","🦇","🦈","🦉","🦊","🦋","🦌","🦍","🦎","🦏","🦐","🦑","🧀","‼","⁉","™","ℹ","↔","↕","↖","↗","↘","↙","↩","↪","#⃣","⌚","⌛","⌨","⏏","⏩","⏪","⏫","⏬","⏭","⏮","⏯","⏰","⏱","⏲","⏳","⏸","⏹","⏺","Ⓜ","▪","▫","▶","◀","◻","◼","◽","◾","☀","☁","☂","☃","☄","☎","☑","☔","☕","☘","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","☝","☠","☢","☣","☦","☪","☮","☯","☸","☹","☺","♀","♂","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","♠","♣","♥","♦","♨","♻","♿","⚒","⚓","⚔","⚕","⚖","⚗","⚙","⚛","⚜","⚠","⚡","⚪","⚫","⚰","⚱","⚽","⚾","⛄","⛅","⛈","⛎","⛏","⛑","⛓","⛔","⛩","⛪","⛰","⛱","⛲","⛳","⛴","⛵","⛷🏻","⛷🏼","⛷🏽","⛷🏾","⛷🏿","⛷","⛸","⛹🏻‍♀️","⛹🏻‍♂️","⛹🏻","⛹🏼‍♀️","⛹🏼‍♂️","⛹🏼","⛹🏽‍♀️","⛹🏽‍♂️","⛹🏽","⛹🏾‍♀️","⛹🏾‍♂️","⛹🏾","⛹🏿‍♀️","⛹🏿‍♂️","⛹🏿","⛹️‍♀️","⛹️‍♂️","⛹","⛺","⛽","✂","✅","✈","✉","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✊","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✋","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✌","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","✍","✏","✒","✔","✖","✝","✡","✨","✳","✴","❄","❇","❌","❎","❓","❔","❕","❗","❣","❤","➕","➖","➗","➡","➰","➿","⤴","⤵","*⃣","⬅","⬆","⬇","⬛","⬜","⭐","⭕","0⃣","〰","〽","1⃣","2⃣","㊗","㊙","3⃣","4⃣","5⃣","6⃣","7⃣","8⃣","9⃣","©","®",""]},609:function(e,t,r){"use strict";var i=r(150);var n=r(203);e.exports={activityIndicator:function(e,t,r){if(e.spun==null)return;return i(t,e.spun)},progressbar:function(e,t,r){if(e.completed==null)return;return n(t,r,e.completed)}}},620:function(e,t,r){e.exports=minimatch;minimatch.Minimatch=Minimatch;var i={sep:"/"};try{i=r(589)}catch(e){}var n=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var s=r(348);var a={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var u="[^/]";var o=u+"*?";var l="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var f="(?:(?!(?:\\/|^)\\.).)*?";var h=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,t){e[t]=true;return e},{})}var c=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(r,i,n){return minimatch(r,e,t)}}function ext(e,t){e=e||{};t=t||{};var r={};Object.keys(t).forEach(function(e){r[e]=t[e]});Object.keys(e).forEach(function(t){r[t]=e[t]});return r}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var t=minimatch;var r=function minimatch(r,i,n){return t.minimatch(r,i,ext(e,n))};r.Minimatch=function Minimatch(r,i){return new t.Minimatch(r,ext(e,i))};return r};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,t,r){if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};if(!r.nocomment&&t.charAt(0)==="#"){return false}if(t.trim()==="")return e==="";return new Minimatch(t,r).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};e=e.trim();if(i.sep!=="/"){e=e.split(i.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(t.debug)this.debug=console.error;this.debug(this.pattern,r);r=this.globParts=r.map(function(e){return e.split(c)});this.debug(this.pattern,r);r=r.map(function(e,t,r){return e.map(this.parse,this)},this);this.debug(this.pattern,r);r=r.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var r=this.options;var i=0;if(r.nonegate)return;for(var n=0,s=e.length;n1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&e==="**")return n;if(e==="")return"";var i="";var s=!!r.nocase;var l=false;var f=[];var c=[];var d;var v=false;var y=-1;var g=-1;var b=e.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var _=this;function clearStateChar(){if(d){switch(d){case"*":i+=o;s=true;break;case"?":i+=u;s=true;break;default:i+="\\"+d;break}_.debug("clearStateChar %j %j",d,i);d=false}}for(var m=0,E=e.length,D;m-1;F--){var R=c[F];var T=i.slice(0,R.reStart);var O=i.slice(R.reStart,R.reEnd-8);var I=i.slice(R.reEnd-8,R.reEnd);var B=i.slice(R.reEnd);I+=B;var N=T.split("(").length-1;var L=B;for(m=0;m=0;a--){s=e[a];if(s)break}for(a=0;a>> no match, partial?",e,h,t,c);if(h===u)return true}return false}var d;if(typeof l==="string"){if(i.nocase){d=f.toLowerCase()===l.toLowerCase()}else{d=f===l}this.debug("string match",l,f,d)}else{d=f.match(l);this.debug("pattern match",l,f,d)}if(!d)return false}if(s===u&&a===o){return true}else if(s===u){return r}else if(a===o){var v=s===u-1&&e[s]==="";return v}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},630:function(e,t,r){"use strict";var i=r(431).platform();var n=r(204).spawnSync;var s=r(66).readdirSync;var a="glibc";var u="musl";var o={encoding:"utf8",env:process.env};if(!n){n=function(){return{status:126,stdout:"",stderr:""}}}function contains(e){return function(t){return t.indexOf(e)!==-1}}function versionFromMuslLdd(e){return e.split(/[\r\n]+/)[1].trim().split(/\s/)[1]}function safeReaddirSync(e){try{return s(e)}catch(e){}return[]}var l="";var f="";var h="";if(i==="linux"){var c=n("getconf",["GNU_LIBC_VERSION"],o);if(c.status===0){l=a;f=c.stdout.trim().split(" ")[1];h="getconf"}else{var p=n("ldd",["--version"],o);if(p.status===0&&p.stdout.indexOf(u)!==-1){l=u;f=versionFromMuslLdd(p.stdout);h="ldd"}else if(p.status===1&&p.stderr.indexOf(u)!==-1){l=u;f=versionFromMuslLdd(p.stderr);h="ldd"}else{var d=safeReaddirSync("/lib");if(d.some(contains("-linux-gnu"))){l=a;h="filesystem"}else if(d.some(contains("libc.musl-"))){l=u;h="filesystem"}else if(d.some(contains("ld-musl-"))){l=u;h="filesystem"}else{var v=safeReaddirSync("/usr/sbin");if(v.some(contains("glibc"))){l=a;h="filesystem"}}}}}var y=l!==""&&l!==a;e.exports={GLIBC:a,MUSL:u,family:l,version:f,method:h,isNonGlibcLinux:y}},631:function(e){e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32"){e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}},645:function(e,t,r){"use strict";var i=r(354);var n=r(765);var s=r(814);var a=e.exports=function(e,t,r){if(!r)r=80;s("OAN",[e,t,r]);this.showing=false;this.theme=e;this.width=r;this.template=t};a.prototype={};a.prototype.setTheme=function(e){s("O",[e]);this.theme=e};a.prototype.setTemplate=function(e){s("A",[e]);this.template=e};a.prototype.setWidth=function(e){s("N",[e]);this.width=e};a.prototype.hide=function(){return i.gotoSOL()+i.eraseLine()};a.prototype.hideCursor=i.hideCursor;a.prototype.showCursor=i.showCursor;a.prototype.show=function(e){var t=Object.create(this.theme);for(var r in e){t[r]=e[r]}return n(this.width,this.template,t).trim()+i.color("reset")+i.eraseLine()+i.gotoSOL()}},649:function(e,t,r){"use strict";var i=r(22);var n=r(656);e.exports=wideTruncate;function wideTruncate(e,t){if(i(e)===0)return e;if(t<=0)return"";if(i(e)<=t)return e;var r=n(e);var s=e.length+r.length;var a=e.slice(0,t+s);while(i(a)>t){a=a.slice(0,-1)}return a}},656:function(e,t,r){"use strict";var i=r(446)();e.exports=function(e){return typeof e==="string"?e.replace(i,""):e}},663:function(e,t,r){"use strict";var i=r(485).EventEmitter;var n=r(64);var s=0;var a=e.exports=function(e){i.call(this);this.id=++s;this.name=e};n.inherits(a,i)},668:function(e,t,r){"use strict";const i=r(140);e.exports=function(e){const t=e.acorn||r(996);const n=t.tokTypes;e=i(e);return class extends e{_maybeParseFieldValue(e){if(this.eat(n.eq)){const t=this._inFieldValue;this._inFieldValue=true;e.value=this.parseExpression();this._inFieldValue=t}else e.value=null}parseClassElement(e){if(this.options.ecmaVersion>=8&&(this.type==n.name||this.type==this.privateNameToken||this.type==n.bracketL||this.type==n.string)){const e=this._branch();if(e.type==n.bracketL){let t=0;do{if(e.eat(n.bracketL))++t;else if(e.eat(n.bracketR))--t;else e.next()}while(t>0)}else e.next();if(e.type==n.eq||e.canInsertSemicolon()||e.type==n.semi){const e=this.startNode();if(this.type==this.privateNameToken){this.parsePrivateClassElementName(e)}else{this.parsePropertyName(e)}if(e.key.type==="Identifier"&&e.key.name==="constructor"||e.key.type==="Literal"&&e.key.value==="constructor"){this.raise(e.key.start,"Classes may not have a field called constructor")}this.enterScope(64|2|1);this._maybeParseFieldValue(e);this.exitScope();this.finishNode(e,"FieldDefinition");this.semicolon();return e}}return super.parseClassElement.apply(this,arguments)}parseIdent(e,t){const r=super.parseIdent(e,t);if(this._inFieldValue&&r.name=="arguments")this.raise(r.start,"A class field initializer may not contain arguments");return r}}}},669:function(e,t,r){"use strict";const i=r(106);const n=r(146);const s=r(543);const a=r(300);const u=r(692);const o=r(72);const l=r(113);const f=r(768);const h=r(685);const c=r(337);t.getOptions=i;t.parseQuery=n;t.stringifyRequest=s;t.getRemainingRequest=a;t.getCurrentRequest=u;t.isUrlRequest=o;t.urlToRequest=l;t.parseString=f;t.getHashDigest=h;t.interpolateName=c},683:function(e,t){function isArray(e){if(Array.isArray){return Array.isArray(e)}return objectToString(e)==="[object Array]"}t.isArray=isArray;function isBoolean(e){return typeof e==="boolean"}t.isBoolean=isBoolean;function isNull(e){return e===null}t.isNull=isNull;function isNullOrUndefined(e){return e==null}t.isNullOrUndefined=isNullOrUndefined;function isNumber(e){return typeof e==="number"}t.isNumber=isNumber;function isString(e){return typeof e==="string"}t.isString=isString;function isSymbol(e){return typeof e==="symbol"}t.isSymbol=isSymbol;function isUndefined(e){return e===void 0}t.isUndefined=isUndefined;function isRegExp(e){return objectToString(e)==="[object RegExp]"}t.isRegExp=isRegExp;function isObject(e){return typeof e==="object"&&e!==null}t.isObject=isObject;function isDate(e){return objectToString(e)==="[object Date]"}t.isDate=isDate;function isError(e){return objectToString(e)==="[object Error]"||e instanceof Error}t.isError=isError;function isFunction(e){return typeof e==="function"}t.isFunction=isFunction;function isPrimitive(e){return e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"||typeof e==="symbol"||typeof e==="undefined"}t.isPrimitive=isPrimitive;t.isBuffer=Buffer.isBuffer;function objectToString(e){return Object.prototype.toString.call(e)}},684:function(e,t,r){"use strict";const i=r(743);const n=r(606);e.exports=(e=>{if(typeof e!=="string"||e.length===0){return 0}e=i(e);let t=0;for(let r=0;r=127&&i<=159){continue}if(i>=768&&i<=879){continue}if(i>65535){r++}t+=n(i)?2:1}return t})},685:function(e,t,r){"use strict";const i={26:"abcdefghijklmnopqrstuvwxyz",32:"123456789abcdefghjkmnpqrstuvwxyz",36:"0123456789abcdefghijklmnopqrstuvwxyz",49:"abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",52:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",64:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"};function encodeBufferToBase(e,t){const n=i[t];if(!n){throw new Error("Unknown encoding base"+t)}const s=e.length;const a=r(480);a.RM=a.DP=0;let u=new a(0);for(let t=s-1;t>=0;t--){u=u.times(256).plus(e[t])}let o="";while(u.gt(0)){o=n[u.mod(t)]+o;u=u.div(t)}a.DP=20;a.RM=1;return o}function getHashDigest(e,t,i,n){t=t||"md5";n=n||9999;const s=r(298).createHash(t);s.update(e);if(i==="base26"||i==="base32"||i==="base36"||i==="base49"||i==="base52"||i==="base58"||i==="base62"||i==="base64"){return encodeBufferToBase(s.digest(),i.substr(4)).substr(0,n)}else{return s.digest(i||"hex").substr(0,n)}}e.exports=getHashDigest},688:function(e){e.exports=__webpack_require__(413)},692:function(e){"use strict";function getCurrentRequest(e){if(e.currentRequest){return e.currentRequest}const t=e.loaders.slice(e.loaderIndex).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getCurrentRequest},708:function(e,t,r){const{walk:i}=r(825);function handleWrappers(e,t,r){let n=false;let s;if(e.body.length===1&&e.body[0].type==="ExpressionStatement"&&e.body[0].expression.type==="UnaryExpression"&&e.body[0].expression.operator==="!"&&e.body[0].expression.argument.type==="CallExpression"&&e.body[0].expression.argument.callee.type==="FunctionExpression"&&e.body[0].expression.argument.arguments.length===1)s=e.body[0].expression.argument;else if(e.body.length===1&&e.body[0].type==="ExpressionStatement"&&e.body[0].expression.type==="CallExpression"&&e.body[0].expression.callee.type==="FunctionExpression"&&e.body[0].expression.arguments.length===1)s=e.body[0].expression;else if(e.body.length===1&&e.body[0].type==="ExpressionStatement"&&e.body[0].expression.type==="AssgnmentExpression"&&e.body[0].expression.left.type==="MemberExpression"&&e.body[0].expression.left.object.type==="Identifier"&&e.body[0].expression.left.object.name==="module"&&e.body[0].expression.left.property.type==="Identifier"&&e.body[0].expression.left.property.name==="exports"&&e.body[0].expression.right.type==="CallExpression"&&e.body[0].expression.right.callee.type==="FunctionExpression"&&e.body[0].expression.right.arguments.length===1)s=e.body[0].expression.right;if(s){if(s.arguments[0].type==="ConditionalExpression"&&s.arguments[0].test.type==="LogicalExpression"&&s.arguments[0].test.operator==="&&"&&s.arguments[0].test.left.type==="BinaryExpression"&&s.arguments[0].test.left.operator==="==="&&s.arguments[0].test.left.left.type==="UnaryExpression"&&s.arguments[0].test.left.left.operator==="typeof"&&s.arguments[0].test.left.left.argument.name==="define"&&s.arguments[0].test.left.right.type==="Literal"&&s.arguments[0].test.left.right.value==="function"&&s.arguments[0].test.right.type==="MemberExpression"&&s.arguments[0].test.right.object.type==="Identifier"&&s.arguments[0].test.right.property.type==="Identifier"&&s.arguments[0].test.right.property.name==="amd"&&s.arguments[0].test.right.computed===false&&s.arguments[0].alternate.type==="FunctionExpression"&&s.arguments[0].alternate.params.length===1&&s.arguments[0].alternate.params[0].type==="Identifier"&&s.arguments[0].alternate.body.body.length===1&&s.arguments[0].alternate.body.body[0].type==="ExpressionStatement"&&s.arguments[0].alternate.body.body[0].expression.type==="AssignmentExpression"&&s.arguments[0].alternate.body.body[0].expression.left.type==="MemberExpression"&&s.arguments[0].alternate.body.body[0].expression.left.object.type==="Identifier"&&s.arguments[0].alternate.body.body[0].expression.left.object.name==="module"&&s.arguments[0].alternate.body.body[0].expression.left.property.type==="Identifier"&&s.arguments[0].alternate.body.body[0].expression.left.property.name==="exports"&&s.arguments[0].alternate.body.body[0].expression.left.computed===false&&s.arguments[0].alternate.body.body[0].expression.right.type==="CallExpression"&&s.arguments[0].alternate.body.body[0].expression.right.callee.type==="Identifier"&&s.arguments[0].alternate.body.body[0].expression.right.callee.name===s.arguments[0].alternate.params[0].name&&s.arguments[0].alternate.body.body[0].expression.right.arguments.length===1&&s.arguments[0].alternate.body.body[0].expression.right.arguments[0].type==="Identifier"&&s.arguments[0].alternate.body.body[0].expression.right.arguments[0].name==="require"){let e=s.callee.body.body;if(e[0].type==="ExpressionStatement"&&e[0].expression.type==="Literal"&&e[0].expression.value==="use strict"){e=e.slice(1)}if(e.length===1&&e[0].type==="ExpressionStatement"&&e[0].expression.type==="CallExpression"&&e[0].expression.callee.type==="Identifier"&&e[0].expression.callee.name===s.arguments[0].test.right.object.name&&e[0].expression.arguments.length===1&&e[0].expression.arguments[0].type==="FunctionExpression"&&e[0].expression.arguments[0].params.length===1&&e[0].expression.arguments[0].params[0].type==="Identifier"&&e[0].expression.arguments[0].params[0].name==="require"){r.remove(e[0].expression.arguments[0].params[0].start,e[0].expression.arguments[0].params[0].end);n=true}}else if(s.arguments[0].type==="FunctionExpression"&&s.arguments[0].params.length===0&&(s.arguments[0].body.body.length===1||s.arguments[0].body.body.length===2&&s.arguments[0].body.body[0].type==="VariableDeclaration"&&s.arguments[0].body.body[0].declarations.length===3&&s.arguments[0].body.body[0].declarations.every(e=>e.init===null&&e.id.type==="Identifier"))&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].type==="ReturnStatement"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.type==="CallExpression"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.type==="CallExpression"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.arguments.length&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.arguments.every(e=>e.type==="Literal"&&typeof e.value==="number")&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.callee.type==="CallExpression"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.callee.callee.type==="FunctionExpression"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.callee.arguments.length===0&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.arguments.length===3&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.arguments[0].type==="ObjectExpression"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.arguments[1].type==="ObjectExpression"&&s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.arguments[2].type==="ArrayExpression"){const e=s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.arguments[0].properties;const t=s.arguments[0].body.body[s.arguments[0].body.body.length-1].argument.callee.callee.callee.body.body[0];let i;if(t.type==="FunctionDeclaration")i=t.body;else if(t.type==="ReturnStatement")i=t.argument.body;if(i){const e=i.body[0].body.body[0].consequent.body[0].consequent.body[0].declarations[0].init;const t=i.body[1].init.declarations[0].init;e.right.name="_";t.right.name="_";r.overwrite(e.start,e.end,"__non_webpack_require__");r.overwrite(t.start,t.end,"__non_webpack_require__");n=true}const a={};if(e.every(e=>{if(e.type!=="Property"||e.computed!==false||e.key.type!=="Literal"||typeof e.key.value!=="number"||e.value.type!=="ArrayExpression"||e.value.elements.length!==2||e.value.elements[0].type!=="FunctionExpression"||e.value.elements[1].type!=="ObjectExpression")return false;const t=e.value.elements[1].properties;for(const e of t){if(e.type!=="Property"||e.value.type!=="Identifier"&&e.value.type!=="Literal"||e.key.type!=="Literal"||typeof e.key.value!=="string"||e.computed)return false;if(e.value.type==="Identifier"&&e.value.name==="undefined")a[e.key.value]=true}return true})){const e=Object.keys(a);if(e.length){const t=s.arguments[0].body.body[1].argument.callee.arguments[1];const i=e.map(e=>`"${e}": { exports: require("${e}") }`).join(",\n ");r.appendRight(t.end-1,i);n=true}}}else if(s.arguments[0].type==="FunctionExpression"&&s.arguments[0].params.length===2&&s.arguments[0].params[0].type==="Identifier"&&s.arguments[0].params[1].type==="Identifier"&&s.callee.body.body.length===1){const e=s.callee.body.body[0];if(e.type==="IfStatement"&&e.test.type==="LogicalExpression"&&e.test.operator==="&&"&&e.test.left.type==="BinaryExpression"&&e.test.left.left.type==="UnaryExpression"&&e.test.left.left.operator==="typeof"&&e.test.left.left.argument.type==="Identifier"&&e.test.left.left.argument.name==="module"&&e.test.left.right.type==="Literal"&&e.test.left.right.value==="object"&&e.test.right.type==="BinaryExpression"&&e.test.right.left.type==="UnaryExpression"&&e.test.right.left.operator==="typeof"&&e.test.right.left.argument.type==="MemberExpression"&&e.test.right.left.argument.object.type==="Identifier"&&e.test.right.left.argument.object.name==="module"&&e.test.right.left.argument.property.type==="Identifier"&&e.test.right.left.argument.property.name==="exports"&&e.test.right.right.type==="Literal"&&e.test.right.right.value==="object"&&e.consequent.type==="BlockStatement"&&e.consequent.body.length>0){let t;if(e.consequent.body[0].type==="VariableDeclaration"&&e.consequent.body[0].declarations[0].init&&e.consequent.body[0].declarations[0].init.type==="CallExpression")t=e.consequent.body[0].declarations[0].init;else if(e.consequent.body[0].type==="ExpressionStatement"&&e.consequent.body[0].expression.type==="CallExpression")t=e.consequent.body[0].expression;else if(e.consequent.body[0].type==="ExpressionStatement"&&e.consequent.body[0].expression.type==="AssignmentExpression"&&e.consequent.body[0].expression.right.type==="CallExpression")t=e.consequent.body[0].expression.right;if(t&&t.callee.type==="Identifier"&&t.callee.name===s.callee.params[0].name&&t.arguments.length===2&&t.arguments[0].type==="Identifier"&&t.arguments[0].name==="require"&&t.arguments[1].type==="Identifier"&&t.arguments[1].name==="exports"){r.remove(s.arguments[0].params[0].start,s.arguments[0].params[s.arguments[0].params.length-1].end);n=true}}}else if(s.callee.type==="FunctionExpression"&&s.callee.params.length===1&&s.callee.body.body.length>2&&s.callee.body.body[0].type==="VariableDeclaration"&&s.callee.body.body[0].declarations.length===1&&s.callee.body.body[0].declarations[0].type==="VariableDeclarator"&&s.callee.body.body[0].declarations[0].id.type==="Identifier"&&s.callee.body.body[0].declarations[0].init.type==="ObjectExpression"&&s.callee.body.body[0].declarations[0].init.properties.length===0&&s.callee.body.body[1].type==="FunctionDeclaration"&&s.callee.body.body[1].params.length===1&&s.callee.body.body[1].body.body.length===3&&s.arguments[0].type==="ArrayExpression"&&s.arguments[0].elements.length>0&&s.arguments[0].elements.every(e=>e.type==="FunctionExpression")){const e=new Map;for(let t=0;te===t))i.arguments=i.arguments.map(r=>r===t?e:r);else if(i.init===t)i.init=e}}}})}}}}return{ast:e,scope:t,transformed:n}}e.exports=handleWrappers},714:function(e){if(typeof Object.create==="function"){e.exports=function inherits(e,t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}else{e.exports=function inherits(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype;e.prototype=new r;e.prototype.constructor=e}}},722:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(287);var n=_interopRequireDefault(i);var s=r(809);var a=_interopRequireDefault(s);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}t.default={parse:n.default,stringify:a.default};e.exports=t["default"]},735:function(e){"use strict";e.exports=process},737:function(e,t,r){"use strict";var i=r(645);var n=r(873);var s=r(513);var a=r(353);var u=r(254);var o=r(314);var l=r(735);var f=r(998);e.exports=Gauge;function callWith(e,t){return function(){return t.call(e)}}function Gauge(e,t){var r,n;if(e&&e.write){n=e;r=t||{}}else if(t&&t.write){n=t;r=e||{}}else{n=l.stderr;r=e||t||{}}this._status={spun:0,section:"",subsection:""};this._paused=false;this._disabled=true;this._showing=false;this._onScreen=false;this._needsRedraw=false;this._hideCursor=r.hideCursor==null?true:r.hideCursor;this._fixedFramerate=r.fixedFramerate==null?!/^v0\.8\./.test(l.version):r.fixedFramerate;this._lastUpdateAt=null;this._updateInterval=r.updateInterval==null?50:r.updateInterval;this._themes=r.themes||u;this._theme=r.theme;var s=this._computeTheme(r.theme);var a=r.template||[{type:"progressbar",length:20},{type:"activityIndicator",kerning:1,length:1},{type:"section",kerning:1,default:""},{type:"subsection",kerning:1,default:""}];this.setWriteTo(n,r.tty);var o=r.Plumbing||i;this._gauge=new o(s,a,this.getWidth());this._$$doRedraw=callWith(this,this._doRedraw);this._$$handleSizeChange=callWith(this,this._handleSizeChange);this._cleanupOnExit=r.cleanupOnExit==null||r.cleanupOnExit;this._removeOnExit=null;if(r.enabled||r.enabled==null&&this._tty&&this._tty.isTTY){this.enable()}else{this.disable()}}Gauge.prototype={};Gauge.prototype.isEnabled=function(){return!this._disabled};Gauge.prototype.setTemplate=function(e){this._gauge.setTemplate(e);if(this._showing)this._requestRedraw()};Gauge.prototype._computeTheme=function(e){if(!e)e={};if(typeof e==="string"){e=this._themes.getTheme(e)}else if(e&&(Object.keys(e).length===0||e.hasUnicode!=null||e.hasColor!=null)){var t=e.hasUnicode==null?n():e.hasUnicode;var r=e.hasColor==null?s:e.hasColor;e=this._themes.getDefault({hasUnicode:t,hasColor:r,platform:e.platform})}return e};Gauge.prototype.setThemeset=function(e){this._themes=e;this.setTheme(this._theme)};Gauge.prototype.setTheme=function(e){this._gauge.setTheme(this._computeTheme(e));if(this._showing)this._requestRedraw();this._theme=e};Gauge.prototype._requestRedraw=function(){this._needsRedraw=true;if(!this._fixedFramerate)this._doRedraw()};Gauge.prototype.getWidth=function(){return(this._tty&&this._tty.columns||80)-1};Gauge.prototype.setWriteTo=function(e,t){var r=!this._disabled;if(r)this.disable();this._writeTo=e;this._tty=t||e===l.stderr&&l.stdout.isTTY&&l.stdout||e.isTTY&&e||this._tty;if(this._gauge)this._gauge.setWidth(this.getWidth());if(r)this.enable()};Gauge.prototype.enable=function(){if(!this._disabled)return;this._disabled=false;if(this._tty)this._enableEvents();if(this._showing)this.show()};Gauge.prototype.disable=function(){if(this._disabled)return;if(this._showing){this._lastUpdateAt=null;this._showing=false;this._doRedraw();this._showing=true}this._disabled=true;if(this._tty)this._disableEvents()};Gauge.prototype._enableEvents=function(){if(this._cleanupOnExit){this._removeOnExit=a(callWith(this,this.disable))}this._tty.on("resize",this._$$handleSizeChange);if(this._fixedFramerate){this.redrawTracker=o(this._$$doRedraw,this._updateInterval);if(this.redrawTracker.unref)this.redrawTracker.unref()}};Gauge.prototype._disableEvents=function(){this._tty.removeListener("resize",this._$$handleSizeChange);if(this._fixedFramerate)clearInterval(this.redrawTracker);if(this._removeOnExit)this._removeOnExit()};Gauge.prototype.hide=function(e){if(this._disabled)return e&&l.nextTick(e);if(!this._showing)return e&&l.nextTick(e);this._showing=false;this._doRedraw();e&&f(e)};Gauge.prototype.show=function(e,t){this._showing=true;if(typeof e==="string"){this._status.section=e}else if(typeof e==="object"){var r=Object.keys(e);for(var i=0;itypeof e==="string"?e.replace(i(),""):e)},745:function(e){e.exports=function(e){[process.stdout,process.stderr].forEach(function(t){if(t._handle&&t.isTTY&&typeof t._handle.setBlocking==="function"){t._handle.setBlocking(e)}})}},755:function(e,t,r){const{existsSync:i}=r(66);const{dirname:n}=r(589);e.exports=function getPackageScope(e){let t=n(e);do{e=t;t=n(e);if(i(e+"/package.json"))return e}while(e!==t)}},764:function(e){e.exports=function(e,t){return t||{}}},765:function(e,t,r){"use strict";var i=r(982);var n=r(814);var s=r(156);var a=r(649);var u=r(205);var o=r(433);function renderValueWithValues(e){return function(t){return renderValue(t,e)}}var l=e.exports=function(e,t,r){var n=prepareItems(e,t,r);var s=n.map(renderValueWithValues(r)).join("");return i.left(a(s,e),e)};function preType(e){var t=e.type[0].toUpperCase()+e.type.slice(1);return"pre"+t}function postType(e){var t=e.type[0].toUpperCase()+e.type.slice(1);return"post"+t}function hasPreOrPost(e,t){if(!e.type)return;return t[preType(e)]||t[postType(e)]}function generatePreAndPost(e,t){var r=s({},e);var i=Object.create(t);var n=[];var a=preType(r);var u=postType(r);if(i[a]){n.push({value:i[a]});i[a]=null}r.minLength=null;r.length=null;r.maxLength=null;n.push(r);i[r.type]=i[r.type];if(i[u]){n.push({value:i[u]});i[u]=null}return function(e,t,r){return l(r,n,i)}}function prepareItems(e,t,r){function cloneAndObjectify(t,i,n){var s=new o(t,e);var a=s.type;if(s.value==null){if(!(a in r)){if(s.default==null){throw new u.MissingTemplateValue(s,r)}else{s.value=s.default}}else{s.value=r[a]}}if(s.value==null||s.value==="")return null;s.index=i;s.first=i===0;s.last=i===n.length-1;if(hasPreOrPost(s,r))s.value=generatePreAndPost(s,r);return s}var i=t.map(cloneAndObjectify).filter(function(e){return e!=null});var n=0;var s=e;var a=i.length;function consumeSpace(e){if(e>s)e=s;n+=e;s-=e}function finishSizing(e,t){if(e.finished)throw new u.Internal("Tried to finish template item that was already finished");if(t===Infinity)throw new u.Internal("Length of template item cannot be infinity");if(t!=null)e.length=t;e.minLength=null;e.maxLength=null;--a;e.finished=true;if(e.length==null)e.length=e.getBaseLength();if(e.length==null)throw new u.Internal("Finished template items must have a length");consumeSpace(e.getLength())}i.forEach(function(e){if(!e.kerning)return;var t=e.first?0:i[e.index-1].padRight;if(!e.first&&t=h){finishSizing(e,e.minLength);f=true}})}while(f&&l++e==='"'?'\\"':e).replace(/^'|'$/g,'"'))}return JSON.parse('"'+e+'"')}catch(t){return e}}e.exports=parseString},779:function(e,t,r){const i=r(431);const n=r(813);const s=r(327);const a=r(589);let u;switch(i.platform()){case"darwin":u="/**/*.@(dylib|so?(.*))";break;case"win32":u="/**/*.dll";break;default:u="/**/*.so?(.*)"}e.exports=async function(e,t,r,i,o){const l=await new Promise((t,r)=>s(e+u,{ignore:"node_modules/**/*"},(e,i)=>e?r(e):t(i)));await Promise.all(l.map(async s=>{const[u,l]=await Promise.all([new Promise((e,t)=>n.readFile(s,(r,i)=>r?t(r):e(i))),await new Promise((e,t)=>n.lstat(s,(r,i)=>r?t(r):e(i)))]);if(l.isSymbolicLink()){const i=await new Promise((e,t)=>{n.readlink(s,(r,i)=>r?t(r):e(i))});const u=a.dirname(s);t.assetSymlinks[r+s.substr(e.length+1)]=a.relative(u,a.resolve(u,i))}else{t.assetPermissions[s.substr(e.length)]=l.mode;if(o)console.log("Emitting "+s+" for shared library support in "+e);i(r+s.substr(e.length+1),u)}}))}},781:function(__unusedmodule,exports,__nested_webpack_require_585035__){const path=__nested_webpack_require_585035__(589);const fs=__nested_webpack_require_585035__(66);const versioning=__nested_webpack_require_585035__(503);const napi=__nested_webpack_require_585035__(445);const pregypFind=(e,t)=>{const r=JSON.parse(fs.readFileSync(e).toString());versioning.validate_config(r,t);var i;if(napi.get_napi_build_versions(r,t)){i=napi.get_best_napi_build_version(r,t)}t=t||{};if(!t.module_root)t.module_root=path.dirname(e);var n=versioning.evaluate(r,t,i);return n.module};exports.pregyp={default:{find:pregypFind},find:pregypFind};function makeModulePathList(e,t){return[[e,t],[e,"build",t],[e,"build","Debug",t],[e,"build","Release",t],[e,"out","Debug",t],[e,"Debug",t],[e,"out","Release",t],[e,"Release",t],[e,"build","default",t],[e,process.env["NODE_BINDINGS_COMPILED_DIR"]||"compiled",process.versions.node,process.platform,process.arch,t]]}function findCompiledModule(basePath,specList){var resolvedList=[];var ext=path.extname(basePath);for(var _i=0,specList_1=specList;_i0){r=Math.min(10,Math.floor(r));l=" ".substr(0,r)}}else if(typeof r==="string"){l=r.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,t){var r=t[e];if(r!=null){if(typeof r.toJSON5==="function"){r=r.toJSON5(e)}else if(typeof r.toJSON==="function"){r=r.toJSON(e)}}if(o){r=o.call(t,e,r)}if(r instanceof Number){r=Number(r)}else if(r instanceof String){r=String(r)}else if(r instanceof Boolean){r=r.valueOf()}switch(r){case null:return"null";case true:return"true";case false:return"false"}if(typeof r==="string"){return quoteString(r,false)}if(typeof r==="number"){return String(r)}if((typeof r==="undefined"?"undefined":i(r))==="object"){return Array.isArray(r)?serializeArray(r):serializeObject(r)}return undefined}function quoteString(e){var t={"'":.1,'"':.2};var r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var i="";var n=true;var s=false;var a=undefined;try{for(var u=e[Symbol.iterator](),o;!(n=(o=u.next()).done);n=true){var l=o.value;switch(l){case"'":case'"':t[l]++;i+=l;continue}if(r[l]){i+=r[l];continue}if(l<" "){var h=l.charCodeAt(0).toString(16);i+="\\x"+("00"+h).substring(h.length);continue}i+=l}}catch(e){s=true;a=e}finally{try{if(!n&&u.return){u.return()}}finally{if(s){throw a}}}var c=f||Object.keys(t).reduce(function(e,r){return t[e]=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var t=a;a=a+l;var r=u||Object.keys(e);var i=[];var s=true;var o=false;var f=undefined;try{for(var h=r[Symbol.iterator](),c;!(s=(c=h.next()).done);s=true){var p=c.value;var d=serializeProperty(p,e);if(d!==undefined){var v=serializeKey(p)+":";if(l!==""){v+=" "}v+=d;i.push(v)}}}catch(e){o=true;f=e}finally{try{if(!s&&h.return){h.return()}}finally{if(o){throw f}}}var y=void 0;if(i.length===0){y="{}"}else{var g=void 0;if(l===""){g=i.join(",");y="{"+g+"}"}else{var b=",\n"+a;g=i.join(b);y="{\n"+a+g+",\n"+t+"}"}}n.pop();a=t;return y}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var t=String.fromCodePoint(e.codePointAt(0));if(!s.isIdStartChar(t)){return quoteString(e,true)}for(var r=t.length;r=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var t=a;a=a+l;var r=[];for(var i=0;i=r){return undefined}var n=e.charCodeAt(i);if(n>=55296&&n<=56319&&r>i+1){var s=e.charCodeAt(i+1);if(s>=56320&&s<=57343){return(n-55296)*1024+s-56320+65536}}return n}},825:function(e,t){(function(e,r){true?r(t):0})(this,function(e){"use strict";function walk(e,{enter:t,leave:r}){visit(e,null,t,r)}let t=false;const r={skip:()=>t=true};const i={};const n=Object.prototype.toString;function isArray(e){return n.call(e)==="[object Array]"}function visit(e,n,s,a,u,o){if(!e)return;if(s){const i=t;t=false;s.call(r,e,n,u,o);const a=t;t=i;if(a)return}const l=e.type&&i[e.type]||(i[e.type]=Object.keys(e).filter(t=>typeof e[t]==="object"));for(let t=0;t=i.length){return"\t"}var n=i.reduce(function(e,t){var r=/^ +/.exec(t)[0].length;return Math.min(r,e)},Infinity);return new Array(n+1).join(" ")}function getRelativePath(e,t){var r=e.split(/[/\\]/);var i=t.split(/[/\\]/);r.pop();while(r[0]===i[0]){r.shift();i.shift()}if(r.length){var n=r.length;while(n--){r[n]=".."}}return r.concat(i).join("/")}var u=Object.prototype.toString;function isObject(e){return u.call(e)==="[object Object]"}function getLocator(e){var t=e.split("\n");var r=[];for(var i=0,n=0;i>1;if(e=0){n.push(i)}this.rawSegments.push(n)}else if(this.pending){this.rawSegments.push(this.pending)}this.advance(t);this.pending=null};o.prototype.addUneditedChunk=function addUneditedChunk(e,t,r,i,n){var s=t.start;var a=true;while(s1){for(var r=0;r=e&&r<=t){throw new Error("Cannot move a selection inside itself")}this._split(e);this._split(t);this._split(r);var i=this.byStart[e];var n=this.byEnd[t];var s=i.previous;var a=n.next;var u=this.byStart[r];if(!u&&n===this.lastChunk){return this}var o=u?u.previous:this.lastChunk;if(s){s.next=a}if(a){a.previous=s}if(o){o.next=i}if(u){u.previous=n}if(!i.previous){this.firstChunk=n.next}if(!n.next){this.lastChunk=i.previous;this.lastChunk.next=null}i.previous=o;n.next=u||null;if(!o){this.firstChunk=i}if(!u){this.lastChunk=n}return this};h.prototype.overwrite=function overwrite(e,t,r,i){if(typeof r!=="string"){throw new TypeError("replacement content must be a string")}while(e<0){e+=this.original.length}while(t<0){t+=this.original.length}if(t>this.original.length){throw new Error("end is out of bounds")}if(e===t){throw new Error("Cannot overwrite a zero-length range – use appendLeft or prependRight instead")}this._split(e);this._split(t);if(i===true){if(!f.storeName){console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string");f.storeName=true}i={storeName:true}}var s=i!==undefined?i.storeName:false;var a=i!==undefined?i.contentOnly:false;if(s){var u=this.original.slice(e,t);this.storedNames[u]=true}var o=this.byStart[e];var l=this.byEnd[t];if(o){if(t>o.end&&o.next!==this.byStart[o.end]){throw new Error("Cannot overwrite across a split point")}o.edit(r,s,a);if(o!==l){var h=o.next;while(h!==l){h.edit("",false);h=h.next}h.edit("",false)}}else{var c=new n(e,t,"").edit(r,s);l.next=c;c.previous=l}return this};h.prototype.prepend=function prepend(e){if(typeof e!=="string"){throw new TypeError("outro content must be a string")}this.intro=e+this.intro;return this};h.prototype.prependLeft=function prependLeft(e,t){if(typeof t!=="string"){throw new TypeError("inserted content must be a string")}this._split(e);var r=this.byEnd[e];if(r){r.prependLeft(t)}else{this.intro=t+this.intro}return this};h.prototype.prependRight=function prependRight(e,t){if(typeof t!=="string"){throw new TypeError("inserted content must be a string")}this._split(e);var r=this.byStart[e];if(r){r.prependRight(t)}else{this.outro=t+this.outro}return this};h.prototype.remove=function remove(e,t){while(e<0){e+=this.original.length}while(t<0){t+=this.original.length}if(e===t){return this}if(e<0||t>this.original.length){throw new Error("Character is out of bounds")}if(e>t){throw new Error("end must be greater than start")}this._split(e);this._split(t);var r=this.byStart[e];while(r){r.intro="";r.outro="";r.edit("");r=t>r.end?this.byStart[r.end]:null}return this};h.prototype.lastChar=function lastChar(){if(this.outro.length){return this.outro[this.outro.length-1]}var e=this.lastChunk;do{if(e.outro.length){return e.outro[e.outro.length-1]}if(e.content.length){return e.content[e.content.length-1]}if(e.intro.length){return e.intro[e.intro.length-1]}}while(e=e.previous);if(this.intro.length){return this.intro[this.intro.length-1]}return""};h.prototype.lastLine=function lastLine(){var e=this.outro.lastIndexOf(l);if(e!==-1){return this.outro.substr(e+1)}var t=this.outro;var r=this.lastChunk;do{if(r.outro.length>0){e=r.outro.lastIndexOf(l);if(e!==-1){return r.outro.substr(e+1)+t}t=r.outro+t}if(r.content.length>0){e=r.content.lastIndexOf(l);if(e!==-1){return r.content.substr(e+1)+t}t=r.content+t}if(r.intro.length>0){e=r.intro.lastIndexOf(l);if(e!==-1){return r.intro.substr(e+1)+t}t=r.intro+t}}while(r=r.previous);e=this.intro.lastIndexOf(l);if(e!==-1){return this.intro.substr(e+1)+t}return this.intro+t};h.prototype.slice=function slice(e,t){if(e===void 0)e=0;if(t===void 0)t=this.original.length;while(e<0){e+=this.original.length}while(t<0){t+=this.original.length}var r="";var i=this.firstChunk;while(i&&(i.start>e||i.end<=e)){if(i.start=t){return r}i=i.next}if(i&&i.edited&&i.start!==e){throw new Error("Cannot use replaced character "+e+" as slice start anchor.")}var n=i;while(i){if(i.intro&&(n!==i||i.start===e)){r+=i.intro}var s=i.start=t;if(s&&i.edited&&i.end!==t){throw new Error("Cannot use replaced character "+t+" as slice end anchor.")}var a=n===i?e-i.start:0;var u=s?i.content.length+t-i.end:i.content.length;r+=i.content.slice(a,u);if(i.outro&&(!s||i.end===t)){r+=i.outro}if(s){break}i=i.next}return r};h.prototype.snip=function snip(e,t){var r=this.clone();r.remove(0,e);r.remove(t,r.original.length);return r};h.prototype._split=function _split(e){if(this.byStart[e]||this.byEnd[e]){return}var t=this.lastSearchedChunk;var r=e>t.end;while(t){if(t.contains(e)){return this._splitChunk(t,e)}t=r?this.byStart[t.end]:this.byEnd[t.start]}};h.prototype._splitChunk=function _splitChunk(e,t){if(e.edited&&e.content.length){var r=getLocator(this.original)(t);throw new Error("Cannot split a chunk that has already been edited ("+r.line+":"+r.column+' – "'+e.original+'")')}var i=e.split(t);this.byEnd[t]=e;this.byStart[t]=i;this.byEnd[i.end]=i;if(e===this.lastChunk){this.lastChunk=i}this.lastSearchedChunk=e;return true};h.prototype.toString=function toString(){var e=this.intro;var t=this.firstChunk;while(t){e+=t.toString();t=t.next}return e+this.outro};h.prototype.isEmpty=function isEmpty(){var e=this.firstChunk;do{if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim()){return false}}while(e=e.next);return true};h.prototype.length=function length(){var e=this.firstChunk;var length=0;do{length+=e.intro.length+e.content.length+e.outro.length}while(e=e.next);return length};h.prototype.trimLines=function trimLines(){return this.trim("[\\r\\n]")};h.prototype.trim=function trim(e){return this.trimStart(e).trimEnd(e)};h.prototype.trimEndAborted=function trimEndAborted(e){var t=new RegExp((e||"\\s")+"+$");this.outro=this.outro.replace(t,"");if(this.outro.length){return true}var r=this.lastChunk;do{var i=r.end;var n=r.trimEnd(t);if(r.end!==i){if(this.lastChunk===r){this.lastChunk=r.next}this.byEnd[r.end]=r;this.byStart[r.next.start]=r.next;this.byEnd[r.next.end]=r.next}if(n){return true}r=r.previous}while(r);return false};h.prototype.trimEnd=function trimEnd(e){this.trimEndAborted(e);return this};h.prototype.trimStartAborted=function trimStartAborted(e){var t=new RegExp("^"+(e||"\\s")+"+");this.intro=this.intro.replace(t,"");if(this.intro.length){return true}var r=this.firstChunk;do{var i=r.end;var n=r.trimStart(t);if(r.end!==i){if(r===this.lastChunk){this.lastChunk=r.next}this.byEnd[r.end]=r;this.byStart[r.next.start]=r.next;this.byEnd[r.next.end]=r.next}if(n){return true}r=r.next}while(r);return false};h.prototype.trimStart=function trimStart(e){this.trimStartAborted(e);return this};var c=Object.prototype.hasOwnProperty;var p=function Bundle(e){if(e===void 0)e={};this.intro=e.intro||"";this.separator=e.separator!==undefined?e.separator:"\n";this.sources=[];this.uniqueSources=[];this.uniqueSourceIndexByFilename={}};p.prototype.addSource=function addSource(e){if(e instanceof h){return this.addSource({content:e,filename:e.filename,separator:this.separator})}if(!isObject(e)||!e.content){throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`")}["filename","indentExclusionRanges","separator"].forEach(function(t){if(!c.call(e,t)){e[t]=e.content[t]}});if(e.separator===undefined){e.separator=this.separator}if(e.filename){if(!c.call(this.uniqueSourceIndexByFilename,e.filename)){this.uniqueSourceIndexByFilename[e.filename]=this.uniqueSources.length;this.uniqueSources.push({filename:e.filename,content:e.content.original})}else{var t=this.uniqueSources[this.uniqueSourceIndexByFilename[e.filename]];if(e.content.original!==t.content){throw new Error("Illegal source: same filename ("+e.filename+"), different contents")}}}this.sources.push(e);return this};p.prototype.append=function append(e,t){this.addSource({content:new h(e),separator:t&&t.separator||""});return this};p.prototype.clone=function clone(){var e=new p({intro:this.intro,separator:this.separator});this.sources.forEach(function(t){e.addSource({filename:t.filename,content:t.content.clone(),separator:t.separator})});return e};p.prototype.generateDecodedMap=function generateDecodedMap(e){var t=this;if(e===void 0)e={};var r=[];this.sources.forEach(function(e){Object.keys(e.content.storedNames).forEach(function(e){if(!~r.indexOf(e)){r.push(e)}})});var i=new o(e.hires);if(this.intro){i.advance(this.intro)}this.sources.forEach(function(e,n){if(n>0){i.advance(t.separator)}var s=e.filename?t.uniqueSourceIndexByFilename[e.filename]:-1;var a=e.content;var u=getLocator(a.original);if(a.intro){i.advance(a.intro)}a.firstChunk.eachNext(function(t){var n=u(t.start);if(t.intro.length){i.advance(t.intro)}if(e.filename){if(t.edited){i.addEdit(s,t.content,n,t.storeName?r.indexOf(t.original):-1)}else{i.addUneditedChunk(s,t,a.original,n,a.sourcemapLocations)}}else{i.advance(t.content)}if(t.outro.length){i.advance(t.outro)}});if(a.outro){i.advance(a.outro)}});return{file:e.file?e.file.split(/[/\\]/).pop():null,sources:this.uniqueSources.map(function(t){return e.file?getRelativePath(e.file,t.filename):t.filename}),sourcesContent:this.uniqueSources.map(function(t){return e.includeContent?t.content:null}),names:r,mappings:i.raw}};p.prototype.generateMap=function generateMap(e){return new a(this.generateDecodedMap(e))};p.prototype.getIndentString=function getIndentString(){var e={};this.sources.forEach(function(t){var r=t.content.indentStr;if(r===null){return}if(!e[r]){e[r]=0}e[r]+=1});return Object.keys(e).sort(function(t,r){return e[t]-e[r]})[0]||"\t"};p.prototype.indent=function indent(e){var t=this;if(!arguments.length){e=this.getIndentString()}if(e===""){return this}var r=!this.intro||this.intro.slice(-1)==="\n";this.sources.forEach(function(i,n){var s=i.separator!==undefined?i.separator:t.separator;var a=r||n>0&&/\r?\n$/.test(s);i.content.indent(e,{exclude:i.indentExclusionRanges,indentStart:a});r=i.content.lastChar()==="\n"});if(this.intro){this.intro=e+this.intro.replace(/^[^\n]/gm,function(t,r){return r>0?e+t:t})}return this};p.prototype.prepend=function prepend(e){this.intro=e+this.intro;return this};p.prototype.toString=function toString(){var e=this;var t=this.sources.map(function(t,r){var i=t.separator!==undefined?t.separator:e.separator;var n=(r>0?i:"")+t.content.toString();return n}).join("");return this.intro+t};p.prototype.isEmpty=function isEmpty(){if(this.intro.length&&this.intro.trim()){return false}if(this.sources.some(function(e){return!e.content.isEmpty()})){return false}return true};p.prototype.length=function length(){return this.sources.reduce(function(e,t){return e+t.content.length()},this.intro.length)};p.prototype.trimLines=function trimLines(){return this.trim("[\\r\\n]")};p.prototype.trim=function trim(e){return this.trimStart(e).trimEnd(e)};p.prototype.trimStart=function trimStart(e){var t=new RegExp("^"+(e||"\\s")+"+");this.intro=this.intro.replace(t,"");if(!this.intro){var r;var i=0;do{r=this.sources[i++];if(!r){break}}while(!r.content.trimStartAborted(e))}return this};p.prototype.trimEnd=function trimEnd(e){var t=new RegExp((e||"\\s")+"+$");var r;var i=this.sources.length-1;do{r=this.sources[i--];if(!r){this.intro=this.intro.replace(t,"");break}}while(!r.content.trimEndAborted(e));return this};h.Bundle=p;h.default=h;e.exports=h},872:function(e){"use strict";e.exports=function(e){return class extends e{readInt(e,t){if(t!=null)return super.readInt(e,t);let r=this.pos,i=0,n=false;for(;;){let t=this.input.charCodeAt(this.pos),r;if(t>=97)r=t-97+10;else if(t==95){if(!n)this.raise(this.pos,"Invalid numeric separator");++this.pos;n=false;continue}else if(t>=65)r=t-65+10;else if(t>=48&&t<=57)r=t-48;else r=Infinity;if(r>=e)break;++this.pos;i=i*e+r;n=true}if(this.pos===r)return null;if(!n)this.raise(this.pos-1,"Invalid numeric separator");return i}readNumber(e){const t=super.readNumber(e);let r=this.end-this.start>=2&&this.input.charCodeAt(this.start)===48;const i=this.getNumberInput(this.start,this.end);if(i.length>=1;var _=b?-p:p;if(h==0){r+=_;l.push(r)}else if(h===1){i+=_;l.push(i)}else if(h===2){n+=_;l.push(n)}else if(h===3){s+=_;l.push(s)}else if(h===4){a+=_;l.push(a)}h++;p=c=0}}}if(l.length)o.push(new Int32Array(l));u.push(o);return u}function encode(e){var t=0;var r=0;var i=0;var n=0;var s="";for(var a=0;a0)s+=";";if(u.length===0)continue;var o=0;var l=[];for(var f=0,h=u;f1){p+=encodeInteger(c[1]-t)+encodeInteger(c[2]-r)+encodeInteger(c[3]-i);t=c[1];r=c[2];i=c[3]}if(c.length===5){p+=encodeInteger(c[4]-n);n=c[4]}l.push(p)}s+=l.join(",")}return s}function encodeInteger(e){var t="";e=e<0?-e<<1|1:e<<1;do{var i=e&31;e>>=5;if(e>0){i|=32}t+=r[i]}while(e>0);return t}e.decode=decode;e.encode=encode;Object.defineProperty(e,"__esModule",{value:true})})},906:function(e,t,r){"use strict";const i=r(996).tokTypes;const n=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;const s=e=>{n.lastIndex=e.pos;let t=n.exec(e.input);let r=e.pos+t[0].length;return e.input.slice(r,r+1)==="."};e.exports=function(e){return class extends e{parseExprAtom(e){if(this.type!==i._import||!s(this))return super.parseExprAtom(e);if(!this.options.allowImportExportEverywhere&&!this.inModule){this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")}let t=this.startNode();if(this.containsEsc)this.raiseRecoverable(this.start,"Escape sequence in keyword import");t.meta=this.parseIdent(true);this.expect(i.dot);t.property=this.parseIdent(true);if(t.property.name!=="meta"){this.raiseRecoverable(t.property.start,"The only valid meta property for import is import.meta")}if(this.containsEsc){this.raiseRecoverable(t.property.start,'"meta" in import.meta must not contain escape sequences')}return this.finishNode(t,"MetaProperty")}parseStatement(e,t,r){if(this.type!==i._import||!s(this)){return super.parseStatement(e,t,r)}let n=this.startNode();let a=this.parseExpression();return this.parseExpressionStatement(n,a)}}}},922:function(e,t,r){t.alphasort=alphasort;t.alphasorti=alphasorti;t.setopts=setopts;t.ownProp=ownProp;t.makeAbs=makeAbs;t.finish=finish;t.mark=mark;t.isIgnored=isIgnored;t.childrenIgnored=childrenIgnored;function ownProp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var i=r(589);var n=r(620);var s=r(969);var a=n.Minimatch;function alphasorti(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}function alphasort(e,t){return e.localeCompare(t)}function setupIgnores(e,t){e.ignore=t.ignore||[];if(!Array.isArray(e.ignore))e.ignore=[e.ignore];if(e.ignore.length){e.ignore=e.ignore.map(ignoreMap)}}function ignoreMap(e){var t=null;if(e.slice(-3)==="/**"){var r=e.replace(/(\/\*\*)+$/,"");t=new a(r,{dot:true})}return{matcher:new a(e,{dot:true}),gmatcher:t}}function setopts(e,t,r){if(!r)r={};if(r.matchBase&&-1===t.indexOf("/")){if(r.noglobstar){throw new Error("base matching requires globstar")}t="**/"+t}e.silent=!!r.silent;e.pattern=t;e.strict=r.strict!==false;e.realpath=!!r.realpath;e.realpathCache=r.realpathCache||Object.create(null);e.follow=!!r.follow;e.dot=!!r.dot;e.mark=!!r.mark;e.nodir=!!r.nodir;if(e.nodir)e.mark=true;e.sync=!!r.sync;e.nounique=!!r.nounique;e.nonull=!!r.nonull;e.nosort=!!r.nosort;e.nocase=!!r.nocase;e.stat=!!r.stat;e.noprocess=!!r.noprocess;e.absolute=!!r.absolute;e.maxLength=r.maxLength||Infinity;e.cache=r.cache||Object.create(null);e.statCache=r.statCache||Object.create(null);e.symlinks=r.symlinks||Object.create(null);setupIgnores(e,r);e.changedCwd=false;var n=process.cwd();if(!ownProp(r,"cwd"))e.cwd=n;else{e.cwd=i.resolve(r.cwd);e.changedCwd=e.cwd!==n}e.root=r.root||i.resolve(e.cwd,"/");e.root=i.resolve(e.root);if(process.platform==="win32")e.root=e.root.replace(/\\/g,"/");e.cwdAbs=s(e.cwd)?e.cwd:makeAbs(e,e.cwd);if(process.platform==="win32")e.cwdAbs=e.cwdAbs.replace(/\\/g,"/");e.nomount=!!r.nomount;r.nonegate=true;r.nocomment=true;e.minimatch=new a(t,r);e.options=e.minimatch.options}function finish(e){var t=e.nounique;var r=t?[]:Object.create(null);for(var i=0,n=e.matches.length;i0){if(typeof t!=="string"&&!s.objectMode&&Object.getPrototypeOf(t)!==l.prototype){t=_uint8ArrayToBuffer(t)}if(i){if(s.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,s,t,true)}else if(s.ended){e.emit("error",new Error("stream.push() after EOF"))}else{s.reading=false;if(s.decoder&&!r){t=s.decoder.write(t);if(s.objectMode||t.length!==0)addChunk(e,s,t,false);else maybeReadMore(e,s)}else{addChunk(e,s,t,false)}}}else if(!i){s.reading=false}}return needMoreData(s)}function addChunk(e,t,r,i){if(t.flowing&&t.length===0&&!t.sync){e.emit("data",r);e.read(0)}else{t.length+=t.objectMode?1:r.length;if(i)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!=="string"&&t!==undefined&&!e.objectMode){r=new TypeError("Invalid non-string/buffer chunk")}return r}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=b){e=b}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended)){p("read: emitReadable",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var i=t.needReadable;p("need readable",i);if(t.length===0||t.length-e0)n=fromList(e,t);else n=null;if(n===null){t.needReadable=true;e=0}else{t.length-=e}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(n!==null)this.emit("data",n);return n};function onEofChunk(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;emitReadable(e)}function emitReadable(e){var t=e._readableState;t.needReadable=false;if(!t.emittedReadable){p("emitReadable",t.flowing);t.emittedReadable=true;if(t.sync)i.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;i.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){var r=t.length;while(!t.reading&&!t.flowing&&!t.ended&&t.length1&&indexOf(n.pipes,e)!==-1)&&!l){p("false write response, pause",r._readableState.awaitDrain);r._readableState.awaitDrain++;f=true}r.pause()}}function onerror(t){p("onerror",t);unpipe();e.removeListener("error",onerror);if(u(e,"error")===0)e.emit("error",t)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");r.unpipe(e)}e.emit("pipe",r);if(!n.flowing){p("pipe resume");r.resume()}return e};function pipeOnDrain(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&u(e,"data")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit("unpipe",this,r);return this}if(!e){var i=t.pipes;var n=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var s=0;s=t.length){if(t.decoder)r=t.buffer.join("");else if(t.buffer.length===1)r=t.buffer.head.data;else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=fromListPartial(e,t.buffer,t.decoder)}return r}function fromListPartial(e,t,r){var i;if(es.length?s.length:e;if(a===s.length)n+=s;else n+=s.slice(0,e);e-=a;if(e===0){if(a===s.length){++i;if(r.next)t.head=r.next;else t.head=t.tail=null}else{t.head=r;r.data=s.slice(a)}break}++i}t.length-=i;return n}function copyFromBuffer(e,t){var r=l.allocUnsafe(e);var i=t.head;var n=1;i.data.copy(r);e-=i.data.length;while(i=i.next){var s=i.data;var a=e>s.length?s.length:e;s.copy(r,r.length-e,0,a);e-=a;if(e===0){if(a===s.length){++n;if(i.next)t.head=i.next;else t.head=t.tail=null}else{t.head=i;i.data=s.slice(a)}break}++n}t.length-=n;return r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!t.endEmitted){t.ended=true;i.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit("end")}}function indexOf(e,t){for(var r=0,i=e.length;r")return{test:n.test,then:n.then>s,else:n.else>s};if(r===">=")return{test:n.test,then:n.then>=s,else:n.else>=s};if(r==="|")return{test:n.test,then:n.then|s,else:n.else|s};if(r==="&")return{test:n.test,then:n.then&s,else:n.else&s};if(r==="^")return{test:n.test,then:n.then^s,else:n.else^s};if(r==="&&")return{test:n.test,then:n.then&&s,else:n.else&&s};if(r==="||")return{test:n.test,then:n.then||s,else:n.else||s}}else if("test"in s){n=n.value;if(r==="==")return{test:s.test,then:n==s.then,else:n==s.else};if(r==="===")return{test:s.test,then:n===s.then,else:n===s.else};if(r==="!=")return{test:s.test,then:n!=s.then,else:n!=s.else};if(r==="!==")return{test:s.test,then:n!==s.then,else:n!==s.else};if(r==="+")return{test:s.test,then:n+s.then,else:n+s.else};if(r==="-")return{test:s.test,then:n-s.then,else:n-s.else};if(r==="*")return{test:s.test,then:n*s.then,else:n*s.else};if(r==="/")return{test:s.test,then:n/s.then,else:n/s.else};if(r==="%")return{test:s.test,then:n%s.then,else:n%s.else};if(r==="<")return{test:s.test,then:n")return{test:s.test,then:n>s.then,else:n>s.else};if(r===">=")return{test:s.test,then:n>=s.then,else:n>=s.else};if(r==="|")return{test:s.test,then:n|s.then,else:n|s.else};if(r==="&")return{test:s.test,then:n&s.then,else:n&s.else};if(r==="^")return{test:s.test,then:n^s.then,else:n^s.else};if(r==="&&")return{test:s.test,then:n&&s.then,else:n&&s.else};if(r==="||")return{test:s.test,then:n||s.then,else:n||s.else}}else{if(r==="==")return{value:n.value==s.value};if(r==="===")return{value:n.value===s.value};if(r==="!=")return{value:n.value!=s.value};if(r==="!==")return{value:n.value!==s.value};if(r==="+"){const e={value:n.value+s.value};if(n.wildcards||s.wildcards)e.wildcards=[...n.wildcards||[],...s.wildcards||[]];return e}if(r==="-")return{value:n.value-s.value};if(r==="*")return{value:n.value*s.value};if(r==="/")return{value:n.value/s.value};if(r==="%")return{value:n.value%s.value};if(r==="<")return{value:n.value")return{value:n.value>s.value};if(r===">=")return{value:n.value>=s.value};if(r==="|")return{value:n.value|s.value};if(r==="&")return{value:n.value&s.value};if(r==="^")return{value:n.value^s.value};if(r==="&&")return{value:n.value&&s.value};if(r==="||")return{value:n.value||s.value}}return},CallExpression(e,n){const s=n(e.callee);if(!s||"test"in s)return;let a=s.value;if(typeof a==="object"&&a!==null)a=a[r];if(typeof a!=="function")return;const u=e.callee.object&&n(e.callee.object).value||null;let o;let l=[];let f;let h=e.arguments.length>0;const c=[];for(let t=0,r=e.arguments.length;tc.push(e))}else{if(!this.computeBranches)return;r={value:i};c.push(e.arguments[t])}if("test"in r){if(c.length)return;if(o)return;o=r.test;f=l.concat([]);l.push(r.then);f.push(r.else)}else{l.push(r.value);if(f)f.push(r.value)}}if(h)return;try{const e=a.apply(u,l);if(e===t)return;if(!o){if(c.length){if(typeof e!=="string"||countWildcards(e)!==c.length)return;return{value:e,wildcards:c}}return{value:e}}const r=a.apply(u,f);if(e===t)return;return{test:o,then:e,else:r}}catch(e){return}},ConditionalExpression(e,t){const r=t(e.test);if(r&&"value"in r)return r.value?t(e.consequent):t(e.alternate);if(!this.computeBranches)return;const i=t(e.consequent);if(!i||"wildcards"in i||"test"in i)return;const n=t(e.alternate);if(!n||"wildcards"in n||"test"in n)return;return{test:e.test,then:i.value,else:n.value}},ExpressionStatement(e,t){return t(e.expression)},Identifier(e){this.sawIdentifier=true;if(Object.hasOwnProperty.call(this.vars,e.name)){const r=this.vars[e.name];if(r===t)return;return{value:r}}return},Literal(e){return{value:e.value}},MemberExpression(e,r){const i=r(e.object);if(!i||"test"in i||typeof i.value==="function")return;if(e.property.type==="Identifier"){if(typeof i.value==="object"&&i.value!==null){if(e.property.name in i.value){const r=i.value[e.property.name];if(r===t)return;return{value:r}}else if(i.value[t])return}else{return{value:undefined}}}const n=r(e.property);if(!n||"test"in n)return;if(typeof i.value==="object"&&i.value!==null){if(n.value in i.value){const e=i.value[n.value];if(e===t)return;return{value:e}}else if(i.value[t]){return}}else{return{value:undefined}}},ObjectExpression(e,r){const i={};for(let n=0;n=t)return e;var n="";var s=i(r);if(s=t)return e;var n="";var s=i(r);if(s=t)return e;var n="";var s="";var a=i(r);if(ae){return false}r+=t[i+1];if(r>=e){return true}}}function isIdentifierStart(e,t){if(e<65){return e===36}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&u.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,l)}function isIdentifierChar(e,t){if(e<48){return e===36}if(e<58){return true}if(e<65){return false}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&o.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,l)||isInAstralSet(e,f)}var h=function TokenType(e,t){if(t===void 0)t={};this.label=e;this.keyword=t.keyword;this.beforeExpr=!!t.beforeExpr;this.startsExpr=!!t.startsExpr;this.isLoop=!!t.isLoop;this.isAssign=!!t.isAssign;this.prefix=!!t.prefix;this.postfix=!!t.postfix;this.binop=t.binop||null;this.updateContext=null};function binop(e,t){return new h(e,{beforeExpr:true,binop:t})}var c={beforeExpr:true},p={startsExpr:true};var d={};function kw(e,t){if(t===void 0)t={};t.keyword=e;return d[e]=new h(e,t)}var v={num:new h("num",p),regexp:new h("regexp",p),string:new h("string",p),name:new h("name",p),eof:new h("eof"),bracketL:new h("[",{beforeExpr:true,startsExpr:true}),bracketR:new h("]"),braceL:new h("{",{beforeExpr:true,startsExpr:true}),braceR:new h("}"),parenL:new h("(",{beforeExpr:true,startsExpr:true}),parenR:new h(")"),comma:new h(",",c),semi:new h(";",c),colon:new h(":",c),dot:new h("."),question:new h("?",c),arrow:new h("=>",c),template:new h("template"),invalidTemplate:new h("invalidTemplate"),ellipsis:new h("...",c),backQuote:new h("`",p),dollarBraceL:new h("${",{beforeExpr:true,startsExpr:true}),eq:new h("=",{beforeExpr:true,isAssign:true}),assign:new h("_=",{beforeExpr:true,isAssign:true}),incDec:new h("++/--",{prefix:true,postfix:true,startsExpr:true}),prefix:new h("!/~",{beforeExpr:true,prefix:true,startsExpr:true}),logicalOR:binop("||",1),logicalAND:binop("&&",2),bitwiseOR:binop("|",3),bitwiseXOR:binop("^",4),bitwiseAND:binop("&",5),equality:binop("==/!=/===/!==",6),relational:binop("/<=/>=",7),bitShift:binop("<>/>>>",8),plusMin:new h("+/-",{beforeExpr:true,binop:9,prefix:true,startsExpr:true}),modulo:binop("%",10),star:binop("*",10),slash:binop("/",10),starstar:new h("**",{beforeExpr:true}),_break:kw("break"),_case:kw("case",c),_catch:kw("catch"),_continue:kw("continue"),_debugger:kw("debugger"),_default:kw("default",c),_do:kw("do",{isLoop:true,beforeExpr:true}),_else:kw("else",c),_finally:kw("finally"),_for:kw("for",{isLoop:true}),_function:kw("function",p),_if:kw("if"),_return:kw("return",c),_switch:kw("switch"),_throw:kw("throw",c),_try:kw("try"),_var:kw("var"),_const:kw("const"),_while:kw("while",{isLoop:true}),_with:kw("with"),_new:kw("new",{beforeExpr:true,startsExpr:true}),_this:kw("this",p),_super:kw("super",p),_class:kw("class",p),_extends:kw("extends",c),_export:kw("export"),_import:kw("import",p),_null:kw("null",p),_true:kw("true",p),_false:kw("false",p),_in:kw("in",{beforeExpr:true,binop:7}),_instanceof:kw("instanceof",{beforeExpr:true,binop:7}),_typeof:kw("typeof",{beforeExpr:true,prefix:true,startsExpr:true}),_void:kw("void",{beforeExpr:true,prefix:true,startsExpr:true}),_delete:kw("delete",{beforeExpr:true,prefix:true,startsExpr:true})};var y=/\r\n?|\n|\u2028|\u2029/;var g=new RegExp(y.source,"g");function isNewLine(e,t){return e===10||e===13||!t&&(e===8232||e===8233)}var b=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;var _=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;var m=Object.prototype;var E=m.hasOwnProperty;var D=m.toString;function has(e,t){return E.call(e,t)}var w=Array.isArray||function(e){return D.call(e)==="[object Array]"};function wordsRegexp(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var A=function Position(e,t){this.line=e;this.column=t};A.prototype.offset=function offset(e){return new A(this.line,this.column+e)};var C=function SourceLocation(e,t,r){this.start=t;this.end=r;if(e.sourceFile!==null){this.source=e.sourceFile}};function getLineInfo(e,t){for(var r=1,i=0;;){g.lastIndex=i;var n=g.exec(e);if(n&&n.index=2015){t.ecmaVersion-=2009}if(t.allowReserved==null){t.allowReserved=t.ecmaVersion<5}if(w(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}if(w(t.onComment)){t.onComment=pushComment(t,t.onComment)}return t}function pushComment(e,t){return function(r,i,n,s,a,u){var o={type:r?"Block":"Line",value:i,start:n,end:s};if(e.locations){o.loc=new C(this,a,u)}if(e.ranges){o.range=[n,s]}t.push(o)}}var S=1,k=2,F=S|k,R=4,T=8,O=16,I=32,B=64,N=128;function functionFlags(e,t){return k|(e?R:0)|(t?T:0)}var L=0,P=1,j=2,q=3,$=4,M=5;var U=function Parser(e,r,n){this.options=e=getOptions(e);this.sourceFile=e.sourceFile;this.keywords=wordsRegexp(i[e.ecmaVersion>=6?6:e.sourceType==="module"?"5module":5]);var s="";if(e.allowReserved!==true){for(var a=e.ecmaVersion;;a--){if(s=t[a]){break}}if(e.sourceType==="module"){s+=" await"}}this.reservedWords=wordsRegexp(s);var u=(s?s+" ":"")+t.strict;this.reservedWordsStrict=wordsRegexp(u);this.reservedWordsStrictBind=wordsRegexp(u+" "+t.strictBind);this.input=String(r);this.containsEsc=false;if(n){this.pos=n;this.lineStart=this.input.lastIndexOf("\n",n-1)+1;this.curLine=this.input.slice(0,this.lineStart).split(y).length}else{this.pos=this.lineStart=0;this.curLine=1}this.type=v.eof;this.value=null;this.start=this.end=this.pos;this.startLoc=this.endLoc=this.curPosition();this.lastTokEndLoc=this.lastTokStartLoc=null;this.lastTokStart=this.lastTokEnd=this.pos;this.context=this.initialContext();this.exprAllowed=true;this.inModule=e.sourceType==="module";this.strict=this.inModule||this.strictDirective(this.pos);this.potentialArrowAt=-1;this.yieldPos=this.awaitPos=this.awaitIdentPos=0;this.labels=[];this.undefinedExports={};if(this.pos===0&&e.allowHashBang&&this.input.slice(0,2)==="#!"){this.skipLineComment(2)}this.scopeStack=[];this.enterScope(S);this.regexpState=null};var H={inFunction:{configurable:true},inGenerator:{configurable:true},inAsync:{configurable:true},allowSuper:{configurable:true},allowDirectSuper:{configurable:true},treatFunctionsAsVar:{configurable:true}};U.prototype.parse=function parse(){var e=this.options.program||this.startNode();this.nextToken();return this.parseTopLevel(e)};H.inFunction.get=function(){return(this.currentVarScope().flags&k)>0};H.inGenerator.get=function(){return(this.currentVarScope().flags&T)>0};H.inAsync.get=function(){return(this.currentVarScope().flags&R)>0};H.allowSuper.get=function(){return(this.currentThisScope().flags&B)>0};H.allowDirectSuper.get=function(){return(this.currentThisScope().flags&N)>0};H.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())};U.prototype.inNonArrowFunction=function inNonArrowFunction(){return(this.currentThisScope().flags&k)>0};U.extend=function extend(){var e=[],t=arguments.length;while(t--)e[t]=arguments[t];var r=this;for(var i=0;i-1){this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element")}var r=t?e.parenthesizedAssign:e.parenthesizedBind;if(r>-1){this.raiseRecoverable(r,"Parenthesized pattern")}};W.checkExpressionErrors=function(e,t){if(!e){return false}var r=e.shorthandAssign;var i=e.doubleProto;if(!t){return r>=0||i>=0}if(r>=0){this.raise(r,"Shorthand property assignments are valid only in destructuring patterns")}if(i>=0){this.raiseRecoverable(i,"Redefinition of __proto__ property")}};W.checkYieldAwaitInDefaultParams=function(){if(this.yieldPos&&(!this.awaitPos||this.yieldPos=6){this.unexpected()}return this.parseFunctionStatement(n,false,!e);case v._class:if(e){this.unexpected()}return this.parseClass(n,true);case v._if:return this.parseIfStatement(n);case v._return:return this.parseReturnStatement(n);case v._switch:return this.parseSwitchStatement(n);case v._throw:return this.parseThrowStatement(n);case v._try:return this.parseTryStatement(n);case v._const:case v._var:s=s||this.value;if(e&&s!=="var"){this.unexpected()}return this.parseVarStatement(n,s);case v._while:return this.parseWhileStatement(n);case v._with:return this.parseWithStatement(n);case v.braceL:return this.parseBlock(true,n);case v.semi:return this.parseEmptyStatement(n);case v._export:case v._import:if(this.options.ecmaVersion>10&&i===v._import){_.lastIndex=this.pos;var a=_.exec(this.input);var u=this.pos+a[0].length,o=this.input.charCodeAt(u);if(o===40){return this.parseExpressionStatement(n,this.parseExpression())}}if(!this.options.allowImportExportEverywhere){if(!t){this.raise(this.start,"'import' and 'export' may only appear at the top level")}if(!this.inModule){this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")}}return i===v._import?this.parseImport(n):this.parseExport(n,r);default:if(this.isAsyncFunction()){if(e){this.unexpected()}this.next();return this.parseFunctionStatement(n,true,!e)}var l=this.value,f=this.parseExpression();if(i===v.name&&f.type==="Identifier"&&this.eat(v.colon)){return this.parseLabeledStatement(n,l,f,e)}else{return this.parseExpressionStatement(n,f)}}};V.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next();if(this.eat(v.semi)||this.insertSemicolon()){e.label=null}else if(this.type!==v.name){this.unexpected()}else{e.label=this.parseIdent();this.semicolon()}var i=0;for(;i=6){this.eat(v.semi)}else{this.semicolon()}return this.finishNode(e,"DoWhileStatement")};V.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;this.labels.push(z);this.enterScope(0);this.expect(v.parenL);if(this.type===v.semi){if(t>-1){this.unexpected(t)}return this.parseFor(e,null)}var r=this.isLet();if(this.type===v._var||this.type===v._const||r){var i=this.startNode(),n=r?"let":this.value;this.next();this.parseVar(i,true,n);this.finishNode(i,"VariableDeclaration");if((this.type===v._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&i.declarations.length===1){if(this.options.ecmaVersion>=9){if(this.type===v._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}return this.parseForIn(e,i)}if(t>-1){this.unexpected(t)}return this.parseFor(e,i)}var s=new DestructuringErrors;var a=this.parseExpression(true,s);if(this.type===v._in||this.options.ecmaVersion>=6&&this.isContextual("of")){if(this.options.ecmaVersion>=9){if(this.type===v._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}this.toAssignable(a,false,s);this.checkLVal(a);return this.parseForIn(e,a)}else{this.checkExpressionErrors(s,true)}if(t>-1){this.unexpected(t)}return this.parseFor(e,a)};V.parseFunctionStatement=function(e,t,r){this.next();return this.parseFunction(e,X|(r?0:Z),false,t)};V.parseIfStatement=function(e){this.next();e.test=this.parseParenExpression();e.consequent=this.parseStatement("if");e.alternate=this.eat(v._else)?this.parseStatement("if"):null;return this.finishNode(e,"IfStatement")};V.parseReturnStatement=function(e){if(!this.inFunction&&!this.options.allowReturnOutsideFunction){this.raise(this.start,"'return' outside of function")}this.next();if(this.eat(v.semi)||this.insertSemicolon()){e.argument=null}else{e.argument=this.parseExpression();this.semicolon()}return this.finishNode(e,"ReturnStatement")};V.parseSwitchStatement=function(e){this.next();e.discriminant=this.parseParenExpression();e.cases=[];this.expect(v.braceL);this.labels.push(K);this.enterScope(0);var t;for(var r=false;this.type!==v.braceR;){if(this.type===v._case||this.type===v._default){var i=this.type===v._case;if(t){this.finishNode(t,"SwitchCase")}e.cases.push(t=this.startNode());t.consequent=[];this.next();if(i){t.test=this.parseExpression()}else{if(r){this.raiseRecoverable(this.lastTokStart,"Multiple default clauses")}r=true;t.test=null}this.expect(v.colon)}else{if(!t){this.unexpected()}t.consequent.push(this.parseStatement(null))}}this.exitScope();if(t){this.finishNode(t,"SwitchCase")}this.next();this.labels.pop();return this.finishNode(e,"SwitchStatement")};V.parseThrowStatement=function(e){this.next();if(y.test(this.input.slice(this.lastTokEnd,this.start))){this.raise(this.lastTokEnd,"Illegal newline after throw")}e.argument=this.parseExpression();this.semicolon();return this.finishNode(e,"ThrowStatement")};var Q=[];V.parseTryStatement=function(e){this.next();e.block=this.parseBlock();e.handler=null;if(this.type===v._catch){var t=this.startNode();this.next();if(this.eat(v.parenL)){t.param=this.parseBindingAtom();var r=t.param.type==="Identifier";this.enterScope(r?I:0);this.checkLVal(t.param,r?$:j);this.expect(v.parenR)}else{if(this.options.ecmaVersion<10){this.unexpected()}t.param=null;this.enterScope(0)}t.body=this.parseBlock(false);this.exitScope();e.handler=this.finishNode(t,"CatchClause")}e.finalizer=this.eat(v._finally)?this.parseBlock():null;if(!e.handler&&!e.finalizer){this.raise(e.start,"Missing catch or finally clause")}return this.finishNode(e,"TryStatement")};V.parseVarStatement=function(e,t){this.next();this.parseVar(e,false,t);this.semicolon();return this.finishNode(e,"VariableDeclaration")};V.parseWhileStatement=function(e){this.next();e.test=this.parseParenExpression();this.labels.push(z);e.body=this.parseStatement("while");this.labels.pop();return this.finishNode(e,"WhileStatement")};V.parseWithStatement=function(e){if(this.strict){this.raise(this.start,"'with' in strict mode")}this.next();e.object=this.parseParenExpression();e.body=this.parseStatement("with");return this.finishNode(e,"WithStatement")};V.parseEmptyStatement=function(e){this.next();return this.finishNode(e,"EmptyStatement")};V.parseLabeledStatement=function(e,t,r,i){for(var n=0,s=this.labels;n=0;o--){var l=this.labels[o];if(l.statementStart===e.start){l.statementStart=this.start;l.kind=u}else{break}}this.labels.push({name:t,kind:u,statementStart:this.start});e.body=this.parseStatement(i?i.indexOf("label")===-1?i+"label":i:"label");this.labels.pop();e.label=r;return this.finishNode(e,"LabeledStatement")};V.parseExpressionStatement=function(e,t){e.expression=t;this.semicolon();return this.finishNode(e,"ExpressionStatement")};V.parseBlock=function(e,t){if(e===void 0)e=true;if(t===void 0)t=this.startNode();t.body=[];this.expect(v.braceL);if(e){this.enterScope(0)}while(!this.eat(v.braceR)){var r=this.parseStatement(null);t.body.push(r)}if(e){this.exitScope()}return this.finishNode(t,"BlockStatement")};V.parseFor=function(e,t){e.init=t;this.expect(v.semi);e.test=this.type===v.semi?null:this.parseExpression();this.expect(v.semi);e.update=this.type===v.parenR?null:this.parseExpression();this.expect(v.parenR);e.body=this.parseStatement("for");this.exitScope();this.labels.pop();return this.finishNode(e,"ForStatement")};V.parseForIn=function(e,t){var r=this.type===v._in;this.next();if(t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")){this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer")}else if(t.type==="AssignmentPattern"){this.raise(t.start,"Invalid left-hand side in for-loop")}e.left=t;e.right=r?this.parseExpression():this.parseMaybeAssign();this.expect(v.parenR);e.body=this.parseStatement("for");this.exitScope();this.labels.pop();return this.finishNode(e,r?"ForInStatement":"ForOfStatement")};V.parseVar=function(e,t,r){e.declarations=[];e.kind=r;for(;;){var i=this.startNode();this.parseVarId(i,r);if(this.eat(v.eq)){i.init=this.parseMaybeAssign(t)}else if(r==="const"&&!(this.type===v._in||this.options.ecmaVersion>=6&&this.isContextual("of"))){this.unexpected()}else if(i.id.type!=="Identifier"&&!(t&&(this.type===v._in||this.isContextual("of")))){this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value")}else{i.init=null}e.declarations.push(this.finishNode(i,"VariableDeclarator"));if(!this.eat(v.comma)){break}}return e};V.parseVarId=function(e,t){e.id=this.parseBindingAtom();this.checkLVal(e.id,t==="var"?P:j,false)};var X=1,Z=2,J=4;V.parseFunction=function(e,t,r,i){this.initFunction(e);if(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i){if(this.type===v.star&&t&Z){this.unexpected()}e.generator=this.eat(v.star)}if(this.options.ecmaVersion>=8){e.async=!!i}if(t&X){e.id=t&J&&this.type!==v.name?null:this.parseIdent();if(e.id&&!(t&Z)){this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?P:j:q)}}var n=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;this.enterScope(functionFlags(e.async,e.generator));if(!(t&X)){e.id=this.type===v.name?this.parseIdent():null}this.parseFunctionParams(e);this.parseFunctionBody(e,r,false);this.yieldPos=n;this.awaitPos=s;this.awaitIdentPos=a;return this.finishNode(e,t&X?"FunctionDeclaration":"FunctionExpression")};V.parseFunctionParams=function(e){this.expect(v.parenL);e.params=this.parseBindingList(v.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams()};V.parseClass=function(e,t){this.next();var r=this.strict;this.strict=true;this.parseClassId(e,t);this.parseClassSuper(e);var i=this.startNode();var n=false;i.body=[];this.expect(v.braceL);while(!this.eat(v.braceR)){var s=this.parseClassElement(e.superClass!==null);if(s){i.body.push(s);if(s.type==="MethodDefinition"&&s.kind==="constructor"){if(n){this.raise(s.start,"Duplicate constructor in the same class")}n=true}}}e.body=this.finishNode(i,"ClassBody");this.strict=r;return this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};V.parseClassElement=function(e){var t=this;if(this.eat(v.semi)){return null}var r=this.startNode();var i=function(e,i){if(i===void 0)i=false;var n=t.start,s=t.startLoc;if(!t.eatContextual(e)){return false}if(t.type!==v.parenL&&(!i||!t.canInsertSemicolon())){return true}if(r.key){t.unexpected()}r.computed=false;r.key=t.startNodeAt(n,s);r.key.name=e;t.finishNode(r.key,"Identifier");return false};r.kind="method";r.static=i("static");var n=this.eat(v.star);var s=false;if(!n){if(this.options.ecmaVersion>=8&&i("async",true)){s=true;n=this.options.ecmaVersion>=9&&this.eat(v.star)}else if(i("get")){r.kind="get"}else if(i("set")){r.kind="set"}}if(!r.key){this.parsePropertyName(r)}var a=r.key;var u=false;if(!r.computed&&!r.static&&(a.type==="Identifier"&&a.name==="constructor"||a.type==="Literal"&&a.value==="constructor")){if(r.kind!=="method"){this.raise(a.start,"Constructor can't have get/set modifier")}if(n){this.raise(a.start,"Constructor can't be a generator")}if(s){this.raise(a.start,"Constructor can't be an async method")}r.kind="constructor";u=e}else if(r.static&&a.type==="Identifier"&&a.name==="prototype"){this.raise(a.start,"Classes may not have a static property named prototype")}this.parseClassMethod(r,n,s,u);if(r.kind==="get"&&r.value.params.length!==0){this.raiseRecoverable(r.value.start,"getter should have no params")}if(r.kind==="set"&&r.value.params.length!==1){this.raiseRecoverable(r.value.start,"setter should have exactly one param")}if(r.kind==="set"&&r.value.params[0].type==="RestElement"){this.raiseRecoverable(r.value.params[0].start,"Setter cannot use rest params")}return r};V.parseClassMethod=function(e,t,r,i){e.value=this.parseMethod(t,r,i);return this.finishNode(e,"MethodDefinition")};V.parseClassId=function(e,t){if(this.type===v.name){e.id=this.parseIdent();if(t){this.checkLVal(e.id,j,false)}}else{if(t===true){this.unexpected()}e.id=null}};V.parseClassSuper=function(e){e.superClass=this.eat(v._extends)?this.parseExprSubscripts():null};V.parseExport=function(e,t){this.next();if(this.eat(v.star)){this.expectContextual("from");if(this.type!==v.string){this.unexpected()}e.source=this.parseExprAtom();this.semicolon();return this.finishNode(e,"ExportAllDeclaration")}if(this.eat(v._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===v._function||(r=this.isAsyncFunction())){var i=this.startNode();this.next();if(r){this.next()}e.declaration=this.parseFunction(i,X|J,false,r)}else if(this.type===v._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else{e.declaration=this.parseMaybeAssign();this.semicolon()}return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement()){e.declaration=this.parseStatement(null);if(e.declaration.type==="VariableDeclaration"){this.checkVariableExport(t,e.declaration.declarations)}else{this.checkExport(t,e.declaration.id.name,e.declaration.id.start)}e.specifiers=[];e.source=null}else{e.declaration=null;e.specifiers=this.parseExportSpecifiers(t);if(this.eatContextual("from")){if(this.type!==v.string){this.unexpected()}e.source=this.parseExprAtom()}else{for(var s=0,a=e.specifiers;s=6&&e){switch(e.type){case"Identifier":if(this.inAsync&&e.name==="await"){this.raise(e.start,"Cannot use 'await' as identifier inside an async function")}break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern";if(r){this.checkPatternErrors(r,true)}for(var i=0,n=e.properties;i=8&&!s&&a.name==="async"&&!this.canInsertSemicolon()&&this.eat(v._function)){return this.parseFunction(this.startNodeAt(i,n),0,false,true)}if(r&&!this.canInsertSemicolon()){if(this.eat(v.arrow)){return this.parseArrowExpression(this.startNodeAt(i,n),[a],false)}if(this.options.ecmaVersion>=8&&a.name==="async"&&this.type===v.name&&!s){a=this.parseIdent(false);if(this.canInsertSemicolon()||!this.eat(v.arrow)){this.unexpected()}return this.parseArrowExpression(this.startNodeAt(i,n),[a],true)}}return a;case v.regexp:var u=this.value;t=this.parseLiteral(u.value);t.regex={pattern:u.pattern,flags:u.flags};return t;case v.num:case v.string:return this.parseLiteral(this.value);case v._null:case v._true:case v._false:t=this.startNode();t.value=this.type===v._null?null:this.type===v._true;t.raw=this.type.keyword;this.next();return this.finishNode(t,"Literal");case v.parenL:var o=this.start,l=this.parseParenAndDistinguishExpression(r);if(e){if(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)){e.parenthesizedAssign=o}if(e.parenthesizedBind<0){e.parenthesizedBind=o}}return l;case v.bracketL:t=this.startNode();this.next();t.elements=this.parseExprList(v.bracketR,true,true,e);return this.finishNode(t,"ArrayExpression");case v.braceL:return this.parseObj(false,e);case v._function:t=this.startNode();this.next();return this.parseFunction(t,0);case v._class:return this.parseClass(this.startNode(),false);case v._new:return this.parseNew();case v.backQuote:return this.parseTemplate();case v._import:if(this.options.ecmaVersion>=11){return this.parseExprImport()}else{return this.unexpected()}default:this.unexpected()}};ee.parseExprImport=function(){var e=this.startNode();this.next();switch(this.type){case v.parenL:return this.parseDynamicImport(e);default:this.unexpected()}};ee.parseDynamicImport=function(e){this.next();e.source=this.parseMaybeAssign();if(!this.eat(v.parenR)){var t=this.start;if(this.eat(v.comma)&&this.eat(v.parenR)){this.raiseRecoverable(t,"Trailing comma is not allowed in import()")}else{this.unexpected(t)}}return this.finishNode(e,"ImportExpression")};ee.parseLiteral=function(e){var t=this.startNode();t.value=e;t.raw=this.input.slice(this.start,this.end);if(t.raw.charCodeAt(t.raw.length-1)===110){t.bigint=t.raw.slice(0,-1)}this.next();return this.finishNode(t,"Literal")};ee.parseParenExpression=function(){this.expect(v.parenL);var e=this.parseExpression();this.expect(v.parenR);return e};ee.parseParenAndDistinguishExpression=function(e){var t=this.start,r=this.startLoc,i,n=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s=this.start,a=this.startLoc;var u=[],o=true,l=false;var f=new DestructuringErrors,h=this.yieldPos,c=this.awaitPos,p;this.yieldPos=0;this.awaitPos=0;while(this.type!==v.parenR){o?o=false:this.expect(v.comma);if(n&&this.afterTrailingComma(v.parenR,true)){l=true;break}else if(this.type===v.ellipsis){p=this.start;u.push(this.parseParenItem(this.parseRestBinding()));if(this.type===v.comma){this.raise(this.start,"Comma is not permitted after the rest element")}break}else{u.push(this.parseMaybeAssign(false,f,this.parseParenItem))}}var d=this.start,y=this.startLoc;this.expect(v.parenR);if(e&&!this.canInsertSemicolon()&&this.eat(v.arrow)){this.checkPatternErrors(f,false);this.checkYieldAwaitInDefaultParams();this.yieldPos=h;this.awaitPos=c;return this.parseParenArrowList(t,r,u)}if(!u.length||l){this.unexpected(this.lastTokStart)}if(p){this.unexpected(p)}this.checkExpressionErrors(f,true);this.yieldPos=h||this.yieldPos;this.awaitPos=c||this.awaitPos;if(u.length>1){i=this.startNodeAt(s,a);i.expressions=u;this.finishNodeAt(i,"SequenceExpression",d,y)}else{i=u[0]}}else{i=this.parseParenExpression()}if(this.options.preserveParens){var g=this.startNodeAt(t,r);g.expression=i;return this.finishNode(g,"ParenthesizedExpression")}else{return i}};ee.parseParenItem=function(e){return e};ee.parseParenArrowList=function(e,t,r){return this.parseArrowExpression(this.startNodeAt(e,t),r)};var te=[];ee.parseNew=function(){if(this.containsEsc){this.raiseRecoverable(this.start,"Escape sequence in keyword new")}var e=this.startNode();var t=this.parseIdent(true);if(this.options.ecmaVersion>=6&&this.eat(v.dot)){e.meta=t;var r=this.containsEsc;e.property=this.parseIdent(true);if(e.property.name!=="target"||r){this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target")}if(!this.inNonArrowFunction()){this.raiseRecoverable(e.start,"new.target can only be used in functions")}return this.finishNode(e,"MetaProperty")}var i=this.start,n=this.startLoc,s=this.type===v._import;e.callee=this.parseSubscripts(this.parseExprAtom(),i,n,true);if(s&&e.callee.type==="ImportExpression"){this.raise(i,"Cannot use new with import()")}if(this.eat(v.parenL)){e.arguments=this.parseExprList(v.parenR,this.options.ecmaVersion>=8,false)}else{e.arguments=te}return this.finishNode(e,"NewExpression")};ee.parseTemplateElement=function(e){var t=e.isTagged;var r=this.startNode();if(this.type===v.invalidTemplate){if(!t){this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal")}r.value={raw:this.value,cooked:null}}else{r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value}}this.next();r.tail=this.type===v.backQuote;return this.finishNode(r,"TemplateElement")};ee.parseTemplate=function(e){if(e===void 0)e={};var t=e.isTagged;if(t===void 0)t=false;var r=this.startNode();this.next();r.expressions=[];var i=this.parseTemplateElement({isTagged:t});r.quasis=[i];while(!i.tail){if(this.type===v.eof){this.raise(this.pos,"Unterminated template literal")}this.expect(v.dollarBraceL);r.expressions.push(this.parseExpression());this.expect(v.braceR);r.quasis.push(i=this.parseTemplateElement({isTagged:t}))}this.next();return this.finishNode(r,"TemplateLiteral")};ee.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===v.name||this.type===v.num||this.type===v.string||this.type===v.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===v.star)&&!y.test(this.input.slice(this.lastTokEnd,this.start))};ee.parseObj=function(e,t){var r=this.startNode(),i=true,n={};r.properties=[];this.next();while(!this.eat(v.braceR)){if(!i){this.expect(v.comma);if(this.options.ecmaVersion>=5&&this.afterTrailingComma(v.braceR)){break}}else{i=false}var s=this.parseProperty(e,t);if(!e){this.checkPropClash(s,n,t)}r.properties.push(s)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")};ee.parseProperty=function(e,t){var r=this.startNode(),i,n,s,a;if(this.options.ecmaVersion>=9&&this.eat(v.ellipsis)){if(e){r.argument=this.parseIdent(false);if(this.type===v.comma){this.raise(this.start,"Comma is not permitted after the rest element")}return this.finishNode(r,"RestElement")}if(this.type===v.parenL&&t){if(t.parenthesizedAssign<0){t.parenthesizedAssign=this.start}if(t.parenthesizedBind<0){t.parenthesizedBind=this.start}}r.argument=this.parseMaybeAssign(false,t);if(this.type===v.comma&&t&&t.trailingComma<0){t.trailingComma=this.start}return this.finishNode(r,"SpreadElement")}if(this.options.ecmaVersion>=6){r.method=false;r.shorthand=false;if(e||t){s=this.start;a=this.startLoc}if(!e){i=this.eat(v.star)}}var u=this.containsEsc;this.parsePropertyName(r);if(!e&&!u&&this.options.ecmaVersion>=8&&!i&&this.isAsyncProp(r)){n=true;i=this.options.ecmaVersion>=9&&this.eat(v.star);this.parsePropertyName(r,t)}else{n=false}this.parsePropertyValue(r,e,i,n,s,a,t,u);return this.finishNode(r,"Property")};ee.parsePropertyValue=function(e,t,r,i,n,s,a,u){if((r||i)&&this.type===v.colon){this.unexpected()}if(this.eat(v.colon)){e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(false,a);e.kind="init"}else if(this.options.ecmaVersion>=6&&this.type===v.parenL){if(t){this.unexpected()}e.kind="init";e.method=true;e.value=this.parseMethod(r,i)}else if(!t&&!u&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&(this.type!==v.comma&&this.type!==v.braceR)){if(r||i){this.unexpected()}e.kind=e.key.name;this.parsePropertyName(e);e.value=this.parseMethod(false);var o=e.kind==="get"?0:1;if(e.value.params.length!==o){var l=e.value.start;if(e.kind==="get"){this.raiseRecoverable(l,"getter should have no params")}else{this.raiseRecoverable(l,"setter should have exactly one param")}}else{if(e.kind==="set"&&e.value.params[0].type==="RestElement"){this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}}}else if(this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"){if(r||i){this.unexpected()}this.checkUnreserved(e.key);if(e.key.name==="await"&&!this.awaitIdentPos){this.awaitIdentPos=n}e.kind="init";if(t){e.value=this.parseMaybeDefault(n,s,e.key)}else if(this.type===v.eq&&a){if(a.shorthandAssign<0){a.shorthandAssign=this.start}e.value=this.parseMaybeDefault(n,s,e.key)}else{e.value=e.key}e.shorthand=true}else{this.unexpected()}};ee.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(v.bracketL)){e.computed=true;e.key=this.parseMaybeAssign();this.expect(v.bracketR);return e.key}else{e.computed=false}}return e.key=this.type===v.num||this.type===v.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")};ee.initFunction=function(e){e.id=null;if(this.options.ecmaVersion>=6){e.generator=e.expression=false}if(this.options.ecmaVersion>=8){e.async=false}};ee.parseMethod=function(e,t,r){var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;this.initFunction(i);if(this.options.ecmaVersion>=6){i.generator=e}if(this.options.ecmaVersion>=8){i.async=!!t}this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;this.enterScope(functionFlags(t,i.generator)|B|(r?N:0));this.expect(v.parenL);i.params=this.parseBindingList(v.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams();this.parseFunctionBody(i,false,true);this.yieldPos=n;this.awaitPos=s;this.awaitIdentPos=a;return this.finishNode(i,"FunctionExpression")};ee.parseArrowExpression=function(e,t,r){var i=this.yieldPos,n=this.awaitPos,s=this.awaitIdentPos;this.enterScope(functionFlags(r,false)|O);this.initFunction(e);if(this.options.ecmaVersion>=8){e.async=!!r}this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;e.params=this.toAssignableList(t,true);this.parseFunctionBody(e,true,false);this.yieldPos=i;this.awaitPos=n;this.awaitIdentPos=s;return this.finishNode(e,"ArrowFunctionExpression")};ee.parseFunctionBody=function(e,t,r){var i=t&&this.type!==v.braceL;var n=this.strict,s=false;if(i){e.body=this.parseMaybeAssign();e.expression=true;this.checkParams(e,false)}else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);if(!n||a){s=this.strictDirective(this.end);if(s&&a){this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list")}}var u=this.labels;this.labels=[];if(s){this.strict=true}this.checkParams(e,!n&&!s&&!t&&!r&&this.isSimpleParamList(e.params));e.body=this.parseBlock(false);e.expression=false;this.adaptDirectivePrologue(e.body.body);this.labels=u}this.exitScope();if(this.strict&&e.id){this.checkLVal(e.id,M)}this.strict=n};ee.isSimpleParamList=function(e){for(var t=0,r=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1;n.lexical.push(e);if(this.inModule&&n.flags&S){delete this.undefinedExports[e]}}else if(t===$){var s=this.currentScope();s.lexical.push(e)}else if(t===q){var a=this.currentScope();if(this.treatFunctionsAsVar){i=a.lexical.indexOf(e)>-1}else{i=a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1}a.functions.push(e)}else{for(var u=this.scopeStack.length-1;u>=0;--u){var o=this.scopeStack[u];if(o.lexical.indexOf(e)>-1&&!(o.flags&I&&o.lexical[0]===e)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(e)>-1){i=true;break}o.var.push(e);if(this.inModule&&o.flags&S){delete this.undefinedExports[e]}if(o.flags&F){break}}}if(i){this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")}};ie.checkLocalExport=function(e){if(this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1){this.undefinedExports[e.name]=e}};ie.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};ie.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&F){return t}}};ie.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&F&&!(t.flags&O)){return t}}};var se=function Node(e,t,r){this.type="";this.start=t;this.end=0;if(e.options.locations){this.loc=new C(e,r)}if(e.options.directSourceFile){this.sourceFile=e.options.directSourceFile}if(e.options.ranges){this.range=[t,0]}};var ae=U.prototype;ae.startNode=function(){return new se(this,this.start,this.startLoc)};ae.startNodeAt=function(e,t){return new se(this,e,t)};function finishNodeAt(e,t,r,i){e.type=t;e.end=r;if(this.options.locations){e.loc.end=i}if(this.options.ranges){e.range[1]=r}return e}ae.finishNode=function(e,t){return finishNodeAt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};ae.finishNodeAt=function(e,t,r,i){return finishNodeAt.call(this,e,t,r,i)};var ue=function TokContext(e,t,r,i,n){this.token=e;this.isExpr=!!t;this.preserveSpace=!!r;this.override=i;this.generator=!!n};var oe={b_stat:new ue("{",false),b_expr:new ue("{",true),b_tmpl:new ue("${",false),p_stat:new ue("(",false),p_expr:new ue("(",true),q_tmpl:new ue("`",true,true,function(e){return e.tryReadTemplateToken()}),f_stat:new ue("function",false),f_expr:new ue("function",true),f_expr_gen:new ue("function",true,false,null,true),f_gen:new ue("function",false,false,null,true)};var le=U.prototype;le.initialContext=function(){return[oe.b_stat]};le.braceIsBlock=function(e){var t=this.curContext();if(t===oe.f_expr||t===oe.f_stat){return true}if(e===v.colon&&(t===oe.b_stat||t===oe.b_expr)){return!t.isExpr}if(e===v._return||e===v.name&&this.exprAllowed){return y.test(this.input.slice(this.lastTokEnd,this.start))}if(e===v._else||e===v.semi||e===v.eof||e===v.parenR||e===v.arrow){return true}if(e===v.braceL){return t===oe.b_stat}if(e===v._var||e===v._const||e===v.name){return false}return!this.exprAllowed};le.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token==="function"){return t.generator}}return false};le.updateContext=function(e){var t,r=this.type;if(r.keyword&&e===v.dot){this.exprAllowed=false}else if(t=r.updateContext){t.call(this,e)}else{this.exprAllowed=r.beforeExpr}};v.parenR.updateContext=v.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=true;return}var e=this.context.pop();if(e===oe.b_stat&&this.curContext().token==="function"){e=this.context.pop()}this.exprAllowed=!e.isExpr};v.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?oe.b_stat:oe.b_expr);this.exprAllowed=true};v.dollarBraceL.updateContext=function(){this.context.push(oe.b_tmpl);this.exprAllowed=true};v.parenL.updateContext=function(e){var t=e===v._if||e===v._for||e===v._with||e===v._while;this.context.push(t?oe.p_stat:oe.p_expr);this.exprAllowed=true};v.incDec.updateContext=function(){};v._function.updateContext=v._class.updateContext=function(e){if(e.beforeExpr&&e!==v.semi&&e!==v._else&&!(e===v._return&&y.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===v.colon||e===v.braceL)&&this.curContext()===oe.b_stat)){this.context.push(oe.f_expr)}else{this.context.push(oe.f_stat)}this.exprAllowed=false};v.backQuote.updateContext=function(){if(this.curContext()===oe.q_tmpl){this.context.pop()}else{this.context.push(oe.q_tmpl)}this.exprAllowed=false};v.star.updateContext=function(e){if(e===v._function){var t=this.context.length-1;if(this.context[t]===oe.f_expr){this.context[t]=oe.f_expr_gen}else{this.context[t]=oe.f_gen}}this.exprAllowed=true};v.name.updateContext=function(e){var t=false;if(this.options.ecmaVersion>=6&&e!==v.dot){if(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext()){t=true}}this.exprAllowed=t};var fe="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";var he=fe+" Extended_Pictographic";var ce=he;var pe={9:fe,10:he,11:ce};var de="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";var ve="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";var ye=ve+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";var ge=ye+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";var be={9:ve,10:ye,11:ge};var _e={};function buildUnicodeData(e){var t=_e[e]={binary:wordsRegexp(pe[e]+" "+de),nonBinary:{General_Category:wordsRegexp(de),Script:wordsRegexp(be[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script;t.nonBinary.gc=t.nonBinary.General_Category;t.nonBinary.sc=t.nonBinary.Script;t.nonBinary.scx=t.nonBinary.Script_Extensions}buildUnicodeData(9);buildUnicodeData(10);buildUnicodeData(11);var me=U.prototype;var Ee=function RegExpValidationState(e){this.parser=e;this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"");this.unicodeProperties=_e[e.options.ecmaVersion>=11?11:e.options.ecmaVersion];this.source="";this.flags="";this.start=0;this.switchU=false;this.switchN=false;this.pos=0;this.lastIntValue=0;this.lastStringValue="";this.lastAssertionIsQuantifiable=false;this.numCapturingParens=0;this.maxBackReference=0;this.groupNames=[];this.backReferenceNames=[]};Ee.prototype.reset=function reset(e,t,r){var i=r.indexOf("u")!==-1;this.start=e|0;this.source=t+"";this.flags=r;this.switchU=i&&this.parser.options.ecmaVersion>=6;this.switchN=i&&this.parser.options.ecmaVersion>=9};Ee.prototype.raise=function raise(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)};Ee.prototype.at=function at(e){var t=this.source;var r=t.length;if(e>=r){return-1}var i=t.charCodeAt(e);if(!this.switchU||i<=55295||i>=57344||e+1>=r){return i}var n=t.charCodeAt(e+1);return n>=56320&&n<=57343?(i<<10)+n-56613888:i};Ee.prototype.nextIndex=function nextIndex(e){var t=this.source;var r=t.length;if(e>=r){return r}var i=t.charCodeAt(e),n;if(!this.switchU||i<=55295||i>=57344||e+1>=r||(n=t.charCodeAt(e+1))<56320||n>57343){return e+1}return e+2};Ee.prototype.current=function current(){return this.at(this.pos)};Ee.prototype.lookahead=function lookahead(){return this.at(this.nextIndex(this.pos))};Ee.prototype.advance=function advance(){this.pos=this.nextIndex(this.pos)};Ee.prototype.eat=function eat(e){if(this.current()===e){this.advance();return true}return false};function codePointToString(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}me.validateRegExpFlags=function(e){var t=e.validFlags;var r=e.flags;for(var i=0;i-1){this.raise(e.start,"Duplicate regular expression flag")}}};me.validateRegExpPattern=function(e){this.regexp_pattern(e);if(!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0){e.switchN=true;this.regexp_pattern(e)}};me.regexp_pattern=function(e){e.pos=0;e.lastIntValue=0;e.lastStringValue="";e.lastAssertionIsQuantifiable=false;e.numCapturingParens=0;e.maxBackReference=0;e.groupNames.length=0;e.backReferenceNames.length=0;this.regexp_disjunction(e);if(e.pos!==e.source.length){if(e.eat(41)){e.raise("Unmatched ')'")}if(e.eat(93)||e.eat(125)){e.raise("Lone quantifier brackets")}}if(e.maxBackReference>e.numCapturingParens){e.raise("Invalid escape")}for(var t=0,r=e.backReferenceNames;t=9){r=e.eat(60)}if(e.eat(61)||e.eat(33)){this.regexp_disjunction(e);if(!e.eat(41)){e.raise("Unterminated group")}e.lastAssertionIsQuantifiable=!r;return true}}e.pos=t;return false};me.regexp_eatQuantifier=function(e,t){if(t===void 0)t=false;if(this.regexp_eatQuantifierPrefix(e,t)){e.eat(63);return true}return false};me.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};me.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(e)){i=e.lastIntValue;if(e.eat(44)&&this.regexp_eatDecimalDigits(e)){n=e.lastIntValue}if(e.eat(125)){if(n!==-1&&n=9){this.regexp_groupSpecifier(e)}else if(e.current()===63){e.raise("Invalid group")}this.regexp_disjunction(e);if(e.eat(41)){e.numCapturingParens+=1;return true}e.raise("Unterminated group")}return false};me.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};me.regexp_eatInvalidBracedQuantifier=function(e){if(this.regexp_eatBracedQuantifier(e,true)){e.raise("Nothing to repeat")}return false};me.regexp_eatSyntaxCharacter=function(e){var t=e.current();if(isSyntaxCharacter(t)){e.lastIntValue=t;e.advance();return true}return false};function isSyntaxCharacter(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}me.regexp_eatPatternCharacters=function(e){var t=e.pos;var r=0;while((r=e.current())!==-1&&!isSyntaxCharacter(r)){e.advance()}return e.pos!==t};me.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();if(t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124){e.advance();return true}return false};me.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){if(e.groupNames.indexOf(e.lastStringValue)!==-1){e.raise("Duplicate capture group name")}e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}};me.regexp_eatGroupName=function(e){e.lastStringValue="";if(e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62)){return true}e.raise("Invalid capture group name")}return false};me.regexp_eatRegExpIdentifierName=function(e){e.lastStringValue="";if(this.regexp_eatRegExpIdentifierStart(e)){e.lastStringValue+=codePointToString(e.lastIntValue);while(this.regexp_eatRegExpIdentifierPart(e)){e.lastStringValue+=codePointToString(e.lastIntValue)}return true}return false};me.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos;var r=e.current();e.advance();if(r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e)){r=e.lastIntValue}if(isRegExpIdentifierStart(r)){e.lastIntValue=r;return true}e.pos=t;return false};function isRegExpIdentifierStart(e){return isIdentifierStart(e,true)||e===36||e===95}me.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos;var r=e.current();e.advance();if(r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e)){r=e.lastIntValue}if(isRegExpIdentifierPart(r)){e.lastIntValue=r;return true}e.pos=t;return false};function isRegExpIdentifierPart(e){return isIdentifierChar(e,true)||e===36||e===95||e===8204||e===8205}me.regexp_eatAtomEscape=function(e){if(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)){return true}if(e.switchU){if(e.current()===99){e.raise("Invalid unicode escape")}e.raise("Invalid escape")}return false};me.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU){if(r>e.maxBackReference){e.maxBackReference=r}return true}if(r<=e.numCapturingParens){return true}e.pos=t}return false};me.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e)){e.backReferenceNames.push(e.lastStringValue);return true}e.raise("Invalid named reference")}return false};me.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};me.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e)){return true}e.pos=t}return false};me.regexp_eatZero=function(e){if(e.current()===48&&!isDecimalDigit(e.lookahead())){e.lastIntValue=0;e.advance();return true}return false};me.regexp_eatControlEscape=function(e){var t=e.current();if(t===116){e.lastIntValue=9;e.advance();return true}if(t===110){e.lastIntValue=10;e.advance();return true}if(t===118){e.lastIntValue=11;e.advance();return true}if(t===102){e.lastIntValue=12;e.advance();return true}if(t===114){e.lastIntValue=13;e.advance();return true}return false};me.regexp_eatControlLetter=function(e){var t=e.current();if(isControlLetter(t)){e.lastIntValue=t%32;e.advance();return true}return false};function isControlLetter(e){return e>=65&&e<=90||e>=97&&e<=122}me.regexp_eatRegExpUnicodeEscapeSequence=function(e){var t=e.pos;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var r=e.lastIntValue;if(e.switchU&&r>=55296&&r<=56319){var i=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(n>=56320&&n<=57343){e.lastIntValue=(r-55296)*1024+(n-56320)+65536;return true}}e.pos=i;e.lastIntValue=r}return true}if(e.switchU&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&isValidUnicode(e.lastIntValue)){return true}if(e.switchU){e.raise("Invalid unicode escape")}e.pos=t}return false};function isValidUnicode(e){return e>=0&&e<=1114111}me.regexp_eatIdentityEscape=function(e){if(e.switchU){if(this.regexp_eatSyntaxCharacter(e)){return true}if(e.eat(47)){e.lastIntValue=47;return true}return false}var t=e.current();if(t!==99&&(!e.switchN||t!==107)){e.lastIntValue=t;e.advance();return true}return false};me.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48);e.advance()}while((t=e.current())>=48&&t<=57);return true}return false};me.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(isCharacterClassEscape(t)){e.lastIntValue=-1;e.advance();return true}if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){e.lastIntValue=-1;e.advance();if(e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125)){return true}e.raise("Invalid property name")}return false};function isCharacterClassEscape(e){return e===100||e===68||e===115||e===83||e===119||e===87}me.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;this.regexp_validateUnicodePropertyNameAndValue(e,r,i);return true}}e.pos=t;if(this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;this.regexp_validateUnicodePropertyNameOrValue(e,n);return true}return false};me.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){if(!has(e.unicodeProperties.nonBinary,t)){e.raise("Invalid property name")}if(!e.unicodeProperties.nonBinary[t].test(r)){e.raise("Invalid property value")}};me.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(!e.unicodeProperties.binary.test(t)){e.raise("Invalid property name")}};me.regexp_eatUnicodePropertyName=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyNameCharacter(t=e.current())){e.lastStringValue+=codePointToString(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyNameCharacter(e){return isControlLetter(e)||e===95}me.regexp_eatUnicodePropertyValue=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyValueCharacter(t=e.current())){e.lastStringValue+=codePointToString(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyValueCharacter(e){return isUnicodePropertyNameCharacter(e)||isDecimalDigit(e)}me.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};me.regexp_eatCharacterClass=function(e){if(e.eat(91)){e.eat(94);this.regexp_classRanges(e);if(e.eat(93)){return true}e.raise("Unterminated character class")}return false};me.regexp_classRanges=function(e){while(this.regexp_eatClassAtom(e)){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;if(e.switchU&&(t===-1||r===-1)){e.raise("Invalid character class")}if(t!==-1&&r!==-1&&t>r){e.raise("Range out of order in character class")}}}};me.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e)){return true}if(e.switchU){var r=e.current();if(r===99||isOctalDigit(r)){e.raise("Invalid class escape")}e.raise("Invalid escape")}e.pos=t}var i=e.current();if(i!==93){e.lastIntValue=i;e.advance();return true}return false};me.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98)){e.lastIntValue=8;return true}if(e.switchU&&e.eat(45)){e.lastIntValue=45;return true}if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e)){return true}e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};me.regexp_eatClassControlLetter=function(e){var t=e.current();if(isDecimalDigit(t)||t===95){e.lastIntValue=t%32;e.advance();return true}return false};me.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2)){return true}if(e.switchU){e.raise("Invalid escape")}e.pos=t}return false};me.regexp_eatDecimalDigits=function(e){var t=e.pos;var r=0;e.lastIntValue=0;while(isDecimalDigit(r=e.current())){e.lastIntValue=10*e.lastIntValue+(r-48);e.advance()}return e.pos!==t};function isDecimalDigit(e){return e>=48&&e<=57}me.regexp_eatHexDigits=function(e){var t=e.pos;var r=0;e.lastIntValue=0;while(isHexDigit(r=e.current())){e.lastIntValue=16*e.lastIntValue+hexToInt(r);e.advance()}return e.pos!==t};function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexToInt(e){if(e>=65&&e<=70){return 10+(e-65)}if(e>=97&&e<=102){return 10+(e-97)}return e-48}me.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;if(t<=3&&this.regexp_eatOctalDigit(e)){e.lastIntValue=t*64+r*8+e.lastIntValue}else{e.lastIntValue=t*8+r}}else{e.lastIntValue=t}return true}return false};me.regexp_eatOctalDigit=function(e){var t=e.current();if(isOctalDigit(t)){e.lastIntValue=t-48;e.advance();return true}e.lastIntValue=0;return false};function isOctalDigit(e){return e>=48&&e<=55}me.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var i=0;i=this.input.length){return this.finishToken(v.eof)}if(e.override){return e.override(this)}else{this.readToken(this.fullCharCodeAtPos())}};we.readToken=function(e){if(isIdentifierStart(e,this.options.ecmaVersion>=6)||e===92){return this.readWord()}return this.getTokenFromCode(e)};we.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344){return e}var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888};we.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition();var t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1){this.raise(this.pos-2,"Unterminated comment")}this.pos=r+2;if(this.options.locations){g.lastIndex=t;var i;while((i=g.exec(this.input))&&i.index8&&e<14||e>=5760&&b.test(String.fromCharCode(e))){++this.pos}else{break e}}}};we.finishToken=function(e,t){this.end=this.pos;if(this.options.locations){this.endLoc=this.curPosition()}var r=this.type;this.type=e;this.value=t;this.updateContext(r)};we.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57){return this.readNumber(true)}var t=this.input.charCodeAt(this.pos+2);if(this.options.ecmaVersion>=6&&e===46&&t===46){this.pos+=3;return this.finishToken(v.ellipsis)}else{++this.pos;return this.finishToken(v.dot)}};we.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);if(this.exprAllowed){++this.pos;return this.readRegexp()}if(e===61){return this.finishOp(v.assign,2)}return this.finishOp(v.slash,1)};we.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1);var r=1;var i=e===42?v.star:v.modulo;if(this.options.ecmaVersion>=7&&e===42&&t===42){++r;i=v.starstar;t=this.input.charCodeAt(this.pos+2)}if(t===61){return this.finishOp(v.assign,r+1)}return this.finishOp(i,r)};we.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){return this.finishOp(e===124?v.logicalOR:v.logicalAND,2)}if(t===61){return this.finishOp(v.assign,2)}return this.finishOp(e===124?v.bitwiseOR:v.bitwiseAND,1)};we.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);if(e===61){return this.finishOp(v.assign,2)}return this.finishOp(v.bitwiseXOR,1)};we.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||y.test(this.input.slice(this.lastTokEnd,this.pos)))){this.skipLineComment(3);this.skipSpace();return this.nextToken()}return this.finishOp(v.incDec,2)}if(t===61){return this.finishOp(v.assign,2)}return this.finishOp(v.plusMin,1)};we.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1);var r=1;if(t===e){r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2;if(this.input.charCodeAt(this.pos+r)===61){return this.finishOp(v.assign,r+1)}return this.finishOp(v.bitShift,r)}if(t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45){this.skipLineComment(4);this.skipSpace();return this.nextToken()}if(t===61){r=2}return this.finishOp(v.relational,r)};we.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===61){return this.finishOp(v.equality,this.input.charCodeAt(this.pos+2)===61?3:2)}if(e===61&&t===62&&this.options.ecmaVersion>=6){this.pos+=2;return this.finishToken(v.arrow)}return this.finishOp(e===61?v.eq:v.prefix,1)};we.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:++this.pos;return this.finishToken(v.parenL);case 41:++this.pos;return this.finishToken(v.parenR);case 59:++this.pos;return this.finishToken(v.semi);case 44:++this.pos;return this.finishToken(v.comma);case 91:++this.pos;return this.finishToken(v.bracketL);case 93:++this.pos;return this.finishToken(v.bracketR);case 123:++this.pos;return this.finishToken(v.braceL);case 125:++this.pos;return this.finishToken(v.braceR);case 58:++this.pos;return this.finishToken(v.colon);case 63:++this.pos;return this.finishToken(v.question);case 96:if(this.options.ecmaVersion<6){break}++this.pos;return this.finishToken(v.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88){return this.readRadixNumber(16)}if(this.options.ecmaVersion>=6){if(t===111||t===79){return this.readRadixNumber(8)}if(t===98||t===66){return this.readRadixNumber(2)}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(false);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(v.prefix,1)}this.raise(this.pos,"Unexpected character '"+codePointToString$1(e)+"'")};we.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);this.pos+=t;return this.finishToken(e,r)};we.readRegexp=function(){var e,t,r=this.pos;for(;;){if(this.pos>=this.input.length){this.raise(r,"Unterminated regular expression")}var i=this.input.charAt(this.pos);if(y.test(i)){this.raise(r,"Unterminated regular expression")}if(!e){if(i==="["){t=true}else if(i==="]"&&t){t=false}else if(i==="/"&&!t){break}e=i==="\\"}else{e=false}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos;var a=this.readWord1();if(this.containsEsc){this.unexpected(s)}var u=this.regexpState||(this.regexpState=new Ee(this));u.reset(r,n,a);this.validateRegExpFlags(u);this.validateRegExpPattern(u);var o=null;try{o=new RegExp(n,a)}catch(e){}return this.finishToken(v.regexp,{pattern:n,flags:a,value:o})};we.readInt=function(e,t){var r=this.pos,i=0;for(var n=0,s=t==null?Infinity:t;n=97){u=a-97+10}else if(a>=65){u=a-65+10}else if(a>=48&&a<=57){u=a-48}else{u=Infinity}if(u>=e){break}++this.pos;i=i*e+u}if(this.pos===r||t!=null&&this.pos-r!==t){return null}return i};we.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);if(r==null){this.raise(this.start+2,"Expected number in radix "+e)}if(this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110){r=typeof BigInt!=="undefined"?BigInt(this.input.slice(t,this.pos)):null;++this.pos}else if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(v.num,r)};we.readNumber=function(e){var t=this.pos;if(!e&&this.readInt(10)===null){this.raise(t,"Invalid number")}var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;if(r&&this.strict){this.raise(t,"Invalid number")}var i=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&i===110){var n=this.input.slice(t,this.pos);var s=typeof BigInt!=="undefined"?BigInt(n):null;++this.pos;if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(v.num,s)}if(r&&/[89]/.test(this.input.slice(t,this.pos))){r=false}if(i===46&&!r){++this.pos;this.readInt(10);i=this.input.charCodeAt(this.pos)}if((i===69||i===101)&&!r){i=this.input.charCodeAt(++this.pos);if(i===43||i===45){++this.pos}if(this.readInt(10)===null){this.raise(t,"Invalid number")}}if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}var a=this.input.slice(t,this.pos);var u=r?parseInt(a,8):parseFloat(a);return this.finishToken(v.num,u)};we.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){if(this.options.ecmaVersion<6){this.unexpected()}var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;if(t>1114111){this.invalidStringToken(r,"Code point out of bounds")}}else{t=this.readHexChar(4)}return t};function codePointToString$1(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}we.readString=function(e){var t="",r=++this.pos;for(;;){if(this.pos>=this.input.length){this.raise(this.start,"Unterminated string constant")}var i=this.input.charCodeAt(this.pos);if(i===e){break}if(i===92){t+=this.input.slice(r,this.pos);t+=this.readEscapedChar(false);r=this.pos}else{if(isNewLine(i,this.options.ecmaVersion>=10)){this.raise(this.start,"Unterminated string constant")}++this.pos}}t+=this.input.slice(r,this.pos++);return this.finishToken(v.string,t)};var Ae={};we.tryReadTemplateToken=function(){this.inTemplateElement=true;try{this.readTmplToken()}catch(e){if(e===Ae){this.readInvalidTemplateToken()}else{throw e}}this.inTemplateElement=false};we.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9){throw Ae}else{this.raise(e,t)}};we.readTmplToken=function(){var e="",t=this.pos;for(;;){if(this.pos>=this.input.length){this.raise(this.start,"Unterminated template")}var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123){if(this.pos===this.start&&(this.type===v.template||this.type===v.invalidTemplate)){if(r===36){this.pos+=2;return this.finishToken(v.dollarBraceL)}else{++this.pos;return this.finishToken(v.backQuote)}}e+=this.input.slice(t,this.pos);return this.finishToken(v.template,e)}if(r===92){e+=this.input.slice(t,this.pos);e+=this.readEscapedChar(true);t=this.pos}else if(isNewLine(r)){e+=this.input.slice(t,this.pos);++this.pos;switch(r){case 13:if(this.input.charCodeAt(this.pos)===10){++this.pos}case 10:e+="\n";break;default:e+=String.fromCharCode(r);break}if(this.options.locations){++this.curLine;this.lineStart=this.pos}t=this.pos}else{++this.pos}}};we.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0];var n=parseInt(i,8);if(n>255){i=i.slice(0,-1);n=parseInt(i,8)}this.pos+=i.length-1;t=this.input.charCodeAt(this.pos);if((i!=="0"||t===56||t===57)&&(this.strict||e)){this.invalidStringToken(this.pos-1-i.length,e?"Octal literal in template string":"Octal literal in strict mode")}return String.fromCharCode(n)}if(isNewLine(t)){return""}return String.fromCharCode(t)}};we.readHexChar=function(e){var t=this.pos;var r=this.readInt(16,e);if(r===null){this.invalidStringToken(t,"Bad character escape sequence")}return r};we.readWord1=function(){this.containsEsc=false;var e="",t=true,r=this.pos;var i=this.options.ecmaVersion>=6;while(this.pos{e.exports=r(225)},357:e=>{"use strict";e.exports=require("assert")},293:e=>{"use strict";e.exports=require("buffer")},129:e=>{"use strict";e.exports=require("child_process")},619:e=>{"use strict";e.exports=require("constants")},417:e=>{"use strict";e.exports=require("crypto")},614:e=>{"use strict";e.exports=require("events")},747:e=>{"use strict";e.exports=require("fs")},87:e=>{"use strict";e.exports=require("os")},622:e=>{"use strict";e.exports=require("path")},413:e=>{"use strict";e.exports=require("stream")},835:e=>{"use strict";e.exports=require("url")},669:e=>{"use strict";e.exports=require("util")}};var __webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e]){return __webpack_module_cache__[e].exports}var t=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e](t,t.exports,__webpack_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return t.exports}__webpack_require__.ab=__dirname+"/";return __webpack_require__(300)})(); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js new file mode 100644 index 0000000..a904f52 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js @@ -0,0 +1,8 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const basename = __dirname + '/shebang-loader.js'; +const source = readFileSync(basename + '.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache'); +const scriptOpts = { filename: basename + '.cache.js', columnOffset: -62 } +const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js.cache b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js.cache new file mode 100644 index 0000000..5f7e50f Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js.cache differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js.cache.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js.cache.js new file mode 100644 index 0000000..2050d23 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/shebang-loader.js.cache.js @@ -0,0 +1 @@ +module.exports=(()=>{var e={170:e=>{e.exports=function(e){this.cacheable&&this.cacheable();if(typeof e==="string"&&/^#!/.test(e)){e=e.replace(/^#![^\n\r]*[\r\n]/,"")}return e}},431:(e,r,t)=>{e.exports=t(170)}};var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var _=r[t]={exports:{}};var a=true;try{e[t](_,_.exports,__webpack_require__);a=false}finally{if(a)delete r[t]}return _.exports}__webpack_require__.ab=__dirname+"/";return __webpack_require__(431)})(); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js new file mode 100644 index 0000000..d8cb47f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js @@ -0,0 +1,8 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const basename = __dirname + '/ts-loader.js'; +const source = readFileSync(basename + '.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache'); +const scriptOpts = { filename: basename + '.cache.js', columnOffset: -62 } +const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache new file mode 100644 index 0000000..c3a2b60 Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache.js new file mode 100644 index 0000000..b775ea4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache.js @@ -0,0 +1 @@ +module.exports=(()=>{var e={6253:e=>{"use strict";e.exports=function diff(e){var t=arguments.length;var r=0;while(++r{"use strict";e.exports=function(e){return flat(e,[])};function flat(e,t){var r=0,n;var i=e.length;for(;r{"use strict";e.exports=function union(e){if(!Array.isArray(e)){throw new TypeError("arr-union expects the first argument to be an array.")}var t=arguments.length;var r=0;while(++r=0){continue}e.push(a)}}return e}},6974:e=>{"use strict";e.exports=function unique(e){if(!Array.isArray(e)){throw new TypeError("array-unique expects an array.")}var t=e.length;var r=-1;while(r++{"use strict";e.exports=function(e,t){if(e===null||typeof e==="undefined"){throw new TypeError("expected first argument to be an object.")}if(typeof t==="undefined"||typeof Symbol==="undefined"){return e}if(typeof Object.getOwnPropertySymbols!=="function"){return e}var r=Object.prototype.propertyIsEnumerable;var n=Object(e);var i=arguments.length,a=0;while(++a{"use strict";function atob(e){return Buffer.from(e,"base64").toString("binary")}e.exports=atob.atob=atob},7322:(e,t,r)=>{"use strict";var n=r(1669);var i=r(3479);var a=r(9184);var o=r(2045);var s=r(977);var c=r(9811);var u=r(771);var l=r(3010);function namespace(e){var t=e?a.namespace(e):a;var r=[];function Base(e,r){if(!(this instanceof Base)){return new Base(e,r)}t.call(this,e);this.is("base");this.initBase(e,r)}n.inherits(Base,t);o(Base);Base.prototype.initBase=function(t,n){this.options=c({},this.options,n);this.cache=this.cache||{};this.define("registered",{});if(e)this[e]={};this.define("_callbacks",this._callbacks);if(s(t)){this.visit("set",t)}Base.run(this,"use",r)};Base.prototype.is=function(e){if(typeof e!=="string"){throw new TypeError("expected name to be a string")}this.define("is"+u(e),true);this.define("_name",e);this.define("_appname",e);return this};Base.prototype.isRegistered=function(e,t){if(this.registered.hasOwnProperty(e)){return true}if(t!==false){this.registered[e]=true;this.emit("plugin",e)}return false};Base.prototype.use=function(e){e.call(this,this);return this};Base.prototype.define=function(e,t){if(s(e)){return this.visit("define",e)}i(this,e,t);return this};Base.prototype.mixin=function(e,t){Base.prototype[e]=t;return this};Base.prototype.mixins=Base.prototype.mixins||[];Object.defineProperty(Base.prototype,"base",{configurable:true,get:function(){return this.parent?this.parent.base:this}});i(Base,"use",function(e){r.push(e);return Base});i(Base,"run",function(e,t,r){var n=r.length,i=0;while(n--){e[t](r[i++])}return Base});i(Base,"extend",l.extend(Base,function(e,t){e.prototype.mixins=e.prototype.mixins||[];i(e,"mixin",function(t){var r=t(e.prototype,e);if(typeof r==="function"){e.prototype.mixins.push(r)}return e});i(e,"mixins",function(t){Base.run(t,"mixin",e.prototype.mixins);return e});e.prototype.mixin=function(t,r){e.prototype[t]=r;return this};return Base}));i(Base,"mixin",function(e){var t=e(Base.prototype,Base);if(typeof t==="function"){Base.prototype.mixins.push(t)}return Base});i(Base,"mixins",function(e){Base.run(e,"mixin",Base.prototype.mixins);return Base});i(Base,"inherit",l.inherit);i(Base,"bubble",l.bubble);return Base}e.exports=namespace();e.exports.namespace=namespace},3479:(e,t,r)=>{"use strict";var n=r(8586);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},4495:(e,t,r)=>{"use strict";var n=r(9532);var i=r(6974);var a=r(8333);var o=r(6059);var s=r(5380);var c=r(4877);var u=r(3762);var l=1024*64;var f={};function braces(e,t){var r=u.createKey(String(e),t);var n=[];var a=t&&t.cache===false;if(!a&&f.hasOwnProperty(r)){return f[r]}if(Array.isArray(e)){for(var o=0;o=r){throw new Error("expected pattern to be less than "+r+" characters")}function create(){if(e===""||e.length<3){return[e]}if(u.isEmptySets(e)){return[]}if(u.isQuotedString(e)){return[e.slice(1,-1)]}var r=new c(t);var n=!t||t.expand!==true?r.optimize(e,t):r.expand(e,t);var a=n.output;if(t&&t.noempty===true){a=a.filter(Boolean)}if(t&&t.nodupes===true){a=i(a)}Object.defineProperty(a,"result",{enumerable:false,value:n});return a}return memoize("create",e,t,create)};braces.makeRe=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}var r=t&&t.maxLength||l;if(e.length>=r){throw new Error("expected pattern to be less than "+r+" characters")}function makeRe(){var r=braces(e,t);var i=a({strictErrors:false},t);return n(r,i)}return memoize("makeRe",e,t,makeRe)};braces.parse=function(e,t){var r=new c(t);return r.parse(e,t)};braces.compile=function(e,t){var r=new c(t);return r.compile(e,t)};braces.clearCache=function(){f=braces.cache={}};function memoize(e,t,r,n){var i=u.createKey(e+":"+t,r);var a=r&&r.cache===false;if(a){braces.clearCache();return n(t,r)}if(f.hasOwnProperty(i)){return f[i]}var o=n(t,r);f[i]=o;return o}braces.Braces=c;braces.compilers=o;braces.parsers=s;braces.cache=f;e.exports=braces},4877:(e,t,r)=>{"use strict";var n=r(8333);var i=r(9769);var a=r(6059);var o=r(5380);var s=r(3762);function Braces(e){this.options=n({},e)}Braces.prototype.init=function(e){if(this.isInitialized)return;this.isInitialized=true;var t=s.createOptions({},this.options,e);this.snapdragon=this.options.snapdragon||new i(t);this.compiler=this.snapdragon.compiler;this.parser=this.snapdragon.parser;a(this.snapdragon,t);o(this.snapdragon,t);s.define(this.snapdragon,"parse",function(e,t){var r=i.prototype.parse.apply(this,arguments);this.parser.ast.input=e;var n=this.parser.stack;while(n.length){addParent({type:"brace.close",val:""},n.pop())}function addParent(e,t){s.define(e,"parent",t);t.nodes.push(e)}s.define(r,"parser",this.parser);return r})};Braces.prototype.parse=function(e,t){if(e&&typeof e==="object"&&e.nodes)return e;this.init(t);return this.snapdragon.parse(e,t)};Braces.prototype.compile=function(e,t){if(typeof e==="string"){e=this.parse(e,t)}else{this.init(t)}return this.snapdragon.compile(e,t)};Braces.prototype.expand=function(e){var t=this.parse(e,{expand:true});return this.compile(t,{expand:true})};Braces.prototype.optimize=function(e){var t=this.parse(e,{optimize:true});return this.compile(t,{optimize:true})};e.exports=Braces},6059:(e,t,r)=>{"use strict";var n=r(3762);e.exports=function(e,t){e.compiler.set("bos",function(){if(this.output)return;this.ast.queue=isEscaped(this.ast)?[this.ast.val]:[];this.ast.count=1}).set("bracket",function(e){var t=e.close;var r=!e.escaped?"[":"\\[";var i=e.negated;var a=e.inner;a=a.replace(/\\(?=[\\\w]|$)/g,"\\\\");if(a==="]-"){a="\\]\\-"}if(i&&a.indexOf(".")===-1){a+="."}if(i&&a.indexOf("/")===-1){a+="/"}var o=r+i+a+t;var s=e.parent.queue;var c=n.arrayify(s.pop());s.push(n.join(c,o));s.push.apply(s,[])}).set("brace",function(e){e.queue=isEscaped(e)?[e.val]:[];e.count=1;return this.mapVisit(e.nodes)}).set("brace.open",function(e){e.parent.open=e.val}).set("text",function(e){var r=e.parent.queue;var i=e.escaped;var a=[e.val];if(e.optimize===false){t=n.extend({},t,{optimize:false})}if(e.multiplier>1){e.parent.count*=e.multiplier}if(t.quantifiers===true&&n.isQuantifier(e.val)){i=true}else if(e.val.length>1){if(isType(e.parent,"brace")&&!isEscaped(e)){var o=n.expand(e.val,t);a=o.segs;if(o.isOptimized){e.parent.isOptimized=true}if(!a.length){var s=o.val||e.val;if(t.unescape!==false){s=s.replace(/\\([,.])/g,"$1");s=s.replace(/["'`]/g,"")}a=[s];i=true}}}else if(e.val===","){if(t.expand){e.parent.queue.push([""]);a=[""]}else{a=["|"]}}else{i=true}if(i&&isType(e.parent,"brace")){if(e.parent.nodes.length<=4&&e.parent.count===1){e.parent.escaped=true}else if(e.parent.length<=3){e.parent.escaped=true}}if(!hasQueue(e.parent)){e.parent.queue=a;return}var c=n.arrayify(r.pop());if(e.parent.count>1&&t.expand){c=multiply(c,e.parent.count);e.parent.count=1}r.push(n.join(n.flatten(c),a.shift()));r.push.apply(r,a)}).set("brace.close",function(e){var r=e.parent.queue;var i=e.parent.parent;var a=i.queue.pop();var o=e.parent.open;var s=e.val;if(o&&s&&isOptimized(e,t)){o="(";s=")"}var c=n.last(r);if(e.parent.count>1&&t.expand){c=multiply(r.pop(),e.parent.count);e.parent.count=1;r.push(c)}if(s&&typeof c==="string"&&c.length===1){o="";s=""}if((isLiteralBrace(e,t)||noInner(e))&&!e.parent.hasEmpty){r.push(n.join(o,r.pop()||""));r=n.flatten(n.join(r,s))}if(typeof a==="undefined"){i.queue=[r]}else{i.queue.push(n.flatten(n.join(a,r)))}}).set("eos",function(e){if(this.input)return;if(t.optimize!==false){this.output=n.last(n.flatten(this.ast.queue))}else if(Array.isArray(n.last(this.ast.queue))){this.output=n.flatten(this.ast.queue.pop())}else{this.output=n.flatten(this.ast.queue)}if(e.parent.count>1&&t.expand){this.output=multiply(this.output,e.parent.count)}this.output=n.arrayify(this.output);this.ast.queue=[]})};function multiply(e,t,r){return n.flatten(n.repeat(n.arrayify(e),t))}function isEscaped(e){return e.escaped===true}function isOptimized(e,t){if(e.parent.isOptimized)return true;return isType(e.parent,"brace")&&!isEscaped(e.parent)&&t.expand!==true}function isLiteralBrace(e,t){return isEscaped(e.parent)||t.optimize!==false}function noInner(e,t){if(e.parent.queue.length===1){return true}var r=e.parent.nodes;return r.length===3&&isType(r[0],"brace.open")&&!isType(r[1],"text")&&isType(r[2],"brace.close")}function isType(e,t){return typeof e!=="undefined"&&e.type===t}function hasQueue(e){return Array.isArray(e.queue)&&e.queue.length}},5380:(e,t,r)=>{"use strict";var n=r(4240);var i=r(3762);e.exports=function(e,t){e.parser.set("bos",function(){if(!this.parsed){this.ast=this.nodes[0]=new n(this.ast)}}).set("escape",function(){var e=this.position();var r=this.match(/^(?:\\(.)|\$\{)/);if(!r)return;var a=this.prev();var o=i.last(a.nodes);var s=e(new n({type:"text",multiplier:1,val:r[0]}));if(s.val==="\\\\"){return s}if(s.val==="${"){var c=this.input;var u=-1;var l;while(l=c[++u]){this.consume(1);s.val+=l;if(l==="\\"){s.val+=c[++u];continue}if(l==="}"){break}}}if(this.options.unescape!==false){s.val=s.val.replace(/\\([{}])/g,"$1")}if(o.val==='"'&&this.input.charAt(0)==='"'){o.val=s.val;this.consume(1);return}return concatNodes.call(this,e,s,a,t)}).set("bracket",function(){var e=this.isInside("brace");var t=this.position();var r=this.match(/^(?:\[([!^]?)([^\]]{2,}|\]-)(\]|[^*+?]+)|\[)/);if(!r)return;var i=this.prev();var a=r[0];var o=r[1]?"^":"";var s=r[2]||"";var c=r[3]||"";if(e&&i.type==="brace"){i.text=i.text||"";i.text+=a}var u=this.input.slice(0,2);if(s===""&&u==="\\]"){s+=u;this.consume(2);var l=this.input;var f=-1;var d;while(d=l[++f]){this.consume(1);if(d==="]"){c=d;break}s+=d}}return t(new n({type:"bracket",val:a,escaped:c!=="]",negated:o,inner:s,close:c}))}).set("multiplier",function(){var e=this.isInside("brace");var r=this.position();var i=this.match(/^\{((?:,|\{,+\})+)\}/);if(!i)return;this.multiplier=true;var a=this.prev();var o=i[0];if(e&&a.type==="brace"){a.text=a.text||"";a.text+=o}var s=r(new n({type:"text",multiplier:1,match:i,val:o}));return concatNodes.call(this,r,s,a,t)}).set("brace.open",function(){var e=this.position();var t=this.match(/^\{(?!(?:[^\\}]?|,+)\})/);if(!t)return;var r=this.prev();var a=i.last(r.nodes);if(a&&a.val&&isExtglobChar(a.val.slice(-1))){a.optimize=false}var o=e(new n({type:"brace.open",val:t[0]}));var s=e(new n({type:"brace",nodes:[]}));s.push(o);r.push(s);this.push("brace",s)}).set("brace.close",function(){var e=this.position();var t=this.match(/^\}/);if(!t||!t[0])return;var r=this.pop("brace");var a=e(new n({type:"brace.close",val:t[0]}));if(!this.isType(r,"brace")){if(this.options.strict){throw new Error('missing opening "{"')}a.type="text";a.multiplier=0;a.escaped=true;return a}var o=this.prev();var s=i.last(o.nodes);if(s.text){var c=i.last(s.nodes);if(c.val===")"&&/[!@*?+]\(/.test(s.text)){var u=s.nodes[0];var l=s.nodes[1];if(u.type==="brace.open"&&l&&l.type==="text"){l.optimize=false}}}if(r.nodes.length>2){var f=r.nodes[1];if(f.type==="text"&&f.val===","){r.nodes.splice(1,1);r.nodes.push(f)}}r.push(a)}).set("boundary",function(){var e=this.position();var t=this.match(/^[$^](?!\{)/);if(!t)return;return e(new n({type:"text",val:t[0]}))}).set("nobrace",function(){var e=this.isInside("brace");var t=this.position();var r=this.match(/^\{[^,]?\}/);if(!r)return;var i=this.prev();var a=r[0];if(e&&i.type==="brace"){i.text=i.text||"";i.text+=a}return t(new n({type:"text",multiplier:0,val:a}))}).set("text",function(){var e=this.isInside("brace");var r=this.position();var i=this.match(/^((?!\\)[^${}[\]])+/);if(!i)return;var a=this.prev();var o=i[0];if(e&&a.type==="brace"){a.text=a.text||"";a.text+=o}var s=r(new n({type:"text",multiplier:1,val:o}));return concatNodes.call(this,r,s,a,t)})};function isExtglobChar(e){return e==="!"||e==="@"||e==="*"||e==="?"||e==="+"}function concatNodes(e,t,r,n){t.orig=t.val;var a=this.prev();var o=i.last(a.nodes);var s=false;if(t.val.length>1){var c=t.val.charAt(0);var u=t.val.slice(-1);s=c==='"'&&u==='"'||c==="'"&&u==="'"||c==="`"&&u==="`"}if(s&&n.unescape!==false){t.val=t.val.slice(1,t.val.length-1);t.escaped=true}if(t.match){var l=t.match[1];if(!l||l.indexOf("}")===-1){l=t.match[0]}var f=l.replace(/\{/g,",").replace(/\}/g,"");t.multiplier*=f.length;t.val=""}var d=o.type==="text"&&o.multiplier===1&&t.multiplier===1&&t.val;if(d){o.val+=t.val;return}a.push(t)}},3762:(e,t,r)=>{"use strict";var n=r(6439);var i=e.exports;i.extend=r(8333);i.flatten=r(7994);i.isObject=r(977);i.fillRange=r(9430);i.repeat=r(193);i.unique=r(6974);i.define=function(e,t,r){Object.defineProperty(e,t,{writable:true,configurable:true,enumerable:false,value:r})};i.isEmptySets=function(e){return/^(?:\{,\})+$/.test(e)};i.isQuotedString=function(e){var t=e.charAt(0);if(t==="'"||t==='"'||t==="`"){return e.slice(-1)===t}return false};i.createKey=function(e,t){var r=e;if(typeof t==="undefined"){return r}var n=Object.keys(t);for(var i=0;i1){if(r.optimize===false){a.val=n[0];return a}a.segs=i.stringifyArray(a.segs)}else if(n.length===1){var o=e.split("..");if(o.length===1){a.val=a.segs[a.segs.length-1]||a.val||e;a.segs=[];return a}if(o.length===2&&o[0]===o[1]){a.escaped=true;a.val=o[0];a.segs=[];return a}if(o.length>1){if(r.optimize!==false){r.optimize=true;delete r.expand}if(r.optimize!==true){var s=Math.min(o[0],o[1]);var c=Math.max(o[0],o[1]);var u=o[2]||1;if(r.rangeLimit!==false&&(c-s)/u>=r.rangeLimit){throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.")}}o.push(r);a.segs=i.fillRange.apply(null,o);if(!a.segs.length){a.escaped=true;a.val=e;return a}if(r.optimize===true){a.segs=i.stringifyArray(a.segs)}if(a.segs===""){a.val=e}else{a.val=a.segs[0]}return a}}else{a.val=e}return a};i.escapeBrackets=function(e){return function(t){if(t.escaped&&t.val==="b"){t.val="\\b";return}if(t.val!=="("&&t.val!=="[")return;var r=i.extend({},e);var n=[];var a=[];var o=[];var s=t.val;var c=t.str;var u=t.idx-1;while(++u{var t=Object.prototype.toString;var r=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return t.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,t,n){t>>>=0;var i=e.byteLength-t;if(i<0){throw new RangeError("'offset' is out of bounds")}if(n===undefined){n=i}else{n>>>=0;if(n>i){throw new RangeError("'length' is out of bounds")}}return r?Buffer.from(e.slice(t,t+n)):new Buffer(new Uint8Array(e.slice(t,t+n)))}function fromString(e,t){if(typeof t!=="string"||t===""){t="utf8"}if(!Buffer.isEncoding(t)){throw new TypeError('"encoding" must be a valid string encoding')}return r?Buffer.from(e,t):new Buffer(e,t)}function bufferFrom(e,t,n){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,t,n)}if(typeof e==="string"){return fromString(e,t)}return r?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},9184:(e,t,r)=>{"use strict";var n=r(977);var i=r(2045);var a=r(5521);var o=r(3919);var s=r(5770);var c=r(2093);var u=r(3826);var l=r(3283);var f=r(6469);function namespace(e){function Cache(t){if(e){this[e]={}}if(t){this.set(t)}}i(Cache.prototype);Cache.prototype.set=function(t,r){if(Array.isArray(t)&&arguments.length===2){t=o(t)}if(n(t)||Array.isArray(t)){this.visit("set",t)}else{f(e?this[e]:this,t,r);this.emit("set",t,r)}return this};Cache.prototype.union=function(t,r){if(Array.isArray(t)&&arguments.length===2){t=o(t)}var n=e?this[e]:this;s(n,t,arrayify(r));this.emit("union",r);return this};Cache.prototype.get=function(t){t=o(arguments);var r=e?this[e]:this;var n=u(r,t);this.emit("get",t,n);return n};Cache.prototype.has=function(t){t=o(arguments);var r=e?this[e]:this;var n=u(r,t);var i=typeof n!=="undefined";this.emit("has",t,i);return i};Cache.prototype.del=function(t){if(Array.isArray(t)){this.visit("del",t)}else{c(e?this[e]:this,t);this.emit("del",t)}return this};Cache.prototype.clear=function(){if(e){this[e]={}}};Cache.prototype.visit=function(e,t){a(this,e,t);return this};return Cache}function arrayify(e){return e?Array.isArray(e)?e:[e]:[]}e.exports=namespace();e.exports.namespace=namespace},3010:(e,t,r)=>{"use strict";var n=r(1669);var i=r(8441);var a=r(4728);var o=r(1261);var s=r(977);var c=e.exports;c.isObject=function isObject(e){return s(e)||typeof e==="function"};c.has=function has(e,t){t=c.arrayify(t);var r=t.length;if(c.isObject(e)){for(var n in e){if(t.indexOf(n)>-1){return true}}var i=c.nativeKeys(e);return c.has(i,t)}if(Array.isArray(e)){var a=e;while(r--){if(a.indexOf(t[r])>-1){return true}}return false}throw new TypeError("expected an array or object.")};c.hasAll=function hasAll(e,t){t=c.arrayify(t);var r=t.length;while(r--){if(!c.has(e,t[r])){return false}}return true};c.arrayify=function arrayify(e){return e?Array.isArray(e)?e:[e]:[]};c.noop=function noop(){return};c.identity=function identity(e){return e};c.hasConstructor=function hasConstructor(e){return c.isObject(e)&&typeof e.constructor!=="undefined"};c.nativeKeys=function nativeKeys(e){if(!c.hasConstructor(e))return[];var t=Object.getOwnPropertyNames(e);if("caller"in e)t.push("caller");return t};c.getDescriptor=function getDescriptor(e,t){if(!c.isObject(e)){throw new TypeError("expected an object.")}if(typeof t!=="string"){throw new TypeError("expected key to be a string.")}return Object.getOwnPropertyDescriptor(e,t)};c.copyDescriptor=function copyDescriptor(e,t,r){if(!c.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!c.isObject(t)){throw new TypeError("expected providing object to be an object.")}if(typeof r!=="string"){throw new TypeError("expected name to be a string.")}var n=c.getDescriptor(t,r);if(n)Object.defineProperty(e,r,n)};c.copy=function copy(e,t,r){if(!c.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!c.isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=Object.getOwnPropertyNames(t);var i=Object.keys(t);var o=n.length,s;r=c.arrayify(r);while(o--){s=n[o];if(c.has(i,s)){a(e,s,t[s])}else if(!(s in e)&&!c.has(r,s)){c.copyDescriptor(e,t,s)}}};c.inherit=function inherit(e,t,r){if(!c.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!c.isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=[];for(var i in t){n.push(i);e[i]=t[i]}n=n.concat(c.arrayify(r));var a=t.prototype||t;var o=e.prototype||e;c.copy(o,a,n)};c.extend=function(){return o.apply(null,arguments)};c.bubble=function(e,t){t=t||[];e.bubble=function(r,n){if(Array.isArray(n)){t=i([],t,n)}var a=t.length;var o=-1;while(++o{"use strict";var n=r(4274);var i=r(8098);e.exports=function(e,t,r){var a;if(typeof r==="string"&&t in e){var o=[].slice.call(arguments,2);a=e[t].apply(e,o)}else if(Array.isArray(r)){a=i.apply(null,arguments)}else{a=n.apply(null,arguments)}if(typeof a!=="undefined"){return a}return e}},3644:(e,t,r)=>{var n=r(9187);var i={};for(var a in n){if(n.hasOwnProperty(a)){i[n[a]]=a}}var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var s in o){if(o.hasOwnProperty(s)){if(!("channels"in o[s])){throw new Error("missing channels property: "+s)}if(!("labels"in o[s])){throw new Error("missing channel labels property: "+s)}if(o[s].labels.length!==o[s].channels){throw new Error("channel and label counts mismatch: "+s)}var c=o[s].channels;var u=o[s].labels;delete o[s].channels;delete o[s].labels;Object.defineProperty(o[s],"channels",{value:c});Object.defineProperty(o[s],"labels",{value:u})}}o.rgb.hsl=function(e){var t=e[0]/255;var r=e[1]/255;var n=e[2]/255;var i=Math.min(t,r,n);var a=Math.max(t,r,n);var o=a-i;var s;var c;var u;if(a===i){s=0}else if(t===a){s=(r-n)/o}else if(r===a){s=2+(n-t)/o}else if(n===a){s=4+(t-r)/o}s=Math.min(s*60,360);if(s<0){s+=360}u=(i+a)/2;if(a===i){c=0}else if(u<=.5){c=o/(a+i)}else{c=o/(2-a-i)}return[s,c*100,u*100]};o.rgb.hsv=function(e){var t;var r;var n;var i;var a;var o=e[0]/255;var s=e[1]/255;var c=e[2]/255;var u=Math.max(o,s,c);var l=u-Math.min(o,s,c);var f=function(e){return(u-e)/6/l+1/2};if(l===0){i=a=0}else{a=l/u;t=f(o);r=f(s);n=f(c);if(o===u){i=n-r}else if(s===u){i=1/3+t-n}else if(c===u){i=2/3+r-t}if(i<0){i+=1}else if(i>1){i-=1}}return[i*360,a*100,u*100]};o.rgb.hwb=function(e){var t=e[0];var r=e[1];var n=e[2];var i=o.rgb.hsl(e)[0];var a=1/255*Math.min(t,Math.min(r,n));n=1-1/255*Math.max(t,Math.max(r,n));return[i,a*100,n*100]};o.rgb.cmyk=function(e){var t=e[0]/255;var r=e[1]/255;var n=e[2]/255;var i;var a;var o;var s;s=Math.min(1-t,1-r,1-n);i=(1-t-s)/(1-s)||0;a=(1-r-s)/(1-s)||0;o=(1-n-s)/(1-s)||0;return[i*100,a*100,o*100,s*100]};function comparativeDistance(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}o.rgb.keyword=function(e){var t=i[e];if(t){return t}var r=Infinity;var a;for(var o in n){if(n.hasOwnProperty(o)){var s=n[o];var c=comparativeDistance(e,s);if(c.04045?Math.pow((t+.055)/1.055,2.4):t/12.92;r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=t*.4124+r*.3576+n*.1805;var a=t*.2126+r*.7152+n*.0722;var o=t*.0193+r*.1192+n*.9505;return[i*100,a*100,o*100]};o.rgb.lab=function(e){var t=o.rgb.xyz(e);var r=t[0];var n=t[1];var i=t[2];var a;var s;var c;r/=95.047;n/=100;i/=108.883;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;i=i>.008856?Math.pow(i,1/3):7.787*i+16/116;a=116*n-16;s=500*(r-n);c=200*(n-i);return[a,s,c]};o.hsl.rgb=function(e){var t=e[0]/360;var r=e[1]/100;var n=e[2]/100;var i;var a;var o;var s;var c;if(r===0){c=n*255;return[c,c,c]}if(n<.5){a=n*(1+r)}else{a=n+r-n*r}i=2*n-a;s=[0,0,0];for(var u=0;u<3;u++){o=t+1/3*-(u-1);if(o<0){o++}if(o>1){o--}if(6*o<1){c=i+(a-i)*6*o}else if(2*o<1){c=a}else if(3*o<2){c=i+(a-i)*(2/3-o)*6}else{c=i}s[u]=c*255}return s};o.hsl.hsv=function(e){var t=e[0];var r=e[1]/100;var n=e[2]/100;var i=r;var a=Math.max(n,.01);var o;var s;n*=2;r*=n<=1?n:2-n;i*=a<=1?a:2-a;s=(n+r)/2;o=n===0?2*i/(a+i):2*r/(n+r);return[t,o*100,s*100]};o.hsv.rgb=function(e){var t=e[0]/60;var r=e[1]/100;var n=e[2]/100;var i=Math.floor(t)%6;var a=t-Math.floor(t);var o=255*n*(1-r);var s=255*n*(1-r*a);var c=255*n*(1-r*(1-a));n*=255;switch(i){case 0:return[n,c,o];case 1:return[s,n,o];case 2:return[o,n,c];case 3:return[o,s,n];case 4:return[c,o,n];case 5:return[n,o,s]}};o.hsv.hsl=function(e){var t=e[0];var r=e[1]/100;var n=e[2]/100;var i=Math.max(n,.01);var a;var o;var s;s=(2-r)*n;a=(2-r)*i;o=r*i;o/=a<=1?a:2-a;o=o||0;s/=2;return[t,o*100,s*100]};o.hwb.rgb=function(e){var t=e[0]/360;var r=e[1]/100;var n=e[2]/100;var i=r+n;var a;var o;var s;var c;if(i>1){r/=i;n/=i}a=Math.floor(6*t);o=1-n;s=6*t-a;if((a&1)!==0){s=1-s}c=r+s*(o-r);var u;var l;var f;switch(a){default:case 6:case 0:u=o;l=c;f=r;break;case 1:u=c;l=o;f=r;break;case 2:u=r;l=o;f=c;break;case 3:u=r;l=c;f=o;break;case 4:u=c;l=r;f=o;break;case 5:u=o;l=r;f=c;break}return[u*255,l*255,f*255]};o.cmyk.rgb=function(e){var t=e[0]/100;var r=e[1]/100;var n=e[2]/100;var i=e[3]/100;var a;var o;var s;a=1-Math.min(1,t*(1-i)+i);o=1-Math.min(1,r*(1-i)+i);s=1-Math.min(1,n*(1-i)+i);return[a*255,o*255,s*255]};o.xyz.rgb=function(e){var t=e[0]/100;var r=e[1]/100;var n=e[2]/100;var i;var a;var o;i=t*3.2406+r*-1.5372+n*-.4986;a=t*-.9689+r*1.8758+n*.0415;o=t*.0557+r*-.204+n*1.057;i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92;a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*12.92;o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92;i=Math.min(Math.max(0,i),1);a=Math.min(Math.max(0,a),1);o=Math.min(Math.max(0,o),1);return[i*255,a*255,o*255]};o.xyz.lab=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;t/=95.047;r/=100;n/=108.883;t=t>.008856?Math.pow(t,1/3):7.787*t+16/116;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;i=116*r-16;a=500*(t-r);o=200*(r-n);return[i,a,o]};o.lab.xyz=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;a=(t+16)/116;i=r/500+a;o=a-n/200;var s=Math.pow(a,3);var c=Math.pow(i,3);var u=Math.pow(o,3);a=s>.008856?s:(a-16/116)/7.787;i=c>.008856?c:(i-16/116)/7.787;o=u>.008856?u:(o-16/116)/7.787;i*=95.047;a*=100;o*=108.883;return[i,a,o]};o.lab.lch=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;i=Math.atan2(n,r);a=i*360/2/Math.PI;if(a<0){a+=360}o=Math.sqrt(r*r+n*n);return[t,o,a]};o.lch.lab=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;o=n/360*2*Math.PI;i=r*Math.cos(o);a=r*Math.sin(o);return[t,i,a]};o.rgb.ansi16=function(e){var t=e[0];var r=e[1];var n=e[2];var i=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];i=Math.round(i/50);if(i===0){return 30}var a=30+(Math.round(n/255)<<2|Math.round(r/255)<<1|Math.round(t/255));if(i===2){a+=60}return a};o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])};o.rgb.ansi256=function(e){var t=e[0];var r=e[1];var n=e[2];if(t===r&&r===n){if(t<8){return 16}if(t>248){return 231}return Math.round((t-8)/247*24)+232}var i=16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5);return i};o.ansi16.rgb=function(e){var t=e%10;if(t===0||t===7){if(e>50){t+=3.5}t=t/10.5*255;return[t,t,t]}var r=(~~(e>50)+1)*.5;var n=(t&1)*r*255;var i=(t>>1&1)*r*255;var a=(t>>2&1)*r*255;return[n,i,a]};o.ansi256.rgb=function(e){if(e>=232){var t=(e-232)*10+8;return[t,t,t]}e-=16;var r;var n=Math.floor(e/36)/5*255;var i=Math.floor((r=e%36)/6)/5*255;var a=r%6/5*255;return[n,i,a]};o.rgb.hex=function(e){var t=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255);var r=t.toString(16).toUpperCase();return"000000".substring(r.length)+r};o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t){return[0,0,0]}var r=t[0];if(t[0].length===3){r=r.split("").map(function(e){return e+e}).join("")}var n=parseInt(r,16);var i=n>>16&255;var a=n>>8&255;var o=n&255;return[i,a,o]};o.rgb.hcg=function(e){var t=e[0]/255;var r=e[1]/255;var n=e[2]/255;var i=Math.max(Math.max(t,r),n);var a=Math.min(Math.min(t,r),n);var o=i-a;var s;var c;if(o<1){s=a/(1-o)}else{s=0}if(o<=0){c=0}else if(i===t){c=(r-n)/o%6}else if(i===r){c=2+(n-t)/o}else{c=4+(t-r)/o+4}c/=6;c%=1;return[c*360,o*100,s*100]};o.hsl.hcg=function(e){var t=e[1]/100;var r=e[2]/100;var n=1;var i=0;if(r<.5){n=2*t*r}else{n=2*t*(1-r)}if(n<1){i=(r-.5*n)/(1-n)}return[e[0],n*100,i*100]};o.hsv.hcg=function(e){var t=e[1]/100;var r=e[2]/100;var n=t*r;var i=0;if(n<1){i=(r-n)/(1-n)}return[e[0],n*100,i*100]};o.hcg.rgb=function(e){var t=e[0]/360;var r=e[1]/100;var n=e[2]/100;if(r===0){return[n*255,n*255,n*255]}var i=[0,0,0];var a=t%1*6;var o=a%1;var s=1-o;var c=0;switch(Math.floor(a)){case 0:i[0]=1;i[1]=o;i[2]=0;break;case 1:i[0]=s;i[1]=1;i[2]=0;break;case 2:i[0]=0;i[1]=1;i[2]=o;break;case 3:i[0]=0;i[1]=s;i[2]=1;break;case 4:i[0]=o;i[1]=0;i[2]=1;break;default:i[0]=1;i[1]=0;i[2]=s}c=(1-r)*n;return[(r*i[0]+c)*255,(r*i[1]+c)*255,(r*i[2]+c)*255]};o.hcg.hsv=function(e){var t=e[1]/100;var r=e[2]/100;var n=t+r*(1-t);var i=0;if(n>0){i=t/n}return[e[0],i*100,n*100]};o.hcg.hsl=function(e){var t=e[1]/100;var r=e[2]/100;var n=r*(1-t)+.5*t;var i=0;if(n>0&&n<.5){i=t/(2*n)}else if(n>=.5&&n<1){i=t/(2*(1-n))}return[e[0],i*100,n*100]};o.hcg.hwb=function(e){var t=e[1]/100;var r=e[2]/100;var n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};o.hwb.hcg=function(e){var t=e[1]/100;var r=e[2]/100;var n=1-r;var i=n-t;var a=0;if(i<1){a=(n-i)/(1-i)}return[e[0],i*100,a*100]};o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]};o.gray.hwb=function(e){return[0,100,e[0]]};o.gray.cmyk=function(e){return[0,0,0,e[0]]};o.gray.lab=function(e){return[e[0],0,0]};o.gray.hex=function(e){var t=Math.round(e[0]/100*255)&255;var r=(t<<16)+(t<<8)+t;var n=r.toString(16).toUpperCase();return"000000".substring(n.length)+n};o.rgb.gray=function(e){var t=(e[0]+e[1]+e[2])/3;return[t/255*100]}},8215:(e,t,r)=>{var n=r(3644);var i=r(2076);var a={};var o=Object.keys(n);function wrapRaw(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}return e(t)};if("conversion"in e){t.conversion=e.conversion}return t}function wrapRounded(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}var r=e(t);if(typeof r==="object"){for(var n=r.length,i=0;i{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},2076:(e,t,r)=>{var n=r(3644);function buildGraph(){var e={};var t=Object.keys(n);for(var r=t.length,i=0;i{if(true){e.exports=Emitter}function Emitter(e){if(e)return mixin(e)}function mixin(e){for(var t in Emitter.prototype){e[t]=Emitter.prototype[t]}return e}Emitter.prototype.on=Emitter.prototype.addEventListener=function(e,t){this._callbacks=this._callbacks||{};(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t);return this};Emitter.prototype.once=function(e,t){function on(){this.off(e,on);t.apply(this,arguments)}on.fn=t;this.on(e,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(e,t){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length){delete this._callbacks["$"+e];return this}var n;for(var i=0;i{"use strict";e.exports=function copyDescriptor(e,t,r,n){if(!isObject(t)&&typeof t!=="function"){n=r;r=t;t=e}if(!isObject(e)&&typeof e!=="function"){throw new TypeError("expected the first argument to be an object")}if(!isObject(t)&&typeof t!=="function"){throw new TypeError("expected provider to be an object")}if(typeof n!=="string"){n=r}if(typeof r!=="string"){throw new TypeError("expected key to be a string")}if(!(r in t)){throw new Error('property "'+r+'" does not exist')}var i=Object.getOwnPropertyDescriptor(t,r);if(i)Object.defineProperty(e,n,i)};function isObject(e){return{}.toString.call(e)==="[object Object]"}},535:e=>{"use strict";var t="%[a-f0-9]{2}";var r=new RegExp(t,"gi");var n=new RegExp("("+t+")+","gi");function decodeComponents(e,t){try{return decodeURIComponent(e.join(""))}catch(e){}if(e.length===1){return e}t=t||1;var r=e.slice(0,t);var n=e.slice(t);return Array.prototype.concat.call([],decodeComponents(r),decodeComponents(n))}function decode(e){try{return decodeURIComponent(e)}catch(i){var t=e.match(r);for(var n=1;n{"use strict";var n=r(6203);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},6398:(e,t,r)=>{"use strict";var n=r(2585);var i={get:"function",set:"function",configurable:"boolean",enumerable:"boolean"};function isAccessorDescriptor(e,t){if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(n(e)!=="object"){return false}if(has(e,"value")||has(e,"writable")){return false}if(!has(e,"get")||typeof e.get!=="function"){return false}if(has(e,"set")&&typeof e[a]!=="function"&&typeof e[a]!=="undefined"){return false}for(var a in e){if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}function has(e,t){return{}.hasOwnProperty.call(e,t)}e.exports=isAccessorDescriptor},2585:(e,t,r)=>{var n=r(4950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},7725:(e,t,r)=>{"use strict";var n=r(5060);var i={configurable:"boolean",enumerable:"boolean",writable:"boolean"};function isDataDescriptor(e,t){if(n(e)!=="object"){return false}if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(!("value"in e)&&!("writable"in e)){return false}for(var a in e){if(a==="value")continue;if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}e.exports=isDataDescriptor},5060:(e,t,r)=>{var n=r(4950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},6203:(e,t,r)=>{"use strict";var n=r(1284);var i=r(6398);var a=r(7725);e.exports=function isDescriptor(e,t){if(n(e)!=="object"){return false}if("get"in e){return i(e,t)}return a(e,t)}},1284:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){var r=typeof e;if(r==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(r==="string"||e instanceof String){return"string"}if(r==="number"||e instanceof Number){return"number"}if(r==="function"||e instanceof Function){if(typeof e.constructor.name!=="undefined"&&e.constructor.name.slice(0,9)==="Generator"){return"generatorfunction"}return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}r=t.call(e);if(r==="[object RegExp]"){return"regexp"}if(r==="[object Date]"){return"date"}if(r==="[object Arguments]"){return"arguments"}if(r==="[object Error]"){return"error"}if(r==="[object Promise]"){return"promise"}if(isBuffer(e)){return"buffer"}if(r==="[object Set]"){return"set"}if(r==="[object WeakSet]"){return"weakset"}if(r==="[object Map]"){return"map"}if(r==="[object WeakMap]"){return"weakmap"}if(r==="[object Symbol]"){return"symbol"}if(r==="[object Map Iterator]"){return"mapiterator"}if(r==="[object Set Iterator]"){return"setiterator"}if(r==="[object String Iterator]"){return"stringiterator"}if(r==="[object Array Iterator]"){return"arrayiterator"}if(r==="[object Int8Array]"){return"int8array"}if(r==="[object Uint8Array]"){return"uint8array"}if(r==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(r==="[object Int16Array]"){return"int16array"}if(r==="[object Uint16Array]"){return"uint16array"}if(r==="[object Int32Array]"){return"int32array"}if(r==="[object Uint32Array]"){return"uint32array"}if(r==="[object Float32Array]"){return"float32array"}if(r==="[object Float64Array]"){return"float64array"}return"object"};function isBuffer(e){return e.constructor&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},1356:e=>{e.exports=["🀄","🃏","🅰","🅱","🅾","🅿","🆎","🆑","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🆙","🆚","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇦","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇧","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇨","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇩","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇪","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇫","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇬","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇭","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇮","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇯","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇰","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇱","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇲","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇳","🇴🇲","🇴","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇵","🇶🇦","🇶","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇷","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇸","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇹","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇺","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇻","🇼🇫","🇼🇸","🇼","🇽🇰","🇽","🇾🇪","🇾🇹","🇾","🇿🇦","🇿🇲","🇿🇼","🇿","🈁","🈂","🈚","🈯","🈲","🈳","🈴","🈵","🈶","🈷","🈸","🈹","🈺","🉐","🉑","🌀","🌁","🌂","🌃","🌄","🌅","🌆","🌇","🌈","🌉","🌊","🌋","🌌","🌍","🌎","🌏","🌐","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌝","🌞","🌟","🌠","🌡","🌤","🌥","🌦","🌧","🌨","🌩","🌪","🌫","🌬","🌭","🌮","🌯","🌰","🌱","🌲","🌳","🌴","🌵","🌶","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🍋","🍌","🍍","🍎","🍏","🍐","🍑","🍒","🍓","🍔","🍕","🍖","🍗","🍘","🍙","🍚","🍛","🍜","🍝","🍞","🍟","🍠","🍡","🍢","🍣","🍤","🍥","🍦","🍧","🍨","🍩","🍪","🍫","🍬","🍭","🍮","🍯","🍰","🍱","🍲","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🍼","🍽","🍾","🍿","🎀","🎁","🎂","🎃","🎄","🎅🏻","🎅🏼","🎅🏽","🎅🏾","🎅🏿","🎅","🎆","🎇","🎈","🎉","🎊","🎋","🎌","🎍","🎎","🎏","🎐","🎑","🎒","🎓","🎖","🎗","🎙","🎚","🎛","🎞","🎟","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🎨","🎩","🎪","🎫","🎬","🎭","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🎵","🎶","🎷","🎸","🎹","🎺","🎻","🎼","🎽","🎾","🎿","🏀","🏁","🏂🏻","🏂🏼","🏂🏽","🏂🏾","🏂🏿","🏂","🏃🏻‍♀️","🏃🏻‍♂️","🏃🏻","🏃🏼‍♀️","🏃🏼‍♂️","🏃🏼","🏃🏽‍♀️","🏃🏽‍♂️","🏃🏽","🏃🏾‍♀️","🏃🏾‍♂️","🏃🏾","🏃🏿‍♀️","🏃🏿‍♂️","🏃🏿","🏃‍♀️","🏃‍♂️","🏃","🏄🏻‍♀️","🏄🏻‍♂️","🏄🏻","🏄🏼‍♀️","🏄🏼‍♂️","🏄🏼","🏄🏽‍♀️","🏄🏽‍♂️","🏄🏽","🏄🏾‍♀️","🏄🏾‍♂️","🏄🏾","🏄🏿‍♀️","🏄🏿‍♂️","🏄🏿","🏄‍♀️","🏄‍♂️","🏄","🏅","🏆","🏇🏻","🏇🏼","🏇🏽","🏇🏾","🏇🏿","🏇","🏈","🏉","🏊🏻‍♀️","🏊🏻‍♂️","🏊🏻","🏊🏼‍♀️","🏊🏼‍♂️","🏊🏼","🏊🏽‍♀️","🏊🏽‍♂️","🏊🏽","🏊🏾‍♀️","🏊🏾‍♂️","🏊🏾","🏊🏿‍♀️","🏊🏿‍♂️","🏊🏿","🏊‍♀️","🏊‍♂️","🏊","🏋🏻‍♀️","🏋🏻‍♂️","🏋🏻","🏋🏼‍♀️","🏋🏼‍♂️","🏋🏼","🏋🏽‍♀️","🏋🏽‍♂️","🏋🏽","🏋🏾‍♀️","🏋🏾‍♂️","🏋🏾","🏋🏿‍♀️","🏋🏿‍♂️","🏋🏿","🏋️‍♀️","🏋️‍♂️","🏋","🏌🏻‍♀️","🏌🏻‍♂️","🏌🏻","🏌🏼‍♀️","🏌🏼‍♂️","🏌🏼","🏌🏽‍♀️","🏌🏽‍♂️","🏌🏽","🏌🏾‍♀️","🏌🏾‍♂️","🏌🏾","🏌🏿‍♀️","🏌🏿‍♂️","🏌🏿","🏌️‍♀️","🏌️‍♂️","🏌","🏍","🏎","🏏","🏐","🏑","🏒","🏓","🏔","🏕","🏖","🏗","🏘","🏙","🏚","🏛","🏜","🏝","🏞","🏟","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🏭","🏮","🏯","🏰","🏳️‍🌈","🏳","🏴‍☠️","🏴","🏵","🏷","🏸","🏹","🏺","🏻","🏼","🏽","🏾","🏿","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐌","🐍","🐎","🐏","🐐","🐑","🐒","🐓","🐔","🐕","🐖","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐪","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","🐿","👀","👁‍🗨","👁","👂🏻","👂🏼","👂🏽","👂🏾","👂🏿","👂","👃🏻","👃🏼","👃🏽","👃🏾","👃🏿","👃","👄","👅","👆🏻","👆🏼","👆🏽","👆🏾","👆🏿","👆","👇🏻","👇🏼","👇🏽","👇🏾","👇🏿","👇","👈🏻","👈🏼","👈🏽","👈🏾","👈🏿","👈","👉🏻","👉🏼","👉🏽","👉🏾","👉🏿","👉","👊🏻","👊🏼","👊🏽","👊🏾","👊🏿","👊","👋🏻","👋🏼","👋🏽","👋🏾","👋🏿","👋","👌🏻","👌🏼","👌🏽","👌🏾","👌🏿","👌","👍🏻","👍🏼","👍🏽","👍🏾","👍🏿","👍","👎🏻","👎🏼","👎🏽","👎🏾","👎🏿","👎","👏🏻","👏🏼","👏🏽","👏🏾","👏🏿","👏","👐🏻","👐🏼","👐🏽","👐🏾","👐🏿","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👥","👦🏻","👦🏼","👦🏽","👦🏾","👦🏿","👦","👧🏻","👧🏼","👧🏽","👧🏾","👧🏿","👧","👨🏻‍🌾","👨🏻‍🍳","👨🏻‍🎓","👨🏻‍🎤","👨🏻‍🎨","👨🏻‍🏫","👨🏻‍🏭","👨🏻‍💻","👨🏻‍💼","👨🏻‍🔧","👨🏻‍🔬","👨🏻‍🚀","👨🏻‍🚒","👨🏻‍⚕️","👨🏻‍⚖️","👨🏻‍✈️","👨🏻","👨🏼‍🌾","👨🏼‍🍳","👨🏼‍🎓","👨🏼‍🎤","👨🏼‍🎨","👨🏼‍🏫","👨🏼‍🏭","👨🏼‍💻","👨🏼‍💼","👨🏼‍🔧","👨🏼‍🔬","👨🏼‍🚀","👨🏼‍🚒","👨🏼‍⚕️","👨🏼‍⚖️","👨🏼‍✈️","👨🏼","👨🏽‍🌾","👨🏽‍🍳","👨🏽‍🎓","👨🏽‍🎤","👨🏽‍🎨","👨🏽‍🏫","👨🏽‍🏭","👨🏽‍💻","👨🏽‍💼","👨🏽‍🔧","👨🏽‍🔬","👨🏽‍🚀","👨🏽‍🚒","👨🏽‍⚕️","👨🏽‍⚖️","👨🏽‍✈️","👨🏽","👨🏾‍🌾","👨🏾‍🍳","👨🏾‍🎓","👨🏾‍🎤","👨🏾‍🎨","👨🏾‍🏫","👨🏾‍🏭","👨🏾‍💻","👨🏾‍💼","👨🏾‍🔧","👨🏾‍🔬","👨🏾‍🚀","👨🏾‍🚒","👨🏾‍⚕️","👨🏾‍⚖️","👨🏾‍✈️","👨🏾","👨🏿‍🌾","👨🏿‍🍳","👨🏿‍🎓","👨🏿‍🎤","👨🏿‍🎨","👨🏿‍🏫","👨🏿‍🏭","👨🏿‍💻","👨🏿‍💼","👨🏿‍🔧","👨🏿‍🔬","👨🏿‍🚀","👨🏿‍🚒","👨🏿‍⚕️","👨🏿‍⚖️","👨🏿‍✈️","👨🏿","👨‍🌾","👨‍🍳","👨‍🎓","👨‍🎤","👨‍🎨","👨‍🏫","👨‍🏭","👨‍👦‍👦","👨‍👦","👨‍👧‍👦","👨‍👧‍👧","👨‍👧","👨‍👨‍👦‍👦","👨‍👨‍👦","👨‍👨‍👧‍👦","👨‍👨‍👧‍👧","👨‍👨‍👧","👨‍👩‍👦‍👦","👨‍👩‍👦","👨‍👩‍👧‍👦","👨‍👩‍👧‍👧","👨‍👩‍👧","👨‍💻","👨‍💼","👨‍🔧","👨‍🔬","👨‍🚀","👨‍🚒","👨‍⚕️","👨‍⚖️","👨‍✈️","👨‍❤️‍👨","👨‍❤️‍💋‍👨","👨","👩🏻‍🌾","👩🏻‍🍳","👩🏻‍🎓","👩🏻‍🎤","👩🏻‍🎨","👩🏻‍🏫","👩🏻‍🏭","👩🏻‍💻","👩🏻‍💼","👩🏻‍🔧","👩🏻‍🔬","👩🏻‍🚀","👩🏻‍🚒","👩🏻‍⚕️","👩🏻‍⚖️","👩🏻‍✈️","👩🏻","👩🏼‍🌾","👩🏼‍🍳","👩🏼‍🎓","👩🏼‍🎤","👩🏼‍🎨","👩🏼‍🏫","👩🏼‍🏭","👩🏼‍💻","👩🏼‍💼","👩🏼‍🔧","👩🏼‍🔬","👩🏼‍🚀","👩🏼‍🚒","👩🏼‍⚕️","👩🏼‍⚖️","👩🏼‍✈️","👩🏼","👩🏽‍🌾","👩🏽‍🍳","👩🏽‍🎓","👩🏽‍🎤","👩🏽‍🎨","👩🏽‍🏫","👩🏽‍🏭","👩🏽‍💻","👩🏽‍💼","👩🏽‍🔧","👩🏽‍🔬","👩🏽‍🚀","👩🏽‍🚒","👩🏽‍⚕️","👩🏽‍⚖️","👩🏽‍✈️","👩🏽","👩🏾‍🌾","👩🏾‍🍳","👩🏾‍🎓","👩🏾‍🎤","👩🏾‍🎨","👩🏾‍🏫","👩🏾‍🏭","👩🏾‍💻","👩🏾‍💼","👩🏾‍🔧","👩🏾‍🔬","👩🏾‍🚀","👩🏾‍🚒","👩🏾‍⚕️","👩🏾‍⚖️","👩🏾‍✈️","👩🏾","👩🏿‍🌾","👩🏿‍🍳","👩🏿‍🎓","👩🏿‍🎤","👩🏿‍🎨","👩🏿‍🏫","👩🏿‍🏭","👩🏿‍💻","👩🏿‍💼","👩🏿‍🔧","👩🏿‍🔬","👩🏿‍🚀","👩🏿‍🚒","👩🏿‍⚕️","👩🏿‍⚖️","👩🏿‍✈️","👩🏿","👩‍🌾","👩‍🍳","👩‍🎓","👩‍🎤","👩‍🎨","👩‍🏫","👩‍🏭","👩‍👦‍👦","👩‍👦","👩‍👧‍👦","👩‍👧‍👧","👩‍👧","👩‍👩‍👦‍👦","👩‍👩‍👦","👩‍👩‍👧‍👦","👩‍👩‍👧‍👧","👩‍👩‍👧","👩‍💻","👩‍💼","👩‍🔧","👩‍🔬","👩‍🚀","👩‍🚒","👩‍⚕️","👩‍⚖️","👩‍✈️","👩‍❤️‍👨","👩‍❤️‍👩","👩‍❤️‍💋‍👨","👩‍❤️‍💋‍👩","👩","👪🏻","👪🏼","👪🏽","👪🏾","👪🏿","👪","👫🏻","👫🏼","👫🏽","👫🏾","👫🏿","👫","👬🏻","👬🏼","👬🏽","👬🏾","👬🏿","👬","👭🏻","👭🏼","👭🏽","👭🏾","👭🏿","👭","👮🏻‍♀️","👮🏻‍♂️","👮🏻","👮🏼‍♀️","👮🏼‍♂️","👮🏼","👮🏽‍♀️","👮🏽‍♂️","👮🏽","👮🏾‍♀️","👮🏾‍♂️","👮🏾","👮🏿‍♀️","👮🏿‍♂️","👮🏿","👮‍♀️","👮‍♂️","👮","👯🏻‍♀️","👯🏻‍♂️","👯🏻","👯🏼‍♀️","👯🏼‍♂️","👯🏼","👯🏽‍♀️","👯🏽‍♂️","👯🏽","👯🏾‍♀️","👯🏾‍♂️","👯🏾","👯🏿‍♀️","👯🏿‍♂️","👯🏿","👯‍♀️","👯‍♂️","👯","👰🏻","👰🏼","👰🏽","👰🏾","👰🏿","👰","👱🏻‍♀️","👱🏻‍♂️","👱🏻","👱🏼‍♀️","👱🏼‍♂️","👱🏼","👱🏽‍♀️","👱🏽‍♂️","👱🏽","👱🏾‍♀️","👱🏾‍♂️","👱🏾","👱🏿‍♀️","👱🏿‍♂️","👱🏿","👱‍♀️","👱‍♂️","👱","👲🏻","👲🏼","👲🏽","👲🏾","👲🏿","👲","👳🏻‍♀️","👳🏻‍♂️","👳🏻","👳🏼‍♀️","👳🏼‍♂️","👳🏼","👳🏽‍♀️","👳🏽‍♂️","👳🏽","👳🏾‍♀️","👳🏾‍♂️","👳🏾","👳🏿‍♀️","👳🏿‍♂️","👳🏿","👳‍♀️","👳‍♂️","👳","👴🏻","👴🏼","👴🏽","👴🏾","👴🏿","👴","👵🏻","👵🏼","👵🏽","👵🏾","👵🏿","👵","👶🏻","👶🏼","👶🏽","👶🏾","👶🏿","👶","👷🏻‍♀️","👷🏻‍♂️","👷🏻","👷🏼‍♀️","👷🏼‍♂️","👷🏼","👷🏽‍♀️","👷🏽‍♂️","👷🏽","👷🏾‍♀️","👷🏾‍♂️","👷🏾","👷🏿‍♀️","👷🏿‍♂️","👷🏿","👷‍♀️","👷‍♂️","👷","👸🏻","👸🏼","👸🏽","👸🏾","👸🏿","👸","👹","👺","👻","👼🏻","👼🏼","👼🏽","👼🏾","👼🏿","👼","👽","👾","👿","💀","💁🏻‍♀️","💁🏻‍♂️","💁🏻","💁🏼‍♀️","💁🏼‍♂️","💁🏼","💁🏽‍♀️","💁🏽‍♂️","💁🏽","💁🏾‍♀️","💁🏾‍♂️","💁🏾","💁🏿‍♀️","💁🏿‍♂️","💁🏿","💁‍♀️","💁‍♂️","💁","💂🏻‍♀️","💂🏻‍♂️","💂🏻","💂🏼‍♀️","💂🏼‍♂️","💂🏼","💂🏽‍♀️","💂🏽‍♂️","💂🏽","💂🏾‍♀️","💂🏾‍♂️","💂🏾","💂🏿‍♀️","💂🏿‍♂️","💂🏿","💂‍♀️","💂‍♂️","💂","💃🏻","💃🏼","💃🏽","💃🏾","💃🏿","💃","💄","💅🏻","💅🏼","💅🏽","💅🏾","💅🏿","💅","💆🏻‍♀️","💆🏻‍♂️","💆🏻","💆🏼‍♀️","💆🏼‍♂️","💆🏼","💆🏽‍♀️","💆🏽‍♂️","💆🏽","💆🏾‍♀️","💆🏾‍♂️","💆🏾","💆🏿‍♀️","💆🏿‍♂️","💆🏿","💆‍♀️","💆‍♂️","💆","💇🏻‍♀️","💇🏻‍♂️","💇🏻","💇🏼‍♀️","💇🏼‍♂️","💇🏼","💇🏽‍♀️","💇🏽‍♂️","💇🏽","💇🏾‍♀️","💇🏾‍♂️","💇🏾","💇🏿‍♀️","💇🏿‍♂️","💇🏿","💇‍♀️","💇‍♂️","💇","💈","💉","💊","💋","💌","💍","💎","💏","💐","💑","💒","💓","💔","💕","💖","💗","💘","💙","💚","💛","💜","💝","💞","💟","💠","💡","💢","💣","💤","💥","💦","💧","💨","💩","💪🏻","💪🏼","💪🏽","💪🏾","💪🏿","💪","💫","💬","💭","💮","💯","💰","💱","💲","💳","💴","💵","💶","💷","💸","💹","💺","💻","💼","💽","💾","💿","📀","📁","📂","📃","📄","📅","📆","📇","📈","📉","📊","📋","📌","📍","📎","📏","📐","📑","📒","📓","📔","📕","📖","📗","📘","📙","📚","📛","📜","📝","📞","📟","📠","📡","📢","📣","📤","📥","📦","📧","📨","📩","📪","📫","📬","📭","📮","📯","📰","📱","📲","📳","📴","📵","📶","📷","📸","📹","📺","📻","📼","📽","📿","🔀","🔁","🔂","🔃","🔄","🔅","🔆","🔇","🔈","🔉","🔊","🔋","🔌","🔍","🔎","🔏","🔐","🔑","🔒","🔓","🔔","🔕","🔖","🔗","🔘","🔙","🔚","🔛","🔜","🔝","🔞","🔟","🔠","🔡","🔢","🔣","🔤","🔥","🔦","🔧","🔨","🔩","🔪","🔫","🔬","🔭","🔮","🔯","🔰","🔱","🔲","🔳","🔴","🔵","🔶","🔷","🔸","🔹","🔺","🔻","🔼","🔽","🕉","🕊","🕋","🕌","🕍","🕎","🕐","🕑","🕒","🕓","🕔","🕕","🕖","🕗","🕘","🕙","🕚","🕛","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🕯","🕰","🕳","🕴🏻","🕴🏼","🕴🏽","🕴🏾","🕴🏿","🕴","🕵🏻‍♀️","🕵🏻‍♂️","🕵🏻","🕵🏼‍♀️","🕵🏼‍♂️","🕵🏼","🕵🏽‍♀️","🕵🏽‍♂️","🕵🏽","🕵🏾‍♀️","🕵🏾‍♂️","🕵🏾","🕵🏿‍♀️","🕵🏿‍♂️","🕵🏿","🕵️‍♀️","🕵️‍♂️","🕵","🕶","🕷","🕸","🕹","🕺🏻","🕺🏼","🕺🏽","🕺🏾","🕺🏿","🕺","🖇","🖊","🖋","🖌","🖍","🖐🏻","🖐🏼","🖐🏽","🖐🏾","🖐🏿","🖐","🖕🏻","🖕🏼","🖕🏽","🖕🏾","🖕🏿","🖕","🖖🏻","🖖🏼","🖖🏽","🖖🏾","🖖🏿","🖖","🖤","🖥","🖨","🖱","🖲","🖼","🗂","🗃","🗄","🗑","🗒","🗓","🗜","🗝","🗞","🗡","🗣","🗨","🗯","🗳","🗺","🗻","🗼","🗽","🗾","🗿","😀","😁","😂","😃","😄","😅","😆","😇","😈","😉","😊","😋","😌","😍","😎","😏","😐","😑","😒","😓","😔","😕","😖","😗","😘","😙","😚","😛","😜","😝","😞","😟","😠","😡","😢","😣","😤","😥","😦","😧","😨","😩","😪","😫","😬","😭","😮","😯","😰","😱","😲","😳","😴","😵","😶","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙁","🙂","🙃","🙄","🙅🏻‍♀️","🙅🏻‍♂️","🙅🏻","🙅🏼‍♀️","🙅🏼‍♂️","🙅🏼","🙅🏽‍♀️","🙅🏽‍♂️","🙅🏽","🙅🏾‍♀️","🙅🏾‍♂️","🙅🏾","🙅🏿‍♀️","🙅🏿‍♂️","🙅🏿","🙅‍♀️","🙅‍♂️","🙅","🙆🏻‍♀️","🙆🏻‍♂️","🙆🏻","🙆🏼‍♀️","🙆🏼‍♂️","🙆🏼","🙆🏽‍♀️","🙆🏽‍♂️","🙆🏽","🙆🏾‍♀️","🙆🏾‍♂️","🙆🏾","🙆🏿‍♀️","🙆🏿‍♂️","🙆🏿","🙆‍♀️","🙆‍♂️","🙆","🙇🏻‍♀️","🙇🏻‍♂️","🙇🏻","🙇🏼‍♀️","🙇🏼‍♂️","🙇🏼","🙇🏽‍♀️","🙇🏽‍♂️","🙇🏽","🙇🏾‍♀️","🙇🏾‍♂️","🙇🏾","🙇🏿‍♀️","🙇🏿‍♂️","🙇🏿","🙇‍♀️","🙇‍♂️","🙇","🙈","🙉","🙊","🙋🏻‍♀️","🙋🏻‍♂️","🙋🏻","🙋🏼‍♀️","🙋🏼‍♂️","🙋🏼","🙋🏽‍♀️","🙋🏽‍♂️","🙋🏽","🙋🏾‍♀️","🙋🏾‍♂️","🙋🏾","🙋🏿‍♀️","🙋🏿‍♂️","🙋🏿","🙋‍♀️","🙋‍♂️","🙋","🙌🏻","🙌🏼","🙌🏽","🙌🏾","🙌🏿","🙌","🙍🏻‍♀️","🙍🏻‍♂️","🙍🏻","🙍🏼‍♀️","🙍🏼‍♂️","🙍🏼","🙍🏽‍♀️","🙍🏽‍♂️","🙍🏽","🙍🏾‍♀️","🙍🏾‍♂️","🙍🏾","🙍🏿‍♀️","🙍🏿‍♂️","🙍🏿","🙍‍♀️","🙍‍♂️","🙍","🙎🏻‍♀️","🙎🏻‍♂️","🙎🏻","🙎🏼‍♀️","🙎🏼‍♂️","🙎🏼","🙎🏽‍♀️","🙎🏽‍♂️","🙎🏽","🙎🏾‍♀️","🙎🏾‍♂️","🙎🏾","🙎🏿‍♀️","🙎🏿‍♂️","🙎🏿","🙎‍♀️","🙎‍♂️","🙎","🙏🏻","🙏🏼","🙏🏽","🙏🏾","🙏🏿","🙏","🚀","🚁","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚋","🚌","🚍","🚎","🚏","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🚚","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚢","🚣🏻‍♀️","🚣🏻‍♂️","🚣🏻","🚣🏼‍♀️","🚣🏼‍♂️","🚣🏼","🚣🏽‍♀️","🚣🏽‍♂️","🚣🏽","🚣🏾‍♀️","🚣🏾‍♂️","🚣🏾","🚣🏿‍♀️","🚣🏿‍♂️","🚣🏿","🚣‍♀️","🚣‍♂️","🚣","🚤","🚥","🚦","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚮","🚯","🚰","🚱","🚲","🚳","🚴🏻‍♀️","🚴🏻‍♂️","🚴🏻","🚴🏼‍♀️","🚴🏼‍♂️","🚴🏼","🚴🏽‍♀️","🚴🏽‍♂️","🚴🏽","🚴🏾‍♀️","🚴🏾‍♂️","🚴🏾","🚴🏿‍♀️","🚴🏿‍♂️","🚴🏿","🚴‍♀️","🚴‍♂️","🚴","🚵🏻‍♀️","🚵🏻‍♂️","🚵🏻","🚵🏼‍♀️","🚵🏼‍♂️","🚵🏼","🚵🏽‍♀️","🚵🏽‍♂️","🚵🏽","🚵🏾‍♀️","🚵🏾‍♂️","🚵🏾","🚵🏿‍♀️","🚵🏿‍♂️","🚵🏿","🚵‍♀️","🚵‍♂️","🚵","🚶🏻‍♀️","🚶🏻‍♂️","🚶🏻","🚶🏼‍♀️","🚶🏼‍♂️","🚶🏼","🚶🏽‍♀️","🚶🏽‍♂️","🚶🏽","🚶🏾‍♀️","🚶🏾‍♂️","🚶🏾","🚶🏿‍♀️","🚶🏿‍♂️","🚶🏿","🚶‍♀️","🚶‍♂️","🚶","🚷","🚸","🚹","🚺","🚻","🚼","🚽","🚾","🚿","🛀🏻","🛀🏼","🛀🏽","🛀🏾","🛀🏿","🛀","🛁","🛂","🛃","🛄","🛅","🛋","🛌🏻","🛌🏼","🛌🏽","🛌🏾","🛌🏿","🛌","🛍","🛎","🛏","🛐","🛑","🛒","🛠","🛡","🛢","🛣","🛤","🛥","🛩","🛫","🛬","🛰","🛳","🛴","🛵","🛶","🤐","🤑","🤒","🤓","🤔","🤕","🤖","🤗","🤘🏻","🤘🏼","🤘🏽","🤘🏾","🤘🏿","🤘","🤙🏻","🤙🏼","🤙🏽","🤙🏾","🤙🏿","🤙","🤚🏻","🤚🏼","🤚🏽","🤚🏾","🤚🏿","🤚","🤛🏻","🤛🏼","🤛🏽","🤛🏾","🤛🏿","🤛","🤜🏻","🤜🏼","🤜🏽","🤜🏾","🤜🏿","🤜","🤝🏻","🤝🏼","🤝🏽","🤝🏾","🤝🏿","🤝","🤞🏻","🤞🏼","🤞🏽","🤞🏾","🤞🏿","🤞","🤠","🤡","🤢","🤣","🤤","🤥","🤦🏻‍♀️","🤦🏻‍♂️","🤦🏻","🤦🏼‍♀️","🤦🏼‍♂️","🤦🏼","🤦🏽‍♀️","🤦🏽‍♂️","🤦🏽","🤦🏾‍♀️","🤦🏾‍♂️","🤦🏾","🤦🏿‍♀️","🤦🏿‍♂️","🤦🏿","🤦‍♀️","🤦‍♂️","🤦","🤧","🤰🏻","🤰🏼","🤰🏽","🤰🏾","🤰🏿","🤰","🤳🏻","🤳🏼","🤳🏽","🤳🏾","🤳🏿","🤳","🤴🏻","🤴🏼","🤴🏽","🤴🏾","🤴🏿","🤴","🤵🏻","🤵🏼","🤵🏽","🤵🏾","🤵🏿","🤵","🤶🏻","🤶🏼","🤶🏽","🤶🏾","🤶🏿","🤶","🤷🏻‍♀️","🤷🏻‍♂️","🤷🏻","🤷🏼‍♀️","🤷🏼‍♂️","🤷🏼","🤷🏽‍♀️","🤷🏽‍♂️","🤷🏽","🤷🏾‍♀️","🤷🏾‍♂️","🤷🏾","🤷🏿‍♀️","🤷🏿‍♂️","🤷🏿","🤷‍♀️","🤷‍♂️","🤷","🤸🏻‍♀️","🤸🏻‍♂️","🤸🏻","🤸🏼‍♀️","🤸🏼‍♂️","🤸🏼","🤸🏽‍♀️","🤸🏽‍♂️","🤸🏽","🤸🏾‍♀️","🤸🏾‍♂️","🤸🏾","🤸🏿‍♀️","🤸🏿‍♂️","🤸🏿","🤸‍♀️","🤸‍♂️","🤸","🤹🏻‍♀️","🤹🏻‍♂️","🤹🏻","🤹🏼‍♀️","🤹🏼‍♂️","🤹🏼","🤹🏽‍♀️","🤹🏽‍♂️","🤹🏽","🤹🏾‍♀️","🤹🏾‍♂️","🤹🏾","🤹🏿‍♀️","🤹🏿‍♂️","🤹🏿","🤹‍♀️","🤹‍♂️","🤹","🤺","🤼🏻‍♀️","🤼🏻‍♂️","🤼🏻","🤼🏼‍♀️","🤼🏼‍♂️","🤼🏼","🤼🏽‍♀️","🤼🏽‍♂️","🤼🏽","🤼🏾‍♀️","🤼🏾‍♂️","🤼🏾","🤼🏿‍♀️","🤼🏿‍♂️","🤼🏿","🤼‍♀️","🤼‍♂️","🤼","🤽🏻‍♀️","🤽🏻‍♂️","🤽🏻","🤽🏼‍♀️","🤽🏼‍♂️","🤽🏼","🤽🏽‍♀️","🤽🏽‍♂️","🤽🏽","🤽🏾‍♀️","🤽🏾‍♂️","🤽🏾","🤽🏿‍♀️","🤽🏿‍♂️","🤽🏿","🤽‍♀️","🤽‍♂️","🤽","🤾🏻‍♀️","🤾🏻‍♂️","🤾🏻","🤾🏼‍♀️","🤾🏼‍♂️","🤾🏼","🤾🏽‍♀️","🤾🏽‍♂️","🤾🏽","🤾🏾‍♀️","🤾🏾‍♂️","🤾🏾","🤾🏿‍♀️","🤾🏿‍♂️","🤾🏿","🤾‍♀️","🤾‍♂️","🤾","🥀","🥁","🥂","🥃","🥄","🥅","🥇","🥈","🥉","🥊","🥋","🥐","🥑","🥒","🥓","🥔","🥕","🥖","🥗","🥘","🥙","🥚","🥛","🥜","🥝","🥞","🦀","🦁","🦂","🦃","🦄","🦅","🦆","🦇","🦈","🦉","🦊","🦋","🦌","🦍","🦎","🦏","🦐","🦑","🧀","‼","⁉","™","ℹ","↔","↕","↖","↗","↘","↙","↩","↪","#⃣","⌚","⌛","⌨","⏏","⏩","⏪","⏫","⏬","⏭","⏮","⏯","⏰","⏱","⏲","⏳","⏸","⏹","⏺","Ⓜ","▪","▫","▶","◀","◻","◼","◽","◾","☀","☁","☂","☃","☄","☎","☑","☔","☕","☘","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","☝","☠","☢","☣","☦","☪","☮","☯","☸","☹","☺","♀","♂","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","♠","♣","♥","♦","♨","♻","♿","⚒","⚓","⚔","⚕","⚖","⚗","⚙","⚛","⚜","⚠","⚡","⚪","⚫","⚰","⚱","⚽","⚾","⛄","⛅","⛈","⛎","⛏","⛑","⛓","⛔","⛩","⛪","⛰","⛱","⛲","⛳","⛴","⛵","⛷🏻","⛷🏼","⛷🏽","⛷🏾","⛷🏿","⛷","⛸","⛹🏻‍♀️","⛹🏻‍♂️","⛹🏻","⛹🏼‍♀️","⛹🏼‍♂️","⛹🏼","⛹🏽‍♀️","⛹🏽‍♂️","⛹🏽","⛹🏾‍♀️","⛹🏾‍♂️","⛹🏾","⛹🏿‍♀️","⛹🏿‍♂️","⛹🏿","⛹️‍♀️","⛹️‍♂️","⛹","⛺","⛽","✂","✅","✈","✉","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✊","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✋","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✌","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","✍","✏","✒","✔","✖","✝","✡","✨","✳","✴","❄","❇","❌","❎","❓","❔","❕","❗","❣","❤","➕","➖","➗","➡","➰","➿","⤴","⤵","*⃣","⬅","⬆","⬇","⬛","⬜","⭐","⭕","0⃣","〰","〽","1⃣","2⃣","㊗","㊙","3⃣","4⃣","5⃣","6⃣","7⃣","8⃣","9⃣","©","®",""]},7235:(e,t,r)=>{"use strict";const n=r(3881);const i=r(2471);e.exports=class AliasFieldPlugin{constructor(e,t,r){this.source=e;this.field=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AliasFieldPlugin",(r,a,o)=>{if(!r.descriptionFileData)return o();const s=i(e,r);if(!s)return o();const c=n.getField(r.descriptionFileData,this.field);if(typeof c!=="object"){if(a.log)a.log("Field '"+this.field+"' doesn't contain a valid alias configuration");return o()}const u=c[s];const l=c[s.replace(/^\.\//,"")];const f=typeof u!=="undefined"?u:l;if(f===s)return o();if(f===undefined)return o();if(f===false){const e=Object.assign({},r,{path:false});return o(null,e)}const d=Object.assign({},r,{path:r.descriptionFileRoot,request:f});e.doResolve(t,d,"aliased from description file "+r.descriptionFilePath+" with mapping '"+s+"' to '"+f+"'",a,(e,t)=>{if(e)return o(e);if(t===undefined)return o(null,null);o(null,t)})})}}},2002:e=>{"use strict";function startsWith(e,t){const r=e.length;const n=t.length;if(n>r){return false}let i=-1;while(++i{const a=r.request||r.path;if(!a)return i();for(const o of this.options){if(a===o.name||!o.onlyModule&&startsWith(a,o.name+"/")){if(a!==o.alias&&!startsWith(a,o.alias+"/")){const s=o.alias+a.substr(o.name.length);const c=Object.assign({},r,{request:s});return e.doResolve(t,c,"aliased with mapping '"+o.name+"': '"+o.alias+"' to '"+s+"'",n,(e,t)=>{if(e)return i(e);if(t===undefined)return i(null,null);i(null,t)})}}}return i()})}}},803:e=>{"use strict";e.exports=class AppendPlugin{constructor(e,t,r){this.source=e;this.appending=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AppendPlugin",(r,n,i)=>{const a=Object.assign({},r,{path:r.path+this.appending,relativePath:r.relativePath&&r.relativePath+this.appending});e.doResolve(t,a,this.appending,n,i)})}}},7703:e=>{"use strict";class Storage{constructor(e){this.duration=e;this.running=new Map;this.data=new Map;this.levels=[];if(e>0){this.levels.push(new Set,new Set,new Set,new Set,new Set,new Set,new Set,new Set,new Set);for(let t=8e3;t0&&!this.nextTick)this.interval=setInterval(this.tick,Math.floor(this.duration/this.levels.length))}finished(e,t,r){const n=this.running.get(e);this.running.delete(e);if(this.duration>0){this.data.set(e,[t,r]);const n=this.levels[0];this.count-=n.size;n.add(e);this.count+=n.size;this.ensureTick()}for(let e=0;e0){this.data.set(e,[t,r]);const n=this.levels[0];this.count-=n.size;n.add(e);this.count+=n.size;this.ensureTick()}}provide(e,t,r){if(typeof e!=="string"){r(new TypeError("path must be a string"));return}let n=this.running.get(e);if(n){n.push(r);return}if(this.duration>0){this.checkTicks();const t=this.data.get(e);if(t){return process.nextTick(()=>{r.apply(null,t)})}}this.running.set(e,n=[r]);t(e,(t,r)=>{this.finished(e,t,r)})}provideSync(e,t){if(typeof e!=="string"){throw new TypeError("path must be a string")}if(this.duration>0){this.checkTicks();const t=this.data.get(e);if(t){if(t[0])throw t[0];return t[1]}}let r;try{r=t(e)}catch(t){this.finishedSync(e,t);throw t}this.finishedSync(e,null,r);return r}tick(){const e=this.levels.pop();for(let t of e){this.data.delete(t)}this.count-=e.size;e.clear();this.levels.unshift(e);if(this.count===0){clearInterval(this.interval);this.interval=null;this.nextTick=null;return true}else if(this.nextTick){this.nextTick+=Math.floor(this.duration/this.levels.length);const e=(new Date).getTime();if(this.nextTick>e){this.nextTick=null;this.interval=setInterval(this.tick,Math.floor(this.duration/this.levels.length));return true}}else if(this.passive){clearInterval(this.interval);this.interval=null;this.nextTick=(new Date).getTime()+Math.floor(this.duration/this.levels.length)}else{this.passive=true}}checkTicks(){this.passive=false;if(this.nextTick){while(!this.tick());}}purge(e){if(!e){this.count=0;clearInterval(this.interval);this.nextTick=null;this.data.clear();this.levels.forEach(e=>{e.clear()})}else if(typeof e==="string"){for(let t of this.data.keys()){if(t.startsWith(e))this.data.delete(t)}}else{for(let t=e.length-1;t>=0;t--){this.purge(e[t])}}}}e.exports=class CachedInputFileSystem{constructor(e,t){this.fileSystem=e;this._statStorage=new Storage(t);this._readdirStorage=new Storage(t);this._readFileStorage=new Storage(t);this._readJsonStorage=new Storage(t);this._readlinkStorage=new Storage(t);this._stat=this.fileSystem.stat?this.fileSystem.stat.bind(this.fileSystem):null;if(!this._stat)this.stat=null;this._statSync=this.fileSystem.statSync?this.fileSystem.statSync.bind(this.fileSystem):null;if(!this._statSync)this.statSync=null;this._readdir=this.fileSystem.readdir?this.fileSystem.readdir.bind(this.fileSystem):null;if(!this._readdir)this.readdir=null;this._readdirSync=this.fileSystem.readdirSync?this.fileSystem.readdirSync.bind(this.fileSystem):null;if(!this._readdirSync)this.readdirSync=null;this._readFile=this.fileSystem.readFile?this.fileSystem.readFile.bind(this.fileSystem):null;if(!this._readFile)this.readFile=null;this._readFileSync=this.fileSystem.readFileSync?this.fileSystem.readFileSync.bind(this.fileSystem):null;if(!this._readFileSync)this.readFileSync=null;if(this.fileSystem.readJson){this._readJson=this.fileSystem.readJson.bind(this.fileSystem)}else if(this.readFile){this._readJson=((e,t)=>{this.readFile(e,(e,r)=>{if(e)return t(e);let n;try{n=JSON.parse(r.toString("utf-8"))}catch(e){return t(e)}t(null,n)})})}else{this.readJson=null}if(this.fileSystem.readJsonSync){this._readJsonSync=this.fileSystem.readJsonSync.bind(this.fileSystem)}else if(this.readFileSync){this._readJsonSync=(e=>{const t=this.readFileSync(e);const r=JSON.parse(t.toString("utf-8"));return r})}else{this.readJsonSync=null}this._readlink=this.fileSystem.readlink?this.fileSystem.readlink.bind(this.fileSystem):null;if(!this._readlink)this.readlink=null;this._readlinkSync=this.fileSystem.readlinkSync?this.fileSystem.readlinkSync.bind(this.fileSystem):null;if(!this._readlinkSync)this.readlinkSync=null}stat(e,t){this._statStorage.provide(e,this._stat,t)}readdir(e,t){this._readdirStorage.provide(e,this._readdir,t)}readFile(e,t){this._readFileStorage.provide(e,this._readFile,t)}readJson(e,t){this._readJsonStorage.provide(e,this._readJson,t)}readlink(e,t){this._readlinkStorage.provide(e,this._readlink,t)}statSync(e){return this._statStorage.provideSync(e,this._statSync)}readdirSync(e){return this._readdirStorage.provideSync(e,this._readdirSync)}readFileSync(e){return this._readFileStorage.provideSync(e,this._readFileSync)}readJsonSync(e){return this._readJsonStorage.provideSync(e,this._readJsonSync)}readlinkSync(e){return this._readlinkStorage.provideSync(e,this._readlinkSync)}purge(e){this._statStorage.purge(e);this._readdirStorage.purge(e);this._readFileStorage.purge(e);this._readlinkStorage.purge(e);this._readJsonStorage.purge(e)}}},5810:(e,t,r)=>{"use strict";const n=r(4426);const i=r(3881);const a=r(3556);e.exports=class ConcordExtensionsPlugin{constructor(e,t,r){this.source=e;this.options=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ConcordExtensionsPlugin",(r,o,s)=>{const c=i.getField(r.descriptionFileData,"concord");if(!c)return s();const u=n.getExtensions(r.context,c);if(!u)return s();a(u,(n,i)=>{const a=Object.assign({},r,{path:r.path+n,relativePath:r.relativePath&&r.relativePath+n});e.doResolve(t,a,"concord extension: "+n,o,i)},(e,t)=>{if(e)return s(e);if(t===undefined)return s(null,null);s(null,t)})})}}},6683:(e,t,r)=>{"use strict";const n=r(5622);const i=r(4426);const a=r(3881);e.exports=class ConcordMainPlugin{constructor(e,t,r){this.source=e;this.options=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ConcordMainPlugin",(r,o,s)=>{if(r.path!==r.descriptionFileRoot)return s();const c=a.getField(r.descriptionFileData,"concord");if(!c)return s();const u=i.getMain(r.context,c);if(!u)return s();const l=Object.assign({},r,{request:u});const f=n.basename(r.descriptionFilePath);return e.doResolve(t,l,"use "+u+" from "+f,o,s)})}}},9912:(e,t,r)=>{"use strict";const n=r(4426);const i=r(3881);const a=r(2471);e.exports=class ConcordModulesPlugin{constructor(e,t,r){this.source=e;this.options=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ConcordModulesPlugin",(r,o,s)=>{const c=a(e,r);if(!c)return s();const u=i.getField(r.descriptionFileData,"concord");if(!u)return s();const l=n.matchModule(r.context,u,c);if(l===c)return s();if(l===undefined)return s();if(l===false){const e=Object.assign({},r,{path:false});return s(null,e)}const f=Object.assign({},r,{path:r.descriptionFileRoot,request:l});e.doResolve(t,f,"aliased from description file "+r.descriptionFilePath+" with mapping '"+c+"' to '"+l+"'",o,(e,t)=>{if(e)return s(e);if(t===undefined)return s(null,null);s(null,t)})})}}},5943:(e,t,r)=>{"use strict";const n=r(3881);e.exports=class DescriptionFilePlugin{constructor(e,t,r){this.source=e;this.filenames=[].concat(t);this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DescriptionFilePlugin",(r,i,a)=>{const o=r.path;n.loadDescriptionFile(e,o,this.filenames,i,(n,s)=>{if(n)return a(n);if(!s){if(i.missing){this.filenames.forEach(t=>{i.missing.add(e.join(o,t))})}if(i.log)i.log("No description file found");return a()}const c="."+r.path.substr(s.directory.length).replace(/\\/g,"/");const u=Object.assign({},r,{descriptionFilePath:s.path,descriptionFileData:s.content,descriptionFileRoot:s.directory,relativePath:c});e.doResolve(t,u,"using description file: "+s.path+" (relative path: "+c+")",i,(e,t)=>{if(e)return a(e);if(t===undefined)return a(null,null);a(null,t)})})})}}},3881:(e,t,r)=>{"use strict";const n=r(3556);function loadDescriptionFile(e,t,r,i,a){(function findDescriptionFile(){n(r,(r,n)=>{const a=e.join(t,r);if(e.fileSystem.readJson){e.fileSystem.readJson(a,(e,t)=>{if(e){if(typeof e.code!=="undefined")return n();return onJson(e)}onJson(null,t)})}else{e.fileSystem.readFile(a,(e,t)=>{if(e)return n();let r;try{r=JSON.parse(t)}catch(e){onJson(e)}onJson(null,r)})}function onJson(e,r){if(e){if(i.log)i.log(a+" (directory description file): "+e);else e.message=a+" (directory description file): "+e;return n(e)}n(null,{content:r,directory:t,path:a})}},(e,r)=>{if(e)return a(e);if(r){return a(null,r)}else{t=cdUp(t);if(!t){return a()}else{return findDescriptionFile()}}})})()}function getField(e,t){if(!e)return undefined;if(Array.isArray(t)){let r=e;for(let e=0;e{"use strict";e.exports=class DirectoryExistsPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DirectoryExistsPlugin",(r,n,i)=>{const a=e.fileSystem;const o=r.path;a.stat(o,(a,s)=>{if(a||!s){if(n.missing)n.missing.add(o);if(n.log)n.log(o+" doesn't exist");return i()}if(!s.isDirectory()){if(n.missing)n.missing.add(o);if(n.log)n.log(o+" is not a directory");return i()}e.doResolve(t,r,"existing directory",n,i)})})}}},7876:e=>{"use strict";e.exports=class FileExistsPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);const r=e.fileSystem;e.getHook(this.source).tapAsync("FileExistsPlugin",(n,i,a)=>{const o=n.path;r.stat(o,(r,s)=>{if(r||!s){if(i.missing)i.missing.add(o);if(i.log)i.log(o+" doesn't exist");return a()}if(!s.isFile()){if(i.missing)i.missing.add(o);if(i.log)i.log(o+" is not a file");return a()}e.doResolve(t,n,"existing file: "+o,i,a)})})}}},3072:e=>{"use strict";e.exports=class FileKindPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("FileKindPlugin",(r,n,i)=>{if(r.directory)return i();const a=Object.assign({},r);delete a.directory;e.doResolve(t,a,null,n,i)})}}},8277:e=>{"use strict";e.exports=class JoinRequestPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("JoinRequestPlugin",(r,n,i)=>{const a=Object.assign({},r,{path:e.join(r.path,r.request),relativePath:r.relativePath&&e.join(r.relativePath,r.request),request:undefined});e.doResolve(t,a,null,n,i)})}}},6713:(e,t,r)=>{"use strict";const n=r(5622);e.exports=class MainFieldPlugin{constructor(e,t,r){this.source=e;this.options=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("MainFieldPlugin",(r,i,a)=>{if(r.path!==r.descriptionFileRoot)return a();if(r.alreadyTriedMainField===r.descriptionFilePath)return a();const o=r.descriptionFileData;const s=n.basename(r.descriptionFilePath);let c;const u=this.options.name;if(Array.isArray(u)){let e=o;for(let t=0;t{"use strict";e.exports=class ModuleAppendPlugin{constructor(e,t,r){this.source=e;this.appending=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModuleAppendPlugin",(r,n,i)=>{const a=r.request.indexOf("/"),o=r.request.indexOf("\\");const s=a<0?o:o<0?a:a{"use strict";e.exports=class ModuleKindPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModuleKindPlugin",(r,n,i)=>{if(!r.module)return i();const a=Object.assign({},r);delete a.module;e.doResolve(t,a,"resolve as module",n,(e,t)=>{if(e)return i(e);if(t===undefined)return i(null,null);i(null,t)})})}}},6067:(e,t,r)=>{"use strict";const n=r(3556);const i=r(9835);e.exports=class ModulesInHierachicDirectoriesPlugin{constructor(e,t,r){this.source=e;this.directories=[].concat(t);this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInHierachicDirectoriesPlugin",(r,a,o)=>{const s=e.fileSystem;const c=i(r.path).paths.map(t=>{return this.directories.map(r=>e.join(t,r))}).reduce((e,t)=>{e.push.apply(e,t);return e},[]);n(c,(n,i)=>{s.stat(n,(o,s)=>{if(!o&&s&&s.isDirectory()){const o=Object.assign({},r,{path:n,request:"./"+r.request});const s="looking for modules in "+n;return e.doResolve(t,o,s,a,i)}if(a.log)a.log(n+" doesn't exist or is not a directory");if(a.missing)a.missing.add(n);return i()})},o)})}}},2433:e=>{"use strict";e.exports=class ModulesInRootPlugin{constructor(e,t,r){this.source=e;this.path=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInRootPlugin",(r,n,i)=>{const a=Object.assign({},r,{path:this.path,request:"./"+r.request});e.doResolve(t,a,"looking for modules in "+this.path,n,i)})}}},2276:e=>{"use strict";e.exports=class NextPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("NextPlugin",(r,n,i)=>{e.doResolve(t,r,null,n,i)})}}},7365:(e,t,r)=>{"use strict";const n=r(5808);class NodeJsInputFileSystem{readdir(e,t){n.readdir(e,(e,r)=>{t(e,r&&r.map(e=>{return e.normalize?e.normalize("NFC"):e}))})}readdirSync(e){const t=n.readdirSync(e);return t&&t.map(e=>{return e.normalize?e.normalize("NFC"):e})}}const i=["stat","statSync","readFile","readFileSync","readlink","readlinkSync"];for(const e of i){Object.defineProperty(NodeJsInputFileSystem.prototype,e,{configurable:true,writable:true,value:n[e].bind(n)})}e.exports=NodeJsInputFileSystem},1121:e=>{"use strict";e.exports=class ParsePlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ParsePlugin",(r,n,i)=>{const a=e.parse(r.request);const o=Object.assign({},r,a);if(r.query&&!a.query){o.query=r.query}if(a&&n.log){if(a.module)n.log("Parsed request is a module");if(a.directory)n.log("Parsed request is a directory")}e.doResolve(t,o,null,n,i)})}}},3679:(e,t,r)=>{"use strict";const n=r(1669);const i=r(3460);const a=r(3575);const o=r(2980);const s=r(2039);const c=r(2227);const u=/^\.$|^\.[\\\/]|^\.\.$|^\.\.[\/\\]|^\/|^[A-Z]:[\\\/]/i;const l=/[\/\\]$/i;const f=r(9987);const d=new Map;const p=r(5369);function withName(e,t){t.name=e;return t}function toCamelCase(e){return e.replace(/-([a-z])/g,e=>e.substr(1).toUpperCase())}const g=n.deprecate((e,t)=>{e.add(t)},"Resolver: 'missing' is now a Set. Use add instead of push.");const _=n.deprecate(e=>{return e},"Resolver: The callback argument was splitted into resolveContext and callback.");const m=n.deprecate(e=>{return e},"Resolver#doResolve: The type arguments (string) is now a hook argument (Hook). Pass a reference to the hook instead.");class Resolver extends i{constructor(e){super();this.fileSystem=e;this.hooks={resolveStep:withName("resolveStep",new a(["hook","request"])),noResolve:withName("noResolve",new a(["request","error"])),resolve:withName("resolve",new o(["request","resolveContext"])),result:new s(["result","resolveContext"])};this._pluginCompat.tap("Resolver: before/after",e=>{if(/^before-/.test(e.name)){e.name=e.name.substr(7);e.stage=-10}else if(/^after-/.test(e.name)){e.name=e.name.substr(6);e.stage=10}});this._pluginCompat.tap("Resolver: step hooks",e=>{const t=e.name;const r=!/^resolve(-s|S)tep$|^no(-r|R)esolve$/.test(t);if(r){e.async=true;this.ensureHook(t);const r=e.fn;e.fn=((e,t,n)=>{const i=(e,t)=>{if(e)return n(e);if(t!==undefined)return n(null,t);n()};for(const e in t){i[e]=t[e]}r.call(this,e,i)})}})}ensureHook(e){if(typeof e!=="string")return e;e=toCamelCase(e);if(/^before/.test(e)){return this.ensureHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.ensureHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){return this.hooks[e]=withName(e,new o(["request","resolveContext"]))}return t}getHook(e){if(typeof e!=="string")return e;e=toCamelCase(e);if(/^before/.test(e)){return this.getHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.getHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){throw new Error(`Hook ${e} doesn't exist`)}return t}resolveSync(e,t,r){let n,i,a=false;this.resolve(e,t,r,{},(e,t)=>{n=e;i=t;a=true});if(!a)throw new Error("Cannot 'resolveSync' because the fileSystem is not sync. Use 'resolve'!");if(n)throw n;return i}resolve(e,t,r,n,i){if(typeof i!=="function"){i=_(n)}const a={context:e,path:t,request:r};const o="resolve '"+r+"' in '"+t+"'";return this.doResolve(this.hooks.resolve,a,o,{missing:n.missing,stack:n.stack},(e,t)=>{if(!e&&t){return i(null,t.path===false?false:t.path+(t.query||""),t)}const r=new Set;r.push=(e=>g(r,e));const s=[];return this.doResolve(this.hooks.resolve,a,o,{log:e=>{if(n.log){n.log(e)}s.push(e)},missing:r,stack:n.stack},(e,t)=>{if(e)return i(e);const n=new Error("Can't "+o);n.details=s.join("\n");n.missing=Array.from(r);this.hooks.noResolve.call(a,n);return i(n)})})}doResolve(e,t,r,n,i){if(typeof i!=="function"){i=_(n)}if(typeof e==="string"){const t=toCamelCase(e);e=m(this.hooks[t]);if(!e){throw new Error(`Hook "${t}" doesn't exist`)}}if(typeof i!=="function")throw new Error("callback is not a function "+Array.from(arguments));if(!n)throw new Error("resolveContext is not an object "+Array.from(arguments));const a=e.name+": ("+t.path+") "+(t.request||"")+(t.query||"")+(t.directory?" directory":"")+(t.module?" module":"");let o;if(n.stack){o=new Set(n.stack);if(n.stack.has(a)){const e=new Error("Recursion in resolving\nStack:\n "+Array.from(o).join("\n "));e.recursion=true;if(n.log)n.log("abort resolving because of recursion");return i(e)}o.add(a)}else{o=new Set([a])}this.hooks.resolveStep.call(e,t);if(e.isUsed()){const a=c({log:n.log,missing:n.missing,stack:o},r);return e.callAsync(t,a,(e,t)=>{if(e)return i(e);if(t)return i(null,t);i()})}else{i()}}parse(e){if(e==="")return null;const t={request:"",query:"",module:false,directory:false,file:false};const r=e.indexOf("?");if(r===0){t.query=e}else if(r>0){t.request=e.slice(0,r);t.query=e.slice(r)}else{t.request=e}if(t.request){t.module=this.isModule(t.request);t.directory=this.isDirectory(t.request);if(t.directory){t.request=t.request.substr(0,t.request.length-1)}}return t}isModule(e){return!u.test(e)}isDirectory(e){return l.test(e)}join(e,t){let r;let n=d.get(e);if(typeof n==="undefined"){d.set(e,n=new Map)}else{r=n.get(t);if(typeof r!=="undefined")return r}r=f(e,t);n.set(t,r);return r}normalize(e){return p(e)}}e.exports=Resolver},7934:(e,t,r)=>{"use strict";const n=r(3679);const i=r(4407);const a=r(1121);const o=r(5943);const s=r(2276);const c=r(8029);const u=r(6642);const l=r(3072);const f=r(8277);const d=r(6067);const p=r(2433);const g=r(2002);const _=r(7235);const m=r(5810);const y=r(6683);const h=r(9912);const v=r(2575);const T=r(7876);const S=r(4362);const b=r(6713);const x=r(5187);const C=r(803);const E=r(6182);const D=r(2766);const k=r(2216);t.createResolver=function(e){let t=e.modules||["node_modules"];const r=e.descriptionFiles||["package.json"];const N=e.plugins&&e.plugins.slice()||[];let A=e.mainFields||["main"];const O=e.aliasFields||[];const F=e.mainFiles||["index"];let P=e.extensions||[".js",".json",".node"];const I=e.enforceExtension||false;let w=e.moduleExtensions||[];const M=e.enforceModuleExtension||false;let L=e.alias||[];const R=typeof e.symlinks!=="undefined"?e.symlinks:true;const B=e.resolveToContext||false;let j=e.unsafeCache||false;const J=typeof e.cacheWithContext!=="undefined"?e.cacheWithContext:true;const W=e.concord||false;const U=e.cachePredicate||function(){return true};const z=e.fileSystem;const V=e.useSyncFileSystemCalls;let K=e.resolver;if(!K){K=new n(V?new i(z):z)}P=[].concat(P);w=[].concat(w);t=mergeFilteredToArray([].concat(t),e=>{return!isAbsolutePath(e)});A=A.map(e=>{if(typeof e==="string"||Array.isArray(e)){e={name:e,forceRelative:true}}return e});if(typeof L==="object"&&!Array.isArray(L)){L=Object.keys(L).map(e=>{let t=false;let r=L[e];if(/\$$/.test(e)){t=true;e=e.substr(0,e.length-1)}if(typeof r==="string"){r={alias:r}}r=Object.assign({name:e,onlyModule:t},r);return r})}if(j&&typeof j!=="object"){j={}}K.ensureHook("resolve");K.ensureHook("parsedResolve");K.ensureHook("describedResolve");K.ensureHook("rawModule");K.ensureHook("module");K.ensureHook("relative");K.ensureHook("describedRelative");K.ensureHook("directory");K.ensureHook("existingDirectory");K.ensureHook("undescribedRawFile");K.ensureHook("rawFile");K.ensureHook("file");K.ensureHook("existingFile");K.ensureHook("resolved");if(j){N.push(new k("resolve",U,j,J,"new-resolve"));N.push(new a("new-resolve","parsed-resolve"))}else{N.push(new a("resolve","parsed-resolve"))}N.push(new o("parsed-resolve",r,"described-resolve"));N.push(new s("after-parsed-resolve","described-resolve"));if(L.length>0)N.push(new g("described-resolve",L,"resolve"));if(W){N.push(new h("described-resolve",{},"resolve"))}O.forEach(e=>{N.push(new _("described-resolve",e,"resolve"))});N.push(new u("after-described-resolve","raw-module"));N.push(new f("after-described-resolve","relative"));w.forEach(e=>{N.push(new D("raw-module",e,"module"))});if(!M)N.push(new c("raw-module",null,"module"));t.forEach(e=>{if(Array.isArray(e))N.push(new d("module",e,"resolve"));else N.push(new p("module",e,"resolve"))});N.push(new o("relative",r,"described-relative"));N.push(new s("after-relative","described-relative"));N.push(new l("described-relative","raw-file"));N.push(new c("described-relative","as directory","directory"));N.push(new v("directory","existing-directory"));if(B){N.push(new s("existing-directory","resolved"))}else{if(W){N.push(new y("existing-directory",{},"resolve"))}A.forEach(e=>{N.push(new b("existing-directory",e,"resolve"))});F.forEach(e=>{N.push(new x("existing-directory",e,"undescribed-raw-file"))});N.push(new o("undescribed-raw-file",r,"raw-file"));N.push(new s("after-undescribed-raw-file","raw-file"));if(!I){N.push(new c("raw-file","no extension","file"))}if(W){N.push(new m("raw-file",{},"file"))}P.forEach(e=>{N.push(new C("raw-file",e,"file"))});if(L.length>0)N.push(new g("file",L,"resolve"));if(W){N.push(new h("file",{},"resolve"))}O.forEach(e=>{N.push(new _("file",e,"resolve"))});if(R)N.push(new S("file","relative"));N.push(new T("file","existing-file"));N.push(new s("existing-file","resolved"))}N.push(new E(K.hooks.resolved));N.forEach(e=>{e.apply(K)});return K};function mergeFilteredToArray(e,t){return e.reduce((e,r)=>{if(t(r)){const t=e[e.length-1];if(Array.isArray(t)){t.push(r)}else{e.push([r])}return e}else{e.push(r);return e}},[])}function isAbsolutePath(e){return/^[A-Z]:|^\//.test(e)}},6182:e=>{"use strict";e.exports=class ResultPlugin{constructor(e){this.source=e}apply(e){this.source.tapAsync("ResultPlugin",(t,r,n)=>{const i=Object.assign({},t);if(r.log)r.log("reporting result "+i.path);e.hooks.result.callAsync(i,r,e=>{if(e)return n(e);n(null,i)})})}}},4362:(e,t,r)=>{"use strict";const n=r(9835);const i=r(3556);e.exports=class SymlinkPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);const r=e.fileSystem;e.getHook(this.source).tapAsync("SymlinkPlugin",(a,o,s)=>{const c=n(a.path);const u=c.seqments;const l=c.paths;let f=false;i.withIndex(l,(e,t,n)=>{r.readlink(e,(e,r)=>{if(!e&&r){u[t]=r;f=true;if(/^(\/|[a-zA-Z]:($|\\))/.test(r))return n(null,t)}n()})},(r,n)=>{if(!f)return s();const i=typeof n==="number"?u.slice(0,n+1):u.slice();const c=i.reverse().reduce((t,r)=>{return e.join(t,r)});const l=Object.assign({},a,{path:c});e.doResolve(t,l,"resolved symlink to "+c,o,s)})})}}},4407:e=>{"use strict";function SyncAsyncFileSystemDecorator(e){this.fs=e;if(e.statSync){this.stat=function(t,r){let n;try{n=e.statSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readdirSync){this.readdir=function(t,r){let n;try{n=e.readdirSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readFileSync){this.readFile=function(t,r){let n;try{n=e.readFileSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readlinkSync){this.readlink=function(t,r){let n;try{n=e.readlinkSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readJsonSync){this.readJson=function(t,r){let n;try{n=e.readJsonSync(t)}catch(e){return r(e)}r(null,n)}}}e.exports=SyncAsyncFileSystemDecorator},8029:e=>{"use strict";e.exports=class TryNextPlugin{constructor(e,t,r){this.source=e;this.message=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("TryNextPlugin",(r,n,i)=>{e.doResolve(t,r,this.message,n,i)})}}},2216:e=>{"use strict";function getCacheId(e,t){return JSON.stringify({context:t?e.context:"",path:e.path,query:e.query,request:e.request})}e.exports=class UnsafeCachePlugin{constructor(e,t,r,n,i){this.source=e;this.filterPredicate=t;this.withContext=n;this.cache=r||{};this.target=i}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("UnsafeCachePlugin",(r,n,i)=>{if(!this.filterPredicate(r))return i();const a=getCacheId(r,this.withContext);const o=this.cache[a];if(o){return i(null,o)}e.doResolve(t,r,null,n,(e,t)=>{if(e)return i(e);if(t)return i(null,this.cache[a]=t);i()})})}}},5187:e=>{"use strict";e.exports=class UseFilePlugin{constructor(e,t,r){this.source=e;this.filename=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("UseFilePlugin",(r,n,i)=>{const a=e.join(r.path,this.filename);const o=Object.assign({},r,{path:a,relativePath:r.relativePath&&e.join(r.relativePath,this.filename)});e.doResolve(t,o,"using path: "+a,n,i)})}}},4426:(e,t,r)=>{"use strict";const n=r(4353).P;function parseType(e){const t=e.split("+");const r=t.shift();return{type:r==="*"?null:r,features:t}}function isTypeMatched(e,t){if(typeof e==="string")e=parseType(e);if(typeof t==="string")t=parseType(t);if(t.type&&t.type!==e.type)return false;return t.features.every(t=>{return e.features.indexOf(t)>=0})}function isResourceTypeMatched(e,t){e=e.split("/");t=t.split("/");if(e.length!==t.length)return false;for(let r=0;r{return isResourceTypeMatched(e,t)})}function isEnvironment(e,t){return e.environments&&e.environments.every(e=>{return isTypeMatched(e,t)})}const i={};function getGlobRegExp(e){const t=i[e]||(i[e]=n(e));return t}function matchGlob(e,t){const r=getGlobRegExp(e);return r.exec(t)}function isGlobMatched(e,t){return!!matchGlob(e,t)}function isConditionMatched(e,t){const r=t.split("|");return r.some(function testFn(t){t=t.trim();const r=/^!/.test(t);if(r)return!testFn(t.substr(1));if(/^[a-z]+:/.test(t)){const r=/^([a-z]+):\s*/.exec(t);const n=t.substr(r[0].length);const i=r[1];switch(i){case"referrer":return isGlobMatched(n,e.referrer);default:return false}}else if(t.indexOf("/")>=0){return isResourceTypeSupported(e,t)}else{return isEnvironment(e,t)}})}function isKeyMatched(e,t){while(true){const r=/^\[([^\]]+)\]\s*/.exec(t);if(!r)return t;t=t.substr(r[0].length);const n=r[1];if(!isConditionMatched(e,n)){return false}}}function getField(e,t,r){let n;Object.keys(t).forEach(i=>{const a=isKeyMatched(e,i);if(a===r){n=t[i]}});return n}function getMain(e,t){return getField(e,t,"main")}function getExtensions(e,t){return getField(e,t,"extensions")}function matchModule(e,t,r){const n=getField(e,t,"modules");if(!n)return r;let i=r;const a=Object.keys(n);let o=0;let s;let c;for(let t=0;ta.length){throw new Error("Request '"+r+"' matches recursively")}}}return i;function replaceMatcher(e){switch(e){case"/**":{const e=s[c++];return e?"/"+e:""}case"**":case"*":return s[c++]}}}function matchType(e,t,r){const n=getField(e,t,"types");if(!n)return undefined;let i;Object.keys(n).forEach(t=>{const a=isKeyMatched(e,t);if(isGlobMatched(a,r)){const e=n[t];if(!i&&/\/\*$/.test(e))throw new Error("value ('"+e+"') of key '"+t+"' contains '*', but there is no previous value defined");i=e.replace(/\/\*$/,"/"+i)}});return i}t.parseType=parseType;t.isTypeMatched=isTypeMatched;t.isResourceTypeSupported=isResourceTypeSupported;t.isEnvironment=isEnvironment;t.isGlobMatched=isGlobMatched;t.isConditionMatched=isConditionMatched;t.isKeyMatched=isKeyMatched;t.getField=getField;t.getMain=getMain;t.getExtensions=getExtensions;t.matchModule=matchModule;t.matchType=matchType},2227:e=>{"use strict";e.exports=function createInnerContext(e,t,r){let n=false;const i={log:(()=>{if(!e.log)return undefined;if(!t)return e.log;const r=r=>{if(!n){e.log(t);n=true}e.log(" "+r)};return r})(),stack:e.stack,missing:e.missing};return i}},3556:e=>{"use strict";e.exports=function forEachBail(e,t,r){if(e.length===0)return r();let n=e.length;let i;let a=[];for(let r=0;r{if(e>=n)return;a.push(e);if(t.length>0){n=e+1;a=a.filter(t=>{return t<=e});i=t}if(a.length===n){r.apply(null,i);n=0}}}};e.exports.withIndex=function forEachBailWithIndex(e,t,r){if(e.length===0)return r();let n=e.length;let i;let a=[];for(let r=0;r{if(e>=n)return;a.push(e);if(t.length>0){n=e+1;a=a.filter(t=>{return t<=e});i=t}if(a.length===n){r.apply(null,i);n=0}}}}},2471:e=>{"use strict";e.exports=function getInnerRequest(e,t){if(typeof t.__innerRequest==="string"&&t.__innerRequest_request===t.request&&t.__innerRequest_relativePath===t.relativePath)return t.__innerRequest;let r;if(t.request){r=t.request;if(/^\.\.?\//.test(r)&&t.relativePath){r=e.join(t.relativePath,r)}}else{r=t.relativePath}t.__innerRequest_request=t.request;t.__innerRequest_relativePath=t.relativePath;return t.__innerRequest=r}},9835:e=>{"use strict";e.exports=function getPaths(e){const t=e.split(/(.*?[\\\/]+)/);const r=[e];const n=[t[t.length-1]];let i=t[t.length-1];e=e.substr(0,e.length-i.length-1);for(let a=t.length-2;a>2;a-=2){r.push(e);i=t[a];e=e.substr(0,e.length-i.length)||"/";n.push(i.substr(0,i.length-1))}i=t[1];n.push(i);r.push(i);return{paths:r,seqments:n}};e.exports.basename=function basename(e){const t=e.lastIndexOf("/"),r=e.lastIndexOf("\\");const n=t<0?r:r<0?t:t{"use strict";function globToRegExp(e){if(/^\(.+\)$/.test(e)){return new RegExp(e.substr(1,e.length-2))}const t=tokenize(e);const r=createRoot();const n=t.map(r).join("");return new RegExp("^"+n+"$")}const r={"@(":"one","?(":"zero-one","+(":"one-many","*(":"zero-many","|":"segment-sep","/**/":"any-path-segments","**":"any-path","*":"any-path-segment","?":"any-char","{":"or","/":"path-sep",",":"comma",")":"closing-segment","}":"closing-or"};function tokenize(e){return e.split(/([@?+*]\(|\/\*\*\/|\*\*|[?*]|\[[\!\^]?(?:[^\]\\]|\\.)+\]|\{|,|\/|[|)}])/g).map(e=>{if(!e)return null;const t=r[e];if(t){return{type:t}}if(e[0]==="["){if(e[1]==="^"||e[1]==="!"){return{type:"inverted-char-set",value:e.substr(2,e.length-3)}}else{return{type:"char-set",value:e.substr(1,e.length-2)}}}return{type:"string",value:e}}).filter(Boolean).concat({type:"end"})}function createRoot(){const e=[];const t=createSeqment();let r=true;return function(n){switch(n.type){case"or":e.push(r);return"(";case"comma":if(e.length){r=e[e.length-1];return"|"}else{return t({type:"string",value:","},r)}case"closing-or":if(e.length===0)throw new Error("Unmatched '}'");e.pop();return")";case"end":if(e.length)throw new Error("Unmatched '{'");return t(n,r);default:{const e=t(n,r);r=false;return e}}}}function createSeqment(){const e=[];const t=createSimple();return function(r,n){switch(r.type){case"one":case"one-many":case"zero-many":case"zero-one":e.push(r.type);return"(";case"segment-sep":if(e.length){return"|"}else{return t({type:"string",value:"|"},n)}case"closing-segment":{const t=e.pop();switch(t){case"one":return")";case"one-many":return")+";case"zero-many":return")*";case"zero-one":return")?"}throw new Error("Unexcepted segment "+t)}case"end":if(e.length>0){throw new Error("Unmatched segment, missing ')'")}return t(r,n);default:return t(r,n)}}}function createSimple(){return function(e,t){switch(e.type){case"path-sep":return"[\\\\/]+";case"any-path-segments":return"[\\\\/]+(?:(.+)[\\\\/]+)?";case"any-path":return"(.*)";case"any-path-segment":if(t){return"\\.[\\\\/]+(?:.*[\\\\/]+)?([^\\\\/]+)"}else{return"([^\\\\/]*)"}case"any-char":return"[^\\\\/]";case"inverted-char-set":return"[^"+e.value+"]";case"char-set":return"["+e.value+"]";case"string":return e.value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");case"end":return"";default:throw new Error("Unsupported token '"+e.type+"'")}}}t.P=globToRegExp},1324:(e,t,r)=>{"use strict";const n=r(7934);const i=r(7365);const a=r(7703);const o=new a(new i,4e3);const s={environments:["node+es3+es5+process+native"]};const c=n.createResolver({extensions:[".js",".json",".node"],fileSystem:o});e.exports=function resolve(e,t,r,n,i){if(typeof e==="string"){i=n;n=r;r=t;t=e;e=s}if(typeof i!=="function"){i=n}c.resolve(e,t,r,n,i)};const u=n.createResolver({extensions:[".js",".json",".node"],useSyncFileSystemCalls:true,fileSystem:o});e.exports.sync=function resolveSync(e,t,r){if(typeof e==="string"){r=t;t=e;e=s}return u.resolveSync(e,t,r)};const l=n.createResolver({extensions:[".js",".json",".node"],resolveToContext:true,fileSystem:o});e.exports.context=function resolveContext(e,t,r,resolveContext,n){if(typeof e==="string"){n=resolveContext;resolveContext=r;r=t;t=e;e=s}if(typeof n!=="function"){n=resolveContext}l.resolve(e,t,r,resolveContext,n)};const f=n.createResolver({extensions:[".js",".json",".node"],resolveToContext:true,useSyncFileSystemCalls:true,fileSystem:o});e.exports.context.sync=function resolveContextSync(e,t,r){if(typeof e==="string"){r=t;t=e;e=s}return f.resolveSync(e,t,r)};const d=n.createResolver({extensions:[".js",".json",".node"],moduleExtensions:["-loader"],mainFields:["loader","main"],fileSystem:o});e.exports.loader=function resolveLoader(e,t,r,n,i){if(typeof e==="string"){i=n;n=r;r=t;t=e;e=s}if(typeof i!=="function"){i=n}d.resolve(e,t,r,n,i)};const p=n.createResolver({extensions:[".js",".json",".node"],moduleExtensions:["-loader"],mainFields:["loader","main"],useSyncFileSystemCalls:true,fileSystem:o});e.exports.loader.sync=function resolveLoaderSync(e,t,r){if(typeof e==="string"){r=t;t=e;e=s}return p.resolveSync(e,t,r)};e.exports.create=function create(e){e=Object.assign({fileSystem:o},e);const t=n.createResolver(e);return function(e,r,n,i,a){if(typeof e==="string"){a=i;i=n;n=r;r=e;e=s}if(typeof a!=="function"){a=i}t.resolve(e,r,n,i,a)}};e.exports.create.sync=function createSync(e){e=Object.assign({useSyncFileSystemCalls:true,fileSystem:o},e);const t=n.createResolver(e);return function(e,r,n){if(typeof e==="string"){n=r;r=e;e=s}return t.resolveSync(e,r,n)}};e.exports.ResolverFactory=n;e.exports.NodeJsInputFileSystem=i;e.exports.CachedInputFileSystem=a},2980:(e,t,r)=>{"use strict";const n=r(528);const i=r(3207);class AsyncSeriesBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:r}){return this.callTapsSeries({onError:(t,r,n,i)=>e(r)+i(true),onResult:(e,r,n)=>`if(${r} !== undefined) {\n${t(r)};\n} else {\n${n()}}\n`,onDone:r})}}const a=new AsyncSeriesBailHookCodeFactory;class AsyncSeriesBailHook extends n{compile(e){a.setup(this,e);return a.create(e)}}Object.defineProperties(AsyncSeriesBailHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesBailHook},2039:(e,t,r)=>{"use strict";const n=r(528);const i=r(3207);class AsyncSeriesHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsSeries({onError:(t,r,n,i)=>e(r)+i(true),onDone:t})}}const a=new AsyncSeriesHookCodeFactory;class AsyncSeriesHook extends n{compile(e){a.setup(this,e);return a.create(e)}}Object.defineProperties(AsyncSeriesHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesHook},528:e=>{"use strict";class Hook{constructor(e){if(!Array.isArray(e))e=[];this._args=e;this.taps=[];this.interceptors=[];this.call=this._call;this.promise=this._promise;this.callAsync=this._callAsync;this._x=undefined}compile(e){throw new Error("Abstract: should be overriden")}_createCall(e){return this.compile({taps:this.taps,interceptors:this.interceptors,args:this._args,type:e})}tap(e,t){if(typeof e==="string")e={name:e};if(typeof e!=="object"||e===null)throw new Error("Invalid arguments to tap(options: Object, fn: function)");e=Object.assign({type:"sync",fn:t},e);if(typeof e.name!=="string"||e.name==="")throw new Error("Missing name for tap");e=this._runRegisterInterceptors(e);this._insert(e)}tapAsync(e,t){if(typeof e==="string")e={name:e};if(typeof e!=="object"||e===null)throw new Error("Invalid arguments to tapAsync(options: Object, fn: function)");e=Object.assign({type:"async",fn:t},e);if(typeof e.name!=="string"||e.name==="")throw new Error("Missing name for tapAsync");e=this._runRegisterInterceptors(e);this._insert(e)}tapPromise(e,t){if(typeof e==="string")e={name:e};if(typeof e!=="object"||e===null)throw new Error("Invalid arguments to tapPromise(options: Object, fn: function)");e=Object.assign({type:"promise",fn:t},e);if(typeof e.name!=="string"||e.name==="")throw new Error("Missing name for tapPromise");e=this._runRegisterInterceptors(e);this._insert(e)}_runRegisterInterceptors(e){for(const t of this.interceptors){if(t.register){const r=t.register(e);if(r!==undefined)e=r}}return e}withOptions(e){const t=t=>Object.assign({},e,typeof t==="string"?{name:t}:t);e=Object.assign({},e,this._withOptions);const r=this._withOptionsBase||this;const n=Object.create(r);n.tapAsync=((e,n)=>r.tapAsync(t(e),n)),n.tap=((e,n)=>r.tap(t(e),n));n.tapPromise=((e,n)=>r.tapPromise(t(e),n));n._withOptions=e;n._withOptionsBase=r;return n}isUsed(){return this.taps.length>0||this.interceptors.length>0}intercept(e){this._resetCompilation();this.interceptors.push(Object.assign({},e));if(e.register){for(let t=0;t0){n--;const e=this.taps[n];this.taps[n+1]=e;const i=e.stage||0;if(t){if(t.has(e.name)){t.delete(e.name);continue}if(t.size>0){continue}}if(i>r){continue}n++;break}this.taps[n]=e}}function createCompileDelegate(e,t){return function lazyCompileHook(...r){this[e]=this._createCall(t);return this[e](...r)}}Object.defineProperties(Hook.prototype,{_call:{value:createCompileDelegate("call","sync"),configurable:true,writable:true},_promise:{value:createCompileDelegate("promise","promise"),configurable:true,writable:true},_callAsync:{value:createCompileDelegate("callAsync","async"),configurable:true,writable:true}});e.exports=Hook},3207:e=>{"use strict";class HookCodeFactory{constructor(e){this.config=e;this.options=undefined;this._args=undefined}create(e){this.init(e);let t;switch(this.options.type){case"sync":t=new Function(this.args(),'"use strict";\n'+this.header()+this.content({onError:e=>`throw ${e};\n`,onResult:e=>`return ${e};\n`,onDone:()=>"",rethrowIfPossible:true}));break;case"async":t=new Function(this.args({after:"_callback"}),'"use strict";\n'+this.header()+this.content({onError:e=>`_callback(${e});\n`,onResult:e=>`_callback(null, ${e});\n`,onDone:()=>"_callback();\n"}));break;case"promise":let e="";e+='"use strict";\n';e+="return new Promise((_resolve, _reject) => {\n";e+="var _sync = true;\n";e+=this.header();e+=this.content({onError:e=>{let t="";t+="if(_sync)\n";t+=`_resolve(Promise.resolve().then(() => { throw ${e}; }));\n`;t+="else\n";t+=`_reject(${e});\n`;return t},onResult:e=>`_resolve(${e});\n`,onDone:()=>"_resolve();\n"});e+="_sync = false;\n";e+="});\n";t=new Function(this.args(),e);break}this.deinit();return t}setup(e,t){e._x=t.taps.map(e=>e.fn)}init(e){this.options=e;this._args=e.args.slice()}deinit(){this.options=undefined;this._args=undefined}header(){let e="";if(this.needContext()){e+="var _context = {};\n"}else{e+="var _context;\n"}e+="var _x = this._x;\n";if(this.options.interceptors.length>0){e+="var _taps = this.taps;\n";e+="var _interceptors = this.interceptors;\n"}for(let t=0;t {\n`;else o+=`_err${e} => {\n`;o+=`if(_err${e}) {\n`;o+=t(`_err${e}`);o+="} else {\n";if(r){o+=r(`_result${e}`)}if(n){o+=n()}o+="}\n";o+="}";a+=`_fn${e}(${this.args({before:s.context?"_context":undefined,after:o})});\n`;break;case"promise":a+=`var _hasResult${e} = false;\n`;a+=`var _promise${e} = _fn${e}(${this.args({before:s.context?"_context":undefined})});\n`;a+=`if (!_promise${e} || !_promise${e}.then)\n`;a+=` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${e} + ')');\n`;a+=`_promise${e}.then(_result${e} => {\n`;a+=`_hasResult${e} = true;\n`;if(r){a+=r(`_result${e}`)}if(n){a+=n()}a+=`}, _err${e} => {\n`;a+=`if(_hasResult${e}) throw _err${e};\n`;a+=t(`_err${e}`);a+="});\n";break}return a}callTapsSeries({onError:e,onResult:t,onDone:r,rethrowIfPossible:n}){if(this.options.taps.length===0)return r();const i=this.options.taps.findIndex(e=>e.type!=="sync");const a=o=>{if(o>=this.options.taps.length){return r()}const s=()=>a(o+1);const c=e=>{if(e)return"";return r()};return this.callTap(o,{onError:t=>e(o,t,s,c),onResult:t&&(e=>{return t(o,e,s,c)}),onDone:!t&&(()=>{return s()}),rethrowIfPossible:n&&(i<0||oe.type==="sync");let i="";if(!n){i+="var _looper = () => {\n";i+="var _loopAsync = false;\n"}i+="var _loop;\n";i+="do {\n";i+="_loop = false;\n";for(let e=0;e{let a="";a+=`if(${t} !== undefined) {\n`;a+="_loop = true;\n";if(!n)a+="if(_loopAsync) _looper();\n";a+=i(true);a+=`} else {\n`;a+=r();a+=`}\n`;return a},onDone:t&&(()=>{let e="";e+="if(!_loop) {\n";e+=t();e+="}\n";return e}),rethrowIfPossible:r&&n});i+="} while(_loop);\n";if(!n){i+="_loopAsync = true;\n";i+="};\n";i+="_looper();\n"}return i}callTapsParallel({onError:e,onResult:t,onDone:r,rethrowIfPossible:n,onTap:i=((e,t)=>t())}){if(this.options.taps.length<=1){return this.callTapsSeries({onError:e,onResult:t,onDone:r,rethrowIfPossible:n})}let a="";a+="do {\n";a+=`var _counter = ${this.options.taps.length};\n`;if(r){a+="var _done = () => {\n";a+=r();a+="};\n"}for(let o=0;o{if(r)return"if(--_counter === 0) _done();\n";else return"--_counter;"};const c=e=>{if(e||!r)return"_counter = 0;\n";else return"_counter = 0;\n_done();\n"};a+="if(_counter <= 0) break;\n";a+=i(o,()=>this.callTap(o,{onError:t=>{let r="";r+="if(_counter > 0) {\n";r+=e(o,t,s,c);r+="}\n";return r},onResult:t&&(e=>{let r="";r+="if(_counter > 0) {\n";r+=t(o,e,s,c);r+="}\n";return r}),onDone:!t&&(()=>{return s()}),rethrowIfPossible:n}),s,c)}a+="} while(false);\n";return a}args({before:e,after:t}={}){let r=this._args;if(e)r=[e].concat(r);if(t)r=r.concat(t);if(r.length===0){return""}else{return r.join(", ")}}getTapFn(e){return`_x[${e}]`}getTap(e){return`_taps[${e}]`}getInterceptor(e){return`_interceptors[${e}]`}}e.exports=HookCodeFactory},1475:(e,t,r)=>{"use strict";const n=r(528);const i=r(3207);class SyncBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:r,rethrowIfPossible:n}){return this.callTapsSeries({onError:(t,r)=>e(r),onResult:(e,r,n)=>`if(${r} !== undefined) {\n${t(r)};\n} else {\n${n()}}\n`,onDone:r,rethrowIfPossible:n})}}const a=new SyncBailHookCodeFactory;class SyncBailHook extends n{tapAsync(){throw new Error("tapAsync is not supported on a SyncBailHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncBailHook")}compile(e){a.setup(this,e);return a.create(e)}}e.exports=SyncBailHook},3575:(e,t,r)=>{"use strict";const n=r(528);const i=r(3207);class SyncHookCodeFactory extends i{content({onError:e,onResult:t,onDone:r,rethrowIfPossible:n}){return this.callTapsSeries({onError:(t,r)=>e(r),onDone:r,rethrowIfPossible:n})}}const a=new SyncHookCodeFactory;class SyncHook extends n{tapAsync(){throw new Error("tapAsync is not supported on a SyncHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncHook")}compile(e){a.setup(this,e);return a.create(e)}}e.exports=SyncHook},3460:(e,t,r)=>{"use strict";const n=r(1669);const i=r(1475);function Tapable(){this._pluginCompat=new i(["options"]);this._pluginCompat.tap({name:"Tapable camelCase",stage:100},e=>{e.names.add(e.name.replace(/[- ]([a-z])/g,(e,t)=>t.toUpperCase()))});this._pluginCompat.tap({name:"Tapable this.hooks",stage:200},e=>{let t;for(const r of e.names){t=this.hooks[r];if(t!==undefined){break}}if(t!==undefined){const r={name:e.fn.name||"unnamed compat plugin",stage:e.stage||0};if(e.async)t.tapAsync(r,e.fn);else t.tap(r,e.fn);return true}})}e.exports=Tapable;Tapable.addCompatLayer=function addCompatLayer(e){Tapable.call(e);e.plugin=Tapable.prototype.plugin;e.apply=Tapable.prototype.apply};Tapable.prototype.plugin=n.deprecate(function plugin(e,t){if(Array.isArray(e)){e.forEach(function(e){this.plugin(e,t)},this);return}const r=this._pluginCompat.call({name:e,fn:t,names:new Set([e])});if(!r){throw new Error(`Plugin could not be registered at '${e}'. Hook was not found.\n`+"BREAKING CHANGE: There need to exist a hook at 'this.hooks'. "+"To create a compatibility layer for this hook, hook into 'this._pluginCompat'.")}},"Tapable.plugin is deprecated. Use new API on `.hooks` instead");Tapable.prototype.apply=n.deprecate(function apply(){for(var e=0;e{"use strict";var t=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return e.replace(t,"\\$&")}},6030:(e,t,r)=>{"use strict";var n=r(7553);var i=r(572);var a=r(9641)("expand-brackets");var o=r(8333);var s=r(9769);var c=r(9532);function brackets(e,t){a("initializing from <%s>",__filename);var r=brackets.create(e,t);return r.output}brackets.match=function(e,t,r){e=[].concat(e);var n=o({},r);var i=brackets.matcher(t,n);var a=e.length;var s=-1;var c=[];while(++s{"use strict";var n=r(5419);e.exports=function(e){e.compiler.set("escape",function(e){return this.emit("\\"+e.val.replace(/^\\/,""),e)}).set("text",function(e){return this.emit(e.val.replace(/([{}])/g,"\\$1"),e)}).set("posix",function(e){if(e.val==="[::]"){return this.emit("\\[::\\]",e)}var t=n[e.inner];if(typeof t==="undefined"){t="["+e.inner+"]"}return this.emit(t,e)}).set("bracket",function(e){return this.mapVisit(e.nodes)}).set("bracket.open",function(e){return this.emit(e.val,e)}).set("bracket.inner",function(e){var t=e.val;if(t==="["||t==="]"){return this.emit("\\"+e.val,e)}if(t==="^]"){return this.emit("^\\]",e)}if(t==="^"){return this.emit("^",e)}if(/-/.test(t)&&!/(\d-\d|\w-\w)/.test(t)){t=t.split("-").join("\\-")}var r=t.charAt(0)==="^";if(r&&t.indexOf("/")===-1){t+="/"}if(r&&t.indexOf(".")===-1){t+="."}t=t.replace(/\\([1-9])/g,"$1");return this.emit(t,e)}).set("bracket.close",function(e){var t=e.val.replace(/^\\/,"");if(e.parent.escaped===true){return this.emit("\\"+t,e)}return this.emit(t,e)})}},572:(e,t,r)=>{"use strict";var n=r(126);var i=r(4728);var a="(\\[(?=.*\\])|\\])+";var o=n.createRegex(a);function parsers(e){e.state=e.state||{};e.parser.sets.bracket=e.parser.sets.bracket||[];e.parser.capture("escape",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^\\(.)/);if(!t)return;return e({type:"escape",val:t[0]})}).capture("text",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(o);if(!t||!t[0])return;return e({type:"text",val:t[0]})}).capture("posix",function(){var t=this.position();var r=this.match(/^\[:(.*?):\](?=.*\])/);if(!r)return;var n=this.isInside("bracket");if(n){e.posix++}return t({type:"posix",insideBracket:n,inner:r[1],val:r[0]})}).capture("bracket",function(){}).capture("bracket.open",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\[(?=.*\])/);if(!r)return;var a=this.prev();var o=n.last(a.nodes);if(e.slice(-1)==="\\"&&!this.isInside("bracket")){o.val=o.val.slice(0,o.val.length-1);return t({type:"escape",val:r[0]})}var s=t({type:"bracket.open",val:r[0]});if(o.type==="bracket.open"||this.isInside("bracket")){s.val="\\"+s.val;s.type="bracket.inner";s.escaped=true;return s}var c=t({type:"bracket",nodes:[s]});i(c,"parent",a);i(s,"parent",c);this.push("bracket",c);a.nodes.push(c)}).capture("bracket.inner",function(){if(!this.isInside("bracket"))return;var e=this.position();var t=this.match(o);if(!t||!t[0])return;var r=this.input.charAt(0);var n=t[0];var i=e({type:"bracket.inner",val:n});if(n==="\\\\"){return i}var a=n.charAt(0);var s=n.slice(-1);if(a==="!"){n="^"+n.slice(1)}if(s==="\\"||n==="^"&&r==="]"){n+=this.input[0];this.consume(1)}i.val=n;return i}).capture("bracket.close",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\]/);if(!r)return;var a=this.prev();var o=n.last(a.nodes);if(e.slice(-1)==="\\"&&!this.isInside("bracket")){o.val=o.val.slice(0,o.val.length-1);return t({type:"escape",val:r[0]})}var s=t({type:"bracket.close",rest:this.input,val:r[0]});if(o.type==="bracket.open"){s.type="bracket.inner";s.escaped=true;return s}var c=this.pop("bracket");if(!this.isType(c,"bracket")){if(this.options.strict){throw new Error('missing opening "["')}s.type="bracket.inner";s.escaped=true;return s}c.nodes.push(s);i(s,"parent",c)})}e.exports=parsers;e.exports.TEXT_REGEX=a},126:(e,t,r)=>{"use strict";var n=r(9532);var i=r(3089);var a;t.last=function(e){return e[e.length-1]};t.createRegex=function(e,t){if(a)return a;var r={contains:true,strictClose:false};var o=i.create(e,r);var s;if(typeof t==="string"){s=n("^(?:"+t+"|"+o+")",r)}else{s=n(o,r)}return a=s}},6157:(e,t,r)=>{t=e.exports=r(5763);t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage();t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function useColors(){if(typeof window!=="undefined"&&window.process&&window.process.type==="renderer"){return true}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function formatArgs(e){var r=this.useColors;e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff);if(!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0;var a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){if("%%"===e)return;i++;if("%c"===e){a=i}});e.splice(a,0,n)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{if(null==e){t.storage.removeItem("debug")}else{t.storage.debug=e}}catch(e){}}function load(){var e;try{e=t.storage.debug}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}t.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}},5763:(e,t,r)=>{t=e.exports=createDebug.debug=createDebug["default"]=createDebug;t.coerce=coerce;t.disable=disable;t.enable=enable;t.enabled=enabled;t.humanize=r(8888);t.names=[];t.skips=[];t.formatters={};var n;function selectColor(e){var r=0,n;for(n in e){r=(r<<5)-r+e.charCodeAt(n);r|=0}return t.colors[Math.abs(r)%t.colors.length]}function createDebug(e){function debug(){if(!debug.enabled)return;var e=debug;var r=+new Date;var i=r-(n||r);e.diff=i;e.prev=n;e.curr=r;n=r;var a=new Array(arguments.length);for(var o=0;o{if(typeof process!=="undefined"&&process.type==="renderer"){e.exports=r(6157)}else{e.exports=r(2681)}},2681:(e,t,r)=>{var n=r(8993);var i=r(1669);t=e.exports=r(5763);t.init=init;t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.colors=[6,2,3,4,5,1];t.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,t){return t.toUpperCase()});var n=process.env[t];if(/^(yes|on|true|enabled)$/i.test(n))n=true;else if(/^(no|off|false|disabled)$/i.test(n))n=false;else if(n==="null")n=null;else n=Number(n);e[r]=n;return e},{});var a=parseInt(process.env.DEBUG_FD,10)||2;if(1!==a&&2!==a){i.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")()}var o=1===a?process.stdout:2===a?process.stderr:createWritableStdioStream(a);function useColors(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):n.isatty(a)}t.formatters.o=function(e){this.inspectOpts.colors=this.useColors;return i.inspect(e,this.inspectOpts).split("\n").map(function(e){return e.trim()}).join(" ")};t.formatters.O=function(e){this.inspectOpts.colors=this.useColors;return i.inspect(e,this.inspectOpts)};function formatArgs(e){var r=this.namespace;var n=this.useColors;if(n){var i=this.color;var a=" [3"+i+";1m"+r+" "+"";e[0]=a+e[0].split("\n").join("\n"+a);e.push("[3"+i+"m+"+t.humanize(this.diff)+"")}else{e[0]=(new Date).toUTCString()+" "+r+" "+e[0]}}function log(){return o.write(i.format.apply(i,arguments)+"\n")}function save(e){if(null==e){delete process.env.DEBUG}else{process.env.DEBUG=e}}function load(){return process.env.DEBUG}function createWritableStdioStream(e){var t;var i=process.binding("tty_wrap");switch(i.guessHandleType(e)){case"TTY":t=new n.WriteStream(e);t._type="tty";if(t._handle&&t._handle.unref){t._handle.unref()}break;case"FILE":var a=r(5747);t=new a.SyncWriteStream(e,{autoClose:false});t._type="fs";break;case"PIPE":case"TCP":var o=r(1631);t=new o.Socket({fd:e,readable:false,writable:true});t.readable=false;t.read=null;t._type="pipe";if(t._handle&&t._handle.unref){t._handle.unref()}break;default:throw new Error("Implement me. Unknown stream file type!")}t.fd=e;t._isStdio=true;return t}function init(e){e.inspectOpts={};var r=Object.keys(t.inspectOpts);for(var n=0;n{var t=1e3;var r=t*60;var n=r*60;var i=n*24;var a=i*365.25;e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0){return parse(e)}else if(r==="number"&&isNaN(e)===false){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o){return}var s=parseFloat(o[1]);var c=(o[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return s*a;case"days":case"day":case"d":return s*i;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return undefined}}function fmtShort(e){if(e>=i){return Math.round(e/i)+"d"}if(e>=n){return Math.round(e/n)+"h"}if(e>=r){return Math.round(e/r)+"m"}if(e>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){return plural(e,i,"day")||plural(e,n,"hour")||plural(e,r,"minute")||plural(e,t,"second")||e+" ms"}function plural(e,t,r){if(e{"use strict";var n=r(485);e.exports=function extend(e){if(!n(e)){e={}}var t=arguments.length;for(var r=1;r{"use strict";var n=r(8333);var i=r(6974);var a=r(9532);var o=r(569);var s=r(3041);var c=r(8992);var u=r(8366);var l=1024*64;function extglob(e,t){return extglob.create(e,t).output}extglob.match=function(e,t,r){if(typeof t!=="string"){throw new TypeError("expected pattern to be a string")}e=u.arrayify(e);var n=extglob.matcher(t,r);var a=e.length;var o=-1;var s=[];while(++ol){throw new Error("expected pattern to be less than "+l+" characters")}function makeRe(){var r=n({strictErrors:false},t);if(r.strictErrors===true)r.strict=true;var i=extglob.create(e,r);return a(i.output,r)}var r=u.memoize("makeRe",e,t,makeRe);if(r.source.length>l){throw new SyntaxError("potentially malicious regex detected")}return r};extglob.cache=u.cache;extglob.clearCache=function(){extglob.cache.__data__={}};extglob.Extglob=c;extglob.compilers=o;extglob.parsers=s;e.exports=extglob},569:(e,t,r)=>{"use strict";var n=r(6030);e.exports=function(e){function star(){if(typeof e.options.star==="function"){return e.options.star.apply(this,arguments)}if(typeof e.options.star==="string"){return e.options.star}return".*?"}e.use(n.compilers);e.compiler.set("escape",function(e){return this.emit(e.val,e)}).set("dot",function(e){return this.emit("\\"+e.val,e)}).set("qmark",function(e){var t="[^\\\\/.]";var r=this.prev();if(e.parsed.slice(-1)==="("){var n=e.rest.charAt(0);if(n!=="!"&&n!=="="&&n!==":"){return this.emit(t,e)}return this.emit(e.val,e)}if(r.type==="text"&&r.val){return this.emit(t,e)}if(e.val.length>1){t+="{"+e.val.length+"}"}return this.emit(t,e)}).set("plus",function(e){var t=e.parsed.slice(-1);if(t==="]"||t===")"){return this.emit(e.val,e)}var r=this.output.slice(-1);if(!this.output||/[?*+]/.test(r)&&e.parent.type!=="bracket"){return this.emit("\\+",e)}if(/\w/.test(r)&&!e.inside){return this.emit("+\\+?",e)}return this.emit("+",e)}).set("star",function(e){var t=this.prev();var r=t.type!=="text"&&t.type!=="escape"?"(?!\\.)":"";return this.emit(r+star.call(this,e),e)}).set("paren",function(e){return this.mapVisit(e.nodes)}).set("paren.open",function(e){var t=this.options.capture?"(":"";switch(e.parent.prefix){case"!":case"^":return this.emit(t+"(?:(?!(?:",e);case"*":case"+":case"?":case"@":return this.emit(t+"(?:",e);default:{var r=e.val;if(this.options.bash===true){r="\\"+r}else if(!this.options.capture&&r==="("&&e.parent.rest[0]!=="?"){r+="?:"}return this.emit(r,e)}}}).set("paren.close",function(e){var t=this.options.capture?")":"";switch(e.prefix){case"!":case"^":var r=/^(\)|$)/.test(e.rest)?"$":"";var n=star.call(this,e);if(e.parent.hasSlash&&!this.options.star&&this.options.slash!==false){n=".*?"}return this.emit(r+("))"+n+")")+t,e);case"*":case"+":case"?":return this.emit(")"+e.prefix+t,e);case"@":return this.emit(")"+t,e);default:{var i=(this.options.bash===true?"\\":"")+")";return this.emit(i,e)}}}).set("text",function(e){var t=e.val.replace(/[\[\]]/g,"\\$&");return this.emit(t,e)})}},8992:(e,t,r)=>{"use strict";var n=r(9769);var i=r(5855);var a=r(8333);var o=r(569);var s=r(3041);function Extglob(e){this.options=a({source:"extglob"},e);this.snapdragon=this.options.snapdragon||new n(this.options);this.snapdragon.patterns=this.snapdragon.patterns||{};this.compiler=this.snapdragon.compiler;this.parser=this.snapdragon.parser;o(this.snapdragon);s(this.snapdragon);i(this.snapdragon,"parse",function(e,t){var r=n.prototype.parse.apply(this,arguments);r.input=e;var a=this.parser.stack.pop();if(a&&this.options.strict!==true){var o=a.nodes[0];o.val="\\"+o.val;var s=o.parent.nodes[1];if(s.type==="star"){s.loose=true}}i(r,"parser",this.parser);return r});i(this,"parse",function(e,t){return this.snapdragon.parse.apply(this.snapdragon,arguments)});i(this,"compile",function(e,t){return this.snapdragon.compile.apply(this.snapdragon,arguments)})}e.exports=Extglob},3041:(e,t,r)=>{"use strict";var n=r(6030);var i=r(5855);var a=r(8366);var o="([!@*?+]?\\(|\\)|[*?.+\\\\]|\\[:?(?=.*\\])|:?\\])+";var s=a.createRegex(o);function parsers(e){e.state=e.state||{};e.use(n.parsers);e.parser.sets.paren=e.parser.sets.paren||[];e.parser.capture("paren.open",function(){var e=this.parsed;var t=this.position();var r=this.match(/^([!@*?+])?\(/);if(!r)return;var n=this.prev();var a=r[1];var o=r[0];var s=t({type:"paren.open",parsed:e,val:o});var c=t({type:"paren",prefix:a,nodes:[s]});if(a==="!"&&n.type==="paren"&&n.prefix==="!"){n.prefix="@";c.prefix="@"}i(c,"rest",this.input);i(c,"parsed",e);i(c,"parent",n);i(s,"parent",c);this.push("paren",c);n.nodes.push(c)}).capture("paren.close",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\)/);if(!r)return;var n=this.pop("paren");var a=t({type:"paren.close",rest:this.input,parsed:e,val:r[0]});if(!this.isType(n,"paren")){if(this.options.strict){throw new Error('missing opening paren: "("')}a.escaped=true;return a}a.prefix=n.prefix;n.nodes.push(a);i(a,"parent",n)}).capture("escape",function(){var e=this.position();var t=this.match(/^\\(.)/);if(!t)return;return e({type:"escape",val:t[0],ch:t[1]})}).capture("qmark",function(){var t=this.parsed;var r=this.position();var n=this.match(/^\?+(?!\()/);if(!n)return;e.state.metachar=true;return r({type:"qmark",rest:this.input,parsed:t,val:n[0]})}).capture("star",/^\*(?!\()/).capture("plus",/^\+(?!\()/).capture("dot",/^\./).capture("text",s)}e.exports.TEXT_REGEX=o;e.exports=parsers},8366:(e,t,r)=>{"use strict";var n=r(3089);var i=r(9111);var a=e.exports;var o=a.cache=new i;a.arrayify=function(e){if(!Array.isArray(e)){return[e]}return e};a.memoize=function(e,t,r,n){var i=a.createKey(e+t,r);if(o.has(e,i)){return o.get(e,i)}var s=n(t,r);if(r&&r.cache===false){return s}o.set(e,i,s);return s};a.createKey=function(e,t){var r=e;if(typeof t==="undefined"){return r}for(var n in t){r+=";"+n+"="+String(t[n])}return r};a.createRegex=function(e){var t={contains:true,strictClose:false};return n(e,t)}},5855:(e,t,r)=>{"use strict";var n=r(8586);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},9430:(e,t,r)=>{"use strict";var n=r(1669);var i=r(5552);var a=r(8333);var o=r(9437);var s=r(5837);function fillRange(e,t,r,o){if(typeof e==="undefined"){return[]}if(typeof t==="undefined"||e===t){var s=typeof e==="string";if(i(e)&&!toNumber(e)){return[s?"0":0]}return[e]}if(typeof r!=="number"&&typeof r!=="string"){o=r;r=undefined}if(typeof o==="function"){o={transform:o}}var c=a({step:r},o);if(c.step&&!isValidNumber(c.step)){if(c.strictRanges===true){throw new TypeError("expected options.step to be a number")}return[]}c.isNumber=isValidNumber(e)&&isValidNumber(t);if(!c.isNumber&&!isValid(e,t)){if(c.strictRanges===true){throw new RangeError("invalid range arguments: "+n.inspect([e,t]))}return[]}c.isPadded=isPadded(e)||isPadded(t);c.toString=c.stringify||typeof c.step==="string"||typeof e==="string"||typeof t==="string"||!c.isNumber;if(c.isPadded){c.maxLength=Math.max(String(e).length,String(t).length)}if(typeof c.optimize==="boolean")c.toRegex=c.optimize;if(typeof c.makeRe==="boolean")c.toRegex=c.makeRe;return expand(e,t,c)}function expand(e,t,r){var n=r.isNumber?toNumber(e):e.charCodeAt(0);var i=r.isNumber?toNumber(t):t.charCodeAt(0);var a=Math.abs(toNumber(r.step))||1;if(r.toRegex&&a===1){return toRange(n,i,e,t,r)}var o={greater:[],lesser:[]};var s=n=i){var l=r.isNumber?n:String.fromCharCode(n);if(r.toRegex&&(l>=0||!r.isNumber)){o.greater.push(l)}else{o.lesser.push(Math.abs(l))}if(r.isPadded){l=zeros(l,r)}if(r.toString){l=String(l)}if(typeof r.transform==="function"){c[u++]=r.transform(l,n,i,a,u,c,r)}else{c[u++]=l}if(s){n+=a}else{n-=a}}if(r.toRegex===true){return toSequence(c,o,r)}return c}function toRange(e,t,r,n,i){if(i.isPadded){return s(r,n,i)}if(i.isNumber){return s(Math.min(e,t),Math.max(e,t),i)}var r=String.fromCharCode(Math.min(e,t));var n=String.fromCharCode(Math.max(e,t));return"["+r+"-"+n+"]"}function toSequence(e,t,r){var n="",i="";if(t.greater.length){n=t.greater.join("|")}if(t.lesser.length){i="-("+t.lesser.join("|")+")"}var a=n&&i?n+"|"+i:n||i;if(r.capture){return"("+a+")"}return a}function zeros(e,t){if(t.isPadded){var r=String(e);var n=r.length;var i="";if(r.charAt(0)==="-"){i="-";r=r.slice(1)}var a=t.maxLength-n;var s=o("0",a);e=i+s+r}if(t.stringify){return String(e)}return e}function toNumber(e){return Number(e)||0}function isPadded(e){return/^-?0\d/.test(e)}function isValid(e,t){return(isValidNumber(e)||isValidLetter(e))&&(isValidNumber(t)||isValidLetter(t))}function isValidLetter(e){return typeof e==="string"&&e.length===1&&/^\w+$/.test(e)}function isValidNumber(e){return i(e)&&!/\./.test(e)}e.exports=fillRange},1718:e=>{"use strict";e.exports=function forIn(e,t,r){for(var n in e){if(t.call(r,e[n],n,e)===false){break}}}},9111:(e,t,r)=>{"use strict";var n=r(1637);function FragmentCache(e){this.caches=e||{}}FragmentCache.prototype={cache:function(e){return this.caches[e]||(this.caches[e]=new n)},set:function(e,t,r){var n=this.cache(e);n.set(t,r);return n},has:function(e,t){return typeof this.get(e,t)!=="undefined"},get:function(e,t){var r=this.cache(e);if(typeof t==="string"){return r.get(t)}return r}};t=e.exports=FragmentCache},3826:e=>{e.exports=function(e,t,r,n,i){if(!isObject(e)||!t){return e}t=toString(t);if(r)t+="."+toString(r);if(n)t+="."+toString(n);if(i)t+="."+toString(i);if(t in e){return e[t]}var a=t.split(".");var o=a.length;var s=-1;while(e&&++s{"use strict";e.exports=clone;function clone(e){if(e===null||typeof e!=="object")return e;if(e instanceof Object)var t={__proto__:e.__proto__};else var t=Object.create(null);Object.getOwnPropertyNames(e).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))});return t}},5808:(e,t,r)=>{var n=r(5747);var i=r(2444);var a=r(4073);var o=r(858);var s=r(1669);var c;var u;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){c=Symbol.for("graceful-fs.queue");u=Symbol.for("graceful-fs.previous")}else{c="___graceful-fs.queue";u="___graceful-fs.previous"}function noop(){}function publishQueue(e,t){Object.defineProperty(e,c,{get:function(){return t}})}var l=noop;if(s.debuglog)l=s.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))l=function(){var e=s.format.apply(s,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: ");console.error(e)};if(!n[c]){var f=global[c]||[];publishQueue(n,f);n.close=function(e){function close(t,r){return e.call(n,t,function(e){if(!e){retry()}if(typeof r==="function")r.apply(this,arguments)})}Object.defineProperty(close,u,{value:e});return close}(n.close);n.closeSync=function(e){function closeSync(t){e.apply(n,arguments);retry()}Object.defineProperty(closeSync,u,{value:e});return closeSync}(n.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",function(){l(n[c]);r(2357).equal(n[c].length,0)})}}if(!global[c]){publishQueue(global,n[c])}e.exports=patch(o(n));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!n.__patched){e.exports=patch(n);n.__patched=true}function patch(e){i(e);e.gracefulify=patch;e.createReadStream=createReadStream;e.createWriteStream=createWriteStream;var t=e.readFile;e.readFile=readFile;function readFile(e,r,n){if(typeof r==="function")n=r,r=null;return go$readFile(e,r,n);function go$readFile(e,r,n){return t(e,r,function(t){if(t&&(t.code==="EMFILE"||t.code==="ENFILE"))enqueue([go$readFile,[e,r,n]]);else{if(typeof n==="function")n.apply(this,arguments);retry()}})}}var r=e.writeFile;e.writeFile=writeFile;function writeFile(e,t,n,i){if(typeof n==="function")i=n,n=null;return go$writeFile(e,t,n,i);function go$writeFile(e,t,n,i){return r(e,t,n,function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))enqueue([go$writeFile,[e,t,n,i]]);else{if(typeof i==="function")i.apply(this,arguments);retry()}})}}var n=e.appendFile;if(n)e.appendFile=appendFile;function appendFile(e,t,r,i){if(typeof r==="function")i=r,r=null;return go$appendFile(e,t,r,i);function go$appendFile(e,t,r,i){return n(e,t,r,function(n){if(n&&(n.code==="EMFILE"||n.code==="ENFILE"))enqueue([go$appendFile,[e,t,r,i]]);else{if(typeof i==="function")i.apply(this,arguments);retry()}})}}var o=e.readdir;e.readdir=readdir;function readdir(e,t,r){var n=[e];if(typeof t!=="function"){n.push(t)}else{r=t}n.push(go$readdir$cb);return go$readdir(n);function go$readdir$cb(e,t){if(t&&t.sort)t.sort();if(e&&(e.code==="EMFILE"||e.code==="ENFILE"))enqueue([go$readdir,[n]]);else{if(typeof r==="function")r.apply(this,arguments);retry()}}}function go$readdir(t){return o.apply(e,t)}if(process.version.substr(0,4)==="v0.8"){var s=a(e);ReadStream=s.ReadStream;WriteStream=s.WriteStream}var c=e.ReadStream;if(c){ReadStream.prototype=Object.create(c.prototype);ReadStream.prototype.open=ReadStream$open}var u=e.WriteStream;if(u){WriteStream.prototype=Object.create(u.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(e,"ReadStream",{get:function(){return ReadStream},set:function(e){ReadStream=e},enumerable:true,configurable:true});Object.defineProperty(e,"WriteStream",{get:function(){return WriteStream},set:function(e){WriteStream=e},enumerable:true,configurable:true});var l=ReadStream;Object.defineProperty(e,"FileReadStream",{get:function(){return l},set:function(e){l=e},enumerable:true,configurable:true});var f=WriteStream;Object.defineProperty(e,"FileWriteStream",{get:function(){return f},set:function(e){f=e},enumerable:true,configurable:true});function ReadStream(e,t){if(this instanceof ReadStream)return c.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var e=this;open(e.path,e.flags,e.mode,function(t,r){if(t){if(e.autoClose)e.destroy();e.emit("error",t)}else{e.fd=r;e.emit("open",r);e.read()}})}function WriteStream(e,t){if(this instanceof WriteStream)return u.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var e=this;open(e.path,e.flags,e.mode,function(t,r){if(t){e.destroy();e.emit("error",t)}else{e.fd=r;e.emit("open",r)}})}function createReadStream(t,r){return new e.ReadStream(t,r)}function createWriteStream(t,r){return new e.WriteStream(t,r)}var d=e.open;e.open=open;function open(e,t,r,n){if(typeof r==="function")n=r,r=null;return go$open(e,t,r,n);function go$open(e,t,r,n){return d(e,t,r,function(i,a){if(i&&(i.code==="EMFILE"||i.code==="ENFILE"))enqueue([go$open,[e,t,r,n]]);else{if(typeof n==="function")n.apply(this,arguments);retry()}})}}return e}function enqueue(e){l("ENQUEUE",e[0].name,e[1]);n[c].push(e)}function retry(){var e=n[c].shift();if(e){l("RETRY",e[0].name,e[1]);e[0].apply(null,e[1])}}},4073:(e,t,r)=>{var n=r(2413).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,r){if(!(this instanceof ReadStream))return new ReadStream(t,r);n.call(this);var i=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;r=r||{};var a=Object.keys(r);for(var o=0,s=a.length;othis.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){i._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){i.emit("error",e);i.readable=false;return}i.fd=t;i.emit("open",t);i._read()})}function WriteStream(t,r){if(!(this instanceof WriteStream))return new WriteStream(t,r);n.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;r=r||{};var i=Object.keys(r);for(var a=0,o=i.length;a= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},2444:(e,t,r)=>{var n=r(7619);var i=process.cwd;var a=null;var o=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!a)a=i.call(process);return a};try{process.cwd()}catch(e){}var s=process.chdir;process.chdir=function(e){a=null;s.call(process,e)};e.exports=patch;function patch(e){if(n.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)){patchLchmod(e)}if(!e.lutimes){patchLutimes(e)}e.chown=chownFix(e.chown);e.fchown=chownFix(e.fchown);e.lchown=chownFix(e.lchown);e.chmod=chmodFix(e.chmod);e.fchmod=chmodFix(e.fchmod);e.lchmod=chmodFix(e.lchmod);e.chownSync=chownFixSync(e.chownSync);e.fchownSync=chownFixSync(e.fchownSync);e.lchownSync=chownFixSync(e.lchownSync);e.chmodSync=chmodFixSync(e.chmodSync);e.fchmodSync=chmodFixSync(e.fchmodSync);e.lchmodSync=chmodFixSync(e.lchmodSync);e.stat=statFix(e.stat);e.fstat=statFix(e.fstat);e.lstat=statFix(e.lstat);e.statSync=statFixSync(e.statSync);e.fstatSync=statFixSync(e.fstatSync);e.lstatSync=statFixSync(e.lstatSync);if(!e.lchmod){e.lchmod=function(e,t,r){if(r)process.nextTick(r)};e.lchmodSync=function(){}}if(!e.lchown){e.lchown=function(e,t,r,n){if(n)process.nextTick(n)};e.lchownSync=function(){}}if(o==="win32"){e.rename=function(t){return function(r,n,i){var a=Date.now();var o=0;t(r,n,function CB(s){if(s&&(s.code==="EACCES"||s.code==="EPERM")&&Date.now()-a<6e4){setTimeout(function(){e.stat(n,function(e,a){if(e&&e.code==="ENOENT")t(r,n,CB);else i(s)})},o);if(o<100)o+=10;return}if(i)i(s)})}}(e.rename)}e.read=function(t){function read(r,n,i,a,o,s){var c;if(s&&typeof s==="function"){var u=0;c=function(l,f,d){if(l&&l.code==="EAGAIN"&&u<10){u++;return t.call(e,r,n,i,a,o,c)}s.apply(this,arguments)}}return t.call(e,r,n,i,a,o,c)}read.__proto__=t;return read}(e.read);e.readSync=function(t){return function(r,n,i,a,o){var s=0;while(true){try{return t.call(e,r,n,i,a,o)}catch(e){if(e.code==="EAGAIN"&&s<10){s++;continue}throw e}}}}(e.readSync);function patchLchmod(e){e.lchmod=function(t,r,i){e.open(t,n.O_WRONLY|n.O_SYMLINK,r,function(t,n){if(t){if(i)i(t);return}e.fchmod(n,r,function(t){e.close(n,function(e){if(i)i(t||e)})})})};e.lchmodSync=function(t,r){var i=e.openSync(t,n.O_WRONLY|n.O_SYMLINK,r);var a=true;var o;try{o=e.fchmodSync(i,r);a=false}finally{if(a){try{e.closeSync(i)}catch(e){}}else{e.closeSync(i)}}return o}}function patchLutimes(e){if(n.hasOwnProperty("O_SYMLINK")){e.lutimes=function(t,r,i,a){e.open(t,n.O_SYMLINK,function(t,n){if(t){if(a)a(t);return}e.futimes(n,r,i,function(t){e.close(n,function(e){if(a)a(t||e)})})})};e.lutimesSync=function(t,r,i){var a=e.openSync(t,n.O_SYMLINK);var o;var s=true;try{o=e.futimesSync(a,r,i);s=false}finally{if(s){try{e.closeSync(a)}catch(e){}}else{e.closeSync(a)}}return o}}else{e.lutimes=function(e,t,r,n){if(n)process.nextTick(n)};e.lutimesSync=function(){}}}function chmodFix(t){if(!t)return t;return function(r,n,i){return t.call(e,r,n,function(e){if(chownErOk(e))e=null;if(i)i.apply(this,arguments)})}}function chmodFixSync(t){if(!t)return t;return function(r,n){try{return t.call(e,r,n)}catch(e){if(!chownErOk(e))throw e}}}function chownFix(t){if(!t)return t;return function(r,n,i,a){return t.call(e,r,n,i,function(e){if(chownErOk(e))e=null;if(a)a.apply(this,arguments)})}}function chownFixSync(t){if(!t)return t;return function(r,n,i){try{return t.call(e,r,n,i)}catch(e){if(!chownErOk(e))throw e}}}function statFix(t){if(!t)return t;return function(r,n,i){if(typeof n==="function"){i=n;n=null}function callback(e,t){if(t){if(t.uid<0)t.uid+=4294967296;if(t.gid<0)t.gid+=4294967296}if(i)i.apply(this,arguments)}return n?t.call(e,r,n,callback):t.call(e,r,callback)}}function statFixSync(t){if(!t)return t;return function(r,n){var i=n?t.call(e,r,n):t.call(e,r);if(i.uid<0)i.uid+=4294967296;if(i.gid<0)i.gid+=4294967296;return i}}function chownErOk(e){if(!e)return true;if(e.code==="ENOSYS")return true;var t=!process.getuid||process.getuid()!==0;if(t){if(e.code==="EINVAL"||e.code==="EPERM")return true}return false}}},3283:(e,t,r)=>{"use strict";var n=r(977);var i=r(2160);var a=r(3826);e.exports=function(e,t){return i(n(e)&&t?a(e,t):e)}},2160:(e,t,r)=>{"use strict";var n=r(7217);var i=r(5552);e.exports=function hasValue(e){if(i(e)){return true}switch(n(e)){case"null":case"boolean":case"function":return true;case"string":case"arguments":return e.length!==0;case"error":return e.message!=="";case"array":var t=e.length;if(t===0){return false}for(var r=0;r{var n=r(4950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(t==="[object Promise]"){return"promise"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},1790:(e,t,r)=>{"use strict";var n=r(9948);var i={get:"function",set:"function",configurable:"boolean",enumerable:"boolean"};function isAccessorDescriptor(e,t){if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(n(e)!=="object"){return false}if(has(e,"value")||has(e,"writable")){return false}if(!has(e,"get")||typeof e.get!=="function"){return false}if(has(e,"set")&&typeof e[a]!=="function"&&typeof e[a]!=="undefined"){return false}for(var a in e){if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}function has(e,t){return{}.hasOwnProperty.call(e,t)}e.exports=isAccessorDescriptor},9948:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},4950:e=>{e.exports=function(e){return e!=null&&(isBuffer(e)||isSlowBuffer(e)||!!e._isBuffer)};function isBuffer(e){return!!e.constructor&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}function isSlowBuffer(e){return typeof e.readFloatLE==="function"&&typeof e.slice==="function"&&isBuffer(e.slice(0,0))}},9035:(e,t,r)=>{"use strict";var n=r(1275);e.exports=function isDataDescriptor(e,t){var r={configurable:"boolean",enumerable:"boolean",writable:"boolean"};if(n(e)!=="object"){return false}if(typeof t==="string"){var i=Object.getOwnPropertyDescriptor(e,t);return typeof i!=="undefined"}if(!("value"in e)&&!("writable"in e)){return false}for(var a in e){if(a==="value")continue;if(!r.hasOwnProperty(a)){continue}if(n(e[a])===r[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}},1275:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},8586:(e,t,r)=>{"use strict";var n=r(9914);var i=r(1790);var a=r(9035);e.exports=function isDescriptor(e,t){if(n(e)!=="object"){return false}if("get"in e){return i(e,t)}return a(e,t)}},9914:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},485:e=>{"use strict";e.exports=function isExtendable(e){return typeof e!=="undefined"&&e!==null&&(typeof e==="object"||typeof e==="function")}},5552:(e,t,r)=>{"use strict";var n=r(2046);e.exports=function isNumber(e){var t=n(e);if(t==="string"){if(!e.trim())return false}else if(t!=="number"){return false}return e-e+1>=0}},1221:(e,t,r)=>{"use strict";var n=r(977);function isObjectObject(e){return n(e)===true&&Object.prototype.toString.call(e)==="[object Object]"}e.exports=function isPlainObject(e){var t,r;if(isObjectObject(e)===false)return false;t=e.constructor;if(typeof t!=="function")return false;r=t.prototype;if(isObjectObject(r)===false)return false;if(r.hasOwnProperty("isPrototypeOf")===false){return false}return true}},7523:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return t.call(e)=="[object Array]"}},977:e=>{"use strict";e.exports=function isObject(e){return e!=null&&typeof e==="object"&&Array.isArray(e)===false}},2046:(e,t,r)=>{var n=r(4950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},6559:e=>{"use strict";function getCurrentRequest(e){if(e.currentRequest)return e.currentRequest;const t=e.loaders.slice(e.loaderIndex).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getCurrentRequest},2669:(e,t,r)=>{"use strict";const n={26:"abcdefghijklmnopqrstuvwxyz",32:"123456789abcdefghjkmnpqrstuvwxyz",36:"0123456789abcdefghijklmnopqrstuvwxyz",49:"abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",52:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",64:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"};function encodeBufferToBase(e,t){const i=n[t];if(!i)throw new Error("Unknown encoding base"+t);const a=e.length;const o=r(2558);o.RM=o.DP=0;let s=new o(0);for(let t=a-1;t>=0;t--){s=s.times(256).plus(e[t])}let c="";while(s.gt(0)){c=i[s.mod(t)]+c;s=s.div(t)}o.DP=20;o.RM=1;return c}function getHashDigest(e,t,n,i){t=t||"md5";i=i||9999;const a=r(6417).createHash(t);a.update(e);if(n==="base26"||n==="base32"||n==="base36"||n==="base49"||n==="base52"||n==="base58"||n==="base62"||n==="base64"){return encodeBufferToBase(a.digest(),n.substr(4)).substr(0,i)}else{return a.digest(n||"hex").substr(0,i)}}e.exports=getHashDigest},2245:(e,t,r)=>{"use strict";const n=r(9170);function getOptions(e){const t=e.query;if(typeof t==="string"&&t!==""){return n(e.query)}if(!t||typeof t!=="object"){return null}return t}e.exports=getOptions},2078:e=>{"use strict";function getRemainingRequest(e){if(e.remainingRequest)return e.remainingRequest;const t=e.loaders.slice(e.loaderIndex+1).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getRemainingRequest},8244:(e,t,r)=>{"use strict";const n=r(2245);const i=r(9170);const a=r(1412);const o=r(2078);const s=r(6559);const c=r(1077);const u=r(4608);const l=r(5231);const f=r(2669);const d=r(7872);t.getOptions=n;t.parseQuery=i;t.stringifyRequest=a;t.getRemainingRequest=o;t.getCurrentRequest=s;t.isUrlRequest=c;t.urlToRequest=u;t.parseString=l;t.getHashDigest=f;t.interpolateName=d},7872:(e,t,r)=>{"use strict";const n=r(5622);const i=r(1356);const a=r(2669);const o=/[\uD800-\uDFFF]./;const s=i.filter(e=>o.test(e));const c={};function encodeStringToEmoji(e,t){if(c[e])return c[e];t=t||1;const r=[];do{const e=Math.floor(Math.random()*s.length);r.push(s[e]);s.splice(e,1)}while(--t>0);const n=r.join("");c[e]=n;return n}function interpolateName(e,t,r){let i;if(typeof t==="function"){i=t(e.resourcePath)}else{i=t||"[hash].[ext]"}const o=r.context;const s=r.content;const c=r.regExp;let u="bin";let l="file";let f="";let d="";if(e.resourcePath){const t=n.parse(e.resourcePath);let r=e.resourcePath;if(t.ext){u=t.ext.substr(1)}if(t.dir){l=t.name;r=t.dir+n.sep}if(typeof o!=="undefined"){f=n.relative(o,r+"_").replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1");f=f.substr(0,f.length-1)}else{f=r.replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1")}if(f.length===1){f=""}else if(f.length>1){d=n.basename(f)}}let p=i;if(s){p=p.replace(/\[(?:(\w+):)?hash(?::([a-z]+\d*))?(?::(\d+))?\]/gi,(e,t,r,n)=>a(s,t,r,parseInt(n,10))).replace(/\[emoji(?::(\d+))?\]/gi,(e,t)=>encodeStringToEmoji(s,t))}p=p.replace(/\[ext\]/gi,()=>u).replace(/\[name\]/gi,()=>l).replace(/\[path\]/gi,()=>f).replace(/\[folder\]/gi,()=>d);if(c&&e.resourcePath){const t=e.resourcePath.match(new RegExp(c));t&&t.forEach((e,t)=>{p=p.replace(new RegExp("\\["+t+"\\]","ig"),e)})}if(typeof e.options==="object"&&typeof e.options.customInterpolateName==="function"){p=e.options.customInterpolateName.call(e,p,t,r)}return p}e.exports=interpolateName},1077:e=>{"use strict";function isUrlRequest(e,t){if(/^data:|^chrome-extension:|^(https?:)?\/\/|^[\{\}\[\]#*;,'§\$%&\(=?`´\^°<>]/.test(e))return false;if((t===undefined||t===false)&&/^\//.test(e))return false;return true}e.exports=isUrlRequest},9170:(e,t,r)=>{"use strict";const n=r(161);const i={null:null,true:true,false:false};function parseQuery(e){if(e.substr(0,1)!=="?"){throw new Error("A valid query string passed to parseQuery should begin with '?'")}e=e.substr(1);if(!e){return{}}if(e.substr(0,1)==="{"&&e.substr(-1)==="}"){return n.parse(e)}const t=e.split(/[,&]/g);const r={};t.forEach(e=>{const t=e.indexOf("=");if(t>=0){let n=e.substr(0,t);let a=decodeURIComponent(e.substr(t+1));if(i.hasOwnProperty(a)){a=i[a]}if(n.substr(-2)==="[]"){n=decodeURIComponent(n.substr(0,n.length-2));if(!Array.isArray(r[n]))r[n]=[];r[n].push(a)}else{n=decodeURIComponent(n);r[n]=a}}else{if(e.substr(0,1)==="-"){r[decodeURIComponent(e.substr(1))]=false}else if(e.substr(0,1)==="+"){r[decodeURIComponent(e.substr(1))]=true}else{r[decodeURIComponent(e)]=true}}});return r}e.exports=parseQuery},5231:e=>{"use strict";function parseString(e){try{if(e[0]==='"')return JSON.parse(e);if(e[0]==="'"&&e.substr(e.length-1)==="'"){return parseString(e.replace(/\\.|"/g,e=>e==='"'?'\\"':e).replace(/^'|'$/g,'"'))}return JSON.parse('"'+e+'"')}catch(t){return e}}e.exports=parseString},1412:(e,t,r)=>{"use strict";const n=r(5622);const i=/^\.\.?[/\\]/;function isAbsolutePath(e){return n.posix.isAbsolute(e)||n.win32.isAbsolute(e)}function isRelativePath(e){return i.test(e)}function stringifyRequest(e,t){const r=t.split("!");const i=e.context||e.options&&e.options.context;return JSON.stringify(r.map(e=>{const t=e.match(/^(.*?)(\?.*)/);let r=t?t[1]:e;const a=t?t[2]:"";if(isAbsolutePath(r)&&i){r=n.relative(i,r);if(isAbsolutePath(r)){return r+a}if(isRelativePath(r)===false){r="./"+r}}return r.replace(/\\/g,"/")+a}).join("!"))}e.exports=stringifyRequest},4608:e=>{"use strict";const t=/^[A-Z]:[/\\]|^\\\\/i;function urlToRequest(e,r){const n=/^[^?]*~/;let i;if(t.test(e)){i=e}else if(r!==undefined&&r!==false&&/^\//.test(e)){switch(typeof r){case"string":if(n.test(r)){i=r.replace(/([^~\/])$/,"$1/")+e.slice(1)}else{i=r+e}break;case"boolean":i=e;break;default:throw new Error("Unexpected parameters to loader-utils 'urlToRequest': url = "+e+", root = "+r+".")}}else if(/^\.\.?\//.test(e)){i=e}else{i="./"+e}if(n.test(i)){i=i.replace(n,"")}return i}e.exports=urlToRequest},2558:function(e){(function(t){"use strict";var r=20,n=1,i=1e6,a=1e6,o=-7,s=21,c={},u=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,l;function bigFactory(){function Big(e){var t=this;if(!(t instanceof Big)){return e===void 0?bigFactory():new Big(e)}if(e instanceof Big){t.s=e.s;t.e=e.e;t.c=e.c.slice()}else{parse(t,e)}t.constructor=Big}Big.prototype=c;Big.DP=r;Big.RM=n;Big.E_NEG=o;Big.E_POS=s;return Big}function format(e,t,r){var n=e.constructor,i=t-(e=new n(e)).e,a=e.c;if(a.length>++t){rnd(e,i,n.RM)}if(!a[0]){++i}else if(r){i=t}else{a=e.c;i=e.e+i+1}for(;a.length1?a[0]+"."+a.join("").slice(1):a[0])+(i<0?"e":"e+")+i:e.toString()}function parse(e,t){var r,n,i;if(t===0&&1/t<0){t="-0"}else if(!u.test(t+="")){throwErr(NaN)}e.s=t.charAt(0)=="-"?(t=t.slice(1),-1):1;if((r=t.indexOf("."))>-1){t=t.replace(".","")}if((n=t.search(/e/i))>0){if(r<0){r=n}r+=+t.slice(n+1);t=t.substring(0,n)}else if(r<0){r=t.length}i=t.length;for(n=0;n0&&t.charAt(--i)=="0";){}e.e=r-n-1;e.c=[];for(;n<=i;e.c.push(+t.charAt(n++))){}}return e}function rnd(e,t,r,n){var i,a=e.c,o=e.e+t+1;if(r===1){n=a[o]>=5}else if(r===2){n=a[o]>5||a[o]==5&&(n||o<0||a[o+1]!==i||a[o-1]&1)}else if(r===3){n=n||a[o]!==i||o<0}else{n=false;if(r!==0){throwErr("!Big.RM!")}}if(o<1||!a[0]){if(n){e.e=-t;e.c=[1]}else{e.c=[e.e=0]}}else{a.length=o--;if(n){for(;++a[o]>9;){a[o]=0;if(!o--){++e.e;a.unshift(1)}}}for(o=a.length;!a[--o];a.pop()){}}return e}function throwErr(e){var t=new Error(e);t.name="BigError";throw t}c.abs=function(){var e=new this.constructor(this);e.s=1;return e};c.cmp=function(e){var t,r=this,n=r.c,i=(e=new r.constructor(e)).c,a=r.s,o=e.s,s=r.e,c=e.e;if(!n[0]||!i[0]){return!n[0]?!i[0]?0:-o:a}if(a!=o){return a}t=a<0;if(s!=c){return s>c^t?1:-1}a=-1;o=(s=n.length)<(c=i.length)?s:c;for(;++ai[a]^t?1:-1}}return s==c?0:s>c^t?1:-1};c.div=function(e){var t=this,r=t.constructor,n=t.c,a=(e=new r(e)).c,o=t.s==e.s?1:-1,s=r.DP;if(s!==~~s||s<0||s>i){throwErr("!Big.DP!")}if(!n[0]||!a[0]){if(n[0]==a[0]){throwErr(NaN)}if(!a[0]){throwErr(o/0)}return new r(o*0)}var c,u,l,f,d,p,g=a.slice(),_=c=a.length,m=n.length,y=n.slice(0,c),h=y.length,v=e,T=v.c=[],S=0,b=s+(v.e=t.e-e.e)+1;v.s=o;o=b<0?0:b;g.unshift(0);for(;h++h?1:-1}else{for(d=-1,f=0;++dy[d]?1:-1;break}}}if(f<0){for(u=h==c?a:g;h;){if(y[--h]b){rnd(v,s,r.RM,y[0]!==p)}return v};c.eq=function(e){return!this.cmp(e)};c.gt=function(e){return this.cmp(e)>0};c.gte=function(e){return this.cmp(e)>-1};c.lt=function(e){return this.cmp(e)<0};c.lte=function(e){return this.cmp(e)<1};c.sub=c.minus=function(e){var t,r,n,i,a=this,o=a.constructor,s=a.s,c=(e=new o(e)).s;if(s!=c){e.s=-c;return a.plus(e)}var u=a.c.slice(),l=a.e,f=e.c,d=e.e;if(!u[0]||!f[0]){return f[0]?(e.s=-c,e):new o(u[0]?a:0)}if(s=l-d){if(i=s<0){s=-s;n=u}else{d=l;n=f}n.reverse();for(c=s;c--;n.push(0)){}n.reverse()}else{r=((i=u.length0){for(;c--;u[t++]=0){}}for(c=t;r>s;){if(u[--r]0){c=o;t=u}else{i=-i;t=s}t.reverse();for(;i--;t.push(0)){}t.reverse()}if(s.length-u.length<0){t=u;u=s;s=t}i=u.length;for(a=0;i;){a=(s[--i]=s[i]+u[i]+a)/10|0;s[i]%=10}if(a){s.unshift(a);++c}for(i=s.length;s[--i]===0;s.pop()){}e.c=s;e.e=c;return e};c.pow=function(e){var t=this,r=new t.constructor(1),n=r,i=e<0;if(e!==~~e||e<-a||e>a){throwErr("!pow!")}e=i?-e:e;for(;;){if(e&1){n=n.times(t)}e>>=1;if(!e){break}t=t.times(t)}return i?r.div(n):n};c.round=function(e,t){var r=this,n=r.constructor;if(e==null){e=0}else if(e!==~~e||e<0||e>i){throwErr("!round!")}rnd(r=new n(r),e,t==null?n.RM:t);return r};c.sqrt=function(){var e,t,r,n=this,i=n.constructor,a=n.c,o=n.s,s=n.e,c=new i("0.5");if(!a[0]){return new i(n)}if(o<0){throwErr(NaN)}o=Math.sqrt(n.toString());if(o===0||o===1/0){e=a.join("");if(!(e.length+s&1)){e+="0"}t=new i(Math.sqrt(e).toString());t.e=((s+1)/2|0)-(s<0||s&1)}else{t=new i(o.toString())}o=t.e+(i.DP+=4);do{r=t;t=c.times(r.plus(n.div(r)))}while(r.c.slice(0,o).join("")!==t.c.slice(0,o).join(""));rnd(t,i.DP-=4,i.RM);return t};c.mul=c.times=function(e){var t,r=this,n=r.constructor,i=r.c,a=(e=new n(e)).c,o=i.length,s=a.length,c=r.e,u=e.e;e.s=r.s==e.s?1:-1;if(!i[0]||!a[0]){return new n(e.s*0)}e.e=c+u;if(oc;){s=t[u]+a[c]*i[u-c-1]+s;t[u--]=s%10;s=s/10|0}t[u]=(t[u]+s)%10}if(s){++e.e}if(!t[0]){t.shift()}for(c=t.length;!t[--c];t.pop()){}e.c=t;return e};c.toString=c.valueOf=c.toJSON=function(){var e=this,t=e.constructor,r=e.e,n=e.c.join(""),i=n.length;if(r<=t.E_NEG||r>=t.E_POS){n=n.charAt(0)+(i>1?"."+n.slice(1):"")+(r<0?"e":"e+")+r}else if(r<0){for(;++r;n="0"+n){}n="0."+n}else if(r>0){if(++r>i){for(r-=i;r--;n+="0"){}}else if(r1){n=n.charAt(0)+"."+n.slice(1)}return e.s<0&&e.c[0]?"-"+n:n};c.toExponential=function(e){if(e==null){e=this.c.length-1}else if(e!==~~e||e<0||e>i){throwErr("!toExp!")}return format(this,e,1)};c.toFixed=function(e){var t,r=this,n=r.constructor,a=n.E_NEG,o=n.E_POS;n.E_NEG=-(n.E_POS=1/0);if(e==null){t=r.toString()}else if(e===~~e&&e>=0&&e<=i){t=format(r,r.e+e);if(r.s<0&&r.c[0]&&t.indexOf("-")<0){t="-"+t}}n.E_NEG=a;n.E_POS=o;if(!t){throwErr("!toFix!")}return t};c.toPrecision=function(e){if(e==null){return this.toString()}else if(e!==~~e||e<1||e>i){throwErr("!toPre!")}return format(this,e-1,2)};l=bigFactory();if(typeof define==="function"&&define.amd){define(function(){return l})}else if(true&&e.exports){e.exports=l;e.exports.Big=l}else{t.Big=l}})(this)},161:(e,t)=>{var r=true?t:0;r.parse=function(){"use strict";var e,t,r,n,i={"'":"'",'"':'"',"\\":"\\","/":"/","\n":"",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},a=[" ","\t","\r","\n","\v","\f"," ","\ufeff"],o,s=function(e){return e===""?"EOF":"'"+e+"'"},c=function(n){var i=new SyntaxError;i.message=n+" at line "+t+" column "+r+" of the JSON5 data. Still to read: "+JSON.stringify(o.substring(e-1,e+19));i.at=e;i.lineNumber=t;i.columnNumber=r;throw i},u=function(i){if(i&&i!==n){c("Expected "+s(i)+" instead of "+s(n))}n=o.charAt(e);e++;r++;if(n==="\n"||n==="\r"&&l()!=="\n"){t++;r=0}return n},l=function(){return o.charAt(e)},f=function(){var e=n;if(n!=="_"&&n!=="$"&&(n<"a"||n>"z")&&(n<"A"||n>"Z")){c("Bad identifier as unquoted key")}while(u()&&(n==="_"||n==="$"||n>="a"&&n<="z"||n>="A"&&n<="Z"||n>="0"&&n<="9")){e+=n}return e},d=function(){var e,t="",r="",i=10;if(n==="-"||n==="+"){t=n;u(n)}if(n==="I"){e=h();if(typeof e!=="number"||isNaN(e)){c("Unexpected word for number")}return t==="-"?-e:e}if(n==="N"){e=h();if(!isNaN(e)){c("expected word to be NaN")}return e}if(n==="0"){r+=n;u();if(n==="x"||n==="X"){r+=n;u();i=16}else if(n>="0"&&n<="9"){c("Octal literal")}}switch(i){case 10:while(n>="0"&&n<="9"){r+=n;u()}if(n==="."){r+=".";while(u()&&n>="0"&&n<="9"){r+=n}}if(n==="e"||n==="E"){r+=n;u();if(n==="-"||n==="+"){r+=n;u()}while(n>="0"&&n<="9"){r+=n;u()}}break;case 16:while(n>="0"&&n<="9"||n>="A"&&n<="F"||n>="a"&&n<="f"){r+=n;u()}break}if(t==="-"){e=-r}else{e=+r}if(!isFinite(e)){c("Bad number")}else{return e}},p=function(){var e,t,r="",a,o;if(n==='"'||n==="'"){a=n;while(u()){if(n===a){u();return r}else if(n==="\\"){u();if(n==="u"){o=0;for(t=0;t<4;t+=1){e=parseInt(u(),16);if(!isFinite(e)){break}o=o*16+e}r+=String.fromCharCode(o)}else if(n==="\r"){if(l()==="\n"){u()}}else if(typeof i[n]==="string"){r+=i[n]}else{break}}else if(n==="\n"){break}else{r+=n}}}c("Bad string")},g=function(){if(n!=="/"){c("Not an inline comment")}do{u();if(n==="\n"||n==="\r"){u();return}}while(n)},_=function(){if(n!=="*"){c("Not a block comment")}do{u();while(n==="*"){u("*");if(n==="/"){u("/");return}}}while(n);c("Unterminated block comment")},m=function(){if(n!=="/"){c("Not a comment")}u("/");if(n==="/"){g()}else if(n==="*"){_()}else{c("Unrecognized comment")}},y=function(){while(n){if(n==="/"){m()}else if(a.indexOf(n)>=0){u()}else{return}}},h=function(){switch(n){case"t":u("t");u("r");u("u");u("e");return true;case"f":u("f");u("a");u("l");u("s");u("e");return false;case"n":u("n");u("u");u("l");u("l");return null;case"I":u("I");u("n");u("f");u("i");u("n");u("i");u("t");u("y");return Infinity;case"N":u("N");u("a");u("N");return NaN}c("Unexpected "+s(n))},v,T=function(){var e=[];if(n==="["){u("[");y();while(n){if(n==="]"){u("]");return e}if(n===","){c("Missing array element")}else{e.push(v())}y();if(n!==","){u("]");return e}u(",");y()}}c("Bad array")},S=function(){var e,t={};if(n==="{"){u("{");y();while(n){if(n==="}"){u("}");return t}if(n==='"'||n==="'"){e=p()}else{e=f()}y();u(":");t[e]=v();y();if(n!==","){u("}");return t}u(",");y()}}c("Bad object")};v=function(){y();switch(n){case"{":return S();case"[":return T();case'"':case"'":return p();case"-":case"+":case".":return d();default:return n>="0"&&n<="9"?d():h()}};return function(i,a){var s;o=String(i);e=0;t=1;r=1;n=" ";s=v();y();if(n){c("Syntax error")}return typeof a==="function"?function walk(e,t){var r,n,i=e[t];if(i&&typeof i==="object"){for(r in i){if(Object.prototype.hasOwnProperty.call(i,r)){n=walk(i,r);if(n!==undefined){i[r]=n}else{delete i[r]}}}}return a.call(e,t,i)}({"":s},""):s}}();r.stringify=function(e,t,n){if(t&&(typeof t!=="function"&&!isArray(t))){throw new Error("Replacer must be a function or an array")}var i=function(e,r,n){var i=e[r];if(i&&i.toJSON&&typeof i.toJSON==="function"){i=i.toJSON()}if(typeof t==="function"){return t.call(e,r,i)}else if(t){if(n||isArray(e)||t.indexOf(r)>=0){return i}else{return undefined}}else{return i}};function isWordChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="_"||e==="$"}function isWordStart(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function isWord(e){if(typeof e!=="string"){return false}if(!isWordStart(e[0])){return false}var t=1,r=e.length;while(t10){e=e.substring(0,10)}var n=r?"":"\n";for(var i=0;i=0){o=makeIndent(" ",n,true)}else{}}var s=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,c=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,u={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function escapeString(e){c.lastIndex=0;return c.test(e)?'"'+e.replace(c,function(e){var t=u[e];return typeof t==="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function internalStringify(e,t,r){var n,s;var c=i(e,t,r);if(c&&!isDate(c)){c=c.valueOf()}switch(typeof c){case"boolean":return c.toString();case"number":if(isNaN(c)||!isFinite(c)){return"null"}return c.toString();case"string":return escapeString(c.toString());case"object":if(c===null){return"null"}else if(isArray(c)){checkForCircular(c);n="[";a.push(c);for(var u=0;u{"use strict";var t=Object.prototype.hasOwnProperty;e.exports=MapCache;function MapCache(e){this.__data__=e||{}}MapCache.prototype.set=function mapSet(e,t){if(e!=="__proto__"){this.__data__[e]=t}return this};MapCache.prototype.get=function mapGet(e){return e==="__proto__"?undefined:this.__data__[e]};MapCache.prototype.has=function mapHas(e){return e!=="__proto__"&&t.call(this.__data__,e)};MapCache.prototype.del=function mapDelete(e){return this.has(e)&&delete this.__data__[e]}},8098:(e,t,r)=>{"use strict";var n=r(1669);var i=r(4274);e.exports=function mapVisit(e,t,r){if(isObject(r)){return i.apply(null,arguments)}if(!Array.isArray(r)){throw new TypeError("expected an array: "+n.inspect(r))}var a=[].slice.call(arguments,3);for(var o=0;o{var n=r(5369);var i=/^[A-Z]:([\\\/]|$)/i;var a=/^\//i;e.exports=function join(e,t){if(!t)return n(e);if(i.test(t))return n(t.replace(/\//g,"\\"));if(a.test(t))return n(t);if(e=="/")return n(e+t);if(i.test(e))return n(e.replace(/\//g,"\\")+"\\"+t.replace(/\//g,"\\"));if(a.test(e))return n(e+"/"+t);return n(e+"/"+t)}},5369:e=>{e.exports=function normalize(e){var t=e.split(/(\\+|\/+)/);if(t.length===1)return e;var r=[];var n=0;for(var i=0,a=false;i{"use strict";var n=r(7459);var i=r(1718);function mixinDeep(e,t){var r=arguments.length,n=0;while(++n{"use strict";var n=r(1221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},5434:(e,t,r)=>{"use strict";var n=r(1669);var i=r(9532);var a=r(5577);var o=r(107);var s=r(2513);var c=r(520);var u=r(8063);var l=1024*64;function nanomatch(e,t,r){t=u.arrayify(t);e=u.arrayify(e);var n=t.length;if(e.length===0||n===0){return[]}if(n===1){return nanomatch.match(e,t[0],r)}var i=false;var a=[];var o=[];var s=-1;while(++sl){throw new Error("expected pattern to be less than "+l+" characters")}function makeRe(){var r=u.extend({wrap:false},t);var n=nanomatch.create(e,r);var a=i(n.output,r);u.define(a,"result",n);return a}return memoize("makeRe",e,t,makeRe)};nanomatch.create=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}function create(){return nanomatch.compile(nanomatch.parse(e,t),t)}return memoize("create",e,t,create)};nanomatch.parse=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}function parse(){var r=u.instantiate(null,t);s(r,t);var n=r.parse(e,t);u.define(n,"snapdragon",r);n.input=e;return n}return memoize("parse",e,t,parse)};nanomatch.compile=function(e,t){if(typeof e==="string"){e=nanomatch.parse(e,t)}function compile(){var r=u.instantiate(e,t);o(r,t);return r.compile(e,t)}return memoize("compile",e.input,t,compile)};nanomatch.clearCache=function(){nanomatch.cache.__data__={}};function compose(e,t,r){var n;return memoize("compose",String(e),t,function(){return function(i){if(!n){n=[];for(var a=0;a{e.exports=new(r(9111))},107:e=>{"use strict";e.exports=function(e,t){function slash(){if(t&&typeof t.slash==="string"){return t.slash}if(t&&typeof t.slash==="function"){return t.slash.call(e)}return"\\\\/"}function star(){if(t&&typeof t.star==="string"){return t.star}if(t&&typeof t.star==="function"){return t.star.call(e)}return"[^"+slash()+"]*?"}var r=e.ast=e.parser.ast;r.state=e.parser.state;e.compiler.state=r.state;e.compiler.set("not",function(e){var t=this.prev();if(this.options.nonegate===true||t.type!=="bos"){return this.emit("\\"+e.val,e)}return this.emit(e.val,e)}).set("escape",function(e){if(this.options.unescape&&/^[-\w_.]/.test(e.val)){return this.emit(e.val,e)}return this.emit("\\"+e.val,e)}).set("quoted",function(e){return this.emit(e.val,e)}).set("dollar",function(e){if(e.parent.type==="bracket"){return this.emit(e.val,e)}return this.emit("\\"+e.val,e)}).set("dot",function(e){if(e.dotfiles===true)this.dotfiles=true;return this.emit("\\"+e.val,e)}).set("backslash",function(e){return this.emit(e.val,e)}).set("slash",function(e,t,r){var n="["+slash()+"]";var i=e.parent;var a=this.prev();while(i.type==="paren"&&!i.hasSlash){i.hasSlash=true;i=i.parent}if(a.addQmark){n+="?"}if(e.rest.slice(0,2)==="\\b"){return this.emit(n,e)}if(e.parsed==="**"||e.parsed==="./**"){this.output="(?:"+this.output;return this.emit(n+")?",e)}if(e.parsed==="!**"&&this.options.nonegate!==true){return this.emit(n+"?\\b",e)}return this.emit(n,e)}).set("bracket",function(e){var t=e.close;var r=!e.escaped?"[":"\\[";var n=e.negated;var i=e.inner;var a=e.val;if(e.escaped===true){i=i.replace(/\\?(\W)/g,"\\$1");n=""}if(i==="]-"){i="\\]\\-"}if(n&&i.indexOf(".")===-1){i+="."}if(n&&i.indexOf("/")===-1){i+="/"}a=r+n+i+t;return this.emit(a,e)}).set("square",function(e){var t=(/^\W/.test(e.val)?"\\":"")+e.val;return this.emit(t,e)}).set("qmark",function(e){var t=this.prev();var r="[^.\\\\/]";if(this.options.dot||t.type!=="bos"&&t.type!=="slash"){r="[^\\\\/]"}if(e.parsed.slice(-1)==="("){var n=e.rest.charAt(0);if(n==="!"||n==="="||n===":"){return this.emit(e.val,e)}}if(e.val.length>1){r+="{"+e.val.length+"}"}return this.emit(r,e)}).set("plus",function(e){var t=e.parsed.slice(-1);if(t==="]"||t===")"){return this.emit(e.val,e)}if(!this.output||/[?*+]/.test(r)&&e.parent.type!=="bracket"){return this.emit("\\+",e)}var r=this.output.slice(-1);if(/\w/.test(r)&&!e.inside){return this.emit("+\\+?",e)}return this.emit("+",e)}).set("globstar",function(e,t,r){if(!this.output){this.state.leadingGlobstar=true}var n=this.prev();var i=this.prev(2);var a=this.next();var o=this.next(2);var s=n.type;var c=e.val;if(n.type==="slash"&&a.type==="slash"){if(i.type==="text"){this.output+="?";if(o.type!=="text"){this.output+="\\b"}}}var u=e.parsed;if(u.charAt(0)==="!"){u=u.slice(1)}var l=e.isInside.paren||e.isInside.brace;if(u&&s!=="slash"&&s!=="bos"&&!l){c=star()}else{c=this.options.dot!==true?"(?:(?!(?:["+slash()+"]|^)\\.).)*?":"(?:(?!(?:["+slash()+"]|^)(?:\\.{1,2})($|["+slash()+"]))(?!\\.{2}).)*?"}if((s==="slash"||s==="bos")&&this.options.dot!==true){c="(?!\\.)"+c}if(n.type==="slash"&&a.type==="slash"&&i.type!=="text"){if(o.type==="text"||o.type==="star"){e.addQmark=true}}if(this.options.capture){c="("+c+")"}return this.emit(c,e)}).set("star",function(e,t,r){var n=t[r-2]||{};var i=this.prev();var a=this.next();var o=i.type;function isStart(e){return e.type==="bos"||e.type==="slash"}if(this.output===""&&this.options.contains!==true){this.output="(?!["+slash()+"])"}if(o==="bracket"&&this.options.bash===false){var s=a&&a.type==="bracket"?star():"*?";if(!i.nodes||i.nodes[1].type!=="posix"){return this.emit(s,e)}}var c=!this.dotfiles&&o!=="text"&&o!=="escape"?this.options.dot?"(?!(?:^|["+slash()+"])\\.{1,2}(?:$|["+slash()+"]))":"(?!\\.)":"";if(isStart(i)||isStart(n)&&o==="not"){if(c!=="(?!\\.)"){c+="(?!(\\.{2}|\\.["+slash()+"]))(?=.)"}else{c+="(?=.)"}}else if(c==="(?!\\.)"){c=""}if(i.type==="not"&&n.type==="bos"&&this.options.dot===true){this.output="(?!\\.)"+this.output}var u=c+star();if(this.options.capture){u="("+u+")"}return this.emit(u,e)}).set("text",function(e){return this.emit(e.val,e)}).set("eos",function(e){var t=this.prev();var r=e.val;this.output="(?:\\.["+slash()+"](?=.))?"+this.output;if(this.state.metachar&&t.type!=="qmark"&&t.type!=="slash"){r+=this.options.contains?"["+slash()+"]?":"(?:["+slash()+"]|$)"}return this.emit(r,e)});if(t&&typeof t.compilers==="function"){t.compilers(e.compiler)}}},2513:(e,t,r)=>{"use strict";var n=r(3089);var i=r(9532);var a;var o="[\\[!*+?$^\"'.\\\\/]+";var s=createTextRegex(o);e.exports=function(e,t){var r=e.parser;var n=r.options;r.state={slashes:0,paths:[]};r.ast.state=r.state;r.capture("prefix",function(){if(this.parsed)return;var e=this.match(/^\.[\\/]/);if(!e)return;this.state.strictOpen=!!this.options.strictOpen;this.state.addPrefix=true}).capture("escape",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^(?:\\(.)|([$^]))/);if(!t)return;return e({type:"escape",val:t[2]||t[1]})}).capture("quoted",function(){var e=this.position();var t=this.match(/^["']/);if(!t)return;var r=t[0];if(this.input.indexOf(r)===-1){return e({type:"escape",val:r})}var n=advanceTo(this.input,r);this.consume(n.len);return e({type:"quoted",val:n.esc})}).capture("not",function(){var e=this.parsed;var t=this.position();var r=this.match(this.notRegex||/^!+/);if(!r)return;var n=r[0];var i=n.length%2===1;if(e===""&&!i){n=""}if(e===""&&i&&this.options.nonegate!==true){this.bos.val="(?!^(?:";this.append=")$).*";n=""}return t({type:"not",val:n})}).capture("dot",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\.+/);if(!r)return;var n=r[0];this.state.dot=n==="."&&(e===""||e.slice(-1)==="/");return t({type:"dot",dotfiles:this.state.dot,val:n})}).capture("plus",/^\+(?!\()/).capture("qmark",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\?+(?!\()/);if(!r)return;this.state.metachar=true;this.state.qmark=true;return t({type:"qmark",parsed:e,val:r[0]})}).capture("globstar",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\*{2}(?![*(])(?=[,)/]|$)/);if(!r)return;var i=n.noglobstar!==true?"globstar":"star";var a=t({type:i,parsed:e});this.state.metachar=true;while(this.input.slice(0,4)==="/**/"){this.input=this.input.slice(3)}a.isInside={brace:this.isInside("brace"),paren:this.isInside("paren")};if(i==="globstar"){this.state.globstar=true;a.val="**"}else{this.state.star=true;a.val="*"}return a}).capture("star",function(){var e=this.position();var t=/^(?:\*(?![*(])|[*]{3,}(?!\()|[*]{2}(?![(/]|$)|\*(?=\*\())/;var r=this.match(t);if(!r)return;this.state.metachar=true;this.state.star=true;return e({type:"star",val:r[0]})}).capture("slash",function(){var e=this.position();var t=this.match(/^\//);if(!t)return;this.state.slashes++;return e({type:"slash",val:t[0]})}).capture("backslash",function(){var e=this.position();var t=this.match(/^\\(?![*+?(){}[\]'"])/);if(!t)return;var r=t[0];if(this.isInside("bracket")){r="\\"}else if(r.length>1){r="\\\\"}return e({type:"backslash",val:r})}).capture("square",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^\[([^!^\\])\]/);if(!t)return;return e({type:"square",val:t[1]})}).capture("bracket",function(){var e=this.position();var t=this.match(/^(?:\[([!^]?)([^\]]+|\]-)(\]|[^*+?]+)|\[)/);if(!t)return;var r=t[0];var n=t[1]?"^":"";var i=(t[2]||"").replace(/\\\\+/,"\\\\");var a=t[3]||"";if(t[2]&&i.length{"use strict";var n=e.exports;var i=r(5622);var a=r(7875)();var o=r(9769);n.define=r(4205);n.diff=r(6253);n.extend=r(5577);n.pick=r(5767);n.typeOf=r(740);n.unique=r(6974);n.isEmptyString=function(e){return String(e)===""||String(e)==="./"};n.isWindows=function(){return i.sep==="\\"||a===true};n.last=function(e,t){return e[e.length-(t||1)]};n.instantiate=function(e,t){var r;if(n.typeOf(e)==="object"&&e.snapdragon){r=e.snapdragon}else if(n.typeOf(t)==="object"&&t.snapdragon){r=t.snapdragon}else{r=new o(t)}n.define(r,"parse",function(e,t){var r=o.prototype.parse.call(this,e,t);r.input=e;var i=this.parser.stack.pop();if(i&&this.options.strictErrors!==true){var a=i.nodes[0];var s=i.nodes[1];if(i.type==="bracket"){if(s.val.charAt(0)==="["){s.val="\\"+s.val}}else{a.val="\\"+a.val;var c=a.parent.nodes[1];if(c.type==="star"){c.loose=true}}}n.define(r,"parser",this.parser);return r});return r};n.createKey=function(e,t){if(typeof t==="undefined"){return e}var r=e;for(var n in t){if(t.hasOwnProperty(n)){r+=";"+n+"="+String(t[n])}}return r};n.arrayify=function(e){if(typeof e==="string")return[e];return e?Array.isArray(e)?e:[e]:[]};n.isString=function(e){return typeof e==="string"};n.isRegex=function(e){return n.typeOf(e)==="regexp"};n.isObject=function(e){return n.typeOf(e)==="object"};n.escapeRegex=function(e){return e.replace(/[-[\]{}()^$|*+?.\\/\s]/g,"\\$&")};n.combineDupes=function(e,t){t=n.arrayify(t).join("|").split("|");t=t.map(function(e){return e.replace(/\\?([+*\\/])/g,"\\$1")});var r=t.join("|");var i=new RegExp("("+r+")(?=\\1)","g");return e.replace(i,"")};n.hasSpecialChars=function(e){return/(?:(?:(^|\/)[!.])|[*?+()|[\]{}]|[+@]\()/.test(e)};n.toPosixPath=function(e){return e.replace(/\\+/g,"/")};n.unescape=function(e){return n.toPosixPath(e.replace(/\\(?=[*+?!.])/g,""))};n.stripDrive=function(e){return n.isWindows()?e.replace(/^[a-z]:[\\/]+?/i,"/"):e};n.stripPrefix=function(e){if(e.charAt(0)==="."&&(e.charAt(1)==="/"||e.charAt(1)==="\\")){return e.slice(2)}return e};n.isSimpleChar=function(e){return e.trim()===""||e==="."};n.isSlash=function(e){return e==="/"||e==="\\/"||e==="\\"||e==="\\\\"};n.matchPath=function(e,t){return t&&t.contains?n.containsPattern(e,t):n.equalsPattern(e,t)};n._equals=function(e,t,r){return r===e||r===t};n._contains=function(e,t,r){return e.indexOf(r)!==-1||t.indexOf(r)!==-1};n.equalsPattern=function(e,t){var r=n.unixify(t);t=t||{};return function fn(i){var a=n._equals(i,r(i),e);if(a===true||t.nocase!==true){return a}var o=i.toLowerCase();return n._equals(o,r(o),e)}};n.containsPattern=function(e,t){var r=n.unixify(t);t=t||{};return function(i){var a=n._contains(i,r(i),e);if(a===true||t.nocase!==true){return a}var o=i.toLowerCase();return n._contains(o,r(o),e)}};n.matchBasename=function(e){return function(t){return e.test(t)||e.test(i.basename(t))}};n.identity=function(e){return e};n.value=function(e,t,r){if(r&&r.unixify===false){return e}if(r&&typeof r.unixify==="function"){return r.unixify(e)}return t(e)};n.unixify=function(e){var t=e||{};return function(e){if(t.stripPrefix!==false){e=n.stripPrefix(e)}if(t.unescape===true){e=n.unescape(e)}if(t.unixify===true||n.isWindows()){e=n.toPosixPath(e)}return e}}},4205:(e,t,r)=>{"use strict";var n=r(977);var i=r(8586);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},5577:(e,t,r)=>{"use strict";var n=r(3603);var i=r(7954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{"use strict";var n=r(1221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},7875:(e,t)=>{(function(r){if(t&&typeof t==="object"&&"object"!=="undefined"){e.exports=r()}else if(typeof define==="function"&&define.amd){define([],r)}else if(typeof window!=="undefined"){window.isWindows=r()}else if(typeof global!=="undefined"){global.isWindows=r()}else if(typeof self!=="undefined"){self.isWindows=r()}else{this.isWindows=r()}})(function(){"use strict";return function isWindows(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})},740:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},3991:(e,t,r)=>{"use strict";var n=r(2046);var i=r(5320);var a=r(4728);function copy(e,t,r){if(!isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=nativeKeys(t);var o=Object.keys(t);var s=n.length;r=arrayify(r);while(s--){var c=n[s];if(has(o,c)){a(e,c,t[c])}else if(!(c in e)&&!has(r,c)){i(e,t,c)}}}function isObject(e){return n(e)==="object"||typeof e==="function"}function has(e,t){t=arrayify(t);var r=t.length;if(isObject(e)){for(var n in e){if(t.indexOf(n)>-1){return true}}var i=nativeKeys(e);return has(i,t)}if(Array.isArray(e)){var a=e;while(r--){if(a.indexOf(t[r])>-1){return true}}return false}throw new TypeError("expected an array or object.")}function arrayify(e){return e?Array.isArray(e)?e:[e]:[]}function hasConstructor(e){return isObject(e)&&typeof e.constructor!=="undefined"}function nativeKeys(e){if(!hasConstructor(e))return[];return Object.getOwnPropertyNames(e)}e.exports=copy;e.exports.has=has},4274:(e,t,r)=>{"use strict";var n=r(977);e.exports=function visit(e,t,r,i){if(!n(e)&&typeof e!=="function"){throw new Error("object-visit expects `thisArg` to be an object.")}if(typeof t!=="string"){throw new Error("object-visit expects `method` name to be a string")}if(typeof e[t]!=="function"){return e}var a=[].slice.call(arguments,3);r=r||{};for(var o in r){var s=[o,r[o]].concat(a);e[t].apply(e,s)}return e}},5767:(e,t,r)=>{"use strict";var n=r(977);e.exports=function pick(e,t){if(!n(e)&&typeof e!=="function"){return{}}var r={};if(typeof t==="string"){if(t in e){r[t]=e[t]}return r}var i=t.length;var a=-1;while(++a{function pascalcase(e){if(typeof e!=="string"){throw new TypeError("expected a string.")}e=e.replace(/([A-Z])/g," $1");if(e.length===1){return e.toUpperCase()}e=e.replace(/^[\W_]+|[\W_]+$/g,"").toLowerCase();e=e.charAt(0).toUpperCase()+e.slice(1);return e.replace(/[\W_]+(\w|$)/g,function(e,t){return t.toUpperCase()})}e.exports=pascalcase},5419:e=>{"use strict";e.exports={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"}},3089:(e,t,r)=>{"use strict";var n=r(9223);var i=r(3867);function toRegex(e,t){return new RegExp(toRegex.create(e,t))}toRegex.create=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}var r=n({},t);if(r.contains===true){r.strictNegate=false}var a=r.strictOpen!==false?"^":"";var o=r.strictClose!==false?"$":"";var s=r.endChar?r.endChar:"+";var c=e;if(r.strictNegate===false){c="(?:(?!(?:"+e+")).)"+s}else{c="(?:(?!^(?:"+e+")$).)"+s}var u=a+c+o;if(r.safe===true&&i(u)===false){throw new Error("potentially unsafe regular expression: "+u)}return u};e.exports=toRegex},9223:(e,t,r)=>{"use strict";var n=r(9150);var i=r(7954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{"use strict";var n=r(1221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},193:e=>{"use strict";e.exports=function repeat(e,t){var r=new Array(t);for(var n=0;n{"use strict";var t="";var r;e.exports=repeat;function repeat(e,n){if(typeof e!=="string"){throw new TypeError("expected a string")}if(n===1)return e;if(n===2)return e+e;var i=e.length*n;if(r!==e||typeof r==="undefined"){r=e;t=""}else if(t.length>=i){return t.substr(0,i)}while(i>t.length&&n>1){if(n&1){t+=e}n>>=1;e+=e}t+=e;t=t.substr(0,i);return t}},6889:(e,t,r)=>{var n=r(3842);var i=r(5334);var a=r(533);var o=r(3503);e.exports=function(e){var t=0,r,s,c={type:i.ROOT,stack:[]},u=c,l=c.stack,f=[];var d=function(t){n.error(e,"Nothing to repeat at column "+(t-1))};var p=n.strToChars(e);r=p.length;while(t{var n=r(5334);t.wordBoundary=function(){return{type:n.POSITION,value:"b"}};t.nonWordBoundary=function(){return{type:n.POSITION,value:"B"}};t.begin=function(){return{type:n.POSITION,value:"^"}};t.end=function(){return{type:n.POSITION,value:"$"}}},533:(e,t,r)=>{var n=r(5334);var i=function(){return[{type:n.RANGE,from:48,to:57}]};var a=function(){return[{type:n.CHAR,value:95},{type:n.RANGE,from:97,to:122},{type:n.RANGE,from:65,to:90}].concat(i())};var o=function(){return[{type:n.CHAR,value:9},{type:n.CHAR,value:10},{type:n.CHAR,value:11},{type:n.CHAR,value:12},{type:n.CHAR,value:13},{type:n.CHAR,value:32},{type:n.CHAR,value:160},{type:n.CHAR,value:5760},{type:n.CHAR,value:6158},{type:n.CHAR,value:8192},{type:n.CHAR,value:8193},{type:n.CHAR,value:8194},{type:n.CHAR,value:8195},{type:n.CHAR,value:8196},{type:n.CHAR,value:8197},{type:n.CHAR,value:8198},{type:n.CHAR,value:8199},{type:n.CHAR,value:8200},{type:n.CHAR,value:8201},{type:n.CHAR,value:8202},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233},{type:n.CHAR,value:8239},{type:n.CHAR,value:8287},{type:n.CHAR,value:12288},{type:n.CHAR,value:65279}]};var s=function(){return[{type:n.CHAR,value:10},{type:n.CHAR,value:13},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233}]};t.words=function(){return{type:n.SET,set:a(),not:false}};t.notWords=function(){return{type:n.SET,set:a(),not:true}};t.ints=function(){return{type:n.SET,set:i(),not:false}};t.notInts=function(){return{type:n.SET,set:i(),not:true}};t.whitespace=function(){return{type:n.SET,set:o(),not:false}};t.notWhitespace=function(){return{type:n.SET,set:o(),not:true}};t.anyChar=function(){return{type:n.SET,set:s(),not:true}}},5334:e=>{e.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},3842:(e,t,r)=>{var n=r(5334);var i=r(533);var a="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";var o={0:0,t:9,n:10,v:11,f:12,r:13};t.strToChars=function(e){var t=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z\[\\\]\^?])|([0tnvfr]))/g;e=e.replace(t,function(e,t,r,n,i,s,c,u){if(r){return e}var l=t?8:n?parseInt(n,16):i?parseInt(i,16):s?parseInt(s,8):c?a.indexOf(c):o[u];var f=String.fromCharCode(l);if(/[\[\]{}\^$.|?*+()]/.test(f)){f="\\"+f}return f});return e};t.tokenizeClass=function(e,r){var a=[];var o=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?(.)/g;var s,c;while((s=o.exec(e))!=null){if(s[1]){a.push(i.words())}else if(s[2]){a.push(i.ints())}else if(s[3]){a.push(i.whitespace())}else if(s[4]){a.push(i.notWords())}else if(s[5]){a.push(i.notInts())}else if(s[6]){a.push(i.notWhitespace())}else if(s[7]){a.push({type:n.RANGE,from:(s[8]||s[9]).charCodeAt(0),to:s[10].charCodeAt(0)})}else if(c=s[12]){a.push({type:n.CHAR,value:c.charCodeAt(0)})}else{return[a,o.lastIndex]}}t.error(r,"Unterminated character class")};t.error=function(e,t){throw new SyntaxError("Invalid regular expression: /"+e+"/: "+t)}},3867:(e,t,r)=>{var n=r(6889);var i=n.types;e.exports=function(e,t){if(!t)t={};var r=t.limit===undefined?25:t.limit;if(isRegExp(e))e=e.source;else if(typeof e!=="string")e=String(e);try{e=n(e)}catch(e){return false}var a=0;return function walk(e,t){if(e.type===i.REPETITION){t++;a++;if(t>1)return false;if(a>r)return false}if(e.options){for(var n=0,o=e.options.length;n{t=e.exports=SemVer;var r;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){r=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER");console.log.apply(console,e)}}else{r=function(){}}t.SEMVER_SPEC_VERSION="2.0.0";var n=256;var i=Number.MAX_SAFE_INTEGER||9007199254740991;var a=16;var o=t.re=[];var s=t.src=[];var c=0;var u=c++;s[u]="0|[1-9]\\d*";var l=c++;s[l]="[0-9]+";var f=c++;s[f]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var d=c++;s[d]="("+s[u]+")\\."+"("+s[u]+")\\."+"("+s[u]+")";var p=c++;s[p]="("+s[l]+")\\."+"("+s[l]+")\\."+"("+s[l]+")";var g=c++;s[g]="(?:"+s[u]+"|"+s[f]+")";var _=c++;s[_]="(?:"+s[l]+"|"+s[f]+")";var m=c++;s[m]="(?:-("+s[g]+"(?:\\."+s[g]+")*))";var y=c++;s[y]="(?:-?("+s[_]+"(?:\\."+s[_]+")*))";var h=c++;s[h]="[0-9A-Za-z-]+";var v=c++;s[v]="(?:\\+("+s[h]+"(?:\\."+s[h]+")*))";var T=c++;var S="v?"+s[d]+s[m]+"?"+s[v]+"?";s[T]="^"+S+"$";var b="[v=\\s]*"+s[p]+s[y]+"?"+s[v]+"?";var x=c++;s[x]="^"+b+"$";var C=c++;s[C]="((?:<|>)?=?)";var E=c++;s[E]=s[l]+"|x|X|\\*";var D=c++;s[D]=s[u]+"|x|X|\\*";var k=c++;s[k]="[v=\\s]*("+s[D]+")"+"(?:\\.("+s[D]+")"+"(?:\\.("+s[D]+")"+"(?:"+s[m]+")?"+s[v]+"?"+")?)?";var N=c++;s[N]="[v=\\s]*("+s[E]+")"+"(?:\\.("+s[E]+")"+"(?:\\.("+s[E]+")"+"(?:"+s[y]+")?"+s[v]+"?"+")?)?";var A=c++;s[A]="^"+s[C]+"\\s*"+s[k]+"$";var O=c++;s[O]="^"+s[C]+"\\s*"+s[N]+"$";var F=c++;s[F]="(?:^|[^\\d])"+"(\\d{1,"+a+"})"+"(?:\\.(\\d{1,"+a+"}))?"+"(?:\\.(\\d{1,"+a+"}))?"+"(?:$|[^\\d])";var P=c++;s[P]="(?:~>?)";var I=c++;s[I]="(\\s*)"+s[P]+"\\s+";o[I]=new RegExp(s[I],"g");var w="$1~";var M=c++;s[M]="^"+s[P]+s[k]+"$";var L=c++;s[L]="^"+s[P]+s[N]+"$";var R=c++;s[R]="(?:\\^)";var B=c++;s[B]="(\\s*)"+s[R]+"\\s+";o[B]=new RegExp(s[B],"g");var j="$1^";var J=c++;s[J]="^"+s[R]+s[k]+"$";var W=c++;s[W]="^"+s[R]+s[N]+"$";var U=c++;s[U]="^"+s[C]+"\\s*("+b+")$|^$";var z=c++;s[z]="^"+s[C]+"\\s*("+S+")$|^$";var V=c++;s[V]="(\\s*)"+s[C]+"\\s*("+b+"|"+s[k]+")";o[V]=new RegExp(s[V],"g");var K="$1$2$3";var q=c++;s[q]="^\\s*("+s[k]+")"+"\\s+-\\s+"+"("+s[k]+")"+"\\s*$";var G=c++;s[G]="^\\s*("+s[N]+")"+"\\s+-\\s+"+"("+s[N]+")"+"\\s*$";var H=c++;s[H]="(<|>)?=?\\s*\\*";for(var Q=0;Qn){return null}var r=t.loose?o[x]:o[T];if(!r.test(e)){return null}try{return new SemVer(e,t)}catch(e){return null}}t.valid=valid;function valid(e,t){var r=parse(e,t);return r?r.version:null}t.clean=clean;function clean(e,t){var r=parse(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}t.SemVer=SemVer;function SemVer(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof SemVer){if(e.loose===t.loose){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(e.length>n){throw new TypeError("version is longer than "+n+" characters")}if(!(this instanceof SemVer)){return new SemVer(e,t)}r("SemVer",e,t);this.options=t;this.loose=!!t.loose;var a=e.trim().match(t.loose?o[x]:o[T]);if(!a){throw new TypeError("Invalid Version: "+e)}this.raw=e;this.major=+a[1];this.minor=+a[2];this.patch=+a[3];if(this.major>i||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>i||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>i||this.patch<0){throw new TypeError("Invalid patch version")}if(!a[4]){this.prerelease=[]}else{this.prerelease=a[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1){this.prerelease.push(0)}}if(t){if(this.prerelease[0]===t){if(isNaN(this.prerelease[1])){this.prerelease=[t,0]}}else{this.prerelease=[t,0]}}break;default:throw new Error("invalid increment argument: "+e)}this.format();this.raw=this.version;return this};t.inc=inc;function inc(e,t,r,n){if(typeof r==="string"){n=r;r=undefined}try{return new SemVer(e,r).inc(t,n).version}catch(e){return null}}t.diff=diff;function diff(e,t){if(eq(e,t)){return null}else{var r=parse(e);var n=parse(t);var i="";if(r.prerelease.length||n.prerelease.length){i="pre";var a="prerelease"}for(var o in r){if(o==="major"||o==="minor"||o==="patch"){if(r[o]!==n[o]){return i+o}}}return a}}t.compareIdentifiers=compareIdentifiers;var $=/^[0-9]+$/;function compareIdentifiers(e,t){var r=$.test(e);var n=$.test(t);if(r&&n){e=+e;t=+t}return e===t?0:r&&!n?-1:n&&!r?1:e0}t.lt=lt;function lt(e,t,r){return compare(e,t,r)<0}t.eq=eq;function eq(e,t,r){return compare(e,t,r)===0}t.neq=neq;function neq(e,t,r){return compare(e,t,r)!==0}t.gte=gte;function gte(e,t,r){return compare(e,t,r)>=0}t.lte=lte;function lte(e,t,r){return compare(e,t,r)<=0}t.cmp=cmp;function cmp(e,t,r,n){switch(t){case"===":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e===r;case"!==":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e!==r;case"":case"=":case"==":return eq(e,r,n);case"!=":return neq(e,r,n);case">":return gt(e,r,n);case">=":return gte(e,r,n);case"<":return lt(e,r,n);case"<=":return lte(e,r,n);default:throw new TypeError("Invalid operator: "+t)}}t.Comparator=Comparator;function Comparator(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}if(!(this instanceof Comparator)){return new Comparator(e,t)}r("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===X){this.value=""}else{this.value=this.operator+this.semver.version}r("comp",this)}var X={};Comparator.prototype.parse=function(e){var t=this.options.loose?o[U]:o[z];var r=e.match(t);if(!r){throw new TypeError("Invalid comparator: "+e)}this.operator=r[1];if(this.operator==="="){this.operator=""}if(!r[2]){this.semver=X}else{this.semver=new SemVer(r[2],this.options.loose)}};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(e){r("Comparator.test",e,this.options.loose);if(this.semver===X){return true}if(typeof e==="string"){e=new SemVer(e,this.options)}return cmp(e,this.operator,this.semver,this.options)};Comparator.prototype.intersects=function(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}var r;if(this.operator===""){r=new Range(e.value,t);return satisfies(this.value,r,t)}else if(e.operator===""){r=new Range(this.value,t);return satisfies(e.semver,r,t)}var n=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">");var i=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<");var a=this.semver.version===e.semver.version;var o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<=");var s=cmp(this.semver,"<",e.semver,t)&&((this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"));var c=cmp(this.semver,">",e.semver,t)&&((this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">"));return n||i||a&&o||s||c};t.Range=Range;function Range(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof Comparator){return new Range(e.value,t)}if(!(this instanceof Range)){return new Range(e,t)}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}Range.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?o[G]:o[q];e=e.replace(n,hyphenReplace);r("hyphen replace",e);e=e.replace(o[V],K);r("comparator trim",e,o[V]);e=e.replace(o[I],w);e=e.replace(o[B],j);e=e.split(/\s+/).join(" ");var i=t?o[U]:o[z];var a=e.split(" ").map(function(e){return parseComparator(e,this.options)},this).join(" ").split(/\s+/);if(this.options.loose){a=a.filter(function(e){return!!e.match(i)})}a=a.map(function(e){return new Comparator(e,this.options)},this);return a};Range.prototype.intersects=function(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(function(r){return r.every(function(r){return e.set.some(function(e){return e.every(function(e){return r.intersects(e,t)})})})})};t.toComparators=toComparators;function toComparators(e,t){return new Range(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function parseComparator(e,t){r("comp",e,t);e=replaceCarets(e,t);r("caret",e);e=replaceTildes(e,t);r("tildes",e);e=replaceXRanges(e,t);r("xrange",e);e=replaceStars(e,t);r("stars",e);return e}function isX(e){return!e||e.toLowerCase()==="x"||e==="*"}function replaceTildes(e,t){return e.trim().split(/\s+/).map(function(e){return replaceTilde(e,t)}).join(" ")}function replaceTilde(e,t){var n=t.loose?o[L]:o[M];return e.replace(n,function(t,n,i,a,o){r("tilde",e,t,n,i,a,o);var s;if(isX(n)){s=""}else if(isX(i)){s=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(isX(a)){s=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0"}else if(o){r("replaceTilde pr",o);s=">="+n+"."+i+"."+a+"-"+o+" <"+n+"."+(+i+1)+".0"}else{s=">="+n+"."+i+"."+a+" <"+n+"."+(+i+1)+".0"}r("tilde return",s);return s})}function replaceCarets(e,t){return e.trim().split(/\s+/).map(function(e){return replaceCaret(e,t)}).join(" ")}function replaceCaret(e,t){r("caret",e,t);var n=t.loose?o[W]:o[J];return e.replace(n,function(t,n,i,a,o){r("caret",e,t,n,i,a,o);var s;if(isX(n)){s=""}else if(isX(i)){s=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(isX(a)){if(n==="0"){s=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0"}else{s=">="+n+"."+i+".0 <"+(+n+1)+".0.0"}}else if(o){r("replaceCaret pr",o);if(n==="0"){if(i==="0"){s=">="+n+"."+i+"."+a+"-"+o+" <"+n+"."+i+"."+(+a+1)}else{s=">="+n+"."+i+"."+a+"-"+o+" <"+n+"."+(+i+1)+".0"}}else{s=">="+n+"."+i+"."+a+"-"+o+" <"+(+n+1)+".0.0"}}else{r("no pr");if(n==="0"){if(i==="0"){s=">="+n+"."+i+"."+a+" <"+n+"."+i+"."+(+a+1)}else{s=">="+n+"."+i+"."+a+" <"+n+"."+(+i+1)+".0"}}else{s=">="+n+"."+i+"."+a+" <"+(+n+1)+".0.0"}}r("caret return",s);return s})}function replaceXRanges(e,t){r("replaceXRanges",e,t);return e.split(/\s+/).map(function(e){return replaceXRange(e,t)}).join(" ")}function replaceXRange(e,t){e=e.trim();var n=t.loose?o[O]:o[A];return e.replace(n,function(t,n,i,a,o,s){r("xRange",e,t,n,i,a,o,s);var c=isX(i);var u=c||isX(a);var l=u||isX(o);var f=l;if(n==="="&&f){n=""}if(c){if(n===">"||n==="<"){t="<0.0.0"}else{t="*"}}else if(n&&f){if(u){a=0}o=0;if(n===">"){n=">=";if(u){i=+i+1;a=0;o=0}else{a=+a+1;o=0}}else if(n==="<="){n="<";if(u){i=+i+1}else{a=+a+1}}t=n+i+"."+a+"."+o}else if(u){t=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(l){t=">="+i+"."+a+".0 <"+i+"."+(+a+1)+".0"}r("xRange return",t);return t})}function replaceStars(e,t){r("replaceStars",e,t);return e.trim().replace(o[H],"")}function hyphenReplace(e,t,r,n,i,a,o,s,c,u,l,f,d){if(isX(r)){t=""}else if(isX(n)){t=">="+r+".0.0"}else if(isX(i)){t=">="+r+"."+n+".0"}else{t=">="+t}if(isX(c)){s=""}else if(isX(u)){s="<"+(+c+1)+".0.0"}else if(isX(l)){s="<"+c+"."+(+u+1)+".0"}else if(f){s="<="+c+"."+u+"."+l+"-"+f}else{s="<="+s}return(t+" "+s).trim()}Range.prototype.test=function(e){if(!e){return false}if(typeof e==="string"){e=new SemVer(e,this.options)}for(var t=0;t0){var a=e[i].semver;if(a.major===t.major&&a.minor===t.minor&&a.patch===t.patch){return true}}}return false}return true}t.satisfies=satisfies;function satisfies(e,t,r){try{t=new Range(t,r)}catch(e){return false}return t.test(e)}t.maxSatisfying=maxSatisfying;function maxSatisfying(e,t,r){var n=null;var i=null;try{var a=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(a.test(e)){if(!n||i.compare(e)===-1){n=e;i=new SemVer(n,r)}}});return n}t.minSatisfying=minSatisfying;function minSatisfying(e,t,r){var n=null;var i=null;try{var a=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(a.test(e)){if(!n||i.compare(e)===1){n=e;i=new SemVer(n,r)}}});return n}t.minVersion=minVersion;function minVersion(e,t){e=new Range(e,t);var r=new SemVer("0.0.0");if(e.test(r)){return r}r=new SemVer("0.0.0-0");if(e.test(r)){return r}r=null;for(var n=0;n":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!r||gt(r,t)){r=t}break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(r&&e.test(r)){return r}return null}t.validRange=validRange;function validRange(e,t){try{return new Range(e,t).range||"*"}catch(e){return null}}t.ltr=ltr;function ltr(e,t,r){return outside(e,t,"<",r)}t.gtr=gtr;function gtr(e,t,r){return outside(e,t,">",r)}t.outside=outside;function outside(e,t,r,n){e=new SemVer(e,n);t=new Range(t,n);var i,a,o,s,c;switch(r){case">":i=gt;a=lte;o=lt;s=">";c=">=";break;case"<":i=lt;a=gte;o=gt;s="<";c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(e,t,n)){return false}for(var u=0;u=0.0.0")}f=f||e;d=d||e;if(i(e.semver,f.semver,n)){f=e}else if(o(e.semver,d.semver,n)){d=e}});if(f.operator===s||f.operator===c){return false}if((!d.operator||d.operator===s)&&a(e,d.semver)){return false}else if(d.operator===c&&o(e,d.semver)){return false}}return true}t.prerelease=prerelease;function prerelease(e,t){var r=parse(e,t);return r&&r.prerelease.length?r.prerelease:null}t.intersects=intersects;function intersects(e,t,r){e=new Range(e,r);t=new Range(t,r);return e.intersects(t)}t.coerce=coerce;function coerce(e){if(e instanceof SemVer){return e}if(typeof e!=="string"){return null}var t=e.match(o[F]);if(t==null){return null}return parse(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}},6469:(e,t,r)=>{"use strict";var n=r(6439);var i=r(8333);var a=r(1221);var o=r(485);e.exports=function(e,t,r){if(!o(e)){return e}if(Array.isArray(t)){t=[].concat.apply([],t).join(".")}if(typeof t!=="string"){return e}var s=n(t,{sep:".",brackets:true});var c=s.length;var u=-1;var l=e;while(++u{"use strict";var n=r(977);var i=r(3651);var a=r(8881);var o;function Node(e,t,r){if(typeof t!=="string"){r=t;t=null}i(this,"parent",r);i(this,"isNode",true);i(this,"expect",null);if(typeof t!=="string"&&n(e)){lazyKeys();var a=Object.keys(e);for(var s=0;s{"use strict";var n=r(8586);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},8881:(e,t,r)=>{"use strict";var n=r(2046);var i=e.exports;i.isNode=function(e){return n(e)==="object"&&e.isNode===true};i.noop=function(e){append(this,"",e)};i.identity=function(e){append(this,e.val,e)};i.append=function(e){return function(t){append(this,e,t)}};i.toNoop=function(e,t){if(t){e.nodes=t}else{delete e.nodes;e.type="text";e.val=""}};i.visit=function(e,t){assert(i.isNode(e),"expected node to be an instance of Node");assert(isFunction(t),"expected a visitor function");t(e);return e.nodes?i.mapVisit(e,t):e};i.mapVisit=function(e,t){assert(i.isNode(e),"expected node to be an instance of Node");assert(isArray(e.nodes),"expected node.nodes to be an array");assert(isFunction(t),"expected a visitor function");for(var r=0;r0};i.isInside=function(e,t,r){assert(i.isNode(t),"expected node to be an instance of Node");assert(isObject(e),"expected state to be an object");if(Array.isArray(r)){for(var a=0;a{"use strict";var n=r(7322);var i=r(4728);var a=r(2635);var o=r(9142);var s=r(4414);var c={};var u={};function Snapdragon(e){n.call(this,null,e);this.options=s.extend({source:"string"},this.options);this.compiler=new a(this.options);this.parser=new o(this.options);Object.defineProperty(this,"compilers",{get:function(){return this.compiler.compilers}});Object.defineProperty(this,"parsers",{get:function(){return this.parser.parsers}});Object.defineProperty(this,"regex",{get:function(){return this.parser.regex}})}n.extend(Snapdragon);Snapdragon.prototype.capture=function(){return this.parser.capture.apply(this.parser,arguments)};Snapdragon.prototype.use=function(e){e.call(this,this);return this};Snapdragon.prototype.parse=function(e,t){this.options=s.extend({},this.options,t);var r=this.parser.parse(e,this.options);i(r,"parser",this.parser);return r};Snapdragon.prototype.compile=function(e,t){this.options=s.extend({},this.options,t);var r=this.compiler.compile(e,this.options);i(r,"compiler",this.compiler);return r};e.exports=Snapdragon;e.exports.Compiler=a;e.exports.Parser=o},2635:(e,t,r)=>{"use strict";var n=r(1967);var i=r(4728);var a=r(7439)("snapdragon:compiler");var o=r(4414);function Compiler(e,t){a("initializing",__filename);this.options=o.extend({source:"string"},e);this.state=t||{};this.compilers={};this.output="";this.set("eos",function(e){return this.emit(e.val,e)});this.set("noop",function(e){return this.emit(e.val,e)});this.set("bos",function(e){return this.emit(e.val,e)});n(this)}Compiler.prototype={error:function(e,t){var r=t.position||{start:{column:0}};var n=this.options.source+" column:"+r.start.column+": "+e;var i=new Error(n);i.reason=e;i.column=r.start.column;i.source=this.pattern;if(this.options.silent){this.errors.push(i)}else{throw i}},define:function(e,t){i(this,e,t);return this},emit:function(e,t){this.output+=e;return e},set:function(e,t){this.compilers[e]=t;return this},get:function(e){return this.compilers[e]},prev:function(e){return this.ast.nodes[this.idx-(e||1)]||{type:"bos",val:""}},next:function(e){return this.ast.nodes[this.idx+(e||1)]||{type:"eos",val:""}},visit:function(e,t,r){var n=this.compilers[e.type];this.idx=r;if(typeof n!=="function"){throw this.error('compiler "'+e.type+'" is not registered',e)}return n.call(this,e,t,r)},mapVisit:function(e){if(!Array.isArray(e)){throw new TypeError("expected an array")}var t=e.length;var r=-1;while(++r{"use strict";var n=r(1967);var i=r(1669);var a=r(1637);var o=r(4728);var s=r(7439)("snapdragon:parser");var c=r(4303);var u=r(4414);function Parser(e){s("initializing",__filename);this.options=u.extend({source:"string"},e);this.init(this.options);n(this)}Parser.prototype={constructor:Parser,init:function(e){this.orig="";this.input="";this.parsed="";this.column=1;this.line=1;this.regex=new a;this.errors=this.errors||[];this.parsers=this.parsers||{};this.types=this.types||[];this.sets=this.sets||{};this.fns=this.fns||[];this.currentType="root";var t=this.position();this.bos=t({type:"bos",val:""});this.ast={type:"root",errors:this.errors,nodes:[this.bos]};o(this.bos,"parent",this.ast);this.nodes=[this.ast];this.count=0;this.setCount=0;this.stack=[]},error:function(e,t){var r=t.position||{start:{column:0,line:0}};var n=r.start.line;var i=r.start.column;var a=this.options.source;var o=a+" : "+e;var s=new Error(o);s.source=a;s.reason=e;s.pos=r;if(this.options.silent){this.errors.push(s)}else{throw s}},define:function(e,t){o(this,e,t);return this},position:function(){var e={line:this.line,column:this.column};var t=this;return function(r){o(r,"position",new c(e,t));return r}},set:function(e,t){if(this.types.indexOf(e)===-1){this.types.push(e)}this.parsers[e]=t.bind(this);return this},get:function(e){return this.parsers[e]},push:function(e,t){this.sets[e]=this.sets[e]||[];this.count++;this.stack.push(t);return this.sets[e].push(t)},pop:function(e){this.sets[e]=this.sets[e]||[];this.count--;this.stack.pop();return this.sets[e].pop()},isInside:function(e){this.sets[e]=this.sets[e]||[];return this.sets[e].length>0},isType:function(e,t){return e&&e.type===t},prev:function(e){return this.stack.length>0?u.last(this.stack,e):u.last(this.nodes,e)},consume:function(e){this.input=this.input.substr(e)},updatePosition:function(e,t){var r=e.match(/\n/g);if(r)this.line+=r.length;var n=e.lastIndexOf("\n");this.column=~n?t-n:this.column+t;this.parsed+=e;this.consume(t)},match:function(e){var t=e.exec(this.input);if(t){this.updatePosition(t[0],t[0].length);return t}},capture:function(e,t){if(typeof t==="function"){return this.set.apply(this,arguments)}this.regex.set(e,t);this.set(e,function(){var r=this.parsed;var n=this.position();var i=this.match(t);if(!i||!i[0])return;var a=this.prev();var s=n({type:e,val:i[0],parsed:r,rest:this.input});if(i[1]){s.inner=i[1]}o(s,"inside",this.stack.length>0);o(s,"parent",a);a.nodes.push(s)}.bind(this));return this},capturePair:function(e,t,r,n){this.sets[e]=this.sets[e]||[];this.set(e+".open",function(){var r=this.parsed;var i=this.position();var a=this.match(t);if(!a||!a[0])return;var s=a[0];this.setCount++;this.specialChars=true;var c=i({type:e+".open",val:s,rest:this.input});if(typeof a[1]!=="undefined"){c.inner=a[1]}var u=this.prev();var l=i({type:e,nodes:[c]});o(l,"rest",this.input);o(l,"parsed",r);o(l,"prefix",a[1]);o(l,"parent",u);o(c,"parent",l);if(typeof n==="function"){n.call(this,c,l)}this.push(e,l);u.nodes.push(l)});this.set(e+".close",function(){var t=this.position();var n=this.match(r);if(!n||!n[0])return;var i=this.pop(e);var a=t({type:e+".close",rest:this.input,suffix:n[1],val:n[0]});if(!this.isType(i,e)){if(this.options.strict){throw new Error('missing opening "'+e+'"')}this.setCount--;a.escaped=true;return a}if(a.suffix==="\\"){i.escaped=true;a.escaped=true}i.nodes.push(a);o(a,"parent",i)});return this},eos:function(){var e=this.position();if(this.input)return;var t=this.prev();while(t.type!=="root"&&!t.visited){if(this.options.strict===true){throw new SyntaxError("invalid syntax:"+i.inspect(t,null,2))}if(!hasDelims(t)){t.parent.escaped=true;t.escaped=true}visit(t,function(e){if(!hasDelims(e.parent)){e.parent.escaped=true;e.escaped=true}});t=t.parent}var r=e({type:"eos",val:this.append||""});o(r,"parent",this.ast);return r},next:function(){var e=this.parsed;var t=this.types.length;var r=-1;var n;while(++r{"use strict";var n=r(4728);e.exports=function Position(e,t){this.start=e;this.end={line:t.line,column:t.column};n(this,"content",t.orig);n(this,"source",t.options.source)}},456:(e,t,r)=>{"use strict";var n=r(5747);var i=r(5622);var a=r(4728);var o=r(4414);e.exports=mixin;function mixin(e){a(e,"_comment",e.comment);e.map=new o.SourceMap.SourceMapGenerator;e.position={line:1,column:1};e.content={};e.files={};for(var r in t){a(e,r,t[r])}}t.updatePosition=function(e){var t=e.match(/\n/g);if(t)this.position.line+=t.length;var r=e.lastIndexOf("\n");this.position.column=~r?e.length-r:this.position.column+e.length};t.emit=function(e,t){var r=t.position||{};var n=r.source;if(n){if(r.filepath){n=o.unixify(r.filepath)}this.map.addMapping({source:n,generated:{line:this.position.line,column:Math.max(this.position.column-1,0)},original:{line:r.start.line,column:r.start.column-1}});if(r.content){this.addContent(n,r)}if(r.filepath){this.addFile(n,r)}this.updatePosition(e);this.output+=e}return e};t.addFile=function(e,t){if(typeof t.content!=="string")return;if(Object.prototype.hasOwnProperty.call(this.files,e))return;this.files[e]=t.content};t.addContent=function(e,t){if(typeof t.content!=="string")return;if(Object.prototype.hasOwnProperty.call(this.content,e))return;this.map.setSourceContent(e,t.content)};t.applySourceMaps=function(){Object.keys(this.files).forEach(function(e){var t=this.files[e];this.map.setSourceContent(e,t);if(this.options.inputSourcemaps===true){var r=o.sourceMapResolve.resolveSync(t,e,n.readFileSync);if(r){var a=new o.SourceMap.SourceMapConsumer(r.map);var s=r.sourcesRelativeTo;this.map.applySourceMap(a,e,o.unixify(i.dirname(s)))}}},this)};t.comment=function(e){if(/^# sourceMappingURL=/.test(e.comment)){return this.emit("",e.position)}return this._comment(e)}},4414:(e,t,r)=>{"use strict";t.extend=r(8333);t.SourceMap=r(6160);t.sourceMapResolve=r(6769);t.unixify=function(e){return e.split(/\\+/).join("/")};t.isString=function(e){return e&&typeof e==="string"};t.arrayify=function(e){if(typeof e==="string")return[e];return e?Array.isArray(e)?e:[e]:[]};t.last=function(e,t){return e[e.length-(t||1)]}},1911:(e,t,r)=>{t=e.exports=r(6202);t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage();t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function useColors(){if(typeof window!=="undefined"&&window.process&&window.process.type==="renderer"){return true}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function formatArgs(e){var r=this.useColors;e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff);if(!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0;var a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){if("%%"===e)return;i++;if("%c"===e){a=i}});e.splice(a,0,n)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{if(null==e){t.storage.removeItem("debug")}else{t.storage.debug=e}}catch(e){}}function load(){var e;try{e=t.storage.debug}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}t.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}},6202:(e,t,r)=>{t=e.exports=createDebug.debug=createDebug["default"]=createDebug;t.coerce=coerce;t.disable=disable;t.enable=enable;t.enabled=enabled;t.humanize=r(319);t.names=[];t.skips=[];t.formatters={};var n;function selectColor(e){var r=0,n;for(n in e){r=(r<<5)-r+e.charCodeAt(n);r|=0}return t.colors[Math.abs(r)%t.colors.length]}function createDebug(e){function debug(){if(!debug.enabled)return;var e=debug;var r=+new Date;var i=r-(n||r);e.diff=i;e.prev=n;e.curr=r;n=r;var a=new Array(arguments.length);for(var o=0;o{if(typeof process!=="undefined"&&process.type==="renderer"){e.exports=r(1911)}else{e.exports=r(2238)}},2238:(e,t,r)=>{var n=r(8993);var i=r(1669);t=e.exports=r(6202);t.init=init;t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.colors=[6,2,3,4,5,1];t.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,t){return t.toUpperCase()});var n=process.env[t];if(/^(yes|on|true|enabled)$/i.test(n))n=true;else if(/^(no|off|false|disabled)$/i.test(n))n=false;else if(n==="null")n=null;else n=Number(n);e[r]=n;return e},{});var a=parseInt(process.env.DEBUG_FD,10)||2;if(1!==a&&2!==a){i.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")()}var o=1===a?process.stdout:2===a?process.stderr:createWritableStdioStream(a);function useColors(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):n.isatty(a)}t.formatters.o=function(e){this.inspectOpts.colors=this.useColors;return i.inspect(e,this.inspectOpts).split("\n").map(function(e){return e.trim()}).join(" ")};t.formatters.O=function(e){this.inspectOpts.colors=this.useColors;return i.inspect(e,this.inspectOpts)};function formatArgs(e){var r=this.namespace;var n=this.useColors;if(n){var i=this.color;var a=" [3"+i+";1m"+r+" "+"";e[0]=a+e[0].split("\n").join("\n"+a);e.push("[3"+i+"m+"+t.humanize(this.diff)+"")}else{e[0]=(new Date).toUTCString()+" "+r+" "+e[0]}}function log(){return o.write(i.format.apply(i,arguments)+"\n")}function save(e){if(null==e){delete process.env.DEBUG}else{process.env.DEBUG=e}}function load(){return process.env.DEBUG}function createWritableStdioStream(e){var t;var i=process.binding("tty_wrap");switch(i.guessHandleType(e)){case"TTY":t=new n.WriteStream(e);t._type="tty";if(t._handle&&t._handle.unref){t._handle.unref()}break;case"FILE":var a=r(5747);t=new a.SyncWriteStream(e,{autoClose:false});t._type="fs";break;case"PIPE":case"TCP":var o=r(1631);t=new o.Socket({fd:e,readable:false,writable:true});t.readable=false;t.read=null;t._type="pipe";if(t._handle&&t._handle.unref){t._handle.unref()}break;default:throw new Error("Implement me. Unknown stream file type!")}t.fd=e;t._isStdio=true;return t}function init(e){e.inspectOpts={};var r=Object.keys(t.inspectOpts);for(var n=0;n{var t=1e3;var r=t*60;var n=r*60;var i=n*24;var a=i*365.25;e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0){return parse(e)}else if(r==="number"&&isNaN(e)===false){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o){return}var s=parseFloat(o[1]);var c=(o[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return s*a;case"days":case"day":case"d":return s*i;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return undefined}}function fmtShort(e){if(e>=i){return Math.round(e/i)+"d"}if(e>=n){return Math.round(e/n)+"h"}if(e>=r){return Math.round(e/r)+"m"}if(e>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){return plural(e,i,"day")||plural(e,n,"hour")||plural(e,r,"minute")||plural(e,t,"second")||e+" ms"}function plural(e,t,r){if(e{var n=r(1873);var i=Object.prototype.hasOwnProperty;var a=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=a?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,t){var r=new ArraySet;for(var n=0,i=e.length;n=0){return t}}else{var r=n.toSetString(e);if(i.call(this._set,r)){return this._set[r]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var n=r(8541);var i=5;var a=1<>1;return t?-r:r}t.encode=function base64VLQ_encode(e){var t="";var r;var a=toVLQSigned(e);do{r=a&o;a>>>=i;if(a>0){r|=s}t+=n.encode(r)}while(a>0);return t};t.decode=function base64VLQ_decode(e,t,r){var a=e.length;var c=0;var u=0;var l,f;do{if(t>=a){throw new Error("Expected more digits in base 64 VLQ value.")}f=n.decode(e.charCodeAt(t++));if(f===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}l=!!(f&s);f&=o;c=c+(f<{var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{t.GREATEST_LOWER_BOUND=1;t.LEAST_UPPER_BOUND=2;function recursiveSearch(e,r,n,i,a,o){var s=Math.floor((r-e)/2)+e;var c=a(n,i[s],true);if(c===0){return s}else if(c>0){if(r-s>1){return recursiveSearch(s,r,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return r1){return recursiveSearch(e,s,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return s}else{return e<0?-1:e}}}t.search=function search(e,r,n,i){if(r.length===0){return-1}var a=recursiveSearch(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0){return-1}while(a-1>=0){if(n(r[a],r[a-1],true)!==0){break}--a}return a}},3040:(e,t,r)=>{var n=r(1873);function generatedPositionAfter(e,t){var r=e.generatedLine;var i=t.generatedLine;var a=e.generatedColumn;var o=t.generatedColumn;return i>r||i==r&&o>=a||n.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(n.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.H=MappingList},3474:(e,t)=>{function swap(e,t,r){var n=e[t];e[t]=e[r];e[r]=n}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,r,n){if(r{var n;var i=r(1873);var a=r(2913);var o=r(4246).I;var s=r(4310);var c=r(3474).U;function SourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}return t.sections!=null?new IndexedSourceMapConsumer(t):new BasicSourceMapConsumer(t)}SourceMapConsumer.fromSourceMap=function(e){return BasicSourceMapConsumer.fromSourceMap(e)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,t){var r=e.charAt(t);return r===";"||r===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,t){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,t,r){var n=t||null;var a=r||SourceMapConsumer.GENERATED_ORDER;var o;switch(a){case SourceMapConsumer.GENERATED_ORDER:o=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var s=this.sourceRoot;o.map(function(e){var t=e.source===null?null:this._sources.at(e.source);if(t!=null&&s!=null){t=i.join(s,t)}return{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(e,n)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var t=i.getArg(e,"line");var r={source:i.getArg(e,"source"),originalLine:t,originalColumn:i.getArg(e,"column",0)};if(this.sourceRoot!=null){r.source=i.relative(this.sourceRoot,r.source)}if(!this._sources.has(r.source)){return[]}r.source=this._sources.indexOf(r.source);var n=[];var o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,a.LEAST_UPPER_BOUND);if(o>=0){var s=this._originalMappings[o];if(e.column===undefined){var c=s.originalLine;while(s&&s.originalLine===c){n.push({line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}else{var u=s.originalColumn;while(s&&s.originalLine===t&&s.originalColumn==u){n.push({line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}}return n};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}var r=i.getArg(t,"version");var n=i.getArg(t,"sources");var a=i.getArg(t,"names",[]);var s=i.getArg(t,"sourceRoot",null);var c=i.getArg(t,"sourcesContent",null);var u=i.getArg(t,"mappings");var l=i.getArg(t,"file",null);if(r!=this._version){throw new Error("Unsupported version: "+r)}n=n.map(String).map(i.normalize).map(function(e){return s&&i.isAbsolute(s)&&i.isAbsolute(e)?i.relative(s,e):e});this._names=o.fromArray(a.map(String),true);this._sources=o.fromArray(n,true);this.sourceRoot=s;this.sourcesContent=c;this._mappings=u;this.file=l}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.fromSourceMap=function SourceMapConsumer_fromSourceMap(e){var t=Object.create(BasicSourceMapConsumer.prototype);var r=t._names=o.fromArray(e._names.toArray(),true);var n=t._sources=o.fromArray(e._sources.toArray(),true);t.sourceRoot=e._sourceRoot;t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot);t.file=e._file;var a=e._mappings.toArray().slice();var s=t.__generatedMappings=[];var u=t.__originalMappings=[];for(var l=0,f=a.length;l1){y.source=u+v[1];u+=v[1];y.originalLine=a+v[2];a=y.originalLine;y.originalLine+=1;y.originalColumn=o+v[3];o=y.originalColumn;if(v.length>4){y.name=l+v[4];l+=v[4]}}m.push(y);if(typeof y.originalLine==="number"){_.push(y)}}}c(m,i.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;c(_,i.compareByOriginalPositions);this.__originalMappings=_};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,r,n,i,o){if(e[r]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[r])}if(e[n]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[n])}return a.search(e,t,i,o)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var a=i.getArg(n,"source",null);if(a!==null){a=this._sources.at(a);if(this.sourceRoot!=null){a=i.join(this.sourceRoot,a)}}var o=i.getArg(n,"name",null);if(o!==null){o=this._names.at(o)}return{source:a,line:i.getArg(n,"originalLine",null),column:i.getArg(n,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}if(this.sourceRoot!=null){e=i.relative(this.sourceRoot,e)}if(this._sources.has(e)){return this.sourcesContent[this._sources.indexOf(e)]}var r;if(this.sourceRoot!=null&&(r=i.urlParse(this.sourceRoot))){var n=e.replace(/^file:\/\//,"");if(r.scheme=="file"&&this._sources.has(n)){return this.sourcesContent[this._sources.indexOf(n)]}if((!r.path||r.path=="/")&&this._sources.has("/"+e)){return this.sourcesContent[this._sources.indexOf("/"+e)]}}if(t){return null}else{throw new Error('"'+e+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=i.getArg(e,"source");if(this.sourceRoot!=null){t=i.relative(this.sourceRoot,t)}if(!this._sources.has(t)){return{line:null,column:null,lastColumn:null}}t=this._sources.indexOf(t);var r={source:t,originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")};var n=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,i.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(n>=0){var a=this._originalMappings[n];if(a.source===r.source){return{line:i.getArg(a,"generatedLine",null),column:i.getArg(a,"generatedColumn",null),lastColumn:i.getArg(a,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};n=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}var r=i.getArg(t,"version");var n=i.getArg(t,"sections");if(r!=this._version){throw new Error("Unsupported version: "+r)}this._sources=new o;this._names=new o;var a={line:-1,column:0};this._sections=n.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var t=i.getArg(e,"offset");var r=i.getArg(t,"line");var n=i.getArg(t,"column");if(r{var n=r(4310);var i=r(1873);var a=r(4246).I;var o=r(3040).H;function SourceMapGenerator(e){if(!e){e={}}this._file=i.getArg(e,"file",null);this._sourceRoot=i.getArg(e,"sourceRoot",null);this._skipValidation=i.getArg(e,"skipValidation",false);this._sources=new a;this._names=new a;this._mappings=new o;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var t=e.sourceRoot;var r=new SourceMapGenerator({file:e.file,sourceRoot:t});e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){n.source=e.source;if(t!=null){n.source=i.relative(t,n.source)}n.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){n.name=e.name}}r.addMapping(n)});e.sources.forEach(function(t){var n=e.sourceContentFor(t);if(n!=null){r.setSourceContent(t,n)}});return r};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var t=i.getArg(e,"generated");var r=i.getArg(e,"original",null);var n=i.getArg(e,"source",null);var a=i.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(t,r,n,a)}if(n!=null){n=String(n);if(!this._sources.has(n)){this._sources.add(n)}}if(a!=null){a=String(a);if(!this._names.has(a)){this._names.add(a)}}this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:n,name:a})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,t){var r=e;if(this._sourceRoot!=null){r=i.relative(this._sourceRoot,r)}if(t!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[i.toSetString(r)]=t}else if(this._sourcesContents){delete this._sourcesContents[i.toSetString(r)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,t,r){var n=t;if(t==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}n=e.file}var o=this._sourceRoot;if(o!=null){n=i.relative(o,n)}var s=new a;var c=new a;this._mappings.unsortedForEach(function(t){if(t.source===n&&t.originalLine!=null){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});if(a.source!=null){t.source=a.source;if(r!=null){t.source=i.join(r,t.source)}if(o!=null){t.source=i.relative(o,t.source)}t.originalLine=a.line;t.originalColumn=a.column;if(a.name!=null){t.name=a.name}}}var u=t.source;if(u!=null&&!s.has(u)){s.add(u)}var l=t.name;if(l!=null&&!c.has(l)){c.add(l)}},this);this._sources=s;this._names=c;e.sources.forEach(function(t){var n=e.sourceContentFor(t);if(n!=null){if(r!=null){t=i.join(r,t)}if(o!=null){t=i.relative(o,t)}this.setSourceContent(t,n)}},this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,t,r,n){if(t&&typeof t.line!=="number"&&typeof t.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var r=0;var a=0;var o=0;var s=0;var c="";var u;var l;var f;var d;var p=this._mappings.toArray();for(var g=0,_=p.length;g<_;g++){l=p[g];u="";if(l.generatedLine!==t){e=0;while(l.generatedLine!==t){u+=";";t++}}else{if(g>0){if(!i.compareByGeneratedPositionsInflated(l,p[g-1])){continue}u+=","}}u+=n.encode(l.generatedColumn-e);e=l.generatedColumn;if(l.source!=null){d=this._sources.indexOf(l.source);u+=n.encode(d-s);s=d;u+=n.encode(l.originalLine-1-a);a=l.originalLine-1;u+=n.encode(l.originalColumn-r);r=l.originalColumn;if(l.name!=null){f=this._names.indexOf(l.name);u+=n.encode(f-o);o=f}}c+=u}return c};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.SourceMapGenerator=SourceMapGenerator},9263:(e,t,r)=>{var n=r(3165).SourceMapGenerator;var i=r(1873);var a=/(\r?\n)/;var o=10;var s="$$$isSourceNode$$$";function SourceNode(e,t,r,n,i){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=t==null?null:t;this.source=r==null?null:r;this.name=i==null?null:i;this[s]=true;if(n!=null)this.add(n)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,t,r){var n=new SourceNode;var o=e.split(a);var s=0;var c=function(){var e=getNextLine();var t=getNextLine()||"";return e+t;function getNextLine(){return s=0;t--){this.prepend(e[t])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var r=0,n=this.children.length;r0){t=[];for(r=0;r{function getArg(e,t,r){if(t in e){return e[t]}else if(arguments.length===3){return r}else{throw new Error('"'+t+'" is a required argument.')}}t.getArg=getArg;var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;var n=/^data:.+\,.+$/;function urlParse(e){var t=e.match(r);if(!t){return null}return{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}}t.urlParse=urlParse;function urlGenerate(e){var t="";if(e.scheme){t+=e.scheme+":"}t+="//";if(e.auth){t+=e.auth+"@"}if(e.host){t+=e.host}if(e.port){t+=":"+e.port}if(e.path){t+=e.path}return t}t.urlGenerate=urlGenerate;function normalize(e){var r=e;var n=urlParse(e);if(n){if(!n.path){return e}r=n.path}var i=t.isAbsolute(r);var a=r.split(/\/+/);for(var o,s=0,c=a.length-1;c>=0;c--){o=a[c];if(o==="."){a.splice(c,1)}else if(o===".."){s++}else if(s>0){if(o===""){a.splice(c+1,s);s=0}else{a.splice(c,2);s--}}}r=a.join("/");if(r===""){r=i?"/":"."}if(n){n.path=r;return urlGenerate(n)}return r}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var r=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(r&&!r.scheme){if(i){r.scheme=i.scheme}return urlGenerate(r)}if(r||t.match(n)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var a=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=a;return urlGenerate(i)}return a}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||!!e.match(r)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var r=0;while(t.indexOf(e+"/")!==0){var n=e.lastIndexOf("/");if(n<0){return t}e=e.slice(0,n);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++r}return Array(r+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var r=t-10;r>=0;r--){if(e.charCodeAt(r)!==36){return false}}return true}function compareByOriginalPositions(e,t,r){var n=e.source-t.source;if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0||r){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=e.generatedLine-t.generatedLine;if(n!==0){return n}return e.name-t.name}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,r){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0||r){return n}n=e.source-t.source;if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return e.name-t.name}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated},6160:(e,t,r)=>{t.SourceMapGenerator=r(3165).SourceMapGenerator;t.SourceMapConsumer=r(6898).SourceMapConsumer;t.SourceNode=r(9263).SourceNode},3384:(e,t,r)=>{var n=r(535);function customDecodeUriComponent(e){return n(e.replace(/\+/g,"%2B"))}e.exports=customDecodeUriComponent},6224:(e,t,r)=>{var n=r(8835);function resolveUrl(){return Array.prototype.reduce.call(arguments,function(e,t){return n.resolve(e,t)})}e.exports=resolveUrl},6769:(e,t,r)=>{var n=r(1303);var i=r(6224);var a=r(3384);var o=r(6002);var s=r(731);function callbackAsync(e,t,r){setImmediate(function(){e(t,r)})}function parseMapToJSON(e,t){try{return JSON.parse(e.replace(/^\)\]\}'/,""))}catch(e){e.sourceMapData=t;throw e}}function readSync(e,t,r){var n=a(t);try{return String(e(n))}catch(e){e.sourceMapData=r;throw e}}function resolveSourceMap(e,t,r,n){var i;try{i=resolveSourceMapHelper(e,t)}catch(e){return callbackAsync(n,e)}if(!i||i.map){return callbackAsync(n,null,i)}var o=a(i.url);r(o,function(e,t){if(e){e.sourceMapData=i;return n(e)}i.map=String(t);try{i.map=parseMapToJSON(i.map,i)}catch(e){return n(e)}n(null,i)})}function resolveSourceMapSync(e,t,r){var n=resolveSourceMapHelper(e,t);if(!n||n.map){return n}n.map=readSync(r,n.url,n);n.map=parseMapToJSON(n.map,n);return n}var c=/^data:([^,;]*)(;[^,;]*)*(?:,(.*))?$/;var u=/^(?:application|text)\/json$/;function resolveSourceMapHelper(e,t){t=o(t);var r=n.getFrom(e);if(!r){return null}var a=r.match(c);if(a){var l=a[1];var f=a[2]||"";var d=a[3]||"";var p={sourceMappingURL:r,url:null,sourcesRelativeTo:t,map:d};if(!u.test(l)){var g=new Error("Unuseful data uri mime type: "+(l||"text/plain"));g.sourceMapData=p;throw g}p.map=parseMapToJSON(f===";base64"?s(d):decodeURIComponent(d),p);return p}var _=i(t,r);return{sourceMappingURL:r,url:_,sourcesRelativeTo:_,map:null}}function resolveSources(e,t,r,n,i){if(typeof n==="function"){i=n;n={}}var o=e.sources?e.sources.length:0;var s={sourcesResolved:[],sourcesContent:[]};if(o===0){callbackAsync(i,null,s);return}var c=function(){o--;if(o===0){i(null,s)}};resolveSourcesHelper(e,t,n,function(e,t,n){s.sourcesResolved[n]=e;if(typeof t==="string"){s.sourcesContent[n]=t;callbackAsync(c,null)}else{var i=a(e);r(i,function(e,t){s.sourcesContent[n]=e?e:String(t);c()})}})}function resolveSourcesSync(e,t,r,n){var i={sourcesResolved:[],sourcesContent:[]};if(!e.sources||e.sources.length===0){return i}resolveSourcesHelper(e,t,n,function(e,t,n){i.sourcesResolved[n]=e;if(r!==null){if(typeof t==="string"){i.sourcesContent[n]=t}else{var o=a(e);try{i.sourcesContent[n]=String(r(o))}catch(e){i.sourcesContent[n]=e}}}});return i}var l=/\/?$/;function resolveSourcesHelper(e,t,r,n){r=r||{};t=o(t);var a;var s;var c;for(var u=0,f=e.sources.length;u{var n=r(9596).SourceMapConsumer;var i=r(5622);var a;try{a=r(5747);if(!a.existsSync||!a.readFileSync){a=null}}catch(e){}var o=r(6650);var s=false;var c=false;var u=false;var l="auto";var f={};var d={};var p=/^data:application\/json[^,]+base64,/;var g=[];var _=[];function isInBrowser(){if(l==="browser")return true;if(l==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function handlerExec(e){return function(t){for(var r=0;r"}var r=this.getLineNumber();if(r!=null){t+=":"+r;var n=this.getColumnNumber();if(n){t+=":"+n}}}var i="";var a=this.getFunctionName();var o=true;var s=this.isConstructor();var c=!(this.isToplevel()||s);if(c){var u=this.getTypeName();if(u==="[object Object]"){u="null"}var l=this.getMethodName();if(a){if(u&&a.indexOf(u)!=0){i+=u+"."}i+=a;if(l&&a.indexOf("."+l)!=a.length-l.length-1){i+=" [as "+l+"]"}}else{i+=u+"."+(l||"")}}else if(s){i+="new "+(a||"")}else if(a){i+=a}else{i+=t;o=false}if(o){i+=" ("+t+")"}return i}function cloneCallSite(e){var t={};Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(function(r){t[r]=/^(?:is|get)/.test(r)?function(){return e[r].call(e)}:e[r]});t.toString=CallSiteToString;return t}function wrapCallSite(e){if(e.isNative()){return e}var t=e.getFileName()||e.getScriptNameOrSourceURL();if(t){var r=e.getLineNumber();var n=e.getColumnNumber()-1;var i=62;if(r===1&&n>i&&!isInBrowser()&&!e.isEval()){n-=i}var a=mapSourcePosition({source:t,line:r,column:n});e=cloneCallSite(e);var o=e.getFunctionName;e.getFunctionName=function(){return a.name||o()};e.getFileName=function(){return a.source};e.getLineNumber=function(){return a.line};e.getColumnNumber=function(){return a.column+1};e.getScriptNameOrSourceURL=function(){return a.source};return e}var s=e.isEval()&&e.getEvalOrigin();if(s){s=mapEvalOrigin(s);e=cloneCallSite(e);e.getEvalOrigin=function(){return s};return e}return e}function prepareStackTrace(e,t){if(u){f={};d={}}return e+t.map(function(e){return"\n at "+wrapCallSite(e)}).join("")}function getErrorSource(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var r=t[1];var n=+t[2];var i=+t[3];var o=f[r];if(!o&&a&&a.existsSync(r)){try{o=a.readFileSync(r,"utf8")}catch(e){o=""}}if(o){var s=o.split(/(?:\r\n|\r|\n)/)[n-1];if(s){return r+":"+n+"\n"+s+"\n"+new Array(i).join(" ")+"^"}}}return null}function printErrorAndExit(e){var t=getErrorSource(e);if(process.stderr._handle&&process.stderr._handle.setBlocking){process.stderr._handle.setBlocking(true)}if(t){console.error();console.error(t)}console.error(e.stack);process.exit(1)}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(t){if(t==="uncaughtException"){var r=arguments[1]&&arguments[1].stack;var n=this.listeners(t).length>0;if(r&&!n){return printErrorAndExit(arguments[1])}}return e.apply(this,arguments)}}var h=g.slice(0);var v=_.slice(0);t.wrapCallSite=wrapCallSite;t.getErrorSource=getErrorSource;t.mapSourcePosition=mapSourcePosition;t.retrieveSourceMap=y;t.install=function(e){e=e||{};if(e.environment){l=e.environment;if(["node","browser","auto"].indexOf(l)===-1){throw new Error("environment "+l+" was unknown. Available options are {auto, browser, node}")}}if(e.retrieveFile){if(e.overrideRetrieveFile){g.length=0}g.unshift(e.retrieveFile)}if(e.retrieveSourceMap){if(e.overrideRetrieveSourceMap){_.length=0}_.unshift(e.retrieveSourceMap)}if(e.hookRequire&&!isInBrowser()){var t;try{t=r(2282)}catch(e){}var n=t.prototype._compile;if(!n.__sourceMapSupport){t.prototype._compile=function(e,t){f[t]=e;d[t]=undefined;return n.call(this,e,t)};t.prototype._compile.__sourceMapSupport=true}}if(!u){u="emptyCacheBetweenOperations"in e?e.emptyCacheBetweenOperations:false}if(!s){s=true;Error.prepareStackTrace=prepareStackTrace}if(!c){var i="handleUncaughtExceptions"in e?e.handleUncaughtExceptions:true;if(i&&hasGlobalProcessEventEmitter()){c=true;shimEmitUncaughtException()}}};t.resetRetrieveHandlers=function(){g.length=0;_.length=0;g=h.slice(0);_=v.slice(0)}},1303:function(e){void function(t,r){if(typeof define==="function"&&define.amd){define(r)}else if(true){e.exports=r()}else{}}(this,function(){var e=/[#@] sourceMappingURL=([^\s'"]*)/;var t=RegExp("(?:"+"/\\*"+"(?:\\s*\r?\n(?://)?)?"+"(?:"+e.source+")"+"\\s*"+"\\*/"+"|"+"//(?:"+e.source+")"+")"+"\\s*");return{regex:t,_innerRegex:e,getFrom:function(e){var r=e.match(t);return r?r[1]||r[2]||"":null},existsIn:function(e){return t.test(e)},removeFrom:function(e){return e.replace(t,"")},insertBefore:function(e,r){var n=e.match(t);if(n){return e.slice(0,n.index)+r+e.slice(n.index)}else{return e+r}}}})},6837:(e,t,r)=>{var n=r(1983);var i=Object.prototype.hasOwnProperty;var a=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=a?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,t){var r=new ArraySet;for(var n=0,i=e.length;n=0){return t}}else{var r=n.toSetString(e);if(i.call(this._set,r)){return this._set[r]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var n=r(6537);var i=5;var a=1<>1;return t?-r:r}t.encode=function base64VLQ_encode(e){var t="";var r;var a=toVLQSigned(e);do{r=a&o;a>>>=i;if(a>0){r|=s}t+=n.encode(r)}while(a>0);return t};t.decode=function base64VLQ_decode(e,t,r){var a=e.length;var c=0;var u=0;var l,f;do{if(t>=a){throw new Error("Expected more digits in base 64 VLQ value.")}f=n.decode(e.charCodeAt(t++));if(f===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}l=!!(f&s);f&=o;c=c+(f<{var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{t.GREATEST_LOWER_BOUND=1;t.LEAST_UPPER_BOUND=2;function recursiveSearch(e,r,n,i,a,o){var s=Math.floor((r-e)/2)+e;var c=a(n,i[s],true);if(c===0){return s}else if(c>0){if(r-s>1){return recursiveSearch(s,r,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return r1){return recursiveSearch(e,s,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return s}else{return e<0?-1:e}}}t.search=function search(e,r,n,i){if(r.length===0){return-1}var a=recursiveSearch(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0){return-1}while(a-1>=0){if(n(r[a],r[a-1],true)!==0){break}--a}return a}},1740:(e,t,r)=>{var n=r(1983);function generatedPositionAfter(e,t){var r=e.generatedLine;var i=t.generatedLine;var a=e.generatedColumn;var o=t.generatedColumn;return i>r||i==r&&o>=a||n.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(n.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.H=MappingList},8226:(e,t)=>{function swap(e,t,r){var n=e[t];e[t]=e[r];e[r]=n}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,r,n){if(r{var n;var i=r(1983);var a=r(3164);var o=r(6837).I;var s=r(4215);var c=r(8226).U;function SourceMapConsumer(e,t){var r=e;if(typeof e==="string"){r=i.parseSourceMapInput(e)}return r.sections!=null?new IndexedSourceMapConsumer(r,t):new BasicSourceMapConsumer(r,t)}SourceMapConsumer.fromSourceMap=function(e,t){return BasicSourceMapConsumer.fromSourceMap(e,t)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,t){var r=e.charAt(t);return r===";"||r===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,t){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,t,r){var n=t||null;var a=r||SourceMapConsumer.GENERATED_ORDER;var o;switch(a){case SourceMapConsumer.GENERATED_ORDER:o=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var s=this.sourceRoot;o.map(function(e){var t=e.source===null?null:this._sources.at(e.source);t=i.computeSourceURL(s,t,this._sourceMapURL);return{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(e,n)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var t=i.getArg(e,"line");var r={source:i.getArg(e,"source"),originalLine:t,originalColumn:i.getArg(e,"column",0)};r.source=this._findSourceIndex(r.source);if(r.source<0){return[]}var n=[];var o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,a.LEAST_UPPER_BOUND);if(o>=0){var s=this._originalMappings[o];if(e.column===undefined){var c=s.originalLine;while(s&&s.originalLine===c){n.push({line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}else{var u=s.originalColumn;while(s&&s.originalLine===t&&s.originalColumn==u){n.push({line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}}return n};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,t){var r=e;if(typeof e==="string"){r=i.parseSourceMapInput(e)}var n=i.getArg(r,"version");var a=i.getArg(r,"sources");var s=i.getArg(r,"names",[]);var c=i.getArg(r,"sourceRoot",null);var u=i.getArg(r,"sourcesContent",null);var l=i.getArg(r,"mappings");var f=i.getArg(r,"file",null);if(n!=this._version){throw new Error("Unsupported version: "+n)}if(c){c=i.normalize(c)}a=a.map(String).map(i.normalize).map(function(e){return c&&i.isAbsolute(c)&&i.isAbsolute(e)?i.relative(c,e):e});this._names=o.fromArray(s.map(String),true);this._sources=o.fromArray(a,true);this._absoluteSources=this._sources.toArray().map(function(e){return i.computeSourceURL(c,e,t)});this.sourceRoot=c;this.sourcesContent=u;this._mappings=l;this._sourceMapURL=t;this.file=f}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null){t=i.relative(this.sourceRoot,t)}if(this._sources.has(t)){return this._sources.indexOf(t)}var r;for(r=0;r1){y.source=u+v[1];u+=v[1];y.originalLine=a+v[2];a=y.originalLine;y.originalLine+=1;y.originalColumn=o+v[3];o=y.originalColumn;if(v.length>4){y.name=l+v[4];l+=v[4]}}m.push(y);if(typeof y.originalLine==="number"){_.push(y)}}}c(m,i.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;c(_,i.compareByOriginalPositions);this.__originalMappings=_};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,r,n,i,o){if(e[r]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[r])}if(e[n]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[n])}return a.search(e,t,i,o)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var a=i.getArg(n,"source",null);if(a!==null){a=this._sources.at(a);a=i.computeSourceURL(this.sourceRoot,a,this._sourceMapURL)}var o=i.getArg(n,"name",null);if(o!==null){o=this._names.at(o)}return{source:a,line:i.getArg(n,"originalLine",null),column:i.getArg(n,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}var r=this._findSourceIndex(e);if(r>=0){return this.sourcesContent[r]}var n=e;if(this.sourceRoot!=null){n=i.relative(this.sourceRoot,n)}var a;if(this.sourceRoot!=null&&(a=i.urlParse(this.sourceRoot))){var o=n.replace(/^file:\/\//,"");if(a.scheme=="file"&&this._sources.has(o)){return this.sourcesContent[this._sources.indexOf(o)]}if((!a.path||a.path=="/")&&this._sources.has("/"+n)){return this.sourcesContent[this._sources.indexOf("/"+n)]}}if(t){return null}else{throw new Error('"'+n+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=i.getArg(e,"source");t=this._findSourceIndex(t);if(t<0){return{line:null,column:null,lastColumn:null}}var r={source:t,originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")};var n=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,i.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(n>=0){var a=this._originalMappings[n];if(a.source===r.source){return{line:i.getArg(a,"generatedLine",null),column:i.getArg(a,"generatedColumn",null),lastColumn:i.getArg(a,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};n=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,t){var r=e;if(typeof e==="string"){r=i.parseSourceMapInput(e)}var n=i.getArg(r,"version");var a=i.getArg(r,"sections");if(n!=this._version){throw new Error("Unsupported version: "+n)}this._sources=new o;this._names=new o;var s={line:-1,column:0};this._sections=a.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var r=i.getArg(e,"offset");var n=i.getArg(r,"line");var a=i.getArg(r,"column");if(n{var n=r(4215);var i=r(1983);var a=r(6837).I;var o=r(1740).H;function SourceMapGenerator(e){if(!e){e={}}this._file=i.getArg(e,"file",null);this._sourceRoot=i.getArg(e,"sourceRoot",null);this._skipValidation=i.getArg(e,"skipValidation",false);this._sources=new a;this._names=new a;this._mappings=new o;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var t=e.sourceRoot;var r=new SourceMapGenerator({file:e.file,sourceRoot:t});e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){n.source=e.source;if(t!=null){n.source=i.relative(t,n.source)}n.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){n.name=e.name}}r.addMapping(n)});e.sources.forEach(function(n){var a=n;if(t!==null){a=i.relative(t,n)}if(!r._sources.has(a)){r._sources.add(a)}var o=e.sourceContentFor(n);if(o!=null){r.setSourceContent(n,o)}});return r};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var t=i.getArg(e,"generated");var r=i.getArg(e,"original",null);var n=i.getArg(e,"source",null);var a=i.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(t,r,n,a)}if(n!=null){n=String(n);if(!this._sources.has(n)){this._sources.add(n)}}if(a!=null){a=String(a);if(!this._names.has(a)){this._names.add(a)}}this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:n,name:a})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,t){var r=e;if(this._sourceRoot!=null){r=i.relative(this._sourceRoot,r)}if(t!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[i.toSetString(r)]=t}else if(this._sourcesContents){delete this._sourcesContents[i.toSetString(r)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,t,r){var n=t;if(t==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}n=e.file}var o=this._sourceRoot;if(o!=null){n=i.relative(o,n)}var s=new a;var c=new a;this._mappings.unsortedForEach(function(t){if(t.source===n&&t.originalLine!=null){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});if(a.source!=null){t.source=a.source;if(r!=null){t.source=i.join(r,t.source)}if(o!=null){t.source=i.relative(o,t.source)}t.originalLine=a.line;t.originalColumn=a.column;if(a.name!=null){t.name=a.name}}}var u=t.source;if(u!=null&&!s.has(u)){s.add(u)}var l=t.name;if(l!=null&&!c.has(l)){c.add(l)}},this);this._sources=s;this._names=c;e.sources.forEach(function(t){var n=e.sourceContentFor(t);if(n!=null){if(r!=null){t=i.join(r,t)}if(o!=null){t=i.relative(o,t)}this.setSourceContent(t,n)}},this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,t,r,n){if(t&&typeof t.line!=="number"&&typeof t.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var r=0;var a=0;var o=0;var s=0;var c="";var u;var l;var f;var d;var p=this._mappings.toArray();for(var g=0,_=p.length;g<_;g++){l=p[g];u="";if(l.generatedLine!==t){e=0;while(l.generatedLine!==t){u+=";";t++}}else{if(g>0){if(!i.compareByGeneratedPositionsInflated(l,p[g-1])){continue}u+=","}}u+=n.encode(l.generatedColumn-e);e=l.generatedColumn;if(l.source!=null){d=this._sources.indexOf(l.source);u+=n.encode(d-s);s=d;u+=n.encode(l.originalLine-1-a);a=l.originalLine-1;u+=n.encode(l.originalColumn-r);r=l.originalColumn;if(l.name!=null){f=this._names.indexOf(l.name);u+=n.encode(f-o);o=f}}c+=u}return c};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.h=SourceMapGenerator},9990:(e,t,r)=>{var n;var i=r(1341).h;var a=r(1983);var o=/(\r?\n)/;var s=10;var c="$$$isSourceNode$$$";function SourceNode(e,t,r,n,i){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=t==null?null:t;this.source=r==null?null:r;this.name=i==null?null:i;this[c]=true;if(n!=null)this.add(n)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,t,r){var n=new SourceNode;var i=e.split(o);var s=0;var c=function(){var e=getNextLine();var t=getNextLine()||"";return e+t;function getNextLine(){return s=0;t--){this.prepend(e[t])}}else if(e[c]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var r=0,n=this.children.length;r0){t=[];for(r=0;r{function getArg(e,t,r){if(t in e){return e[t]}else if(arguments.length===3){return r}else{throw new Error('"'+t+'" is a required argument.')}}t.getArg=getArg;var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var n=/^data:.+\,.+$/;function urlParse(e){var t=e.match(r);if(!t){return null}return{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}}t.urlParse=urlParse;function urlGenerate(e){var t="";if(e.scheme){t+=e.scheme+":"}t+="//";if(e.auth){t+=e.auth+"@"}if(e.host){t+=e.host}if(e.port){t+=":"+e.port}if(e.path){t+=e.path}return t}t.urlGenerate=urlGenerate;function normalize(e){var r=e;var n=urlParse(e);if(n){if(!n.path){return e}r=n.path}var i=t.isAbsolute(r);var a=r.split(/\/+/);for(var o,s=0,c=a.length-1;c>=0;c--){o=a[c];if(o==="."){a.splice(c,1)}else if(o===".."){s++}else if(s>0){if(o===""){a.splice(c+1,s);s=0}else{a.splice(c,2);s--}}}r=a.join("/");if(r===""){r=i?"/":"."}if(n){n.path=r;return urlGenerate(n)}return r}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var r=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(r&&!r.scheme){if(i){r.scheme=i.scheme}return urlGenerate(r)}if(r||t.match(n)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var a=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=a;return urlGenerate(i)}return a}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||r.test(e)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var r=0;while(t.indexOf(e+"/")!==0){var n=e.lastIndexOf("/");if(n<0){return t}e=e.slice(0,n);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++r}return Array(r+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var r=t-10;r>=0;r--){if(e.charCodeAt(r)!==36){return false}}return true}function compareByOriginalPositions(e,t,r){var n=strcmp(e.source,t.source);if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0||r){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=e.generatedLine-t.generatedLine;if(n!==0){return n}return strcmp(e.name,t.name)}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,r){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0||r){return n}n=strcmp(e.source,t.source);if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e===null){return 1}if(t===null){return-1}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}t.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,t,r){t=t||"";if(e){if(e[e.length-1]!=="/"&&t[0]!=="/"){e+="/"}t=e+t}if(r){var n=urlParse(r);if(!n){throw new Error("sourceMapURL could not be parsed")}if(n.path){var i=n.path.lastIndexOf("/");if(i>=0){n.path=n.path.substring(0,i+1)}}t=join(urlGenerate(n),t)}return normalize(t)}t.computeSourceURL=computeSourceURL},9596:(e,t,r)=>{r(1341).h;t.SourceMapConsumer=r(6327).SourceMapConsumer;r(9990)},6439:(e,t,r)=>{"use strict";var n=r(4217);e.exports=function(e,t,r){if(typeof e!=="string"){throw new TypeError("expected a string")}if(typeof t==="function"){r=t;t=null}if(typeof t==="string"){t={sep:t}}var i=n({sep:"."},t);var a=i.quotes||['"',"'","`"];var o;if(i.brackets===true){o={"<":">","(":")","[":"]","{":"}"}}else if(i.brackets){o=i.brackets}var s=[];var c=[];var u=[""];var l=i.sep;var f=e.length;var d=-1;var p;function expected(){if(o&&c.length){return o[c[c.length-1]]}}while(++d{"use strict";var n=r(2808);var i=r(7954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{"use strict";var n=r(1221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},1261:(e,t,r)=>{"use strict";var n=r(3991);var i=r(4728);var a=r(1669);function extend(e,t){if(typeof e!=="function"){throw new TypeError("expected Parent to be a function.")}return function(r,o){if(typeof r!=="function"){throw new TypeError("expected Ctor to be a function.")}a.inherits(r,e);n(r,e);if(typeof o==="object"){var s=Object.create(o);for(var c in s){r.prototype[c]=s[c]}}i(r.prototype,"_parent_",{configurable:true,set:function(){},get:function(){return e.prototype}});if(typeof t==="function"){t(r,e)}r.extend=extend(r,t)}}e.exports=extend},3919:(e,t,r)=>{"use strict";var n=r(2046);e.exports=function toPath(e){if(n(e)!=="arguments"){e=arguments}return filter(e).join(".")};function filter(e){var t=e.length;var r=-1;var i=[];while(++r{"use strict";var n=r(9437);var i=r(5552);var a={};function toRegexRange(e,t,r){if(i(e)===false){throw new RangeError("toRegexRange: first argument is invalid.")}if(typeof t==="undefined"||e===t){return String(e)}if(i(t)===false){throw new RangeError("toRegexRange: second argument is invalid.")}r=r||{};var n=String(r.relaxZeros);var o=String(r.shorthand);var s=String(r.capture);var c=e+":"+t+"="+n+o+s;if(a.hasOwnProperty(c)){return a[c].result}var u=Math.min(e,t);var l=Math.max(e,t);if(Math.abs(u-l)===1){var f=e+"|"+t;if(r.capture){return"("+f+")"}return f}var d=padding(e)||padding(t);var p=[];var g=[];var _={min:e,max:t,a:u,b:l};if(d){_.isPadded=d;_.maxLen=String(_.max).length}if(u<0){var m=l<0?Math.abs(l):1;var y=Math.abs(u);g=splitToPatterns(m,y,_,r);u=_.a=0}if(l>=0){p=splitToPatterns(u,l,_,r)}_.negatives=g;_.positives=p;_.result=siftPatterns(g,p,r);if(r.capture&&p.length+g.length>1){_.result="("+_.result+")"}a[c]=_;return _.result}function siftPatterns(e,t,r){var n=filterPatterns(e,t,"-",false,r)||[];var i=filterPatterns(t,e,"",false,r)||[];var a=filterPatterns(e,t,"-?",true,r)||[];var o=n.concat(a).concat(i);return o.join("|")}function splitToRanges(e,t){e=Number(e);t=Number(t);var r=1;var n=[t];var i=+countNines(e,r);while(e<=i&&i<=t){n=push(n,i);r+=1;i=+countNines(e,r)}var a=1;i=countZeros(t+1,a)-1;while(e1){u.digits.pop()}u.digits.push(f.digits[0]);u.string=u.pattern+toQuantifier(u.digits);c=l+1;continue}if(r.isPadded){d=padZeros(l,r)}f.string=d+f.pattern+toQuantifier(f.digits);s.push(f);c=l+1;u=f}return s}function filterPatterns(e,t,r,n,i){var a=[];for(var o=0;ot?1:t>e?-1:0}function push(e,t){if(e.indexOf(t)===-1)e.push(t);return e}function contains(e,t,r){for(var n=0;n{"use strict";var n=r(3867);var i=r(2383);var a=r(1681);var o=r(3089);var s=1024*64;var c={};e.exports=function(e,t){if(!Array.isArray(e)){return makeRe(e,t)}return makeRe(e.join("|"),t)};function makeRe(e,t){if(e instanceof RegExp){return e}if(typeof e!=="string"){throw new TypeError("expected a string")}if(e.length>s){throw new Error("expected pattern to be less than "+s+" characters")}var r=e;if(!t||t&&t.cache!==false){r=createKey(e,t);if(c.hasOwnProperty(r)){return c[r]}}var i=a({},t);if(i.contains===true){if(i.negate===true){i.strictNegate=false}else{i.strict=false}}if(i.strict===false){i.strictOpen=false;i.strictClose=false}var u=i.strictOpen!==false?"^":"";var l=i.strictClose!==false?"$":"";var f=i.flags||"";var d;if(i.nocase===true&&!/i/.test(f)){f+="i"}try{if(i.negate||typeof i.strictNegate==="boolean"){e=o.create(e,i)}var p=u+"(?:"+e+")"+l;d=new RegExp(p,f);if(i.safe===true&&n(d)===false){throw new Error("potentially unsafe regular expression: "+d.source)}}catch(n){if(i.strictErrors===true||i.safe===true){n.key=r;n.pattern=e;n.originalOptions=t;n.createdOptions=i;throw n}try{d=new RegExp("^"+e.replace(/(\W)/g,"\\$1")+"$")}catch(e){d=/.^/}}if(i.cache!==false){memoize(d,r,e,i)}return d}function memoize(e,t,r,n){i(e,"cached",true);i(e,"pattern",r);i(e,"options",n);i(e,"key",t);c[t]=e}function createKey(e,t){if(!t)return e;var r=e;for(var n in t){if(t.hasOwnProperty(n)){r+=";"+n+"="+String(t[n])}}return r}e.exports.makeRe=makeRe},2383:(e,t,r)=>{"use strict";var n=r(977);var i=r(8586);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},1681:(e,t,r)=>{"use strict";var n=r(4466);var i=r(7954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{"use strict";var n=r(1221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},6619:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(5622);const i=r(9635);const a=r(557);const o=r(6507);function makeAfterCompile(e,t){let r=true;let n=true;return(i,a)=>{if(i.compiler.isChild()){a();return}removeTSLoaderErrors(i.errors);provideCompilerOptionDiagnosticErrorsToWebpack(r,i,e,t);r=false;const o=determineModules(i);const s=determineFilesToCheckForErrors(n,e);n=false;const c=new Map;provideErrorsToWebpack(s,c,i,o,e);provideDeclarationFilesToWebpack(s,e,i);e.filesWithErrors=c;e.modifiedFiles=null;e.projectsMissingSourceMaps=new Set;a()}}t.makeAfterCompile=makeAfterCompile;function provideCompilerOptionDiagnosticErrorsToWebpack(e,t,r,n){if(e){const{languageService:e,loaderOptions:i,compiler:a,program:s}=r;const c=o.formatErrors(s===undefined?e.getCompilerOptionsDiagnostics():s.getOptionsDiagnostics(),i,r.colors,a,{file:n||"tsconfig.json"},t.compiler.context);t.errors.push(...c)}}function determineModules(e){const t=new Map;e.modules.forEach(e=>{if(e.resource){const r=n.normalize(e.resource);const i=t.get(r);if(i!==undefined){if(i.indexOf(e)===-1){i.push(e)}}else{t.set(r,[e])}}});return t}function determineFilesToCheckForErrors(e,t){const{files:r,modifiedFiles:n,filesWithErrors:i,otherFiles:a}=t;const s=new Map;if(e){for(const[e,t]of r){s.set(e,t)}for(const[e,t]of a){s.set(e,t)}}else if(n!==null&&n!==undefined){for(const e of n.keys()){o.collectAllDependants(t.reverseDependencyGraph,e).forEach(e=>{const t=r.get(e)||a.get(e);s.set(e,t)})}}if(i!==undefined){for(const[e,t]of i){s.set(e,t)}}return s}function provideErrorsToWebpack(e,t,r,n,a){const{compiler:s,program:c,languageService:u,files:l,loaderOptions:f,compilerOptions:d,otherFiles:p}=a;const g=d.checkJs===true?i.dtsTsTsxJsJsxRegex:i.dtsTsTsxRegex;for(const i of e.keys()){if(i.match(g)===null){continue}const e=c===undefined?undefined:c.getSourceFile(i);if(o.isUsingProjectReferences(a)&&e===undefined){continue}const d=c===undefined?[...u.getSyntacticDiagnostics(i),...u.getSemanticDiagnostics(i)]:[...c.getSyntacticDiagnostics(e),...c.getSemanticDiagnostics(e)];if(d.length>0){const e=l.get(i)||p.get(i);t.set(i,e)}const _=n.get(i);if(_!==undefined){_.forEach(e=>{removeTSLoaderErrors(e.errors);const t=o.formatErrors(d,f,a.colors,s,{module:e},r.compiler.context);e.errors.push(...t);r.errors.push(...t)})}else{const e=o.formatErrors(d,f,a.colors,s,{file:i},r.compiler.context);r.errors.push(...e)}}}function provideDeclarationFilesToWebpack(e,t,r){for(const o of e.keys()){if(o.match(i.tsTsxRegex)===null){continue}const e=a.getEmitOutput(t,o);const s=e.filter(e=>e.name.match(i.dtsDtsxOrDtsDtsxMapRegex));s.forEach(e=>{const t=n.relative(r.compiler.outputPath,e.name);r.assets[t]={source:()=>e.text,size:()=>e.text.length}})}}function removeTSLoaderErrors(e){let t=-1;let r=e.length;while(++t{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(2729);const i=r(9635);function getCompiler(e,t){let r;let i;let a;let o=false;try{r=require(e.compiler)}catch(t){i=e.compiler==="typescript"?"Could not load TypeScript. Try installing with `yarn add typescript` or `npm install typescript`. If TypeScript is installed globally, try using `yarn link typescript` or `npm link typescript`.":`Could not load TypeScript compiler with NPM package name \`${e.compiler}\`. Are you sure it is correctly installed?`}if(i===undefined){a=`ts-loader: Using ${e.compiler}@${r.version}`;o=false;if(e.compiler==="typescript"){if(r.version!==undefined&&n.gte(r.version,"2.4.1")){o=true}else{t.logError(`${a}. This version is incompatible with ts-loader. Please upgrade to the latest version of TypeScript.`)}}else{t.logWarning(`${a}. This version may or may not be compatible with ts-loader.`)}}return{compiler:r,compilerCompatible:o,compilerDetailsLogMessage:a,errorMessage:i}}t.getCompiler=getCompiler;function getCompilerOptions(e){const t=Object.assign({},e.options,{skipLibCheck:true,suppressOutputPathCheck:true});if(t.module===undefined&&(t.target!==undefined&&t.target{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(5622);const i=r(6507);function getConfigFile(e,t,r,a,o,s,c){const u=findConfigFile(e,n.dirname(r.resourcePath),a.configFile);let l;let f;if(u!==undefined){if(o){s.logInfo(`${c} and ${u}`)}else{s.logInfo(`ts-loader: Using config file at ${u}`)}f=e.readConfigFile(u,e.sys.readFile);if(f.error!==undefined){l=i.formatErrors([f.error],a,t,e,{file:u},r.context)[0]}}else{if(o){s.logInfo(c)}f={config:{compilerOptions:{},files:[]}}}if(l===undefined){f.config.compilerOptions=Object.assign({},f.config.compilerOptions,a.compilerOptions)}return{configFilePath:u,configFile:f,configFileError:l}}t.getConfigFile=getConfigFile;function findConfigFile(e,t,r){if(n.isAbsolute(r)){return e.sys.fileExists(r)?r:undefined}if(r.match(/^\.\.?(\/|\\)/)!==null){const i=n.resolve(t,r);return e.sys.fileExists(i)?i:undefined}else{while(true){const i=n.join(t,r);if(e.sys.fileExists(i)){return i}const a=n.dirname(t);if(a===t){break}t=a}return undefined}}function getConfigParseResult(e,t,r){const n=e.parseJsonConfigFileContent(t.config,e.sys,r);return n}t.getConfigParseResult=getConfigParseResult},9635:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(2087);t.EOL=n.EOL;t.CarriageReturnLineFeed="\r\n";t.LineFeed="\n";t.CarriageReturnLineFeedCode=0;t.LineFeedCode=1;t.ScriptTargetES2015=2;t.ModuleKindCommonJs=1;t.extensionRegex=/\.[^.]+$/;t.tsxRegex=/\.tsx$/i;t.tsTsxRegex=/\.ts(x?)$/i;t.dtsDtsxOrDtsDtsxMapRegex=/\.d\.ts(x?)(\.map)?$/i;t.dtsTsTsxRegex=/(\.d)?\.ts(x?)$/i;t.dtsTsTsxJsJsxRegex=/((\.d)?\.ts(x?)|js(x?))$/i;t.tsTsxJsJsxRegex=/\.tsx?$|\.jsx?$/i;t.jsJsx=/\.js(x?)$/i;t.jsJsxMap=/\.js(x?)\.map$/i;t.jsonRegex=/\.json$/i;t.nodeModules=/node_modules/i},2956:(e,t,r)=>{"use strict";const n=r(8244);const i=r(5622);const a=r(9635);const o=r(557);const s=r(6507);const c=[];const u={};function loader(e){this.cacheable&&this.cacheable();const t=this.async();const r=getLoaderOptions(this);const n=o.getTypeScriptInstance(r,this);if(n.error!==undefined){t(new Error(n.error.message));return}return successLoader(this,e,t,r,n.instance)}function successLoader(e,t,r,n,a){const o=i.normalize(e.resourcePath);const c=n.appendTsSuffixTo.length>0||n.appendTsxSuffixTo.length>0?s.appendSuffixesIfMatch({".ts":n.appendTsSuffixTo,".tsx":n.appendTsxSuffixTo},o):o;const u=updateFileInCache(c,t,a);const l=s.getAndCacheProjectReference(c,a);if(l!==undefined){const[o,f]=[i.relative(e.rootContext,l.sourceFile.fileName),i.relative(e.rootContext,c)];if(l.commandLine.options.outFile!==undefined){throw new Error(`The referenced project at ${o} is using `+`the outFile' option, which is not supported with ts-loader.`)}const d=s.getAndCacheOutputJSFileName(c,l,a);const p=i.relative(e.rootContext,d);if(!a.compiler.sys.fileExists(d)){throw new Error(`Could not find output JavaScript file for input `+`${f} (looked at ${p}).\n`+`The input file is part of a project reference located at `+`${o}, so ts-loader is looking for the `+"project’s pre-built output on disk. Try running `tsc --build` "+"to build project references.")}e.clearDependencies();e.addDependency(d);s.validateSourceMapOncePerProject(a,e,d,l);const g=d+".map";const _=a.compiler.sys.readFile(d);const m=a.compiler.sys.readFile(g);makeSourceMapAndFinish(m,_,c,t,e,n,u,r)}else{const{outputText:i,sourceMapText:s}=n.transpileOnly?getTranspilationEmit(c,t,a,e):getEmit(o,c,a,e);makeSourceMapAndFinish(s,i,c,t,e,n,u,r)}}function makeSourceMapAndFinish(e,t,r,n,i,a,o,s){if(t===null||t===undefined){const e=!a.allowTsInNodeModules&&r.indexOf("node_modules")!==-1?" By default, ts-loader will not compile .ts files in node_modules.\n"+"You should not need to recompile .ts files there, but if you really want to, use the allowTsInNodeModules option.\n"+"See: https://github.com/Microsoft/TypeScript/issues/12358":"";throw new Error(`TypeScript emitted no output for ${r}.${e}`)}const{sourceMap:c,output:u}=makeSourceMap(e,t,r,n,i);if(!a.happyPackMode&&i._module.buildMeta!==undefined){i._module.buildMeta.tsLoaderFileVersion=o}s(null,u,c)}function getLoaderOptions(e){let t=c.indexOf(e._compiler);if(t===-1){t=c.push(e._compiler)-1}const r=n.getOptions(e)||{};const i=t+"_"+(r.instance||"default");if(!u.hasOwnProperty(i)){u[i]=new WeakMap}const a=u[i];if(a.has(r)){return a.get(r)}validateLoaderOptions(r);const o=makeLoaderOptions(i,r);a.set(r,o);return o}const l=["silent","logLevel","logInfoToStdOut","instance","compiler","context","configFile","transpileOnly","ignoreDiagnostics","errorFormatter","colors","compilerOptions","appendTsSuffixTo","appendTsxSuffixTo","onlyCompileBundledFiles","happyPackMode","getCustomTransformers","reportFiles","experimentalWatchApi","allowTsInNodeModules","experimentalFileCaching","projectReferences","resolveModuleName"];function validateLoaderOptions(e){const t=Object.keys(e);for(let e=0;ee.match(a.dtsDtsxOrDtsDtsxMapRegex));const u=n.addDependency.bind(n);c.forEach(u);const l=r.dependencyGraph[t];const f=l===undefined?[]:l.map(({resolvedFileName:e,originalFileName:t})=>{const n=s.getAndCacheProjectReference(e,r);return n!==undefined?s.getAndCacheOutputJSFileName(e,n,r):t});if(f.length>0){f.forEach(u)}n._module.buildMeta.tsLoaderDefinitionFileVersions=c.concat(f).map(e=>e+"@"+(r.files.get(e)||{version:"?"}).version);const d=i.filter(e=>e.name.match(a.jsJsx)).pop();const p=d===undefined?undefined:d.text;const g=i.filter(e=>e.name.match(a.jsJsxMap)).pop();const _=g===undefined?undefined:g.text;return{outputText:p,sourceMapText:_}}function getTranspilationEmit(e,t,r,n){const{outputText:i,sourceMapText:a,diagnostics:o}=r.compiler.transpileModule(t,{compilerOptions:Object.assign({},r.compilerOptions,{rootDir:undefined}),transformers:r.transformers,reportDiagnostics:true,fileName:e});if(!r.loaderOptions.happyPackMode){const e=s.formatErrors(o,r.loaderOptions,r.colors,r.compiler,{module:n._module},n.context);n._module.errors.push(...e)}return{outputText:i,sourceMapText:a}}function makeSourceMap(e,t,r,i,a){if(e===undefined){return{output:t,sourceMap:undefined}}return{output:t.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm,""),sourceMap:Object.assign(JSON.parse(e),{sources:[n.getRemainingRequest(a)],file:r,sourcesContent:[i]})}}e.exports=loader},557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(3551);const i=r(5747);const a=r(5622);const o=r(6619);const s=r(7464);const c=r(852);const u=r(9635);const l=r(3686);const f=r(9674);const d=r(6507);const p=r(573);const g={};function getTypeScriptInstance(e,t){if(g.hasOwnProperty(e.instance)){const t=g[e.instance];d.ensureProgram(t);return{instance:g[e.instance]}}const r=new n.default.constructor({enabled:e.colors});const i=l.makeLogger(e,r);const a=s.getCompiler(e,i);if(a.errorMessage!==undefined){return{error:d.makeError(r.red(a.errorMessage),undefined)}}return successfulTypeScriptInstance(e,t,i,r,a.compiler,a.compilerCompatible,a.compilerDetailsLogMessage)}t.getTypeScriptInstance=getTypeScriptInstance;function successfulTypeScriptInstance(e,t,r,n,l,_,m){const y=c.getConfigFile(l,n,t,e,_,r,m);if(y.configFileError!==undefined){const{message:e,file:t}=y.configFileError;return{error:d.makeError(n.red("error while reading tsconfig.json:"+u.EOL+e),t)}}const{configFilePath:h,configFile:v}=y;const T=e.context||a.dirname(h||"");const S=c.getConfigParseResult(l,v,T);if(S.errors.length>0&&!e.happyPackMode){const r=d.formatErrors(S.errors,e,n,l,{file:h},t.context);t._module.errors.push(...r);return{error:d.makeError(n.red("error while parsing tsconfig.json"),h)}}const b=s.getCompilerOptions(S);const x=new Map;const C=new Map;let{getCustomTransformers:E}=e;let D=Function.prototype;if(typeof E==="function"){D=E}else if(typeof E==="string"){try{E=require(E)}catch(t){throw new Error(`Failed to load customTransformers from "${e.getCustomTransformers}": ${t.message}`)}if(typeof E!=="function"){throw new Error(`Custom transformers in "${e.getCustomTransformers}" should export a function, got ${typeof D}`)}D=E}if(e.transpileOnly){const r=S.projectReferences!==undefined?l.createProgram({rootNames:S.fileNames,options:S.options,projectReferences:S.projectReferences}):l.createProgram([],b);if(!e.happyPackMode){const i=r.getOptionsDiagnostics();const a=d.formatErrors(i,e,n,l,{file:h||"tsconfig.json"},t.context);t._module.errors.push(...a)}g[e.instance]={compiler:l,compilerOptions:b,loaderOptions:e,files:x,otherFiles:C,program:r,dependencyGraph:{},reverseDependencyGraph:{},transformers:D(),colors:n};return{instance:g[e.instance]}}let k;try{const t=e.onlyCompileBundledFiles?S.fileNames.filter(e=>u.dtsDtsxOrDtsDtsxMapRegex.test(e)):S.fileNames;t.forEach(e=>{k=a.normalize(e);x.set(k,{text:i.readFileSync(k,"utf-8"),version:0})})}catch(e){return{error:d.makeError(n.red(`A file specified in tsconfig.json could not be found: ${k}`),k)}}const N=S.options.allowJs===true?/\.tsx?$|\.jsx?$/i:/\.tsx?$/i;const A=g[e.instance]={compiler:l,compilerOptions:b,loaderOptions:e,files:x,otherFiles:C,languageService:null,version:0,transformers:D(),dependencyGraph:{},reverseDependencyGraph:{},modifiedFiles:null,colors:n};if(!t._compiler.hooks){throw new Error("You may be using an old version of webpack; please check you're using at least version 4")}if(e.experimentalWatchApi&&l.createWatchProgram){r.logInfo("Using watch api");A.watchHost=f.makeWatchHost(N,r,t,A,e.appendTsSuffixTo,e.appendTsxSuffixTo,S.projectReferences);A.watchOfFilesAndCompilerOptions=l.createWatchProgram(A.watchHost);A.program=A.watchOfFilesAndCompilerOptions.getProgram().getProgram()}else{const n=f.makeServicesHost(N,r,t,A,e.experimentalFileCaching,S.projectReferences);A.languageService=l.createLanguageService(n.servicesHost,l.createDocumentRegistry());if(n.clearCache!==null){t._compiler.hooks.watchRun.tap("ts-loader",n.clearCache)}}t._compiler.hooks.afterCompile.tapAsync("ts-loader",o.makeAfterCompile(A,h));t._compiler.hooks.watchRun.tapAsync("ts-loader",p.makeWatchRun(A));return{instance:A}}function getEmitOutput(e,t){const r=d.ensureProgram(e);if(r!==undefined){const n=[];const i=(e,t,r)=>n.push({name:e,writeByteOrderMark:r,text:t});const a=r.getSourceFile(t);if(a!==undefined||!d.isUsingProjectReferences(e)){r.emit(a,i,undefined,false,e.transformers)}return n}else{return e.languageService.getProgram().getSourceFile(t)===undefined?[]:e.languageService.getEmitOutput(t).outputFiles}}t.getEmitOutput=getEmitOutput},3686:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(7082);var i;(function(e){e[e["INFO"]=1]="INFO";e[e["WARN"]=2]="WARN";e[e["ERROR"]=3]="ERROR"})(i||(i={}));const a=new n.Console(process.stderr);const o=new n.Console(process.stdout);const s=e=>{};const c=e=>e.silent?(e,t)=>{}:(e,t)=>console.log.call(e,t);const u=(e,t)=>r=>t(e.logInfoToStdOut?o:a,r);const l=(e,t,r)=>i[e.logLevel]<=i.INFO?n=>t(e.logInfoToStdOut?o:a,r(n)):s;const f=(e,t,r)=>i[e.logLevel]<=i.ERROR?e=>t(a,r(e)):s;const d=(e,t,r)=>i[e.logLevel]<=i.WARN?e=>t(a,r(e)):s;function makeLogger(e,t){const r=c(e);return{log:u(e,r),logInfo:l(e,r,t.green),logWarning:d(e,r,t.yellow),logError:f(e,r,t.red)}}t.makeLogger=makeLogger},8535:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(1324);function makeResolver(e){return n.create.sync(e.resolve)}t.makeResolver=makeResolver},9674:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(5622);const i=r(9635);const a=r(8535);const o=r(6507);function makeServicesHost(e,t,r,s,c,u){const{compiler:l,compilerOptions:f,files:d,loaderOptions:{appendTsSuffixTo:p,appendTsxSuffixTo:g,resolveModuleName:_}}=s;const m=f.newLine===i.CarriageReturnLineFeedCode?i.CarriageReturnLineFeed:f.newLine===i.LineFeedCode?i.LineFeed:i.EOL;const y=a.makeResolver(r._compiler.options);const h=(e,t)=>l.sys.readFile(e,t)||o.readFile(e,t);const v=e=>l.sys.fileExists(e)||o.readFile(e)!==undefined;const T={fileExists:v,readFile:h,realpath:l.sys.realpath,directoryExists:l.sys.directoryExists};const S=c?addCache(T):null;const b=()=>r.context;const x={getProjectVersion:()=>`${s.version}`,getProjectReferences:()=>u,getScriptFileNames:()=>[...d.keys()].filter(t=>t.match(e)),getScriptVersion:e=>{e=n.normalize(e);const t=d.get(e);return t===undefined?"":t.version.toString()},getScriptSnapshot:e=>{e=n.normalize(e);let t=d.get(e);if(t===undefined){const r=o.readFile(e);if(r===undefined){return undefined}t={version:0,text:r};d.set(e,t)}return l.ScriptSnapshot.fromString(t.text)},getDirectories:l.sys.getDirectories,directoryExists:T.directoryExists,useCaseSensitiveFileNames:()=>l.sys.useCaseSensitiveFileNames,realpath:T.realpath,fileExists:T.fileExists,readFile:T.readFile,readDirectory:l.sys.readDirectory,getCurrentDirectory:b,getCompilationSettings:()=>f,getDefaultLibFileName:e=>l.getDefaultLibFilePath(e),getNewLine:()=>m,trace:t.log,log:t.log,resolveModuleNames:(t,r)=>resolveModuleNames(y,T,p,g,e,s,t,r,getResolutionStrategy,_),getCustomTransformers:()=>s.transformers};return{servicesHost:x,clearCache:S}}t.makeServicesHost=makeServicesHost;function makeWatchHost(e,t,r,s,c,u,l){const{compiler:f,compilerOptions:d,files:p,otherFiles:g}=s;const _=d.newLine===i.CarriageReturnLineFeedCode?i.CarriageReturnLineFeed:d.newLine===i.LineFeedCode?i.LineFeed:i.EOL;const m=a.makeResolver(r._compiler.options);const y=(e,t)=>f.sys.readFile(e,t)||o.readFile(e,t);const h={fileExists:fileExists,readFile:y,realpath:f.sys.realpath};const v=()=>r.context;const T={};const S={};const b={};const x={rootFiles:getRootFileNames(),options:d,useCaseSensitiveFileNames:()=>f.sys.useCaseSensitiveFileNames,getNewLine:()=>_,getCurrentDirectory:v,getDefaultLibFileName:e=>f.getDefaultLibFilePath(e),fileExists:fileExists,readFile:readFileWithCachingText,directoryExists:e=>f.sys.directoryExists(n.normalize(e)),getDirectories:e=>f.sys.getDirectories(n.normalize(e)),readDirectory:(e,t,r,i,a)=>f.sys.readDirectory(n.normalize(e),t,r,i,a),realpath:e=>f.sys.resolvePath(n.normalize(e)),trace:e=>t.log(e),watchFile:watchFile,watchDirectory:watchDirectory,resolveModuleNames:(t,r)=>resolveModuleNames(m,h,c,u,e,s,t,r,getResolutionStrategy),invokeFileWatcher:invokeFileWatcher,invokeDirectoryWatcher:invokeDirectoryWatcher,updateRootFileNames:()=>{s.changedFilesList=false;if(s.watchOfFilesAndCompilerOptions!==undefined){s.watchOfFilesAndCompilerOptions.updateRootFileNames(getRootFileNames())}},createProgram:l===undefined?f.createAbstractBuilder:createBuilderProgramWithReferences};return x;function getRootFileNames(){return[...p.keys()].filter(t=>t.match(e))}function readFileWithCachingText(e,t){e=n.normalize(e);const r=p.get(e)||g.get(e);if(r!==undefined){return r.text}const i=y(e,t);if(i===undefined){return undefined}g.set(e,{version:0,text:i});return i}function fileExists(e){const t=n.normalize(e);return p.has(t)||f.sys.fileExists(t)}function invokeWatcherCallbacks(e,t,r){if(e!==undefined){const n=e.slice();for(const e of n){e(t,r)}}}function invokeFileWatcher(e,t){e=n.normalize(e);invokeWatcherCallbacks(T[e],e,t)}function invokeDirectoryWatcher(e,t){e=n.normalize(e);invokeWatcherCallbacks(S[e],t);invokeRecursiveDirectoryWatcher(e,t)}function invokeRecursiveDirectoryWatcher(e,t){e=n.normalize(e);invokeWatcherCallbacks(b[e],t);const r=n.dirname(e);if(e!==r){invokeRecursiveDirectoryWatcher(r,t)}}function createWatcher(e,t,r){e=n.normalize(e);const i=t[e];if(i===undefined){t[e]=[r]}else{i.push(r)}return{close:()=>{const n=t[e];if(n!==undefined){o.unorderedRemoveItem(n,r)}}}}function watchFile(e,t,r){return createWatcher(e,T,t)}function watchDirectory(e,t,r){return createWatcher(e,r===true?b:S,t)}function createBuilderProgramWithReferences(e,t,r,n,i){const a=f.createProgram({rootNames:e,options:t,host:r,oldProgram:n&&n.getProgram(),configFileParsingDiagnostics:i,projectReferences:l});const o=r;return f.createAbstractBuilder(a,o,n,i)}}t.makeWatchHost=makeWatchHost;function resolveModuleNames(e,t,r,n,i,a,o,s,c,u){const l=o.map(o=>resolveModuleName(e,t,r,n,i,a,o,s,c,u));populateDependencyGraphs(l,a,s);return l}function isJsImplementationOfTypings(e,t){return e.resolvedFileName.endsWith("js")&&/\.d\.ts$/.test(t.resolvedFileName)}function applyTsResolver(e,t,r,n,i){return e.resolveModuleName(t,r,n,i)}function resolveModuleName(e,t,r,i,a,s,c,u,l,f){const{compiler:d,compilerOptions:p}=s;let g;try{const t=e(undefined,n.normalize(n.dirname(u)),c);const s=r.length>0||i.length>0?o.appendSuffixesIfMatch({".ts":r,".tsx":i},t):t;if(s.match(a)!==null){g={resolvedFileName:s,originalFileName:t}}}catch(e){}const _=f!==undefined?f(c,u,p,t,(e,t,r,n)=>applyTsResolver(d,e,t,r,n)):applyTsResolver(d,c,u,p,t);if(_.resolvedModule!==undefined){const e=n.normalize(_.resolvedModule.resolvedFileName);const t={originalFileName:e,resolvedFileName:e,isExternalLibraryImport:_.resolvedModule.isExternalLibraryImport};return l(g,t)}return g}function getResolutionStrategy(e,t){return e===undefined||e.resolvedFileName===t.resolvedFileName||isJsImplementationOfTypings(e,t)?t:e}function populateDependencyGraphs(e,t,r){e=e.filter(e=>e!==null&&e!==undefined);t.dependencyGraph[n.normalize(r)]=e;e.forEach(e=>{if(t.reverseDependencyGraph[e.resolvedFileName]===undefined){t.reverseDependencyGraph[e.resolvedFileName]={}}t.reverseDependencyGraph[e.resolvedFileName][n.normalize(r)]=true})}const s=["fileExists","directoryExists","realpath"];function addCache(e){const t=[];s.forEach(r=>{const n=e[r];if(n!==undefined){const i=createCache(n);e[r]=i.getCached;t.push(i.clear)}});return()=>t.forEach(e=>e())}function createCache(e){const t=new Map;return{clear:()=>{t.clear()},getCached:r=>{let n=t.get(r);if(n!==undefined){return n}n=e(r);t.set(r,n);return n}}}},6507:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(5747);const i=r(4930);const a=r(5622);const o=r(3779);const s=r(9635);function defaultErrorFormatter(e,t){const r=e.severity==="warning"?t.bold.yellow:t.bold.red;return t.grey("[tsl] ")+r(e.severity.toUpperCase())+(e.file===""?"":r(" in ")+t.bold.cyan(`${e.file}(${e.line},${e.character})`))+s.EOL+r(` TS${e.code}: ${e.content}`)}function formatErrors(e,t,r,n,o,c){return e===undefined?[]:e.filter(e=>{if(t.ignoreDiagnostics.indexOf(e.code)!==-1){return false}if(t.reportFiles.length>0&&e.file!==undefined){const r=a.relative(c,e.file.fileName);const n=i([r],t.reportFiles);if(n.length===0){return false}}return true}).map(e=>{const i=e.file;const u=i===undefined?undefined:i.getLineAndCharacterOfPosition(e.start);const l={code:e.code,severity:n.DiagnosticCategory[e.category].toLowerCase(),content:n.flattenDiagnosticMessageText(e.messageText,s.EOL),file:i===undefined?"":a.normalize(i.fileName),line:u===undefined?0:u.line+1,character:u===undefined?0:u.character+1,context:c};const f=t.errorFormatter===undefined?defaultErrorFormatter(l,r):t.errorFormatter(l,r);const d=makeError(f,o.file===undefined?l.file:o.file,u===undefined?undefined:{line:l.line,character:l.character});return Object.assign(d,o)})}t.formatErrors=formatErrors;function readFile(e,t="utf8"){e=a.normalize(e);try{return n.readFileSync(e,t)}catch(e){return undefined}}t.readFile=readFile;function makeError(e,t,r){return{message:e,location:r,file:t,loaderSource:"ts-loader"}}t.makeError=makeError;function appendSuffixIfMatch(e,t,r){if(e.length>0){for(const n of e){if(t.match(n)!==null){return t+r}}}return t}t.appendSuffixIfMatch=appendSuffixIfMatch;function appendSuffixesIfMatch(e,t){let r=t;for(const t in e){r=appendSuffixIfMatch(e[t],r,t)}return r}t.appendSuffixesIfMatch=appendSuffixesIfMatch;function unorderedRemoveItem(e,t){for(let r=0;r{if(!r[t]){collectAllDependants(e,t,r).forEach(e=>n[e]=true)}})}return Object.keys(n)}t.collectAllDependants=collectAllDependants;function collectAllDependencies(e,t,r={}){const n={};n[t]=true;r[t]=true;const i=e[t];if(i!==undefined){i.forEach(t=>{if(!r[t.originalFileName]){collectAllDependencies(e,t.resolvedFileName,r).forEach(e=>n[e]=true)}})}return Object.keys(n)}t.collectAllDependencies=collectAllDependencies;function arrify(e){if(e===null||e===undefined){return[]}return Array.isArray(e)?e:[e]}t.arrify=arrify;function ensureProgram(e){if(e&&e.watchHost){if(e.hasUnaccountedModifiedFiles){if(e.changedFilesList){e.watchHost.updateRootFileNames()}if(e.watchOfFilesAndCompilerOptions){e.program=e.watchOfFilesAndCompilerOptions.getProgram().getProgram()}e.hasUnaccountedModifiedFiles=false}return e.program}if(e.languageService){return e.languageService.getProgram()}return e.program}t.ensureProgram=ensureProgram;function supportsProjectReferences(e){const t=ensureProgram(e);return t&&!!t.getProjectReferences}t.supportsProjectReferences=supportsProjectReferences;function isUsingProjectReferences(e){if(e.loaderOptions.projectReferences&&supportsProjectReferences(e)){const t=ensureProgram(e);return Boolean(t&&t.getProjectReferences())}return false}t.isUsingProjectReferences=isUsingProjectReferences;function getAndCacheProjectReference(e,t){const r=t.files.get(e);if(r!==undefined&&r.projectReference){return r.projectReference.project}const n=getProjectReferenceForFile(e,t);if(r!==undefined){r.projectReference={project:n}}return n}t.getAndCacheProjectReference=getAndCacheProjectReference;function getResolvedProjectReferences(e){const t=e.getResolvedProjectReferences||e.getProjectReferences;if(t){return t()}return}function getProjectReferenceForFile(e,t){if(isUsingProjectReferences(t)){const r=ensureProgram(t);return r&&getResolvedProjectReferences(r).find(t=>t&&t.commandLine.fileNames.some(t=>a.normalize(t)===e)||false)}return}function validateSourceMapOncePerProject(e,t,r,n){const{projectsMissingSourceMaps:i=new Set}=e;if(!i.has(n.sourceFile.fileName)){e.projectsMissingSourceMaps=i;i.add(n.sourceFile.fileName);const o=r+".map";if(!e.compiler.sys.fileExists(o)){const[e,i]=[a.relative(t.rootContext,r),a.relative(t.rootContext,n.sourceFile.fileName)];t.emitWarning(new Error("Could not find source map file for referenced project output "+`${e}. Ensure the 'sourceMap' compiler option `+`is enabled in ${i} to ensure Webpack `+"can map project references to the appropriate source files."))}}}t.validateSourceMapOncePerProject=validateSourceMapOncePerProject;function getAndCacheOutputJSFileName(e,t,r){const n=r.files.get(e);if(n&&n.projectReference&&n.projectReference.outputFileName){return n.projectReference.outputFileName}const i=getOutputJavaScriptFileName(e,t);if(n!==undefined){n.projectReference=n.projectReference||{project:t};n.projectReference.outputFileName=i}return i}t.getAndCacheOutputJSFileName=getAndCacheOutputJSFileName;function getOutputJavaScriptFileName(e,t){const{options:r}=t.commandLine;const n=r.rootDir||a.dirname(t.sourceFile.fileName);const i=a.relative(n,e);const c=a.resolve(r.outDir||n,i);const u=s.jsonRegex.test(e)?".json":s.tsxRegex.test(e)&&r.jsx===o.JsxEmit.Preserve?".jsx":".js";return c.replace(s.extensionRegex,u)}},573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(5622);const i=r(9635);const a=r(6507);function makeWatchRun(e){const t=new Map;const r=0;return(n,a)=>{if(null===e.modifiedFiles){e.modifiedFiles=new Map}const o=n.fileTimestamps;for(const[n,a]of o){if(a>(t.get(n)||r)&&n.match(i.tsTsxJsJsxRegex)!==null){continue}t.set(n,a);updateFile(e,n)}for(const t of e.files.keys()){if(t.match(i.dtsDtsxOrDtsDtsxMapRegex)!==null&&t.match(i.nodeModules)===null){updateFile(e,t)}}a()}}t.makeWatchRun=makeWatchRun;function updateFile(e,t){const r=n.normalize(t);const i=e.files.get(r)||e.otherFiles.get(r);if(i!==undefined){i.text=a.readFile(r)||"";i.version++;e.version++;e.modifiedFiles.set(r,i);if(e.watchHost!==undefined){e.watchHost.invokeFileWatcher(r,e.compiler.FileWatcherEventKind.Changed)}}}},2070:(e,t,r)=>{var n=r(2956);e.exports=n},9577:(e,t,r)=>{"use strict";e=r.nmd(e);const n=r(8215);const i=(e,t)=>(function(){const r=e.apply(n,arguments);return`[${r+t}m`});const a=(e,t)=>(function(){const r=e.apply(n,arguments);return`[${38+t};5;${r}m`});const o=(e,t)=>(function(){const r=e.apply(n,arguments);return`[${38+t};2;${r[0]};${r[1]};${r[2]}m`});function assembleStyles(){const e=new Map;const t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const r of Object.keys(t)){const n=t[r];for(const r of Object.keys(n)){const i=n[r];t[r]={open:`[${i[0]}m`,close:`[${i[1]}m`};n[r]=t[r];e.set(i[0],i[1])}Object.defineProperty(t,r,{value:n,enumerable:false});Object.defineProperty(t,"codes",{value:e,enumerable:false})}const r=e=>e;const s=(e,t,r)=>[e,t,r];t.color.close="";t.bgColor.close="";t.color.ansi={ansi:i(r,0)};t.color.ansi256={ansi256:a(r,0)};t.color.ansi16m={rgb:o(s,0)};t.bgColor.ansi={ansi:i(r,10)};t.bgColor.ansi256={ansi256:a(r,10)};t.bgColor.ansi16m={rgb:o(s,10)};for(let e of Object.keys(n)){if(typeof n[e]!=="object"){continue}const r=n[e];if(e==="ansi16"){e="ansi"}if("ansi16"in r){t.color.ansi[e]=i(r.ansi16,0);t.bgColor.ansi[e]=i(r.ansi16,10)}if("ansi256"in r){t.color.ansi256[e]=a(r.ansi256,0);t.bgColor.ansi256[e]=a(r.ansi256,10)}if("rgb"in r){t.color.ansi16m[e]=o(r.rgb,0);t.bgColor.ansi16m[e]=o(r.rgb,10)}}return t}Object.defineProperty(e,"exports",{enumerable:true,get:assembleStyles})},3551:(e,t,r)=>{"use strict";const n=r(8732);const i=r(9577);const a=r(1816).stdout;const o=r(5333);const s=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm");const c=["ansi","ansi","ansi256","ansi16m"];const u=new Set(["gray"]);const l=Object.create(null);function applyOptions(e,t){t=t||{};const r=a?a.level:0;e.level=t.level===undefined?r:t.level;e.enabled="enabled"in t?t.enabled:e.level>0}function Chalk(e){if(!this||!(this instanceof Chalk)||this.template){const t={};applyOptions(t,e);t.template=function(){const e=[].slice.call(arguments);return chalkTag.apply(null,[t.template].concat(e))};Object.setPrototypeOf(t,Chalk.prototype);Object.setPrototypeOf(t.template,t);t.template.constructor=Chalk;return t.template}applyOptions(this,e)}if(s){i.blue.open=""}for(const e of Object.keys(i)){i[e].closeRe=new RegExp(n(i[e].close),"g");l[e]={get(){const t=i[e];return build.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}}l.visible={get(){return build.call(this,this._styles||[],true,"visible")}};i.color.closeRe=new RegExp(n(i.color.close),"g");for(const e of Object.keys(i.color.ansi)){if(u.has(e)){continue}l[e]={get(){const t=this.level;return function(){const r=i.color[c[t]][e].apply(null,arguments);const n={open:r,close:i.color.close,closeRe:i.color.closeRe};return build.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}i.bgColor.closeRe=new RegExp(n(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi)){if(u.has(e)){continue}const t="bg"+e[0].toUpperCase()+e.slice(1);l[t]={get(){const t=this.level;return function(){const r=i.bgColor[c[t]][e].apply(null,arguments);const n={open:r,close:i.bgColor.close,closeRe:i.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}const f=Object.defineProperties(()=>{},l);function build(e,t,r){const n=function(){return applyStyle.apply(n,arguments)};n._styles=e;n._empty=t;const i=this;Object.defineProperty(n,"level",{enumerable:true,get(){return i.level},set(e){i.level=e}});Object.defineProperty(n,"enabled",{enumerable:true,get(){return i.enabled},set(e){i.enabled=e}});n.hasGrey=this.hasGrey||r==="gray"||r==="grey";n.__proto__=f;return n}function applyStyle(){const e=arguments;const t=e.length;let r=String(arguments[0]);if(t===0){return""}if(t>1){for(let n=1;n{"use strict";const t=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;const r=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;const n=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;const i=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;const a=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function unescape(e){if(e[0]==="u"&&e.length===5||e[0]==="x"&&e.length===3){return String.fromCharCode(parseInt(e.slice(1),16))}return a.get(e)||e}function parseArguments(e,t){const r=[];const a=t.trim().split(/\s*,\s*/g);let o;for(const t of a){if(!isNaN(t)){r.push(Number(t))}else if(o=t.match(n)){r.push(o[2].replace(i,(e,t,r)=>t?unescape(t):r))}else{throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`)}}return r}function parseStyle(e){r.lastIndex=0;const t=[];let n;while((n=r.exec(e))!==null){const e=n[1];if(n[2]){const r=parseArguments(e,n[2]);t.push([e].concat(r))}else{t.push([e])}}return t}function buildStyle(e,t){const r={};for(const e of t){for(const t of e.styles){r[t[0]]=e.inverse?null:t.slice(1)}}let n=e;for(const e of Object.keys(r)){if(Array.isArray(r[e])){if(!(e in n)){throw new Error(`Unknown Chalk style: ${e}`)}if(r[e].length>0){n=n[e].apply(n,r[e])}else{n=n[e]}}}return n}e.exports=((e,r)=>{const n=[];const i=[];let a=[];r.replace(t,(t,r,o,s,c,u)=>{if(r){a.push(unescape(r))}else if(s){const t=a.join("");a=[];i.push(n.length===0?t:buildStyle(e,n)(t));n.push({inverse:o,styles:parseStyle(s)})}else if(c){if(n.length===0){throw new Error("Found extraneous } in Chalk template literal")}i.push(buildStyle(e,n)(a.join("")));a=[];n.pop()}else{a.push(u)}});i.push(a.join(""));if(n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${n.length===1?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")})},8394:(e,t,r)=>{"use strict";var n=r(977);var i=r(8586);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},7418:(e,t,r)=>{"use strict";var n=r(8530);var i=r(7954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{"use strict";e.exports=((e,t)=>{t=t||process.argv;const r=e.startsWith("-")?"":e.length===1?"-":"--";const n=t.indexOf(r+e);const i=t.indexOf("--");return n!==-1&&(i===-1?true:n{"use strict";var n=r(1221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},5536:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},4930:(e,t,r)=>{"use strict";var n=r(1669);var i=r(4495);var a=r(9532);var o=r(7418);var s=r(7111);var c=r(9841);var u=r(4832);var l=r(5463);var f=1024*64;function micromatch(e,t,r){t=l.arrayify(t);e=l.arrayify(e);var n=t.length;if(e.length===0||n===0){return[]}if(n===1){return micromatch.match(e,t[0],r)}var i=[];var a=[];var o=-1;while(++of){throw new Error("expected pattern to be less than "+f+" characters")}function makeRe(){var r=micromatch.create(e,t);var n=[];var i=r.map(function(e){e.ast.state=e.state;n.push(e.ast);return e.output});var o=a(i.join("|"),t);Object.defineProperty(o,"result",{configurable:true,enumerable:false,value:n});return o}return memoize("makeRe",e,t,makeRe)};micromatch.braces=function(e,t){if(typeof e!=="string"&&!Array.isArray(e)){throw new TypeError("expected pattern to be an array or string")}function expand(){if(t&&t.nobrace===true||!/\{.*\}/.test(e)){return l.arrayify(e)}return i(e,t)}return memoize("braces",e,t,expand)};micromatch.braceExpand=function(e,t){var r=o({},t,{expand:true});return micromatch.braces(e,r)};micromatch.create=function(e,t){return memoize("create",e,t,function(){function create(e,t){return micromatch.compile(micromatch.parse(e,t),t)}e=micromatch.braces(e,t);var r=e.length;var n=-1;var i=[];while(++n{e.exports=new(r(9111))},7111:(e,t,r)=>{"use strict";var n=r(5434);var i=r(2655);e.exports=function(e){var t=e.compiler.compilers;var r=e.options;e.use(n.compilers);var a=t.escape;var o=t.qmark;var s=t.slash;var c=t.star;var u=t.text;var l=t.plus;var f=t.dot;if(r.extglob===false||r.noext===true){e.compiler.use(escapeExtglobs)}else{e.use(i.compilers)}e.use(function(){this.options.star=this.options.star||function(){return"[^\\\\/]*?"}});e.compiler.set("dot",f).set("escape",a).set("plus",l).set("slash",s).set("qmark",o).set("star",c).set("text",u)};function escapeExtglobs(e){e.set("paren",function(e){var t="";visit(e,function(e){if(e.val)t+=(/^\W/.test(e.val)?"\\":"")+e.val});return this.emit(t,e)});function visit(e,t){return e.nodes?mapVisit(e.nodes,t):t(e)}function mapVisit(e,t){var r=e.length;var n=-1;while(++n{"use strict";var n=r(2655);var i=r(5434);var a=r(3089);var o=r(9532);var s;var c="([!@*?+]?\\(|\\)|\\[:?(?=.*?:?\\])|:?\\]|[*+?!^$.\\\\/])+";var u=function(e){return s||(s=textRegex(c))};e.exports=function(e){var t=e.parser.parsers;e.use(i.parsers);var r=t.escape;var a=t.slash;var o=t.qmark;var s=t.plus;var c=t.star;var l=t.dot;e.use(n.parsers);e.parser.use(function(){this.notRegex=/^\!+(?!\()/}).capture("escape",r).capture("slash",a).capture("qmark",o).capture("star",c).capture("plus",s).capture("dot",l).capture("text",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(u(this.options));if(!t||!t[0])return;var r=t[0].replace(/([[\]^$])/g,"\\$1");return e({type:"text",val:r})})};function textRegex(e){var t=a.create(e,{contains:true,strictClose:false});var r="(?:[\\^]|\\\\|";return o(r+t+")",{strictClose:false})}},5463:(e,t,r)=>{"use strict";var n=e.exports;var i=r(5622);var a=r(9769);n.define=r(8394);n.diff=r(6253);n.extend=r(7418);n.pick=r(5767);n.typeOf=r(5536);n.unique=r(6974);n.isWindows=function(){return i.sep==="\\"||process.platform==="win32"};n.instantiate=function(e,t){var r;if(n.typeOf(e)==="object"&&e.snapdragon){r=e.snapdragon}else if(n.typeOf(t)==="object"&&t.snapdragon){r=t.snapdragon}else{r=new a(t)}n.define(r,"parse",function(e,t){var r=a.prototype.parse.apply(this,arguments);r.input=e;var i=this.parser.stack.pop();if(i&&this.options.strictErrors!==true){var o=i.nodes[0];var s=i.nodes[1];if(i.type==="bracket"){if(s.val.charAt(0)==="["){s.val="\\"+s.val}}else{o.val="\\"+o.val;var c=o.parent.nodes[1];if(c.type==="star"){c.loose=true}}}n.define(r,"parser",this.parser);return r});return r};n.createKey=function(e,t){if(n.typeOf(t)!=="object"){return e}var r=e;var i=Object.keys(t);for(var a=0;a{"use strict";const n=r(2087);const i=r(7239);const a=process.env;let o;if(i("no-color")||i("no-colors")||i("color=false")){o=false}else if(i("color")||i("colors")||i("color=true")||i("color=always")){o=true}if("FORCE_COLOR"in a){o=a.FORCE_COLOR.length===0||parseInt(a.FORCE_COLOR,10)!==0}function translateLevel(e){if(e===0){return false}return{level:e,hasBasic:true,has256:e>=2,has16m:e>=3}}function supportsColor(e){if(o===false){return 0}if(i("color=16m")||i("color=full")||i("color=truecolor")){return 3}if(i("color=256")){return 2}if(e&&!e.isTTY&&o!==true){return 0}const t=o?1:0;if(process.platform==="win32"){const e=n.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in a){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in a)||a.CI_NAME==="codeship"){return 1}return t}if("TEAMCITY_VERSION"in a){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(a.TEAMCITY_VERSION)?1:0}if(a.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(a.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)){return 1}if("COLORTERM"in a){return 1}if(a.TERM==="dumb"){return t}return t}function getSupportLevel(e){const t=supportsColor(e);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},3779:function(e,t,r){"use strict";var n=this&&this.__assign||function(){n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(o[0]===6||o[0]===2)){r=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]=0;r--){var n=e[r];if(t(n,r)){return n}}return undefined}e.findLast=findLast;function findIndex(e,t,r){for(var n=r||0;n=0;n--){if(t(e[n],n)){return n}}return-1}e.findLastIndex=findLastIndex;function findMap(e,t){for(var r=0;r0}}return false}e.some=some;function getRangesWhere(e,t,r){var n;for(var i=0;i0){n.assertGreaterThanOrEqual(r(t[o],t[o-1]),0)}t:for(var s=a;as){n.assertGreaterThanOrEqual(r(e[a],e[a-1]),0)}switch(r(t[o],e[a])){case-1:i.push(t[o]);continue e;case 0:continue e;case 1:continue t}}}return i}e.relativeComplement=relativeComplement;function sum(e,t){var r=0;for(var n=0,i=e;n>1);var c=r(e[s]);switch(n(c,t)){case-1:a=s+1;break;case 0:return s;case 1:o=s-1;break}}return~a}e.binarySearchKey=binarySearchKey;function reduceLeft(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=n===undefined||n<0?0:n;var s=i===undefined||o+i>a-1?a-1:o+i;var c=void 0;if(arguments.length<=2){c=e[o];o++}else{c=r}while(o<=s){c=t(c,e[o],o);o++}return c}}return r}e.reduceLeft=reduceLeft;var t=Object.prototype.hasOwnProperty;function hasProperty(e,r){return t.call(e,r)}e.hasProperty=hasProperty;function getProperty(e,r){return t.call(e,r)?e[r]:undefined}e.getProperty=getProperty;function getOwnKeys(e){var r=[];for(var n in e){if(t.call(e,n)){r.push(n)}}return r}e.getOwnKeys=getOwnKeys;function getOwnValues(e){var r=[];for(var n in e){if(t.call(e,n)){r.push(e[n])}}return r}e.getOwnValues=getOwnValues;function arrayFrom(e,t){var r;var n=[];for(var i=e.next(),a=i.value,o=i.done;!o;r=e.next(),a=r.value,o=r.done,r){n.push(t?t(a):a)}return n}e.arrayFrom=arrayFrom;function assign(e){var t=[];for(var r=1;r=t}e.shouldAssert=shouldAssert;function assert(e,t,r,n){if(!e){if(r){t+="\r\nVerbose Debug Information: "+(typeof r==="string"?r:r())}fail(t?"False expression: "+t:"False expression.",n||assert)}}e.assert=assert;function assertEqual(e,t,r,n){if(e!==t){var i=r?n?r+" "+n:r:"";fail("Expected "+e+" === "+t+". "+i)}}e.assertEqual=assertEqual;function assertLessThan(e,t,r){if(e>=t){fail("Expected "+e+" < "+t+". "+(r||""))}}e.assertLessThan=assertLessThan;function assertLessThanOrEqual(e,t){if(e>t){fail("Expected "+e+" <= "+t)}}e.assertLessThanOrEqual=assertLessThanOrEqual;function assertGreaterThanOrEqual(e,t){if(e= "+t)}}e.assertGreaterThanOrEqual=assertGreaterThanOrEqual;function fail(e,t){debugger;var r=new Error(e?"Debug Failure. "+e:"Debug Failure.");if(Error.captureStackTrace){Error.captureStackTrace(r,t||fail)}throw r}e.fail=fail;function assertDefined(e,t){if(e===undefined||e===null)return fail(t);return e}e.assertDefined=assertDefined;function assertEachDefined(e,t){for(var r=0,n=e;rt?1:0}e.compareStringsCaseInsensitive=compareStringsCaseInsensitive;function compareStringsCaseSensitive(e,t){return compareComparableValues(e,t)}e.compareStringsCaseSensitive=compareStringsCaseSensitive;function getStringComparer(e){return e?compareStringsCaseInsensitive:compareStringsCaseSensitive}e.getStringComparer=getStringComparer;var i=function(){var e;var t;var r=getStringComparerFactory();return createStringComparer;function compareWithCallback(e,t,r){if(e===t)return 0;if(e===undefined)return-1;if(t===undefined)return 1;var n=r(e,t);return n<0?-1:n>0?1:0}function createIntlCollatorStringComparer(e){var t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant"}).compare;return function(e,r){return compareWithCallback(e,r,t)}}function createLocaleCompareStringComparer(e){if(e!==undefined)return createFallbackStringComparer();return function(e,t){return compareWithCallback(e,t,compareStrings)};function compareStrings(e,t){return e.localeCompare(t)}}function createFallbackStringComparer(){return function(e,t){return compareWithCallback(e,t,compareDictionaryOrder)};function compareDictionaryOrder(e,t){return compareStrings(e.toUpperCase(),t.toUpperCase())||compareStrings(e,t)}function compareStrings(e,t){return et?1:0}}function getStringComparerFactory(){if(typeof Intl==="object"&&typeof Intl.Collator==="function"){return createIntlCollatorStringComparer}if(typeof String.prototype.localeCompare==="function"&&typeof String.prototype.toLocaleUpperCase==="function"&&"a".localeCompare("B")<0){return createLocaleCompareStringComparer}return createFallbackStringComparer}function createStringComparer(n){if(n===undefined){return e||(e=r(n))}else if(n==="en-US"){return t||(t=r(n))}else{return r(n)}}}();var a;var o;function getUILocale(){return o}e.getUILocale=getUILocale;function setUILocale(e){if(o!==e){o=e;a=undefined}}e.setUILocale=setUILocale;function compareStringsCaseSensitiveUI(e,t){var r=a||(a=i(o));return r(e,t)}e.compareStringsCaseSensitiveUI=compareStringsCaseSensitiveUI;function compareProperties(e,t,r,n){return e===t?0:e===undefined?-1:t===undefined?1:n(e[r],t[r])}e.compareProperties=compareProperties;function compareBooleans(e,t){return compareValues(e?1:0,t?1:0)}e.compareBooleans=compareBooleans;function getSpellingSuggestion(e,t,r){var i=Math.min(2,Math.floor(e.length*.34));var a=Math.floor(e.length*.4)+1;var o;var s=false;var c=e.toLowerCase();for(var u=0,l=t;ur?o-r:1;var u=t.length>r+o?r+o:t.length;i[0]=o;var l=o;for(var f=1;fr){return undefined}var p=n;n=i;i=p}var g=n[t.length];return g>r?undefined:g}function endsWith(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}e.endsWith=endsWith;function removeSuffix(e,t){return endsWith(e,t)?e.slice(0,e.length-t.length):e}e.removeSuffix=removeSuffix;function tryRemoveSuffix(e,t){return endsWith(e,t)?e.slice(0,e.length-t.length):undefined}e.tryRemoveSuffix=tryRemoveSuffix;function stringContains(e,t){return e.indexOf(t)!==-1}e.stringContains=stringContains;function fileExtensionIs(e,t){return e.length>t.length&&endsWith(e,t)}e.fileExtensionIs=fileExtensionIs;function fileExtensionIsOneOf(e,t){for(var r=0,n=t;ri){i=c.prefix.length;n=s}}return n}e.findBestPatternMatch=findBestPatternMatch;function startsWith(e,t){return e.lastIndexOf(t,0)===0}e.startsWith=startsWith;function removePrefix(e,t){return startsWith(e,t)?e.substr(t.length):e}e.removePrefix=removePrefix;function tryRemovePrefix(e,t,r){if(r===void 0){r=identity}return startsWith(r(e),r(t))?e.substring(t.length):undefined}e.tryRemovePrefix=tryRemovePrefix;function isPatternMatch(e,t){var r=e.prefix,n=e.suffix;return t.length>=r.length+n.length&&startsWith(t,r)&&endsWith(t,n)}function and(e,t){return function(r){return e(r)&&t(r)}}e.and=and;function or(e,t){return function(r){return e(r)||t(r)}}e.or=or;function assertType(e){}e.assertType=assertType;function singleElementArray(e){return e===undefined?undefined:[e]}e.singleElementArray=singleElementArray;function enumerateInsertsAndDeletes(e,t,r,n,i,a){a=a||noop;var o=0;var s=0;var c=e.length;var u=t.length;while(o=0,"Invalid argument: major");e.Debug.assert(i>=0,"Invalid argument: minor");e.Debug.assert(a>=0,"Invalid argument: patch");e.Debug.assert(!o||r.test(o),"Invalid argument: prerelease");e.Debug.assert(!s||n.test(s),"Invalid argument: build");this.major=t;this.minor=i;this.patch=a;this.prerelease=o?o.split("."):e.emptyArray;this.build=s?s.split("."):e.emptyArray}Version.tryParse=function(e){var t=tryParseComponents(e);if(!t)return undefined;var r=t.major,n=t.minor,i=t.patch,a=t.prerelease,o=t.build;return new Version(r,n,i,a,o)};Version.prototype.compareTo=function(t){if(this===t)return 0;if(t===undefined)return 1;return e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||comparePrerelaseIdentifiers(this.prerelease,t.prerelease)};Version.prototype.increment=function(t){switch(t){case"major":return new Version(this.major+1,0,0);case"minor":return new Version(this.major,this.minor+1,0);case"patch":return new Version(this.major,this.minor,this.patch+1);default:return e.Debug.assertNever(t)}};Version.prototype.toString=function(){var t=this.major+"."+this.minor+"."+this.patch;if(e.some(this.prerelease))t+="-"+this.prerelease.join(".");if(e.some(this.build))t+="+"+this.build.join(".");return t};Version.zero=new Version(0,0,0);return Version}();e.Version=a;function tryParseComponents(e){var i=t.exec(e);if(!i)return undefined;var a=i[1],o=i[2],s=o===void 0?"0":o,c=i[3],u=c===void 0?"0":c,l=i[4],f=l===void 0?"":l,d=i[5],p=d===void 0?"":d;if(f&&!r.test(f))return undefined;if(p&&!n.test(p))return undefined;return{major:parseInt(a,10),minor:parseInt(s,10),patch:parseInt(u,10),prerelease:f,build:p}}function comparePrerelaseIdentifiers(t,r){if(t===r)return 0;if(t.length===0)return r.length===0?0:1;if(r.length===0)return-1;var n=Math.min(t.length,r.length);for(var a=0;a|>=|=)?\s*([a-z0-9-+.*]+)$/i;function parseRange(e){var t=[];for(var r=0,n=e.trim().split(s);r=",n.version))}if(!isWildcard(i.major)){r.push(isWildcard(i.minor)?createComparator("<",i.version.increment("major")):isWildcard(i.patch)?createComparator("<",i.version.increment("minor")):createComparator("<=",i.version))}return true}function parseComparator(e,t,r){var n=parsePartial(t);if(!n)return false;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(!isWildcard(o)){switch(e){case"~":r.push(createComparator(">=",i));r.push(createComparator("<",i.increment(isWildcard(s)?"major":"minor")));break;case"^":r.push(createComparator(">=",i));r.push(createComparator("<",i.increment(i.major>0||isWildcard(s)?"major":i.minor>0||isWildcard(c)?"minor":"patch")));break;case"<":case">=":r.push(createComparator(e,i));break;case"<=":case">":r.push(isWildcard(s)?createComparator(e==="<="?"<":">=",i.increment("major")):isWildcard(c)?createComparator(e==="<="?"<":">=",i.increment("minor")):createComparator(e,i));break;case"=":case undefined:if(isWildcard(s)||isWildcard(c)){r.push(createComparator(">=",i));r.push(createComparator("<",i.increment(isWildcard(s)?"major":"minor")))}else{r.push(createComparator("=",i))}break;default:return false}}else if(e==="<"||e===">"){r.push(createComparator("<",a.zero))}return true}function isWildcard(e){return e==="*"||e==="x"||e==="X"}function createComparator(e,t){return{operator:e,operand:t}}function testDisjunction(e,t){if(t.length===0)return true;for(var r=0,n=t;r":return i>0;case">=":return i>=0;case"=":return i===0;default:return e.Debug.assertNever(r)}}function formatDisjunction(t){return e.map(t,formatAlternative).join(" || ")||"*"}function formatAlternative(t){return e.map(t,formatComparator).join(" ")}function formatComparator(e){return""+e.operator+e.operand}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["Unknown"]=0]="Unknown";e[e["EndOfFileToken"]=1]="EndOfFileToken";e[e["SingleLineCommentTrivia"]=2]="SingleLineCommentTrivia";e[e["MultiLineCommentTrivia"]=3]="MultiLineCommentTrivia";e[e["NewLineTrivia"]=4]="NewLineTrivia";e[e["WhitespaceTrivia"]=5]="WhitespaceTrivia";e[e["ShebangTrivia"]=6]="ShebangTrivia";e[e["ConflictMarkerTrivia"]=7]="ConflictMarkerTrivia";e[e["NumericLiteral"]=8]="NumericLiteral";e[e["BigIntLiteral"]=9]="BigIntLiteral";e[e["StringLiteral"]=10]="StringLiteral";e[e["JsxText"]=11]="JsxText";e[e["JsxTextAllWhiteSpaces"]=12]="JsxTextAllWhiteSpaces";e[e["RegularExpressionLiteral"]=13]="RegularExpressionLiteral";e[e["NoSubstitutionTemplateLiteral"]=14]="NoSubstitutionTemplateLiteral";e[e["TemplateHead"]=15]="TemplateHead";e[e["TemplateMiddle"]=16]="TemplateMiddle";e[e["TemplateTail"]=17]="TemplateTail";e[e["OpenBraceToken"]=18]="OpenBraceToken";e[e["CloseBraceToken"]=19]="CloseBraceToken";e[e["OpenParenToken"]=20]="OpenParenToken";e[e["CloseParenToken"]=21]="CloseParenToken";e[e["OpenBracketToken"]=22]="OpenBracketToken";e[e["CloseBracketToken"]=23]="CloseBracketToken";e[e["DotToken"]=24]="DotToken";e[e["DotDotDotToken"]=25]="DotDotDotToken";e[e["SemicolonToken"]=26]="SemicolonToken";e[e["CommaToken"]=27]="CommaToken";e[e["LessThanToken"]=28]="LessThanToken";e[e["LessThanSlashToken"]=29]="LessThanSlashToken";e[e["GreaterThanToken"]=30]="GreaterThanToken";e[e["LessThanEqualsToken"]=31]="LessThanEqualsToken";e[e["GreaterThanEqualsToken"]=32]="GreaterThanEqualsToken";e[e["EqualsEqualsToken"]=33]="EqualsEqualsToken";e[e["ExclamationEqualsToken"]=34]="ExclamationEqualsToken";e[e["EqualsEqualsEqualsToken"]=35]="EqualsEqualsEqualsToken";e[e["ExclamationEqualsEqualsToken"]=36]="ExclamationEqualsEqualsToken";e[e["EqualsGreaterThanToken"]=37]="EqualsGreaterThanToken";e[e["PlusToken"]=38]="PlusToken";e[e["MinusToken"]=39]="MinusToken";e[e["AsteriskToken"]=40]="AsteriskToken";e[e["AsteriskAsteriskToken"]=41]="AsteriskAsteriskToken";e[e["SlashToken"]=42]="SlashToken";e[e["PercentToken"]=43]="PercentToken";e[e["PlusPlusToken"]=44]="PlusPlusToken";e[e["MinusMinusToken"]=45]="MinusMinusToken";e[e["LessThanLessThanToken"]=46]="LessThanLessThanToken";e[e["GreaterThanGreaterThanToken"]=47]="GreaterThanGreaterThanToken";e[e["GreaterThanGreaterThanGreaterThanToken"]=48]="GreaterThanGreaterThanGreaterThanToken";e[e["AmpersandToken"]=49]="AmpersandToken";e[e["BarToken"]=50]="BarToken";e[e["CaretToken"]=51]="CaretToken";e[e["ExclamationToken"]=52]="ExclamationToken";e[e["TildeToken"]=53]="TildeToken";e[e["AmpersandAmpersandToken"]=54]="AmpersandAmpersandToken";e[e["BarBarToken"]=55]="BarBarToken";e[e["QuestionToken"]=56]="QuestionToken";e[e["ColonToken"]=57]="ColonToken";e[e["AtToken"]=58]="AtToken";e[e["EqualsToken"]=59]="EqualsToken";e[e["PlusEqualsToken"]=60]="PlusEqualsToken";e[e["MinusEqualsToken"]=61]="MinusEqualsToken";e[e["AsteriskEqualsToken"]=62]="AsteriskEqualsToken";e[e["AsteriskAsteriskEqualsToken"]=63]="AsteriskAsteriskEqualsToken";e[e["SlashEqualsToken"]=64]="SlashEqualsToken";e[e["PercentEqualsToken"]=65]="PercentEqualsToken";e[e["LessThanLessThanEqualsToken"]=66]="LessThanLessThanEqualsToken";e[e["GreaterThanGreaterThanEqualsToken"]=67]="GreaterThanGreaterThanEqualsToken";e[e["GreaterThanGreaterThanGreaterThanEqualsToken"]=68]="GreaterThanGreaterThanGreaterThanEqualsToken";e[e["AmpersandEqualsToken"]=69]="AmpersandEqualsToken";e[e["BarEqualsToken"]=70]="BarEqualsToken";e[e["CaretEqualsToken"]=71]="CaretEqualsToken";e[e["Identifier"]=72]="Identifier";e[e["BreakKeyword"]=73]="BreakKeyword";e[e["CaseKeyword"]=74]="CaseKeyword";e[e["CatchKeyword"]=75]="CatchKeyword";e[e["ClassKeyword"]=76]="ClassKeyword";e[e["ConstKeyword"]=77]="ConstKeyword";e[e["ContinueKeyword"]=78]="ContinueKeyword";e[e["DebuggerKeyword"]=79]="DebuggerKeyword";e[e["DefaultKeyword"]=80]="DefaultKeyword";e[e["DeleteKeyword"]=81]="DeleteKeyword";e[e["DoKeyword"]=82]="DoKeyword";e[e["ElseKeyword"]=83]="ElseKeyword";e[e["EnumKeyword"]=84]="EnumKeyword";e[e["ExportKeyword"]=85]="ExportKeyword";e[e["ExtendsKeyword"]=86]="ExtendsKeyword";e[e["FalseKeyword"]=87]="FalseKeyword";e[e["FinallyKeyword"]=88]="FinallyKeyword";e[e["ForKeyword"]=89]="ForKeyword";e[e["FunctionKeyword"]=90]="FunctionKeyword";e[e["IfKeyword"]=91]="IfKeyword";e[e["ImportKeyword"]=92]="ImportKeyword";e[e["InKeyword"]=93]="InKeyword";e[e["InstanceOfKeyword"]=94]="InstanceOfKeyword";e[e["NewKeyword"]=95]="NewKeyword";e[e["NullKeyword"]=96]="NullKeyword";e[e["ReturnKeyword"]=97]="ReturnKeyword";e[e["SuperKeyword"]=98]="SuperKeyword";e[e["SwitchKeyword"]=99]="SwitchKeyword";e[e["ThisKeyword"]=100]="ThisKeyword";e[e["ThrowKeyword"]=101]="ThrowKeyword";e[e["TrueKeyword"]=102]="TrueKeyword";e[e["TryKeyword"]=103]="TryKeyword";e[e["TypeOfKeyword"]=104]="TypeOfKeyword";e[e["VarKeyword"]=105]="VarKeyword";e[e["VoidKeyword"]=106]="VoidKeyword";e[e["WhileKeyword"]=107]="WhileKeyword";e[e["WithKeyword"]=108]="WithKeyword";e[e["ImplementsKeyword"]=109]="ImplementsKeyword";e[e["InterfaceKeyword"]=110]="InterfaceKeyword";e[e["LetKeyword"]=111]="LetKeyword";e[e["PackageKeyword"]=112]="PackageKeyword";e[e["PrivateKeyword"]=113]="PrivateKeyword";e[e["ProtectedKeyword"]=114]="ProtectedKeyword";e[e["PublicKeyword"]=115]="PublicKeyword";e[e["StaticKeyword"]=116]="StaticKeyword";e[e["YieldKeyword"]=117]="YieldKeyword";e[e["AbstractKeyword"]=118]="AbstractKeyword";e[e["AsKeyword"]=119]="AsKeyword";e[e["AnyKeyword"]=120]="AnyKeyword";e[e["AsyncKeyword"]=121]="AsyncKeyword";e[e["AwaitKeyword"]=122]="AwaitKeyword";e[e["BooleanKeyword"]=123]="BooleanKeyword";e[e["ConstructorKeyword"]=124]="ConstructorKeyword";e[e["DeclareKeyword"]=125]="DeclareKeyword";e[e["GetKeyword"]=126]="GetKeyword";e[e["InferKeyword"]=127]="InferKeyword";e[e["IsKeyword"]=128]="IsKeyword";e[e["KeyOfKeyword"]=129]="KeyOfKeyword";e[e["ModuleKeyword"]=130]="ModuleKeyword";e[e["NamespaceKeyword"]=131]="NamespaceKeyword";e[e["NeverKeyword"]=132]="NeverKeyword";e[e["ReadonlyKeyword"]=133]="ReadonlyKeyword";e[e["RequireKeyword"]=134]="RequireKeyword";e[e["NumberKeyword"]=135]="NumberKeyword";e[e["ObjectKeyword"]=136]="ObjectKeyword";e[e["SetKeyword"]=137]="SetKeyword";e[e["StringKeyword"]=138]="StringKeyword";e[e["SymbolKeyword"]=139]="SymbolKeyword";e[e["TypeKeyword"]=140]="TypeKeyword";e[e["UndefinedKeyword"]=141]="UndefinedKeyword";e[e["UniqueKeyword"]=142]="UniqueKeyword";e[e["UnknownKeyword"]=143]="UnknownKeyword";e[e["FromKeyword"]=144]="FromKeyword";e[e["GlobalKeyword"]=145]="GlobalKeyword";e[e["BigIntKeyword"]=146]="BigIntKeyword";e[e["OfKeyword"]=147]="OfKeyword";e[e["QualifiedName"]=148]="QualifiedName";e[e["ComputedPropertyName"]=149]="ComputedPropertyName";e[e["TypeParameter"]=150]="TypeParameter";e[e["Parameter"]=151]="Parameter";e[e["Decorator"]=152]="Decorator";e[e["PropertySignature"]=153]="PropertySignature";e[e["PropertyDeclaration"]=154]="PropertyDeclaration";e[e["MethodSignature"]=155]="MethodSignature";e[e["MethodDeclaration"]=156]="MethodDeclaration";e[e["Constructor"]=157]="Constructor";e[e["GetAccessor"]=158]="GetAccessor";e[e["SetAccessor"]=159]="SetAccessor";e[e["CallSignature"]=160]="CallSignature";e[e["ConstructSignature"]=161]="ConstructSignature";e[e["IndexSignature"]=162]="IndexSignature";e[e["TypePredicate"]=163]="TypePredicate";e[e["TypeReference"]=164]="TypeReference";e[e["FunctionType"]=165]="FunctionType";e[e["ConstructorType"]=166]="ConstructorType";e[e["TypeQuery"]=167]="TypeQuery";e[e["TypeLiteral"]=168]="TypeLiteral";e[e["ArrayType"]=169]="ArrayType";e[e["TupleType"]=170]="TupleType";e[e["OptionalType"]=171]="OptionalType";e[e["RestType"]=172]="RestType";e[e["UnionType"]=173]="UnionType";e[e["IntersectionType"]=174]="IntersectionType";e[e["ConditionalType"]=175]="ConditionalType";e[e["InferType"]=176]="InferType";e[e["ParenthesizedType"]=177]="ParenthesizedType";e[e["ThisType"]=178]="ThisType";e[e["TypeOperator"]=179]="TypeOperator";e[e["IndexedAccessType"]=180]="IndexedAccessType";e[e["MappedType"]=181]="MappedType";e[e["LiteralType"]=182]="LiteralType";e[e["ImportType"]=183]="ImportType";e[e["ObjectBindingPattern"]=184]="ObjectBindingPattern";e[e["ArrayBindingPattern"]=185]="ArrayBindingPattern";e[e["BindingElement"]=186]="BindingElement";e[e["ArrayLiteralExpression"]=187]="ArrayLiteralExpression";e[e["ObjectLiteralExpression"]=188]="ObjectLiteralExpression";e[e["PropertyAccessExpression"]=189]="PropertyAccessExpression";e[e["ElementAccessExpression"]=190]="ElementAccessExpression";e[e["CallExpression"]=191]="CallExpression";e[e["NewExpression"]=192]="NewExpression";e[e["TaggedTemplateExpression"]=193]="TaggedTemplateExpression";e[e["TypeAssertionExpression"]=194]="TypeAssertionExpression";e[e["ParenthesizedExpression"]=195]="ParenthesizedExpression";e[e["FunctionExpression"]=196]="FunctionExpression";e[e["ArrowFunction"]=197]="ArrowFunction";e[e["DeleteExpression"]=198]="DeleteExpression";e[e["TypeOfExpression"]=199]="TypeOfExpression";e[e["VoidExpression"]=200]="VoidExpression";e[e["AwaitExpression"]=201]="AwaitExpression";e[e["PrefixUnaryExpression"]=202]="PrefixUnaryExpression";e[e["PostfixUnaryExpression"]=203]="PostfixUnaryExpression";e[e["BinaryExpression"]=204]="BinaryExpression";e[e["ConditionalExpression"]=205]="ConditionalExpression";e[e["TemplateExpression"]=206]="TemplateExpression";e[e["YieldExpression"]=207]="YieldExpression";e[e["SpreadElement"]=208]="SpreadElement";e[e["ClassExpression"]=209]="ClassExpression";e[e["OmittedExpression"]=210]="OmittedExpression";e[e["ExpressionWithTypeArguments"]=211]="ExpressionWithTypeArguments";e[e["AsExpression"]=212]="AsExpression";e[e["NonNullExpression"]=213]="NonNullExpression";e[e["MetaProperty"]=214]="MetaProperty";e[e["SyntheticExpression"]=215]="SyntheticExpression";e[e["TemplateSpan"]=216]="TemplateSpan";e[e["SemicolonClassElement"]=217]="SemicolonClassElement";e[e["Block"]=218]="Block";e[e["VariableStatement"]=219]="VariableStatement";e[e["EmptyStatement"]=220]="EmptyStatement";e[e["ExpressionStatement"]=221]="ExpressionStatement";e[e["IfStatement"]=222]="IfStatement";e[e["DoStatement"]=223]="DoStatement";e[e["WhileStatement"]=224]="WhileStatement";e[e["ForStatement"]=225]="ForStatement";e[e["ForInStatement"]=226]="ForInStatement";e[e["ForOfStatement"]=227]="ForOfStatement";e[e["ContinueStatement"]=228]="ContinueStatement";e[e["BreakStatement"]=229]="BreakStatement";e[e["ReturnStatement"]=230]="ReturnStatement";e[e["WithStatement"]=231]="WithStatement";e[e["SwitchStatement"]=232]="SwitchStatement";e[e["LabeledStatement"]=233]="LabeledStatement";e[e["ThrowStatement"]=234]="ThrowStatement";e[e["TryStatement"]=235]="TryStatement";e[e["DebuggerStatement"]=236]="DebuggerStatement";e[e["VariableDeclaration"]=237]="VariableDeclaration";e[e["VariableDeclarationList"]=238]="VariableDeclarationList";e[e["FunctionDeclaration"]=239]="FunctionDeclaration";e[e["ClassDeclaration"]=240]="ClassDeclaration";e[e["InterfaceDeclaration"]=241]="InterfaceDeclaration";e[e["TypeAliasDeclaration"]=242]="TypeAliasDeclaration";e[e["EnumDeclaration"]=243]="EnumDeclaration";e[e["ModuleDeclaration"]=244]="ModuleDeclaration";e[e["ModuleBlock"]=245]="ModuleBlock";e[e["CaseBlock"]=246]="CaseBlock";e[e["NamespaceExportDeclaration"]=247]="NamespaceExportDeclaration";e[e["ImportEqualsDeclaration"]=248]="ImportEqualsDeclaration";e[e["ImportDeclaration"]=249]="ImportDeclaration";e[e["ImportClause"]=250]="ImportClause";e[e["NamespaceImport"]=251]="NamespaceImport";e[e["NamedImports"]=252]="NamedImports";e[e["ImportSpecifier"]=253]="ImportSpecifier";e[e["ExportAssignment"]=254]="ExportAssignment";e[e["ExportDeclaration"]=255]="ExportDeclaration";e[e["NamedExports"]=256]="NamedExports";e[e["ExportSpecifier"]=257]="ExportSpecifier";e[e["MissingDeclaration"]=258]="MissingDeclaration";e[e["ExternalModuleReference"]=259]="ExternalModuleReference";e[e["JsxElement"]=260]="JsxElement";e[e["JsxSelfClosingElement"]=261]="JsxSelfClosingElement";e[e["JsxOpeningElement"]=262]="JsxOpeningElement";e[e["JsxClosingElement"]=263]="JsxClosingElement";e[e["JsxFragment"]=264]="JsxFragment";e[e["JsxOpeningFragment"]=265]="JsxOpeningFragment";e[e["JsxClosingFragment"]=266]="JsxClosingFragment";e[e["JsxAttribute"]=267]="JsxAttribute";e[e["JsxAttributes"]=268]="JsxAttributes";e[e["JsxSpreadAttribute"]=269]="JsxSpreadAttribute";e[e["JsxExpression"]=270]="JsxExpression";e[e["CaseClause"]=271]="CaseClause";e[e["DefaultClause"]=272]="DefaultClause";e[e["HeritageClause"]=273]="HeritageClause";e[e["CatchClause"]=274]="CatchClause";e[e["PropertyAssignment"]=275]="PropertyAssignment";e[e["ShorthandPropertyAssignment"]=276]="ShorthandPropertyAssignment";e[e["SpreadAssignment"]=277]="SpreadAssignment";e[e["EnumMember"]=278]="EnumMember";e[e["SourceFile"]=279]="SourceFile";e[e["Bundle"]=280]="Bundle";e[e["UnparsedSource"]=281]="UnparsedSource";e[e["InputFiles"]=282]="InputFiles";e[e["JSDocTypeExpression"]=283]="JSDocTypeExpression";e[e["JSDocAllType"]=284]="JSDocAllType";e[e["JSDocUnknownType"]=285]="JSDocUnknownType";e[e["JSDocNullableType"]=286]="JSDocNullableType";e[e["JSDocNonNullableType"]=287]="JSDocNonNullableType";e[e["JSDocOptionalType"]=288]="JSDocOptionalType";e[e["JSDocFunctionType"]=289]="JSDocFunctionType";e[e["JSDocVariadicType"]=290]="JSDocVariadicType";e[e["JSDocComment"]=291]="JSDocComment";e[e["JSDocTypeLiteral"]=292]="JSDocTypeLiteral";e[e["JSDocSignature"]=293]="JSDocSignature";e[e["JSDocTag"]=294]="JSDocTag";e[e["JSDocAugmentsTag"]=295]="JSDocAugmentsTag";e[e["JSDocClassTag"]=296]="JSDocClassTag";e[e["JSDocCallbackTag"]=297]="JSDocCallbackTag";e[e["JSDocEnumTag"]=298]="JSDocEnumTag";e[e["JSDocParameterTag"]=299]="JSDocParameterTag";e[e["JSDocReturnTag"]=300]="JSDocReturnTag";e[e["JSDocThisTag"]=301]="JSDocThisTag";e[e["JSDocTypeTag"]=302]="JSDocTypeTag";e[e["JSDocTemplateTag"]=303]="JSDocTemplateTag";e[e["JSDocTypedefTag"]=304]="JSDocTypedefTag";e[e["JSDocPropertyTag"]=305]="JSDocPropertyTag";e[e["SyntaxList"]=306]="SyntaxList";e[e["NotEmittedStatement"]=307]="NotEmittedStatement";e[e["PartiallyEmittedExpression"]=308]="PartiallyEmittedExpression";e[e["CommaListExpression"]=309]="CommaListExpression";e[e["MergeDeclarationMarker"]=310]="MergeDeclarationMarker";e[e["EndOfDeclarationMarker"]=311]="EndOfDeclarationMarker";e[e["Count"]=312]="Count";e[e["FirstAssignment"]=59]="FirstAssignment";e[e["LastAssignment"]=71]="LastAssignment";e[e["FirstCompoundAssignment"]=60]="FirstCompoundAssignment";e[e["LastCompoundAssignment"]=71]="LastCompoundAssignment";e[e["FirstReservedWord"]=73]="FirstReservedWord";e[e["LastReservedWord"]=108]="LastReservedWord";e[e["FirstKeyword"]=73]="FirstKeyword";e[e["LastKeyword"]=147]="LastKeyword";e[e["FirstFutureReservedWord"]=109]="FirstFutureReservedWord";e[e["LastFutureReservedWord"]=117]="LastFutureReservedWord";e[e["FirstTypeNode"]=163]="FirstTypeNode";e[e["LastTypeNode"]=183]="LastTypeNode";e[e["FirstPunctuation"]=18]="FirstPunctuation";e[e["LastPunctuation"]=71]="LastPunctuation";e[e["FirstToken"]=0]="FirstToken";e[e["LastToken"]=147]="LastToken";e[e["FirstTriviaToken"]=2]="FirstTriviaToken";e[e["LastTriviaToken"]=7]="LastTriviaToken";e[e["FirstLiteralToken"]=8]="FirstLiteralToken";e[e["LastLiteralToken"]=14]="LastLiteralToken";e[e["FirstTemplateToken"]=14]="FirstTemplateToken";e[e["LastTemplateToken"]=17]="LastTemplateToken";e[e["FirstBinaryOperator"]=28]="FirstBinaryOperator";e[e["LastBinaryOperator"]=71]="LastBinaryOperator";e[e["FirstNode"]=148]="FirstNode";e[e["FirstJSDocNode"]=283]="FirstJSDocNode";e[e["LastJSDocNode"]=305]="LastJSDocNode";e[e["FirstJSDocTagNode"]=294]="FirstJSDocTagNode";e[e["LastJSDocTagNode"]=305]="LastJSDocTagNode";e[e["FirstContextualKeyword"]=118]="FirstContextualKeyword";e[e["LastContextualKeyword"]=147]="LastContextualKeyword"})(t=e.SyntaxKind||(e.SyntaxKind={}));var r;(function(e){e[e["None"]=0]="None";e[e["Let"]=1]="Let";e[e["Const"]=2]="Const";e[e["NestedNamespace"]=4]="NestedNamespace";e[e["Synthesized"]=8]="Synthesized";e[e["Namespace"]=16]="Namespace";e[e["ExportContext"]=32]="ExportContext";e[e["ContainsThis"]=64]="ContainsThis";e[e["HasImplicitReturn"]=128]="HasImplicitReturn";e[e["HasExplicitReturn"]=256]="HasExplicitReturn";e[e["GlobalAugmentation"]=512]="GlobalAugmentation";e[e["HasAsyncFunctions"]=1024]="HasAsyncFunctions";e[e["DisallowInContext"]=2048]="DisallowInContext";e[e["YieldContext"]=4096]="YieldContext";e[e["DecoratorContext"]=8192]="DecoratorContext";e[e["AwaitContext"]=16384]="AwaitContext";e[e["ThisNodeHasError"]=32768]="ThisNodeHasError";e[e["JavaScriptFile"]=65536]="JavaScriptFile";e[e["ThisNodeOrAnySubNodesHasError"]=131072]="ThisNodeOrAnySubNodesHasError";e[e["HasAggregatedChildData"]=262144]="HasAggregatedChildData";e[e["PossiblyContainsDynamicImport"]=524288]="PossiblyContainsDynamicImport";e[e["PossiblyContainsImportMeta"]=1048576]="PossiblyContainsImportMeta";e[e["JSDoc"]=2097152]="JSDoc";e[e["Ambient"]=4194304]="Ambient";e[e["InWithStatement"]=8388608]="InWithStatement";e[e["JsonFile"]=16777216]="JsonFile";e[e["BlockScoped"]=3]="BlockScoped";e[e["ReachabilityCheckFlags"]=384]="ReachabilityCheckFlags";e[e["ReachabilityAndEmitFlags"]=1408]="ReachabilityAndEmitFlags";e[e["ContextFlags"]=12679168]="ContextFlags";e[e["TypeExcludesFlags"]=20480]="TypeExcludesFlags";e[e["PermanentlySetIncrementalFlags"]=1572864]="PermanentlySetIncrementalFlags"})(r=e.NodeFlags||(e.NodeFlags={}));var n;(function(e){e[e["None"]=0]="None";e[e["Export"]=1]="Export";e[e["Ambient"]=2]="Ambient";e[e["Public"]=4]="Public";e[e["Private"]=8]="Private";e[e["Protected"]=16]="Protected";e[e["Static"]=32]="Static";e[e["Readonly"]=64]="Readonly";e[e["Abstract"]=128]="Abstract";e[e["Async"]=256]="Async";e[e["Default"]=512]="Default";e[e["Const"]=2048]="Const";e[e["HasComputedFlags"]=536870912]="HasComputedFlags";e[e["AccessibilityModifier"]=28]="AccessibilityModifier";e[e["ParameterPropertyModifier"]=92]="ParameterPropertyModifier";e[e["NonPublicAccessibilityModifier"]=24]="NonPublicAccessibilityModifier";e[e["TypeScriptModifier"]=2270]="TypeScriptModifier";e[e["ExportDefault"]=513]="ExportDefault";e[e["All"]=3071]="All"})(n=e.ModifierFlags||(e.ModifierFlags={}));var i;(function(e){e[e["None"]=0]="None";e[e["IntrinsicNamedElement"]=1]="IntrinsicNamedElement";e[e["IntrinsicIndexedElement"]=2]="IntrinsicIndexedElement";e[e["IntrinsicElement"]=3]="IntrinsicElement"})(i=e.JsxFlags||(e.JsxFlags={}));var a;(function(e){e[e["Succeeded"]=1]="Succeeded";e[e["Failed"]=2]="Failed";e[e["FailedAndReported"]=3]="FailedAndReported"})(a=e.RelationComparisonResult||(e.RelationComparisonResult={}));var o;(function(e){e[e["None"]=0]="None";e[e["Auto"]=1]="Auto";e[e["Loop"]=2]="Loop";e[e["Unique"]=3]="Unique";e[e["Node"]=4]="Node";e[e["KindMask"]=7]="KindMask";e[e["ReservedInNestedScopes"]=8]="ReservedInNestedScopes";e[e["Optimistic"]=16]="Optimistic";e[e["FileLevel"]=32]="FileLevel"})(o=e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={}));var s;(function(e){e[e["None"]=0]="None";e[e["PrecedingLineBreak"]=1]="PrecedingLineBreak";e[e["PrecedingJSDocComment"]=2]="PrecedingJSDocComment";e[e["Unterminated"]=4]="Unterminated";e[e["ExtendedUnicodeEscape"]=8]="ExtendedUnicodeEscape";e[e["Scientific"]=16]="Scientific";e[e["Octal"]=32]="Octal";e[e["HexSpecifier"]=64]="HexSpecifier";e[e["BinarySpecifier"]=128]="BinarySpecifier";e[e["OctalSpecifier"]=256]="OctalSpecifier";e[e["ContainsSeparator"]=512]="ContainsSeparator";e[e["BinaryOrOctalSpecifier"]=384]="BinaryOrOctalSpecifier";e[e["NumericLiteralFlags"]=1008]="NumericLiteralFlags"})(s=e.TokenFlags||(e.TokenFlags={}));var c;(function(e){e[e["Unreachable"]=1]="Unreachable";e[e["Start"]=2]="Start";e[e["BranchLabel"]=4]="BranchLabel";e[e["LoopLabel"]=8]="LoopLabel";e[e["Assignment"]=16]="Assignment";e[e["TrueCondition"]=32]="TrueCondition";e[e["FalseCondition"]=64]="FalseCondition";e[e["SwitchClause"]=128]="SwitchClause";e[e["ArrayMutation"]=256]="ArrayMutation";e[e["Referenced"]=512]="Referenced";e[e["Shared"]=1024]="Shared";e[e["PreFinally"]=2048]="PreFinally";e[e["AfterFinally"]=4096]="AfterFinally";e[e["Label"]=12]="Label";e[e["Condition"]=96]="Condition"})(c=e.FlowFlags||(e.FlowFlags={}));var u=function(){function OperationCanceledException(){}return OperationCanceledException}();e.OperationCanceledException=u;var l;(function(e){e[e["Not"]=0]="Not";e[e["SafeModules"]=1]="SafeModules";e[e["Completely"]=2]="Completely"})(l=e.StructureIsReused||(e.StructureIsReused={}));var f;(function(e){e[e["Success"]=0]="Success";e[e["DiagnosticsPresent_OutputsSkipped"]=1]="DiagnosticsPresent_OutputsSkipped";e[e["DiagnosticsPresent_OutputsGenerated"]=2]="DiagnosticsPresent_OutputsGenerated"})(f=e.ExitStatus||(e.ExitStatus={}));var d;(function(e){e[e["None"]=0]="None";e[e["Literal"]=1]="Literal";e[e["Subtype"]=2]="Subtype"})(d=e.UnionReduction||(e.UnionReduction={}));var p;(function(e){e[e["None"]=0]="None";e[e["NoTruncation"]=1]="NoTruncation";e[e["WriteArrayAsGenericType"]=2]="WriteArrayAsGenericType";e[e["GenerateNamesForShadowedTypeParams"]=4]="GenerateNamesForShadowedTypeParams";e[e["UseStructuralFallback"]=8]="UseStructuralFallback";e[e["ForbidIndexedAccessSymbolReferences"]=16]="ForbidIndexedAccessSymbolReferences";e[e["WriteTypeArgumentsOfSignature"]=32]="WriteTypeArgumentsOfSignature";e[e["UseFullyQualifiedType"]=64]="UseFullyQualifiedType";e[e["UseOnlyExternalAliasing"]=128]="UseOnlyExternalAliasing";e[e["SuppressAnyReturnType"]=256]="SuppressAnyReturnType";e[e["WriteTypeParametersInQualifiedName"]=512]="WriteTypeParametersInQualifiedName";e[e["MultilineObjectLiterals"]=1024]="MultilineObjectLiterals";e[e["WriteClassExpressionAsTypeLiteral"]=2048]="WriteClassExpressionAsTypeLiteral";e[e["UseTypeOfFunction"]=4096]="UseTypeOfFunction";e[e["OmitParameterModifiers"]=8192]="OmitParameterModifiers";e[e["UseAliasDefinedOutsideCurrentScope"]=16384]="UseAliasDefinedOutsideCurrentScope";e[e["AllowThisInObjectLiteral"]=32768]="AllowThisInObjectLiteral";e[e["AllowQualifedNameInPlaceOfIdentifier"]=65536]="AllowQualifedNameInPlaceOfIdentifier";e[e["AllowAnonymousIdentifier"]=131072]="AllowAnonymousIdentifier";e[e["AllowEmptyUnionOrIntersection"]=262144]="AllowEmptyUnionOrIntersection";e[e["AllowEmptyTuple"]=524288]="AllowEmptyTuple";e[e["AllowUniqueESSymbolType"]=1048576]="AllowUniqueESSymbolType";e[e["AllowEmptyIndexInfoType"]=2097152]="AllowEmptyIndexInfoType";e[e["AllowNodeModulesRelativePaths"]=67108864]="AllowNodeModulesRelativePaths";e[e["DoNotIncludeSymbolChain"]=134217728]="DoNotIncludeSymbolChain";e[e["IgnoreErrors"]=70221824]="IgnoreErrors";e[e["InObjectTypeLiteral"]=4194304]="InObjectTypeLiteral";e[e["InTypeAlias"]=8388608]="InTypeAlias";e[e["InInitialEntityName"]=16777216]="InInitialEntityName";e[e["InReverseMappedType"]=33554432]="InReverseMappedType"})(p=e.NodeBuilderFlags||(e.NodeBuilderFlags={}));var g;(function(e){e[e["None"]=0]="None";e[e["NoTruncation"]=1]="NoTruncation";e[e["WriteArrayAsGenericType"]=2]="WriteArrayAsGenericType";e[e["UseStructuralFallback"]=8]="UseStructuralFallback";e[e["WriteTypeArgumentsOfSignature"]=32]="WriteTypeArgumentsOfSignature";e[e["UseFullyQualifiedType"]=64]="UseFullyQualifiedType";e[e["SuppressAnyReturnType"]=256]="SuppressAnyReturnType";e[e["MultilineObjectLiterals"]=1024]="MultilineObjectLiterals";e[e["WriteClassExpressionAsTypeLiteral"]=2048]="WriteClassExpressionAsTypeLiteral";e[e["UseTypeOfFunction"]=4096]="UseTypeOfFunction";e[e["OmitParameterModifiers"]=8192]="OmitParameterModifiers";e[e["UseAliasDefinedOutsideCurrentScope"]=16384]="UseAliasDefinedOutsideCurrentScope";e[e["AllowUniqueESSymbolType"]=1048576]="AllowUniqueESSymbolType";e[e["AddUndefined"]=131072]="AddUndefined";e[e["WriteArrowStyleSignature"]=262144]="WriteArrowStyleSignature";e[e["InArrayType"]=524288]="InArrayType";e[e["InElementType"]=2097152]="InElementType";e[e["InFirstTypeArgument"]=4194304]="InFirstTypeArgument";e[e["InTypeAlias"]=8388608]="InTypeAlias";e[e["WriteOwnNameForAnyLike"]=0]="WriteOwnNameForAnyLike";e[e["NodeBuilderFlagsMask"]=9469291]="NodeBuilderFlagsMask"})(g=e.TypeFormatFlags||(e.TypeFormatFlags={}));var _;(function(e){e[e["None"]=0]="None";e[e["WriteTypeParametersOrArguments"]=1]="WriteTypeParametersOrArguments";e[e["UseOnlyExternalAliasing"]=2]="UseOnlyExternalAliasing";e[e["AllowAnyNodeKind"]=4]="AllowAnyNodeKind";e[e["UseAliasDefinedOutsideCurrentScope"]=8]="UseAliasDefinedOutsideCurrentScope";e[e["DoNotIncludeSymbolChain"]=16]="DoNotIncludeSymbolChain"})(_=e.SymbolFormatFlags||(e.SymbolFormatFlags={}));var m;(function(e){e[e["Accessible"]=0]="Accessible";e[e["NotAccessible"]=1]="NotAccessible";e[e["CannotBeNamed"]=2]="CannotBeNamed"})(m=e.SymbolAccessibility||(e.SymbolAccessibility={}));var y;(function(e){e[e["UnionOrIntersection"]=0]="UnionOrIntersection";e[e["Spread"]=1]="Spread"})(y=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}));var h;(function(e){e[e["This"]=0]="This";e[e["Identifier"]=1]="Identifier"})(h=e.TypePredicateKind||(e.TypePredicateKind={}));var v;(function(e){e[e["Unknown"]=0]="Unknown";e[e["TypeWithConstructSignatureAndValue"]=1]="TypeWithConstructSignatureAndValue";e[e["VoidNullableOrNeverType"]=2]="VoidNullableOrNeverType";e[e["NumberLikeType"]=3]="NumberLikeType";e[e["BigIntLikeType"]=4]="BigIntLikeType";e[e["StringLikeType"]=5]="StringLikeType";e[e["BooleanType"]=6]="BooleanType";e[e["ArrayLikeType"]=7]="ArrayLikeType";e[e["ESSymbolType"]=8]="ESSymbolType";e[e["Promise"]=9]="Promise";e[e["TypeWithCallSignature"]=10]="TypeWithCallSignature";e[e["ObjectType"]=11]="ObjectType"})(v=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}));var T;(function(e){e[e["None"]=0]="None";e[e["FunctionScopedVariable"]=1]="FunctionScopedVariable";e[e["BlockScopedVariable"]=2]="BlockScopedVariable";e[e["Property"]=4]="Property";e[e["EnumMember"]=8]="EnumMember";e[e["Function"]=16]="Function";e[e["Class"]=32]="Class";e[e["Interface"]=64]="Interface";e[e["ConstEnum"]=128]="ConstEnum";e[e["RegularEnum"]=256]="RegularEnum";e[e["ValueModule"]=512]="ValueModule";e[e["NamespaceModule"]=1024]="NamespaceModule";e[e["TypeLiteral"]=2048]="TypeLiteral";e[e["ObjectLiteral"]=4096]="ObjectLiteral";e[e["Method"]=8192]="Method";e[e["Constructor"]=16384]="Constructor";e[e["GetAccessor"]=32768]="GetAccessor";e[e["SetAccessor"]=65536]="SetAccessor";e[e["Signature"]=131072]="Signature";e[e["TypeParameter"]=262144]="TypeParameter";e[e["TypeAlias"]=524288]="TypeAlias";e[e["ExportValue"]=1048576]="ExportValue";e[e["Alias"]=2097152]="Alias";e[e["Prototype"]=4194304]="Prototype";e[e["ExportStar"]=8388608]="ExportStar";e[e["Optional"]=16777216]="Optional";e[e["Transient"]=33554432]="Transient";e[e["Assignment"]=67108864]="Assignment";e[e["ModuleExports"]=134217728]="ModuleExports";e[e["All"]=67108863]="All";e[e["Enum"]=384]="Enum";e[e["Variable"]=3]="Variable";e[e["Value"]=67220415]="Value";e[e["Type"]=67897832]="Type";e[e["Namespace"]=1920]="Namespace";e[e["Module"]=1536]="Module";e[e["Accessor"]=98304]="Accessor";e[e["FunctionScopedVariableExcludes"]=67220414]="FunctionScopedVariableExcludes";e[e["BlockScopedVariableExcludes"]=67220415]="BlockScopedVariableExcludes";e[e["ParameterExcludes"]=67220415]="ParameterExcludes";e[e["PropertyExcludes"]=0]="PropertyExcludes";e[e["EnumMemberExcludes"]=68008959]="EnumMemberExcludes";e[e["FunctionExcludes"]=67219887]="FunctionExcludes";e[e["ClassExcludes"]=68008383]="ClassExcludes";e[e["InterfaceExcludes"]=67897736]="InterfaceExcludes";e[e["RegularEnumExcludes"]=68008191]="RegularEnumExcludes";e[e["ConstEnumExcludes"]=68008831]="ConstEnumExcludes";e[e["ValueModuleExcludes"]=110735]="ValueModuleExcludes";e[e["NamespaceModuleExcludes"]=0]="NamespaceModuleExcludes";e[e["MethodExcludes"]=67212223]="MethodExcludes";e[e["GetAccessorExcludes"]=67154879]="GetAccessorExcludes";e[e["SetAccessorExcludes"]=67187647]="SetAccessorExcludes";e[e["TypeParameterExcludes"]=67635688]="TypeParameterExcludes";e[e["TypeAliasExcludes"]=67897832]="TypeAliasExcludes";e[e["AliasExcludes"]=2097152]="AliasExcludes";e[e["ModuleMember"]=2623475]="ModuleMember";e[e["ExportHasLocal"]=944]="ExportHasLocal";e[e["BlockScoped"]=418]="BlockScoped";e[e["PropertyOrAccessor"]=98308]="PropertyOrAccessor";e[e["ClassMember"]=106500]="ClassMember";e[e["Classifiable"]=2885600]="Classifiable";e[e["LateBindingContainer"]=6240]="LateBindingContainer"})(T=e.SymbolFlags||(e.SymbolFlags={}));var S;(function(e){e[e["Numeric"]=0]="Numeric";e[e["Literal"]=1]="Literal"})(S=e.EnumKind||(e.EnumKind={}));var b;(function(e){e[e["Instantiated"]=1]="Instantiated";e[e["SyntheticProperty"]=2]="SyntheticProperty";e[e["SyntheticMethod"]=4]="SyntheticMethod";e[e["Readonly"]=8]="Readonly";e[e["Partial"]=16]="Partial";e[e["HasNonUniformType"]=32]="HasNonUniformType";e[e["ContainsPublic"]=64]="ContainsPublic";e[e["ContainsProtected"]=128]="ContainsProtected";e[e["ContainsPrivate"]=256]="ContainsPrivate";e[e["ContainsStatic"]=512]="ContainsStatic";e[e["Late"]=1024]="Late";e[e["ReverseMapped"]=2048]="ReverseMapped";e[e["OptionalParameter"]=4096]="OptionalParameter";e[e["RestParameter"]=8192]="RestParameter";e[e["Synthetic"]=6]="Synthetic"})(b=e.CheckFlags||(e.CheckFlags={}));var x;(function(e){e["Call"]="__call";e["Constructor"]="__constructor";e["New"]="__new";e["Index"]="__index";e["ExportStar"]="__export";e["Global"]="__global";e["Missing"]="__missing";e["Type"]="__type";e["Object"]="__object";e["JSXAttributes"]="__jsxAttributes";e["Class"]="__class";e["Function"]="__function";e["Computed"]="__computed";e["Resolving"]="__resolving__";e["ExportEquals"]="export=";e["Default"]="default";e["This"]="this"})(x=e.InternalSymbolName||(e.InternalSymbolName={}));var C;(function(e){e[e["TypeChecked"]=1]="TypeChecked";e[e["LexicalThis"]=2]="LexicalThis";e[e["CaptureThis"]=4]="CaptureThis";e[e["CaptureNewTarget"]=8]="CaptureNewTarget";e[e["SuperInstance"]=256]="SuperInstance";e[e["SuperStatic"]=512]="SuperStatic";e[e["ContextChecked"]=1024]="ContextChecked";e[e["AsyncMethodWithSuper"]=2048]="AsyncMethodWithSuper";e[e["AsyncMethodWithSuperBinding"]=4096]="AsyncMethodWithSuperBinding";e[e["CaptureArguments"]=8192]="CaptureArguments";e[e["EnumValuesComputed"]=16384]="EnumValuesComputed";e[e["LexicalModuleMergesWithClass"]=32768]="LexicalModuleMergesWithClass";e[e["LoopWithCapturedBlockScopedBinding"]=65536]="LoopWithCapturedBlockScopedBinding";e[e["ContainsCapturedBlockScopeBinding"]=131072]="ContainsCapturedBlockScopeBinding";e[e["CapturedBlockScopedBinding"]=262144]="CapturedBlockScopedBinding";e[e["BlockScopedBindingInLoop"]=524288]="BlockScopedBindingInLoop";e[e["ClassWithBodyScopedClassBinding"]=1048576]="ClassWithBodyScopedClassBinding";e[e["BodyScopedClassBinding"]=2097152]="BodyScopedClassBinding";e[e["NeedsLoopOutParameter"]=4194304]="NeedsLoopOutParameter";e[e["AssignmentsMarked"]=8388608]="AssignmentsMarked";e[e["ClassWithConstructorReference"]=16777216]="ClassWithConstructorReference";e[e["ConstructorReferenceInClass"]=33554432]="ConstructorReferenceInClass"})(C=e.NodeCheckFlags||(e.NodeCheckFlags={}));var E;(function(e){e[e["Any"]=1]="Any";e[e["Unknown"]=2]="Unknown";e[e["String"]=4]="String";e[e["Number"]=8]="Number";e[e["Boolean"]=16]="Boolean";e[e["Enum"]=32]="Enum";e[e["BigInt"]=64]="BigInt";e[e["StringLiteral"]=128]="StringLiteral";e[e["NumberLiteral"]=256]="NumberLiteral";e[e["BooleanLiteral"]=512]="BooleanLiteral";e[e["EnumLiteral"]=1024]="EnumLiteral";e[e["BigIntLiteral"]=2048]="BigIntLiteral";e[e["ESSymbol"]=4096]="ESSymbol";e[e["UniqueESSymbol"]=8192]="UniqueESSymbol";e[e["Void"]=16384]="Void";e[e["Undefined"]=32768]="Undefined";e[e["Null"]=65536]="Null";e[e["Never"]=131072]="Never";e[e["TypeParameter"]=262144]="TypeParameter";e[e["Object"]=524288]="Object";e[e["Union"]=1048576]="Union";e[e["Intersection"]=2097152]="Intersection";e[e["Index"]=4194304]="Index";e[e["IndexedAccess"]=8388608]="IndexedAccess";e[e["Conditional"]=16777216]="Conditional";e[e["Substitution"]=33554432]="Substitution";e[e["NonPrimitive"]=67108864]="NonPrimitive";e[e["ContainsWideningType"]=134217728]="ContainsWideningType";e[e["ContainsObjectLiteral"]=268435456]="ContainsObjectLiteral";e[e["ContainsAnyFunctionType"]=536870912]="ContainsAnyFunctionType";e[e["AnyOrUnknown"]=3]="AnyOrUnknown";e[e["Nullable"]=98304]="Nullable";e[e["Literal"]=2944]="Literal";e[e["Unit"]=109440]="Unit";e[e["StringOrNumberLiteral"]=384]="StringOrNumberLiteral";e[e["StringOrNumberLiteralOrUnique"]=8576]="StringOrNumberLiteralOrUnique";e[e["DefinitelyFalsy"]=117632]="DefinitelyFalsy";e[e["PossiblyFalsy"]=117724]="PossiblyFalsy";e[e["Intrinsic"]=67359327]="Intrinsic";e[e["Primitive"]=131068]="Primitive";e[e["StringLike"]=132]="StringLike";e[e["NumberLike"]=296]="NumberLike";e[e["BigIntLike"]=2112]="BigIntLike";e[e["BooleanLike"]=528]="BooleanLike";e[e["EnumLike"]=1056]="EnumLike";e[e["ESSymbolLike"]=12288]="ESSymbolLike";e[e["VoidLike"]=49152]="VoidLike";e[e["DisjointDomains"]=67238908]="DisjointDomains";e[e["UnionOrIntersection"]=3145728]="UnionOrIntersection";e[e["StructuredType"]=3670016]="StructuredType";e[e["TypeVariable"]=8650752]="TypeVariable";e[e["InstantiableNonPrimitive"]=58982400]="InstantiableNonPrimitive";e[e["InstantiablePrimitive"]=4194304]="InstantiablePrimitive";e[e["Instantiable"]=63176704]="Instantiable";e[e["StructuredOrInstantiable"]=66846720]="StructuredOrInstantiable";e[e["Narrowable"]=133970943]="Narrowable";e[e["NotUnionOrUnit"]=67637251]="NotUnionOrUnit";e[e["NotPrimitiveUnion"]=66994211]="NotPrimitiveUnion";e[e["RequiresWidening"]=402653184]="RequiresWidening";e[e["PropagatingFlags"]=939524096]="PropagatingFlags";e[e["NonWideningType"]=134217728]="NonWideningType";e[e["Wildcard"]=268435456]="Wildcard";e[e["EmptyObject"]=536870912]="EmptyObject";e[e["ConstructionFlags"]=939524096]="ConstructionFlags";e[e["GenericMappedType"]=134217728]="GenericMappedType"})(E=e.TypeFlags||(e.TypeFlags={}));var D;(function(e){e[e["Class"]=1]="Class";e[e["Interface"]=2]="Interface";e[e["Reference"]=4]="Reference";e[e["Tuple"]=8]="Tuple";e[e["Anonymous"]=16]="Anonymous";e[e["Mapped"]=32]="Mapped";e[e["Instantiated"]=64]="Instantiated";e[e["ObjectLiteral"]=128]="ObjectLiteral";e[e["EvolvingArray"]=256]="EvolvingArray";e[e["ObjectLiteralPatternWithComputedProperties"]=512]="ObjectLiteralPatternWithComputedProperties";e[e["ContainsSpread"]=1024]="ContainsSpread";e[e["ReverseMapped"]=2048]="ReverseMapped";e[e["JsxAttributes"]=4096]="JsxAttributes";e[e["MarkerType"]=8192]="MarkerType";e[e["JSLiteral"]=16384]="JSLiteral";e[e["FreshLiteral"]=32768]="FreshLiteral";e[e["ClassOrInterface"]=3]="ClassOrInterface"})(D=e.ObjectFlags||(e.ObjectFlags={}));var k;(function(e){e[e["Invariant"]=0]="Invariant";e[e["Covariant"]=1]="Covariant";e[e["Contravariant"]=2]="Contravariant";e[e["Bivariant"]=3]="Bivariant";e[e["Independent"]=4]="Independent"})(k=e.Variance||(e.Variance={}));var N;(function(e){e[e["Component"]=0]="Component";e[e["Function"]=1]="Function";e[e["Mixed"]=2]="Mixed"})(N=e.JsxReferenceKind||(e.JsxReferenceKind={}));var A;(function(e){e[e["Call"]=0]="Call";e[e["Construct"]=1]="Construct"})(A=e.SignatureKind||(e.SignatureKind={}));var O;(function(e){e[e["String"]=0]="String";e[e["Number"]=1]="Number"})(O=e.IndexKind||(e.IndexKind={}));var F;(function(e){e[e["NakedTypeVariable"]=1]="NakedTypeVariable";e[e["HomomorphicMappedType"]=2]="HomomorphicMappedType";e[e["MappedTypeConstraint"]=4]="MappedTypeConstraint";e[e["ReturnType"]=8]="ReturnType";e[e["LiteralKeyof"]=16]="LiteralKeyof";e[e["NoConstraints"]=32]="NoConstraints";e[e["AlwaysStrict"]=64]="AlwaysStrict";e[e["PriorityImpliesCombination"]=28]="PriorityImpliesCombination"})(F=e.InferencePriority||(e.InferencePriority={}));var P;(function(e){e[e["None"]=0]="None";e[e["NoDefault"]=1]="NoDefault";e[e["AnyDefault"]=2]="AnyDefault"})(P=e.InferenceFlags||(e.InferenceFlags={}));var I;(function(e){e[e["False"]=0]="False";e[e["Maybe"]=1]="Maybe";e[e["True"]=-1]="True"})(I=e.Ternary||(e.Ternary={}));var w;(function(e){e[e["None"]=0]="None";e[e["ExportsProperty"]=1]="ExportsProperty";e[e["ModuleExports"]=2]="ModuleExports";e[e["PrototypeProperty"]=3]="PrototypeProperty";e[e["ThisProperty"]=4]="ThisProperty";e[e["Property"]=5]="Property";e[e["Prototype"]=6]="Prototype";e[e["ObjectDefinePropertyValue"]=7]="ObjectDefinePropertyValue";e[e["ObjectDefinePropertyExports"]=8]="ObjectDefinePropertyExports";e[e["ObjectDefinePrototypeProperty"]=9]="ObjectDefinePrototypeProperty"})(w=e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={}));var M;(function(e){e[e["Warning"]=0]="Warning";e[e["Error"]=1]="Error";e[e["Suggestion"]=2]="Suggestion";e[e["Message"]=3]="Message"})(M=e.DiagnosticCategory||(e.DiagnosticCategory={}));function diagnosticCategoryName(e,t){if(t===void 0){t=true}var r=M[e.category];return t?r.toLowerCase():r}e.diagnosticCategoryName=diagnosticCategoryName;var L;(function(e){e[e["Classic"]=1]="Classic";e[e["NodeJs"]=2]="NodeJs"})(L=e.ModuleResolutionKind||(e.ModuleResolutionKind={}));var R;(function(e){e[e["None"]=0]="None";e[e["CommonJS"]=1]="CommonJS";e[e["AMD"]=2]="AMD";e[e["UMD"]=3]="UMD";e[e["System"]=4]="System";e[e["ES2015"]=5]="ES2015";e[e["ESNext"]=6]="ESNext"})(R=e.ModuleKind||(e.ModuleKind={}));var B;(function(e){e[e["None"]=0]="None";e[e["Preserve"]=1]="Preserve";e[e["React"]=2]="React";e[e["ReactNative"]=3]="ReactNative"})(B=e.JsxEmit||(e.JsxEmit={}));var j;(function(e){e[e["CarriageReturnLineFeed"]=0]="CarriageReturnLineFeed";e[e["LineFeed"]=1]="LineFeed"})(j=e.NewLineKind||(e.NewLineKind={}));var J;(function(e){e[e["Unknown"]=0]="Unknown";e[e["JS"]=1]="JS";e[e["JSX"]=2]="JSX";e[e["TS"]=3]="TS";e[e["TSX"]=4]="TSX";e[e["External"]=5]="External";e[e["JSON"]=6]="JSON";e[e["Deferred"]=7]="Deferred"})(J=e.ScriptKind||(e.ScriptKind={}));var W;(function(e){e[e["ES3"]=0]="ES3";e[e["ES5"]=1]="ES5";e[e["ES2015"]=2]="ES2015";e[e["ES2016"]=3]="ES2016";e[e["ES2017"]=4]="ES2017";e[e["ES2018"]=5]="ES2018";e[e["ESNext"]=6]="ESNext";e[e["JSON"]=100]="JSON";e[e["Latest"]=6]="Latest"})(W=e.ScriptTarget||(e.ScriptTarget={}));var U;(function(e){e[e["Standard"]=0]="Standard";e[e["JSX"]=1]="JSX"})(U=e.LanguageVariant||(e.LanguageVariant={}));var z;(function(e){e[e["None"]=0]="None";e[e["Recursive"]=1]="Recursive"})(z=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}));var V;(function(e){e[e["nullCharacter"]=0]="nullCharacter";e[e["maxAsciiCharacter"]=127]="maxAsciiCharacter";e[e["lineFeed"]=10]="lineFeed";e[e["carriageReturn"]=13]="carriageReturn";e[e["lineSeparator"]=8232]="lineSeparator";e[e["paragraphSeparator"]=8233]="paragraphSeparator";e[e["nextLine"]=133]="nextLine";e[e["space"]=32]="space";e[e["nonBreakingSpace"]=160]="nonBreakingSpace";e[e["enQuad"]=8192]="enQuad";e[e["emQuad"]=8193]="emQuad";e[e["enSpace"]=8194]="enSpace";e[e["emSpace"]=8195]="emSpace";e[e["threePerEmSpace"]=8196]="threePerEmSpace";e[e["fourPerEmSpace"]=8197]="fourPerEmSpace";e[e["sixPerEmSpace"]=8198]="sixPerEmSpace";e[e["figureSpace"]=8199]="figureSpace";e[e["punctuationSpace"]=8200]="punctuationSpace";e[e["thinSpace"]=8201]="thinSpace";e[e["hairSpace"]=8202]="hairSpace";e[e["zeroWidthSpace"]=8203]="zeroWidthSpace";e[e["narrowNoBreakSpace"]=8239]="narrowNoBreakSpace";e[e["ideographicSpace"]=12288]="ideographicSpace";e[e["mathematicalSpace"]=8287]="mathematicalSpace";e[e["ogham"]=5760]="ogham";e[e["_"]=95]="_";e[e["$"]=36]="$";e[e["_0"]=48]="_0";e[e["_1"]=49]="_1";e[e["_2"]=50]="_2";e[e["_3"]=51]="_3";e[e["_4"]=52]="_4";e[e["_5"]=53]="_5";e[e["_6"]=54]="_6";e[e["_7"]=55]="_7";e[e["_8"]=56]="_8";e[e["_9"]=57]="_9";e[e["a"]=97]="a";e[e["b"]=98]="b";e[e["c"]=99]="c";e[e["d"]=100]="d";e[e["e"]=101]="e";e[e["f"]=102]="f";e[e["g"]=103]="g";e[e["h"]=104]="h";e[e["i"]=105]="i";e[e["j"]=106]="j";e[e["k"]=107]="k";e[e["l"]=108]="l";e[e["m"]=109]="m";e[e["n"]=110]="n";e[e["o"]=111]="o";e[e["p"]=112]="p";e[e["q"]=113]="q";e[e["r"]=114]="r";e[e["s"]=115]="s";e[e["t"]=116]="t";e[e["u"]=117]="u";e[e["v"]=118]="v";e[e["w"]=119]="w";e[e["x"]=120]="x";e[e["y"]=121]="y";e[e["z"]=122]="z";e[e["A"]=65]="A";e[e["B"]=66]="B";e[e["C"]=67]="C";e[e["D"]=68]="D";e[e["E"]=69]="E";e[e["F"]=70]="F";e[e["G"]=71]="G";e[e["H"]=72]="H";e[e["I"]=73]="I";e[e["J"]=74]="J";e[e["K"]=75]="K";e[e["L"]=76]="L";e[e["M"]=77]="M";e[e["N"]=78]="N";e[e["O"]=79]="O";e[e["P"]=80]="P";e[e["Q"]=81]="Q";e[e["R"]=82]="R";e[e["S"]=83]="S";e[e["T"]=84]="T";e[e["U"]=85]="U";e[e["V"]=86]="V";e[e["W"]=87]="W";e[e["X"]=88]="X";e[e["Y"]=89]="Y";e[e["Z"]=90]="Z";e[e["ampersand"]=38]="ampersand";e[e["asterisk"]=42]="asterisk";e[e["at"]=64]="at";e[e["backslash"]=92]="backslash";e[e["backtick"]=96]="backtick";e[e["bar"]=124]="bar";e[e["caret"]=94]="caret";e[e["closeBrace"]=125]="closeBrace";e[e["closeBracket"]=93]="closeBracket";e[e["closeParen"]=41]="closeParen";e[e["colon"]=58]="colon";e[e["comma"]=44]="comma";e[e["dot"]=46]="dot";e[e["doubleQuote"]=34]="doubleQuote";e[e["equals"]=61]="equals";e[e["exclamation"]=33]="exclamation";e[e["greaterThan"]=62]="greaterThan";e[e["hash"]=35]="hash";e[e["lessThan"]=60]="lessThan";e[e["minus"]=45]="minus";e[e["openBrace"]=123]="openBrace";e[e["openBracket"]=91]="openBracket";e[e["openParen"]=40]="openParen";e[e["percent"]=37]="percent";e[e["plus"]=43]="plus";e[e["question"]=63]="question";e[e["semicolon"]=59]="semicolon";e[e["singleQuote"]=39]="singleQuote";e[e["slash"]=47]="slash";e[e["tilde"]=126]="tilde";e[e["backspace"]=8]="backspace";e[e["formFeed"]=12]="formFeed";e[e["byteOrderMark"]=65279]="byteOrderMark";e[e["tab"]=9]="tab";e[e["verticalTab"]=11]="verticalTab"})(V=e.CharacterCodes||(e.CharacterCodes={}));var K;(function(e){e["Ts"]=".ts";e["Tsx"]=".tsx";e["Dts"]=".d.ts";e["Js"]=".js";e["Jsx"]=".jsx";e["Json"]=".json"})(K=e.Extension||(e.Extension={}));var q;(function(e){e[e["None"]=0]="None";e[e["TypeScript"]=1]="TypeScript";e[e["ContainsTypeScript"]=2]="ContainsTypeScript";e[e["ContainsJsx"]=4]="ContainsJsx";e[e["ContainsESNext"]=8]="ContainsESNext";e[e["ContainsES2017"]=16]="ContainsES2017";e[e["ContainsES2016"]=32]="ContainsES2016";e[e["ES2015"]=64]="ES2015";e[e["ContainsES2015"]=128]="ContainsES2015";e[e["Generator"]=256]="Generator";e[e["ContainsGenerator"]=512]="ContainsGenerator";e[e["DestructuringAssignment"]=1024]="DestructuringAssignment";e[e["ContainsDestructuringAssignment"]=2048]="ContainsDestructuringAssignment";e[e["ContainsTypeScriptClassSyntax"]=4096]="ContainsTypeScriptClassSyntax";e[e["ContainsLexicalThis"]=8192]="ContainsLexicalThis";e[e["ContainsCapturedLexicalThis"]=16384]="ContainsCapturedLexicalThis";e[e["ContainsLexicalThisInComputedPropertyName"]=32768]="ContainsLexicalThisInComputedPropertyName";e[e["ContainsDefaultValueAssignments"]=65536]="ContainsDefaultValueAssignments";e[e["ContainsRestOrSpread"]=131072]="ContainsRestOrSpread";e[e["ContainsObjectRestOrSpread"]=262144]="ContainsObjectRestOrSpread";e[e["ContainsComputedPropertyName"]=524288]="ContainsComputedPropertyName";e[e["ContainsBlockScopedBinding"]=1048576]="ContainsBlockScopedBinding";e[e["ContainsBindingPattern"]=2097152]="ContainsBindingPattern";e[e["ContainsYield"]=4194304]="ContainsYield";e[e["ContainsHoistedDeclarationOrCompletion"]=8388608]="ContainsHoistedDeclarationOrCompletion";e[e["ContainsDynamicImport"]=16777216]="ContainsDynamicImport";e[e["Super"]=33554432]="Super";e[e["ContainsSuper"]=67108864]="ContainsSuper";e[e["HasComputedFlags"]=536870912]="HasComputedFlags";e[e["AssertTypeScript"]=3]="AssertTypeScript";e[e["AssertJsx"]=4]="AssertJsx";e[e["AssertESNext"]=8]="AssertESNext";e[e["AssertES2017"]=16]="AssertES2017";e[e["AssertES2016"]=32]="AssertES2016";e[e["AssertES2015"]=192]="AssertES2015";e[e["AssertGenerator"]=768]="AssertGenerator";e[e["AssertDestructuringAssignment"]=3072]="AssertDestructuringAssignment";e[e["OuterExpressionExcludes"]=536872257]="OuterExpressionExcludes";e[e["PropertyAccessExcludes"]=570426689]="PropertyAccessExcludes";e[e["NodeExcludes"]=637535553]="NodeExcludes";e[e["ArrowFunctionExcludes"]=653604161]="ArrowFunctionExcludes";e[e["FunctionExcludes"]=653620545]="FunctionExcludes";e[e["ConstructorExcludes"]=653616449]="ConstructorExcludes";e[e["MethodOrAccessorExcludes"]=653616449]="MethodOrAccessorExcludes";e[e["ClassExcludes"]=638121281]="ClassExcludes";e[e["ModuleExcludes"]=647001409]="ModuleExcludes";e[e["TypeExcludes"]=-3]="TypeExcludes";e[e["ObjectLiteralExcludes"]=638358849]="ObjectLiteralExcludes";e[e["ArrayLiteralOrCallOrNewExcludes"]=637666625]="ArrayLiteralOrCallOrNewExcludes";e[e["VariableDeclarationListExcludes"]=639894849]="VariableDeclarationListExcludes";e[e["ParameterExcludes"]=637535553]="ParameterExcludes";e[e["CatchClauseExcludes"]=637797697]="CatchClauseExcludes";e[e["BindingPatternExcludes"]=637666625]="BindingPatternExcludes";e[e["ES2015FunctionSyntaxMask"]=81920]="ES2015FunctionSyntaxMask"})(q=e.TransformFlags||(e.TransformFlags={}));var G;(function(e){e[e["None"]=0]="None";e[e["SingleLine"]=1]="SingleLine";e[e["AdviseOnEmitNode"]=2]="AdviseOnEmitNode";e[e["NoSubstitution"]=4]="NoSubstitution";e[e["CapturesThis"]=8]="CapturesThis";e[e["NoLeadingSourceMap"]=16]="NoLeadingSourceMap";e[e["NoTrailingSourceMap"]=32]="NoTrailingSourceMap";e[e["NoSourceMap"]=48]="NoSourceMap";e[e["NoNestedSourceMaps"]=64]="NoNestedSourceMaps";e[e["NoTokenLeadingSourceMaps"]=128]="NoTokenLeadingSourceMaps";e[e["NoTokenTrailingSourceMaps"]=256]="NoTokenTrailingSourceMaps";e[e["NoTokenSourceMaps"]=384]="NoTokenSourceMaps";e[e["NoLeadingComments"]=512]="NoLeadingComments";e[e["NoTrailingComments"]=1024]="NoTrailingComments";e[e["NoComments"]=1536]="NoComments";e[e["NoNestedComments"]=2048]="NoNestedComments";e[e["HelperName"]=4096]="HelperName";e[e["ExportName"]=8192]="ExportName";e[e["LocalName"]=16384]="LocalName";e[e["InternalName"]=32768]="InternalName";e[e["Indented"]=65536]="Indented";e[e["NoIndentation"]=131072]="NoIndentation";e[e["AsyncFunctionBody"]=262144]="AsyncFunctionBody";e[e["ReuseTempVariableScope"]=524288]="ReuseTempVariableScope";e[e["CustomPrologue"]=1048576]="CustomPrologue";e[e["NoHoisting"]=2097152]="NoHoisting";e[e["HasEndOfDeclarationMarker"]=4194304]="HasEndOfDeclarationMarker";e[e["Iterator"]=8388608]="Iterator";e[e["NoAsciiEscaping"]=16777216]="NoAsciiEscaping";e[e["TypeScriptClassWrapper"]=33554432]="TypeScriptClassWrapper";e[e["NeverApplyImportHelper"]=67108864]="NeverApplyImportHelper"})(G=e.EmitFlags||(e.EmitFlags={}));var H;(function(e){e[e["Extends"]=1]="Extends";e[e["Assign"]=2]="Assign";e[e["Rest"]=4]="Rest";e[e["Decorate"]=8]="Decorate";e[e["Metadata"]=16]="Metadata";e[e["Param"]=32]="Param";e[e["Awaiter"]=64]="Awaiter";e[e["Generator"]=128]="Generator";e[e["Values"]=256]="Values";e[e["Read"]=512]="Read";e[e["Spread"]=1024]="Spread";e[e["Await"]=2048]="Await";e[e["AsyncGenerator"]=4096]="AsyncGenerator";e[e["AsyncDelegator"]=8192]="AsyncDelegator";e[e["AsyncValues"]=16384]="AsyncValues";e[e["ExportStar"]=32768]="ExportStar";e[e["MakeTemplateObject"]=65536]="MakeTemplateObject";e[e["FirstEmitHelper"]=1]="FirstEmitHelper";e[e["LastEmitHelper"]=65536]="LastEmitHelper";e[e["ForOfIncludes"]=256]="ForOfIncludes";e[e["ForAwaitOfIncludes"]=16384]="ForAwaitOfIncludes";e[e["AsyncGeneratorIncludes"]=6144]="AsyncGeneratorIncludes";e[e["AsyncDelegatorIncludes"]=26624]="AsyncDelegatorIncludes";e[e["SpreadIncludes"]=1536]="SpreadIncludes"})(H=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}));var Q;(function(e){e[e["SourceFile"]=0]="SourceFile";e[e["Expression"]=1]="Expression";e[e["IdentifierName"]=2]="IdentifierName";e[e["MappedTypeParameter"]=3]="MappedTypeParameter";e[e["Unspecified"]=4]="Unspecified";e[e["EmbeddedStatement"]=5]="EmbeddedStatement"})(Q=e.EmitHint||(e.EmitHint={}));var $;(function(e){e[e["None"]=0]="None";e[e["SingleLine"]=0]="SingleLine";e[e["MultiLine"]=1]="MultiLine";e[e["PreserveLines"]=2]="PreserveLines";e[e["LinesMask"]=3]="LinesMask";e[e["NotDelimited"]=0]="NotDelimited";e[e["BarDelimited"]=4]="BarDelimited";e[e["AmpersandDelimited"]=8]="AmpersandDelimited";e[e["CommaDelimited"]=16]="CommaDelimited";e[e["AsteriskDelimited"]=32]="AsteriskDelimited";e[e["DelimitersMask"]=60]="DelimitersMask";e[e["AllowTrailingComma"]=64]="AllowTrailingComma";e[e["Indented"]=128]="Indented";e[e["SpaceBetweenBraces"]=256]="SpaceBetweenBraces";e[e["SpaceBetweenSiblings"]=512]="SpaceBetweenSiblings";e[e["Braces"]=1024]="Braces";e[e["Parenthesis"]=2048]="Parenthesis";e[e["AngleBrackets"]=4096]="AngleBrackets";e[e["SquareBrackets"]=8192]="SquareBrackets";e[e["BracketsMask"]=15360]="BracketsMask";e[e["OptionalIfUndefined"]=16384]="OptionalIfUndefined";e[e["OptionalIfEmpty"]=32768]="OptionalIfEmpty";e[e["Optional"]=49152]="Optional";e[e["PreferNewLine"]=65536]="PreferNewLine";e[e["NoTrailingNewLine"]=131072]="NoTrailingNewLine";e[e["NoInterveningComments"]=262144]="NoInterveningComments";e[e["NoSpaceIfEmpty"]=524288]="NoSpaceIfEmpty";e[e["SingleElement"]=1048576]="SingleElement";e[e["Modifiers"]=262656]="Modifiers";e[e["HeritageClauses"]=512]="HeritageClauses";e[e["SingleLineTypeLiteralMembers"]=768]="SingleLineTypeLiteralMembers";e[e["MultiLineTypeLiteralMembers"]=32897]="MultiLineTypeLiteralMembers";e[e["TupleTypeElements"]=528]="TupleTypeElements";e[e["UnionTypeConstituents"]=516]="UnionTypeConstituents";e[e["IntersectionTypeConstituents"]=520]="IntersectionTypeConstituents";e[e["ObjectBindingPatternElements"]=525136]="ObjectBindingPatternElements";e[e["ArrayBindingPatternElements"]=524880]="ArrayBindingPatternElements";e[e["ObjectLiteralExpressionProperties"]=526226]="ObjectLiteralExpressionProperties";e[e["ArrayLiteralExpressionElements"]=8914]="ArrayLiteralExpressionElements";e[e["CommaListElements"]=528]="CommaListElements";e[e["CallExpressionArguments"]=2576]="CallExpressionArguments";e[e["NewExpressionArguments"]=18960]="NewExpressionArguments";e[e["TemplateExpressionSpans"]=262144]="TemplateExpressionSpans";e[e["SingleLineBlockStatements"]=768]="SingleLineBlockStatements";e[e["MultiLineBlockStatements"]=129]="MultiLineBlockStatements";e[e["VariableDeclarationList"]=528]="VariableDeclarationList";e[e["SingleLineFunctionBodyStatements"]=768]="SingleLineFunctionBodyStatements";e[e["MultiLineFunctionBodyStatements"]=1]="MultiLineFunctionBodyStatements";e[e["ClassHeritageClauses"]=0]="ClassHeritageClauses";e[e["ClassMembers"]=129]="ClassMembers";e[e["InterfaceMembers"]=129]="InterfaceMembers";e[e["EnumMembers"]=145]="EnumMembers";e[e["CaseBlockClauses"]=129]="CaseBlockClauses";e[e["NamedImportsOrExportsElements"]=525136]="NamedImportsOrExportsElements";e[e["JsxElementOrFragmentChildren"]=262144]="JsxElementOrFragmentChildren";e[e["JsxElementAttributes"]=262656]="JsxElementAttributes";e[e["CaseOrDefaultClauseStatements"]=163969]="CaseOrDefaultClauseStatements";e[e["HeritageClauseTypes"]=528]="HeritageClauseTypes";e[e["SourceFileStatements"]=131073]="SourceFileStatements";e[e["Decorators"]=49153]="Decorators";e[e["TypeArguments"]=53776]="TypeArguments";e[e["TypeParameters"]=53776]="TypeParameters";e[e["Parameters"]=2576]="Parameters";e[e["IndexSignatureParameters"]=8848]="IndexSignatureParameters";e[e["JSDocComment"]=33]="JSDocComment"})($=e.ListFormat||(e.ListFormat={}));var X;(function(e){e[e["None"]=0]="None";e[e["TripleSlashXML"]=1]="TripleSlashXML";e[e["SingleLine"]=2]="SingleLine";e[e["MultiLine"]=4]="MultiLine";e[e["All"]=7]="All";e[e["Default"]=7]="Default"})(X=e.PragmaKindFlags||(e.PragmaKindFlags={}));function _contextuallyTypePragmas(e){return e}e.commentPragmas=_contextuallyTypePragmas({reference:{args:[{name:"types",optional:true,captureSpan:true},{name:"lib",optional:true,captureSpan:true},{name:"path",optional:true,captureSpan:true},{name:"no-default-lib",optional:true}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:true}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4}})})(s||(s={}));var s;(function(e){function setStackTraceLimit(){if(Error.stackTraceLimit<100){Error.stackTraceLimit=100}}e.setStackTraceLimit=setStackTraceLimit;var t;(function(e){e[e["Created"]=0]="Created";e[e["Changed"]=1]="Changed";e[e["Deleted"]=2]="Deleted"})(t=e.FileWatcherEventKind||(e.FileWatcherEventKind={}));var i;(function(e){e[e["High"]=2e3]="High";e[e["Medium"]=500]="Medium";e[e["Low"]=250]="Low"})(i=e.PollingInterval||(e.PollingInterval={}));e.missingFileModifiedTime=new Date(0);function createPollingIntervalBasedLevels(e){var t;return t={},t[i.Low]=e.Low,t[i.Medium]=e.Medium,t[i.High]=e.High,t}var a={Low:32,Medium:64,High:256};var o=createPollingIntervalBasedLevels(a);e.unchangedPollThresholds=createPollingIntervalBasedLevels(a);function setCustomPollingValues(t){if(!t.getEnvironmentVariable){return}var r=setCustomLevels("TSC_WATCH_POLLINGINTERVAL",i);o=getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE",a)||o;e.unchangedPollThresholds=getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS",a)||e.unchangedPollThresholds;function getLevel(e,r){return t.getEnvironmentVariable(e+"_"+r.toUpperCase())}function getCustomLevels(e){var t;setCustomLevel("Low");setCustomLevel("Medium");setCustomLevel("High");return t;function setCustomLevel(r){var n=getLevel(e,r);if(n){(t||(t={}))[r]=Number(n)}}}function setCustomLevels(e,t){var r=getCustomLevels(e);if(r){setLevel("Low");setLevel("Medium");setLevel("High");return true}return false;function setLevel(e){t[e]=r[e]||t[e]}}function getCustomPollingBasedLevels(e,t){var i=getCustomLevels(e);return(r||i)&&createPollingIntervalBasedLevels(i?n({},t,i):t)}}e.setCustomPollingValues=setCustomPollingValues;function createDynamicPriorityPollingWatchFile(t){var r=[];var n=[];var a=createPollingIntervalQueue(i.Low);var s=createPollingIntervalQueue(i.Medium);var c=createPollingIntervalQueue(i.High);return watchFile;function watchFile(t,n,i){var a={fileName:t,callback:n,unchangedPolls:0,mtime:getModifiedTime(t)};r.push(a);addToPollingIntervalQueue(a,i);return{close:function(){a.isClosed=true;e.unorderedRemoveItem(r,a)}}}function createPollingIntervalQueue(e){var t=[];t.pollingInterval=e;t.pollIndex=0;t.pollScheduled=false;return t}function pollPollingIntervalQueue(t){t.pollIndex=pollQueue(t,t.pollingInterval,t.pollIndex,o[t.pollingInterval]);if(t.length){scheduleNextPoll(t.pollingInterval)}else{e.Debug.assert(t.pollIndex===0);t.pollScheduled=false}}function pollLowPollingIntervalQueue(e){pollQueue(n,i.Low,0,n.length);pollPollingIntervalQueue(e);if(!e.pollScheduled&&n.length){scheduleNextPoll(i.Low)}}function pollQueue(t,r,a,o){var s=t.length;var c=a;for(var u=0;u0;nextPollIndex(),s--){var l=t[a];if(!l){continue}else if(l.isClosed){t[a]=undefined;continue}u++;var f=onWatchedFileStat(l,getModifiedTime(l.fileName));if(l.isClosed){t[a]=undefined}else if(f){l.unchangedPolls=0;if(t!==n){t[a]=undefined;addChangedFileToLowPollingIntervalQueue(l)}}else if(l.unchangedPolls!==e.unchangedPollThresholds[r]){l.unchangedPolls++}else if(t===n){l.unchangedPolls=1;t[a]=undefined;addToPollingIntervalQueue(l,i.Low)}else if(r!==i.High){l.unchangedPolls++;t[a]=undefined;addToPollingIntervalQueue(l,r===i.Low?i.Medium:i.High)}if(t[a]){if(c=4;var d=s.platform();var p=isFileSystemCaseSensitive();var g;(function(e){e[e["File"]=0]="File";e[e["Directory"]=1]="Directory"})(g||(g={}));var _=process.env.TSC_NONPOLLING_WATCHER;var m=process.env.TSC_WATCHFILE;var y=process.env.TSC_WATCHDIRECTORY;var h;var v={args:process.argv.slice(2),newLine:s.EOL,useCaseSensitiveFileNames:p,write:function(e){process.stdout.write(e)},writeOutputIsTTY:function(){return process.stdout.isTTY},readFile:readFile,writeFile:writeFile,watchFile:getWatchFile(),watchDirectory:getWatchDirectory(),resolvePath:function(e){return o.resolve(e)},fileExists:fileExists,directoryExists:directoryExists,createDirectory:function(e){if(!v.directoryExists(e)){a.mkdirSync(e)}},getExecutingFilePath:function(){return __filename},getCurrentDirectory:function(){return process.cwd()},getDirectories:getDirectories,getEnvironmentVariable:function(e){return process.env[e]||""},readDirectory:readDirectory,getModifiedTime:getModifiedTime,setModifiedTime:setModifiedTime,deleteFile:deleteFile,createHash:c?createMD5HashUsingNativeCrypto:generateDjb2Hash,createSHA256Hash:c?createSHA256Hash:undefined,getMemoryUsage:function(){if(global.gc){global.gc()}return process.memoryUsage().heapUsed},getFileSize:function(e){try{var t=a.statSync(e);if(t.isFile()){return t.size}}catch(e){}return 0},exit:function(e){process.exit(e)},realpath:realpath,debugMode:e.some(process.execArgv,function(e){return/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(e)}),tryEnableSourceMapsForHost:function(){try{r(2284).install()}catch(e){}},setTimeout:setTimeout,clearTimeout:clearTimeout,clearScreen:function(){process.stdout.write("c")},setBlocking:function(){if(process.stdout&&process.stdout._handle&&process.stdout._handle.setBlocking){process.stdout._handle.setBlocking(true)}},bufferFrom:bufferFrom,base64decode:function(e){return bufferFrom(e,"base64").toString("utf8")},base64encode:function(e){return bufferFrom(e).toString("base64")}};return v;function bufferFrom(e,t){return u.from&&u.from!==Int8Array.from?u.from(e,t):new u(e,t)}function isFileSystemCaseSensitive(){if(d==="win32"||d==="win64"){return false}return!fileExists(swapCase(__filename))}function swapCase(e){return e.replace(/\w/g,function(e){var t=e.toUpperCase();return e===t?e.toLowerCase():t})}function getWatchFile(){switch(m){case"PriorityPollingInterval":return fsWatchFile;case"DynamicPriorityPolling":return createDynamicPriorityPollingWatchFile({getModifiedTime:getModifiedTime,setTimeout:setTimeout});case"UseFsEvents":return watchFileUsingFsWatch;case"UseFsEventsWithFallbackDynamicPolling":h=createDynamicPriorityPollingWatchFile({getModifiedTime:getModifiedTime,setTimeout:setTimeout});return createWatchFileUsingDynamicWatchFile(h);case"UseFsEventsOnParentDirectory":return createNonPollingWatchFile()}return _?createNonPollingWatchFile():function(e,t){return fsWatchFile(e,t)}}function getWatchDirectory(){var e=f&&(process.platform==="win32"||process.platform==="darwin");if(e){return watchDirectoryUsingFsWatch}var t=y==="RecursiveDirectoryUsingFsWatchFile"?createWatchDirectoryUsing(fsWatchFile):y==="RecursiveDirectoryUsingDynamicPriorityPolling"?createWatchDirectoryUsing(h||createDynamicPriorityPollingWatchFile({getModifiedTime:getModifiedTime,setTimeout:setTimeout})):watchDirectoryUsingFsWatch;var r=createRecursiveDirectoryWatcher({useCaseSensitiveFileNames:p,directoryExists:directoryExists,getAccessibleSortedChildDirectories:function(e){return getAccessibleFileSystemEntries(e).directories},watchDirectory:t,realpath:realpath});return function(e,n,i){if(i){return r(e,n)}return t(e,n)}}function createNonPollingWatchFile(){var r=e.createMultiMap();var n=e.createMap();var i=e.createGetCanonicalFileName(p);return nonPollingWatchFile;function nonPollingWatchFile(t,a){var o=i(t);r.add(o,a);var s=e.getDirectoryPath(o)||".";var c=n.get(s)||createDirectoryWatcher(e.getDirectoryPath(t)||".",s);c.referenceCount++;return{close:function(){if(c.referenceCount===1){c.close();n.delete(s)}else{c.referenceCount--}r.remove(o,a)}}}function createDirectoryWatcher(a,o){var s=fsWatchDirectory(a,function(n,o){if(!e.isString(o)){return}var s=e.getNormalizedAbsolutePath(o,a);var c=s&&r.get(i(s));if(c){for(var u=0,l=c;u=2&&r[0]===254&&r[1]===255){n&=~1;for(var i=0;i=2&&r[0]===255&&r[1]===254){return r.toString("utf16le",2)}if(n>=3&&r[0]===239&&r[1]===187&&r[2]===191){return r.toString("utf8",3)}return r.toString("utf8")}function writeFile(e,t,r){if(r){t=n+t}var i;try{i=a.openSync(e,"w");a.writeSync(i,t,undefined,"utf8")}finally{if(i!==undefined){a.closeSync(i)}}}function getAccessibleFileSystemEntries(t){try{var r=a.readdirSync(t||".").sort();var n=[];var i=[];for(var o=0,s=r;o type."),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:diag(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:diag(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:diag(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:diag(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:diag(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:diag(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:diag(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:diag(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),An_accessor_cannot_be_declared_in_an_ambient_context:diag(1086,e.DiagnosticCategory.Error,"An_accessor_cannot_be_declared_in_an_ambient_context_1086","An accessor cannot be declared in an ambient context."),_0_modifier_cannot_appear_on_a_constructor_declaration:diag(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:diag(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:diag(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:diag(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:diag(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:diag(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:diag(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:diag(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:diag(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:diag(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:diag(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:diag(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:diag(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:diag(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:diag(1103,e.DiagnosticCategory.Error,"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103","A 'for-await-of' statement is only allowed within an async function or async generator."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:diag(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:diag(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),Jump_target_cannot_cross_function_boundary:diag(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:diag(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:diag(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:diag(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:diag(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:diag(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:diag(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:diag(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:diag(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","An object literal cannot have multiple properties with the same name in strict mode."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:diag(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:diag(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:diag(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:diag(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:diag(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:diag(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:diag(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:diag(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:diag(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:diag(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:diag(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:diag(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:diag(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:diag(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:diag(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:diag(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:diag(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:diag(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:diag(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:diag(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:diag(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:diag(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:diag(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:diag(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:diag(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:diag(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:diag(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:diag(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:diag(1150,e.DiagnosticCategory.Error,"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150","'new T[]' cannot be used to create an array. Use 'new Array()' instead."),const_declarations_must_be_initialized:diag(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:diag(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:diag(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:diag(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:diag(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:diag(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:diag(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:diag(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166","A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:diag(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:diag(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:diag(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:diag(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:diag(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:diag(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:diag(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:diag(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:diag(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:diag(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:diag(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:diag(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:diag(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:diag(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:diag(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:diag(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:diag(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:diag(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:diag(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:diag(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:diag(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:diag(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:diag(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:diag(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),Catch_clause_variable_cannot_have_a_type_annotation:diag(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_a_type_annotation_1196","Catch clause variable cannot have a type annotation."),Catch_clause_variable_cannot_have_an_initializer:diag(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:diag(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:diag(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:diag(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:diag(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:diag(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided:diag(1205,e.DiagnosticCategory.Error,"Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided_1205","Cannot re-export a type when the '--isolatedModules' flag is provided."),Decorators_are_not_valid_here:diag(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:diag(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:diag(1208,e.DiagnosticCategory.Error,"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208","Cannot compile namespaces when the '--isolatedModules' flag is provided."),Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:diag(1209,e.DiagnosticCategory.Error,"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209","Ambient const enums are not allowed when the '--isolatedModules' flag is provided."),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:diag(1210,e.DiagnosticCategory.Error,"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210","Invalid use of '{0}'. Class definitions are automatically in strict mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:diag(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:diag(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:diag(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:diag(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:diag(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:diag(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:diag(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:diag(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:diag(1220,e.DiagnosticCategory.Error,"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220","Generators are only available when targeting ECMAScript 2015 or higher."),Generators_are_not_allowed_in_an_ambient_context:diag(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:diag(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:diag(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:diag(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:diag(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:diag(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:diag(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:diag(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:diag(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:diag(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_can_only_be_used_in_a_module:diag(1231,e.DiagnosticCategory.Error,"An_export_assignment_can_only_be_used_in_a_module_1231","An export assignment can only be used in a module."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:diag(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:diag(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:diag(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:diag(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","A namespace declaration is only allowed in a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:diag(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:diag(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:diag(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:diag(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:diag(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:diag(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:diag(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:diag(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:diag(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:diag(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:diag(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:diag(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:diag(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:diag(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:diag(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:diag(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:diag(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:diag(1253,e.DiagnosticCategory.Error,"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253","'{0}' tag cannot be used independently as a top level JSDoc tag."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:diag(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:diag(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_rest_element_must_be_last_in_a_tuple_type:diag(1256,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_tuple_type_1256","A rest element must be last in a tuple type."),A_required_element_cannot_follow_an_optional_element:diag(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),with_statements_are_not_allowed_in_an_async_function_block:diag(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expression_is_only_allowed_within_an_async_function:diag(1308,e.DiagnosticCategory.Error,"await_expression_is_only_allowed_within_an_async_function_1308","'await' expression is only allowed within an async function."),can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:diag(1312,e.DiagnosticCategory.Error,"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312","'=' can only be used in an object literal property inside a destructuring assignment."),The_body_of_an_if_statement_cannot_be_the_empty_statement:diag(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:diag(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:diag(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:diag(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:diag(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:diag(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:diag(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext:diag(1323,e.DiagnosticCategory.Error,"Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext_1323","Dynamic import is only supported when '--module' flag is 'commonjs' or 'esNext'."),Dynamic_import_must_have_one_specifier_as_an_argument:diag(1324,e.DiagnosticCategory.Error,"Dynamic_import_must_have_one_specifier_as_an_argument_1324","Dynamic import must have one specifier as an argument."),Specifier_of_dynamic_import_cannot_be_spread_element:diag(1325,e.DiagnosticCategory.Error,"Specifier_of_dynamic_import_cannot_be_spread_element_1325","Specifier of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:diag(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments"),String_literal_with_double_quotes_expected:diag(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:diag(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:diag(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:diag(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:diag(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:diag(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:diag(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:diag(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:diag(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:diag(1336,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336","An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead."),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:diag(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337","An index signature parameter type cannot be a union type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:diag(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:diag(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:diag(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Type_arguments_cannot_be_used_here:diag(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_options:diag(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_option_1343","The 'import.meta' meta-property is only allowed using 'ESNext' for the 'target' and 'module' compiler options."),A_label_is_not_allowed_here:diag(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:diag(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness"),This_parameter_is_not_allowed_with_use_strict_directive:diag(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:diag(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:diag(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:diag(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:diag(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),Duplicate_identifier_0:diag(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:diag(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:diag(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:diag(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:diag(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:diag(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:diag(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0:diag(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_2307","Cannot find module '{0}'."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:diag(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:diag(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:diag(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),A_class_may_only_extend_another_class:diag(2311,e.DiagnosticCategory.Error,"A_class_may_only_extend_another_class_2311","A class may only extend another class."),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:diag(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:diag(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:diag(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:diag(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:diag(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:diag(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:diag(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:diag(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:diag(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:diag(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:diag(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:diag(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:diag(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:diag(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:diag(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:diag(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_is_missing_in_type_0:diag(2329,e.DiagnosticCategory.Error,"Index_signature_is_missing_in_type_0_2329","Index signature is missing in type '{0}'."),Index_signatures_are_incompatible:diag(2330,e.DiagnosticCategory.Error,"Index_signatures_are_incompatible_2330","Index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:diag(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:diag(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:diag(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:diag(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:diag(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:diag(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:diag(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:diag(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:diag(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:diag(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:diag(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:diag(2342,e.DiagnosticCategory.Error,"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342","An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."),This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1:diag(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343","This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."),Type_0_does_not_satisfy_the_constraint_1:diag(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:diag(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:diag(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:diag(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:diag(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:diag(2349,e.DiagnosticCategory.Error,"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349","Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."),Only_a_void_function_can_be_called_with_the_new_keyword:diag(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:diag(2351,e.DiagnosticCategory.Error,"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351","Cannot use 'new' with an expression whose type lacks a call or construct signature."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:diag(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:diag(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:diag(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:diag(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:diag(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:diag(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:diag(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:diag(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360","The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."),The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:diag(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361","The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:diag(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:diag(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:diag(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:diag(2367,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367","This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."),Type_parameter_name_cannot_be_0:diag(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:diag(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:diag(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:diag(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_be_referenced_in_its_initializer:diag(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_be_referenced_in_its_initializer_2372","Parameter '{0}' cannot be referenced in its initializer."),Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:diag(2373,e.DiagnosticCategory.Error,"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_string_index_signature:diag(2374,e.DiagnosticCategory.Error,"Duplicate_string_index_signature_2374","Duplicate string index signature."),Duplicate_number_index_signature:diag(2375,e.DiagnosticCategory.Error,"Duplicate_number_index_signature_2375","Duplicate number index signature."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:diag(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."),Constructors_for_derived_classes_must_contain_a_super_call:diag(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:diag(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Getter_and_setter_accessors_do_not_agree_in_visibility:diag(2379,e.DiagnosticCategory.Error,"Getter_and_setter_accessors_do_not_agree_in_visibility_2379","Getter and setter accessors do not agree in visibility."),get_and_set_accessor_must_have_the_same_type:diag(2380,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_type_2380","'get' and 'set' accessor must have the same type."),A_signature_with_an_implementation_cannot_use_a_string_literal_type:diag(2381,e.DiagnosticCategory.Error,"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381","A signature with an implementation cannot use a string literal type."),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:diag(2382,e.DiagnosticCategory.Error,"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382","Specialized overload signature is not assignable to any non-specialized signature."),Overload_signatures_must_all_be_exported_or_non_exported:diag(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:diag(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:diag(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:diag(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:diag(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:diag(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:diag(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:diag(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:diag(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:diag(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:diag(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),Overload_signature_is_not_compatible_with_function_implementation:diag(2394,e.DiagnosticCategory.Error,"Overload_signature_is_not_compatible_with_function_implementation_2394","Overload signature is not compatible with function implementation."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:diag(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:diag(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:diag(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:diag(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:diag(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:diag(2401,e.DiagnosticCategory.Error,"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401","Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:diag(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:diag(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:diag(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:diag(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:diag(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:diag(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:diag(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:diag(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:diag(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:diag(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411","Property '{0}' of type '{1}' is not assignable to string index type '{2}'."),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:diag(2412,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412","Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:diag(2413,e.DiagnosticCategory.Error,"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413","Numeric index type '{0}' is not assignable to string index type '{1}'."),Class_name_cannot_be_0:diag(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:diag(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:diag(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:diag(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:diag(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Class_0_incorrectly_implements_interface_1:diag(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:diag(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:diag(2424,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:diag(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:diag(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:diag(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:diag(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:diag(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:diag(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:diag(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:diag(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:diag(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:diag(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:diag(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:diag(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:diag(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:diag(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:diag(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:diag(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:diag(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:diag(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:diag(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:diag(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:diag(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:diag(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:diag(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:diag(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:diag(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:diag(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:diag(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:diag(2453,e.DiagnosticCategory.Error,"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453","The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."),Variable_0_is_used_before_being_assigned:diag(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:diag(2455,e.DiagnosticCategory.Error,"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455","Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."),Type_alias_0_circularly_references_itself:diag(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:diag(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:diag(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Type_0_has_no_property_1_and_no_string_index_signature:diag(2459,e.DiagnosticCategory.Error,"Type_0_has_no_property_1_and_no_string_index_signature_2459","Type '{0}' has no property '{1}' and no string index signature."),Type_0_has_no_property_1:diag(2460,e.DiagnosticCategory.Error,"Type_0_has_no_property_1_2460","Type '{0}' has no property '{1}'."),Type_0_is_not_an_array_type:diag(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:diag(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:diag(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:diag(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:diag(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:diag(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:diag(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:diag(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:diag(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:diag(2470,e.DiagnosticCategory.Error,"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470","'Symbol' reference does not refer to the global Symbol constructor object."),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:diag(2471,e.DiagnosticCategory.Error,"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471","A computed property name of the form '{0}' must be of type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:diag(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:diag(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),In_const_enum_declarations_member_initializer_must_be_constant_expression:diag(2474,e.DiagnosticCategory.Error,"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474","In 'const' enum declarations member initializer must be constant expression."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:diag(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:diag(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:diag(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:diag(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),Property_0_does_not_exist_on_const_enum_1:diag(2479,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_const_enum_1_2479","Property '{0}' does not exist on 'const' enum '{1}'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:diag(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:diag(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:diag(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:diag(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:diag(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:diag(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:diag(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the 'next()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:diag(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:diag(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:diag(2493,e.DiagnosticCategory.Error,"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493","Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:diag(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:diag(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:diag(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:diag(2497,e.DiagnosticCategory.Error,"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497","Module '{0}' resolves to a non-module entity and cannot be imported using this construct."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:diag(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:diag(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:diag(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:diag(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:diag(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:diag(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:diag(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:diag(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:diag(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:diag(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:diag(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:diag(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:diag(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:diag(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:diag(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Classes_containing_abstract_methods_must_be_marked_abstract:diag(2514,e.DiagnosticCategory.Error,"Classes_containing_abstract_methods_must_be_marked_abstract_2514","Classes containing abstract methods must be marked abstract."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:diag(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:diag(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:diag(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:diag(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:diag(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:diag(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:diag(2521,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521","Expression resolves to variable declaration '{0}' that compiler uses to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:diag(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:diag(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:diag(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:diag(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:diag(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:diag(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:diag(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:diag(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:diag(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:diag(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:diag(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:diag(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:diag(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:diag(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:diag(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:diag(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:diag(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:diag(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:diag(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:diag(2541,e.DiagnosticCategory.Error,"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541","The target of an assignment must be a variable or a property access."),Index_signature_in_type_0_only_permits_reading:diag(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:diag(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:diag(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:diag(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1:diag(2546,e.DiagnosticCategory.Error,"Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546","Property '{0}' has conflicting declarations and is inaccessible in type '{1}'."),The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:diag(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547","The type returned by the 'next()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:diag(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:diag(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:diag(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:diag(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:diag(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),Expected_0_arguments_but_got_1_or_more:diag(2556,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_or_more_2556","Expected {0} arguments, but got {1} or more."),Expected_at_least_0_arguments_but_got_1_or_more:diag(2557,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_or_more_2557","Expected at least {0} arguments, but got {1} or more."),Expected_0_type_arguments_but_got_1:diag(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:diag(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:diag(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:diag(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:diag(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:diag(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:diag(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:diag(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:diag(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:diag(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:diag(2568,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568","Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:diag(2569,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569","Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await:diag(2570,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570","Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"),Object_is_of_type_unknown:diag(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),Rest_signatures_are_incompatible:diag(2572,e.DiagnosticCategory.Error,"Rest_signatures_are_incompatible_2572","Rest signatures are incompatible."),Property_0_is_incompatible_with_rest_element_type:diag(2573,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_rest_element_type_2573","Property '{0}' is incompatible with rest element type."),A_rest_element_type_must_be_an_array_type:diag(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:diag(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_is_a_static_member_of_type_1:diag(2576,e.DiagnosticCategory.Error,"Property_0_is_a_static_member_of_type_1_2576","Property '{0}' is a static member of type '{1}'"),Return_type_annotation_circularly_references_itself:diag(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:diag(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_th_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i @types/node` and then add `node` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:diag(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_an_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i @types/jquery` and then add `jquery` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashjest_or_npm_i_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:diag(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashje_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:diag(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:diag(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:diag(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Enum_type_0_circularly_references_itself:diag(2586,e.DiagnosticCategory.Error,"Enum_type_0_circularly_references_itself_2586","Enum type '{0}' circularly references itself."),JSDoc_type_0_circularly_references_itself:diag(2587,e.DiagnosticCategory.Error,"JSDoc_type_0_circularly_references_itself_2587","JSDoc type '{0}' circularly references itself."),Cannot_assign_to_0_because_it_is_a_constant:diag(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),JSX_element_attributes_type_0_may_not_be_a_union_type:diag(2600,e.DiagnosticCategory.Error,"JSX_element_attributes_type_0_may_not_be_a_union_type_2600","JSX element attributes type '{0}' may not be a union type."),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:diag(2601,e.DiagnosticCategory.Error,"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601","The return type of a JSX element constructor must return an object type."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:diag(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:diag(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:diag(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:diag(2605,e.DiagnosticCategory.Error,"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605","JSX element type '{0}' is not a constructor function for JSX elements."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:diag(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:diag(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:diag(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:diag(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:diag(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:diag(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:diag(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:diag(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:diag(2654,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654","Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:diag(2656,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656","Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."),JSX_expressions_must_have_one_parent_element:diag(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:diag(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:diag(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:diag(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:diag(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:diag(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:diag(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:diag(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:diag(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:diag(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:diag(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:diag(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:diag(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:diag(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:diag(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:diag(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:diag(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:diag(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:diag(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:diag(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:diag(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:diag(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:diag(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:diag(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:diag(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),get_and_set_accessor_must_have_the_same_this_type:diag(2682,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_this_type_2682","'get' and 'set' accessor must have the same 'this' type."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:diag(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:diag(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:diag(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:diag(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:diag(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:diag(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:diag(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:diag(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:diag(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:diag(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:diag(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:diag(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",true),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:diag(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:diag(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),Spread_types_may_only_be_created_from_object_types:diag(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:diag(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:diag(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:diag(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:diag(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:diag(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a delete operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:diag(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a delete operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:diag(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Required_type_parameters_may_not_follow_optional_type_parameters:diag(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:diag(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:diag(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:diag(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:diag(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:diag(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:diag(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:diag(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:diag(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:diag(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:diag(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:diag(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_declaration_0:diag(2718,e.DiagnosticCategory.Error,"Duplicate_declaration_0_2718","Duplicate declaration '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:diag(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:diag(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:diag(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:diag(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:diag(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),Module_0_has_no_exported_member_1_Did_you_mean_2:diag(2724,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_2_2724","Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:diag(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:diag(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:diag(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:diag(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:diag(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:diag(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:diag(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:diag(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension"),It_is_highly_likely_that_you_are_missing_a_semicolon:diag(2734,e.DiagnosticCategory.Error,"It_is_highly_likely_that_you_are_missing_a_semicolon_2734","It is highly likely that you are missing a semicolon."),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:diag(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:diag(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ESNext:diag(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ESNext_2737","BigInt literals are not available when targeting lower than ESNext."),An_outer_value_of_this_is_shadowed_by_this_container:diag(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:diag(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:diag(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:diag(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:diag(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),Import_declaration_0_is_using_private_name_1:diag(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:diag(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:diag(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:diag(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:diag(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:diag(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:diag(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:diag(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:diag(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:diag(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:diag(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:diag(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:diag(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:diag(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:diag(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:diag(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:diag(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:diag(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:diag(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:diag(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:diag(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:diag(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:diag(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:diag(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:diag(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:diag(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:diag(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:diag(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:diag(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:diag(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:diag(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:diag(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:diag(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:diag(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:diag(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:diag(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:diag(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:diag(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:diag(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:diag(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),The_current_host_does_not_support_the_0_option:diag(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:diag(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:diag(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:diag(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:diag(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:diag(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:diag(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Could_not_write_file_0_Colon_1:diag(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:diag(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:diag(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:diag(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:diag(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:diag(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:diag(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:diag(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:diag(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:diag(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:diag(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:diag(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Option_paths_cannot_be_used_without_specifying_baseUrl_option:diag(5060,e.DiagnosticCategory.Error,"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060","Option 'paths' cannot be used without specifying '--baseUrl' option."),Pattern_0_can_have_at_most_one_Asterisk_character:diag(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:diag(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' in can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:diag(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:diag(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:diag(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:diag(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:diag(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:diag(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:diag(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:diag(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:diag(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:diag(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:diag(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:diag(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:diag(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:diag(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:diag(6003,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:diag(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:diag(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:diag(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:diag(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:diag(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:diag(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:diag(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:diag(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:diag(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:diag(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:diag(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT:diag(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT_6015","Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'."),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext:diag(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext_6016","Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'."),Print_this_message:diag(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:diag(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:diag(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:diag(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:diag(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:diag(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:diag(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:diag(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:diag(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:diag(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:diag(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:diag(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:diag(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:diag(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:diag(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:diag(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:diag(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:diag(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:diag(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Generates_corresponding_map_file:diag(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:diag(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:diag(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:diag(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:diag(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unsupported_locale_0:diag(6049,e.DiagnosticCategory.Error,"Unsupported_locale_0_6049","Unsupported locale '{0}'."),Unable_to_open_file_0:diag(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:diag(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:diag(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:diag(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_unsupported_extension_The_only_supported_extensions_are_1:diag(6054,e.DiagnosticCategory.Error,"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:diag(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:diag(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:diag(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:diag(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:diag(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:diag(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file:diag(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_6064","Option '{0}' can only be specified in 'tsconfig.json' file."),Enables_experimental_support_for_ES7_decorators:diag(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:diag(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Enables_experimental_support_for_ES7_async_functions:diag(6068,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_async_functions_6068","Enables experimental support for ES7 async functions."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:diag(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:diag(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:diag(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:diag(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:diag(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:diag(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:diag(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:diag(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:diag(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:diag(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:diag(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:diag(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080","Specify JSX code generation: 'preserve', 'react-native', or 'react'."),File_0_has_an_unsupported_extension_so_skipping_it:diag(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:diag(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:diag(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:diag(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:diag(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:diag(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:diag(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:diag(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:diag(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:diag(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:diag(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:diag(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:diag(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:diag(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:diag(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:diag(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:diag(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:diag(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:diag(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:diag(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:diag(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:diag(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Option_0_should_have_array_of_strings_as_a_value:diag(6103,e.DiagnosticCategory.Error,"Option_0_should_have_array_of_strings_as_a_value_6103","Option '{0}' should have array of strings as a value."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:diag(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:diag(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:diag(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:diag(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:diag(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:diag(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:diag(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:diag(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:diag(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:diag(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:diag(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:diag(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:diag(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Resolving_using_primary_search_paths:diag(6117,e.DiagnosticCategory.Message,"Resolving_using_primary_search_paths_6117","Resolving using primary search paths..."),Resolving_from_node_modules_folder:diag(6118,e.DiagnosticCategory.Message,"Resolving_from_node_modules_folder_6118","Resolving from node_modules folder..."),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:diag(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:diag(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:diag(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:diag(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:diag(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:diag(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:diag(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:diag(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:diag(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:diag(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:diag(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:diag(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:diag(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:diag(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",true),Report_errors_on_unused_locals:diag(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:diag(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:diag(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:diag(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:diag(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",true),Import_emit_helpers_from_tslib:diag(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:diag(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:diag(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:diag(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:diag(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:diag(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:diag(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:diag(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:diag(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:diag(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:diag(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:diag(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:diag(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:diag(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:diag(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:diag(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:diag(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:diag(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:diag(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:diag(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:diag(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:diag(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:diag(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:diag(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:diag(6164,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Do_not_truncate_error_messages:diag(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:diag(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:diag(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:diag(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:diag(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:diag(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:diag(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Basic_Options:diag(6172,e.DiagnosticCategory.Message,"Basic_Options_6172","Basic Options"),Strict_Type_Checking_Options:diag(6173,e.DiagnosticCategory.Message,"Strict_Type_Checking_Options_6173","Strict Type-Checking Options"),Module_Resolution_Options:diag(6174,e.DiagnosticCategory.Message,"Module_Resolution_Options_6174","Module Resolution Options"),Source_Map_Options:diag(6175,e.DiagnosticCategory.Message,"Source_Map_Options_6175","Source Map Options"),Additional_Checks:diag(6176,e.DiagnosticCategory.Message,"Additional_Checks_6176","Additional Checks"),Experimental_Options:diag(6177,e.DiagnosticCategory.Message,"Experimental_Options_6177","Experimental Options"),Advanced_Options:diag(6178,e.DiagnosticCategory.Message,"Advanced_Options_6178","Advanced Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:diag(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:diag(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:diag(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:diag(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_to_file_1_from_old_program:diag(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183","Reusing resolution of module '{0}' to file '{1}' from old program."),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:diag(6184,e.DiagnosticCategory.Message,"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184","Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program."),Disable_strict_checking_of_generic_signatures_in_function_types:diag(6185,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6185","Disable strict checking of generic signatures in function types."),Enable_strict_checking_of_function_types:diag(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:diag(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:diag(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:diag(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Found_package_json_at_0_Package_ID_is_1:diag(6190,e.DiagnosticCategory.Message,"Found_package_json_at_0_Package_ID_is_1_6190","Found 'package.json' at '{0}'. Package ID is '{1}'."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:diag(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:diag(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",true),Found_1_error_Watching_for_file_changes:diag(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:diag(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:diag(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:diag(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",true),Include_modules_imported_with_json_extension:diag(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:diag(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",true),All_variables_are_unused:diag(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",true),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:diag(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:diag(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),_0_was_also_declared_here:diag(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:diag(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:diag(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:diag(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:diag(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:diag(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:diag(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:diag(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:diag(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:diag(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:diag(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:diag(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:diag(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:diag(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:diag(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Projects_to_reference:diag(6300,e.DiagnosticCategory.Message,"Projects_to_reference_6300","Projects to reference"),Enable_project_compilation:diag(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:diag(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),Composite_projects_may_not_disable_declaration_emit:diag(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:diag(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:diag(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern:diag(6307,e.DiagnosticCategory.Error,"File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern_6307","File '{0}' is not in project file list. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:diag(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:diag(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:diag(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350","Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:diag(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:diag(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:diag(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:diag(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:diag(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:diag(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:diag(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:diag(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:diag(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:diag(6360,e.DiagnosticCategory.Message,"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360","delete this - Project '{0}' is up to date because it was previously built"),Project_0_is_up_to_date:diag(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:diag(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:diag(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:diag(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:diag(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects"),Enable_verbose_logging:diag(6366,e.DiagnosticCategory.Message,"Enable_verbose_logging_6366","Enable verbose logging"),Show_what_would_be_built_or_deleted_if_specified_with_clean:diag(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Build_all_projects_including_those_that_appear_to_be_up_to_date:diag(6368,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368","Build all projects, including those that appear to be up to date"),Option_build_must_be_the_first_command_line_argument:diag(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:diag(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:diag(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:diag(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:diag(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Variable_0_implicitly_has_an_1_type:diag(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:diag(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:diag(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:diag(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:diag(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:diag(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:diag(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:diag(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:diag(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:diag(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:diag(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:diag(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:diag(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:diag(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:diag(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:diag(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:diag(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:diag(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025","Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:diag(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:diag(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",true),Unused_label:diag(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",true),Fallthrough_case_in_switch:diag(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:diag(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:diag(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:diag(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:diag(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:diag(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:diag(7035,e.DiagnosticCategory.Error,"Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_mod_7035","Try `npm install @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:diag(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:diag(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:diag(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:diag(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:diag(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`"),The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any:diag(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any_7041","The containing arrow function captures the global value of 'this' which implicitly has type 'any'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:diag(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:diag(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:diag(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:diag(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:diag(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:diag(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:diag(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),You_cannot_rename_this_element:diag(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:diag(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_a_ts_file:diag(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_a_ts_file_8002","'import ... =' can only be used in a .ts file."),export_can_only_be_used_in_a_ts_file:diag(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_a_ts_file_8003","'export=' can only be used in a .ts file."),type_parameter_declarations_can_only_be_used_in_a_ts_file:diag(8004,e.DiagnosticCategory.Error,"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004","'type parameter declarations' can only be used in a .ts file."),implements_clauses_can_only_be_used_in_a_ts_file:diag(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_a_ts_file_8005","'implements clauses' can only be used in a .ts file."),interface_declarations_can_only_be_used_in_a_ts_file:diag(8006,e.DiagnosticCategory.Error,"interface_declarations_can_only_be_used_in_a_ts_file_8006","'interface declarations' can only be used in a .ts file."),module_declarations_can_only_be_used_in_a_ts_file:diag(8007,e.DiagnosticCategory.Error,"module_declarations_can_only_be_used_in_a_ts_file_8007","'module declarations' can only be used in a .ts file."),type_aliases_can_only_be_used_in_a_ts_file:diag(8008,e.DiagnosticCategory.Error,"type_aliases_can_only_be_used_in_a_ts_file_8008","'type aliases' can only be used in a .ts file."),_0_can_only_be_used_in_a_ts_file:diag(8009,e.DiagnosticCategory.Error,"_0_can_only_be_used_in_a_ts_file_8009","'{0}' can only be used in a .ts file."),types_can_only_be_used_in_a_ts_file:diag(8010,e.DiagnosticCategory.Error,"types_can_only_be_used_in_a_ts_file_8010","'types' can only be used in a .ts file."),type_arguments_can_only_be_used_in_a_ts_file:diag(8011,e.DiagnosticCategory.Error,"type_arguments_can_only_be_used_in_a_ts_file_8011","'type arguments' can only be used in a .ts file."),parameter_modifiers_can_only_be_used_in_a_ts_file:diag(8012,e.DiagnosticCategory.Error,"parameter_modifiers_can_only_be_used_in_a_ts_file_8012","'parameter modifiers' can only be used in a .ts file."),non_null_assertions_can_only_be_used_in_a_ts_file:diag(8013,e.DiagnosticCategory.Error,"non_null_assertions_can_only_be_used_in_a_ts_file_8013","'non-null assertions' can only be used in a .ts file."),enum_declarations_can_only_be_used_in_a_ts_file:diag(8015,e.DiagnosticCategory.Error,"enum_declarations_can_only_be_used_in_a_ts_file_8015","'enum declarations' can only be used in a .ts file."),type_assertion_expressions_can_only_be_used_in_a_ts_file:diag(8016,e.DiagnosticCategory.Error,"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016","'type assertion expressions' can only be used in a .ts file."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:diag(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:diag(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:diag(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:diag(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:diag(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:diag(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:diag(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:diag(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:diag(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one `@augments` or `@extends` tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:diag(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:diag(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:diag(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:diag(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:diag(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:diag(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:diag(9002,e.DiagnosticCategory.Error,"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002","Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."),class_expressions_are_not_currently_supported:diag(9003,e.DiagnosticCategory.Error,"class_expressions_are_not_currently_supported_9003","'class' expressions are not currently supported."),Language_service_is_disabled:diag(9004,e.DiagnosticCategory.Error,"Language_service_is_disabled_9004","Language service is disabled."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:diag(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:diag(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:diag(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),JSX_attribute_expected:diag(17003,e.DiagnosticCategory.Error,"JSX_attribute_expected_17003","JSX attribute expected."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:diag(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:diag(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:diag(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:diag(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:diag(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:diag(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:diag(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:diag(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:diag(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:diag(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:diag(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:diag(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),JSX_fragment_is_not_supported_when_using_jsxFactory:diag(17016,e.DiagnosticCategory.Error,"JSX_fragment_is_not_supported_when_using_jsxFactory_17016","JSX fragment is not supported when using --jsxFactory"),JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma:diag(17017,e.DiagnosticCategory.Error,"JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma_17017","JSX fragment is not supported when using an inline JSX factory pragma"),Circularity_detected_while_resolving_configuration_Colon_0:diag(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:diag(18001,e.DiagnosticCategory.Error,"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001","A path in an 'extends' option must be relative or rooted, but '{0}' is not."),The_files_list_in_config_file_0_is_empty:diag(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:diag(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:diag(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001","File is a CommonJS module; it may be converted to an ES6 module."),This_constructor_function_may_be_converted_to_a_class_declaration:diag(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:diag(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:diag(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:diag(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:diag(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),Add_missing_super_call:diag(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:diag(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:diag(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_declaration_for_Colon_0:diag(90004,e.DiagnosticCategory.Message,"Remove_declaration_for_Colon_0_90004","Remove declaration for: '{0}'"),Remove_import_from_0:diag(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:diag(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:diag(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:diag(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_destructuring:diag(90009,e.DiagnosticCategory.Message,"Remove_destructuring_90009","Remove destructuring"),Remove_variable_statement:diag(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:diag(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:diag(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_module_1:diag(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:diag(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:diag(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:diag(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:diag(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:diag(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:diag(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:diag(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:diag(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:diag(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:diag(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:diag(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:diag(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:diag(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:diag(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:diag(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:diag(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:diag(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:diag(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Import_default_0_from_module_1:diag(90032,e.DiagnosticCategory.Message,"Import_default_0_from_module_1_90032","Import default '{0}' from module \"{1}\""),Add_default_import_0_to_existing_import_declaration_from_1:diag(90033,e.DiagnosticCategory.Message,"Add_default_import_0_to_existing_import_declaration_from_1_90033","Add default import '{0}' to existing import declaration from \"{1}\""),Add_parameter_name:diag(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Convert_function_to_an_ES2015_class:diag(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_function_0_to_class:diag(95002,e.DiagnosticCategory.Message,"Convert_function_0_to_class_95002","Convert function '{0}' to class"),Extract_to_0_in_1:diag(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:diag(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:diag(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:diag(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:diag(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:diag(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Annotate_with_types_from_JSDoc:diag(95010,e.DiagnosticCategory.Message,"Annotate_with_types_from_JSDoc_95010","Annotate with types from JSDoc"),Infer_type_of_0_from_usage:diag(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:diag(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:diag(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:diag(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:diag(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:diag(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES6_module:diag(95017,e.DiagnosticCategory.Message,"Convert_to_ES6_module_95017","Convert to ES6 module"),Add_undefined_type_to_property_0:diag(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:diag(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:diag(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Add_all_missing_members:diag(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:diag(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:diag(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:diag(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:diag(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:diag(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:diag(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:diag(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:diag(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:diag(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:diag(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:diag(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:diag(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:diag(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:diag(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:diag(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:diag(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:diag(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:diag(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:diag(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:diag(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:diag(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:diag(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:diag(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:diag(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:diag(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:diag(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:diag(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:diag(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:diag(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:diag(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:diag(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:diag(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:diag(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:diag(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:diag(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:diag(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:diag(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:diag(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:diag(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:diag(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:diag(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:diag(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:diag(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:diag(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Generate_types_for_0:diag(95067,e.DiagnosticCategory.Message,"Generate_types_for_0_95067","Generate types for '{0}'"),Generate_types_for_all_packages_without_types:diag(95068,e.DiagnosticCategory.Message,"Generate_types_for_all_packages_without_types_95068","Generate types for all packages without types"),Add_unknown_conversion_for_non_overlapping_types:diag(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:diag(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:diag(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:diag(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:diag(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names")}})(s||(s={}));var s;(function(e){var t;function tokenIsIdentifierOrKeyword(e){return e>=72}e.tokenIsIdentifierOrKeyword=tokenIsIdentifierOrKeyword;function tokenIsIdentifierOrKeywordOrGreaterThan(e){return e===30||tokenIsIdentifierOrKeyword(e)}e.tokenIsIdentifierOrKeywordOrGreaterThan=tokenIsIdentifierOrKeywordOrGreaterThan;var r=(t={abstract:118,any:120,as:119,bigint:146,boolean:123,break:73,case:74,catch:75,class:76,continue:78,const:77},t[""+"constructor"]=124,t.debugger=79,t.declare=125,t.default=80,t.delete=81,t.do=82,t.else=83,t.enum=84,t.export=85,t.extends=86,t.false=87,t.finally=88,t.for=89,t.from=144,t.function=90,t.get=126,t.if=91,t.implements=109,t.import=92,t.in=93,t.infer=127,t.instanceof=94,t.interface=110,t.is=128,t.keyof=129,t.let=111,t.module=130,t.namespace=131,t.never=132,t.new=95,t.null=96,t.number=135,t.object=136,t.package=112,t.private=113,t.protected=114,t.public=115,t.readonly=133,t.require=134,t.global=145,t.return=97,t.set=137,t.static=116,t.string=138,t.super=98,t.switch=99,t.symbol=139,t.this=100,t.throw=101,t.true=102,t.try=103,t.type=140,t.typeof=104,t.undefined=141,t.unique=142,t.unknown=143,t.var=105,t.void=106,t.while=107,t.with=108,t.yield=117,t.async=121,t.await=122,t.of=147,t);var i=e.createMapFromTemplate(r);var a=e.createMapFromTemplate(n({},r,{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":28,">":30,"<=":31,">=":32,"==":33,"!=":34,"===":35,"!==":36,"=>":37,"+":38,"-":39,"**":41,"*":40,"/":42,"%":43,"++":44,"--":45,"<<":46,">":47,">>>":48,"&":49,"|":50,"^":51,"!":52,"~":53,"&&":54,"||":55,"?":56,":":57,"=":59,"+=":60,"-=":61,"*=":62,"**=":63,"/=":64,"%=":65,"<<=":66,">>=":67,">>>=":68,"&=":69,"|=":70,"^=":71,"@":58}));var o=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500];var c=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];function lookupInUnicodeMap(e,t){if(e=1?lookupInUnicodeMap(e,c):lookupInUnicodeMap(e,o)}e.isUnicodeIdentifierStart=isUnicodeIdentifierStart;function isUnicodeIdentifierPart(e,t){return t>=1?lookupInUnicodeMap(e,u):lookupInUnicodeMap(e,s)}function makeReverseMap(e){var t=[];e.forEach(function(e,r){t[e]=r});return t}var l=makeReverseMap(a);function tokenToString(e){return l[e]}e.tokenToString=tokenToString;function stringToToken(e){return a.get(e)}e.stringToToken=stringToToken;function computeLineStarts(e){var t=new Array;var r=0;var n=0;while(r127&&isLineBreak(i)){t.push(n);n=r}break}}t.push(n);return t}e.computeLineStarts=computeLineStarts;function getPositionOfLineAndCharacter(e,t,r){return computePositionOfLineAndCharacter(getLineStarts(e),t,r,e.text)}e.getPositionOfLineAndCharacter=getPositionOfLineAndCharacter;function getPositionOfLineAndCharacterWithEdits(e,t,r){return computePositionOfLineAndCharacter(getLineStarts(e),t,r,e.text,true)}e.getPositionOfLineAndCharacterWithEdits=getPositionOfLineAndCharacterWithEdits;function computePositionOfLineAndCharacter(t,r,n,i,a){if(r<0||r>=t.length){if(a){r=r<0?0:r>=t.length?t.length-1:r}else{e.Debug.fail("Bad line number. Line: "+r+", lineStarts.length: "+t.length+" , line map is correct? "+(i!==undefined?e.arraysEqual(t,computeLineStarts(i)):"unknown"))}}var o=t[r]+n;if(a){return o>t[r+1]?t[r+1]:typeof i==="string"&&o>i.length?i.length:o}if(r=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}e.isWhiteSpaceSingleLine=isWhiteSpaceSingleLine;function isLineBreak(e){return e===10||e===13||e===8232||e===8233}e.isLineBreak=isLineBreak;function isDigit(e){return e>=48&&e<=57}function isOctalDigit(e){return e>=48&&e<=55}e.isOctalDigit=isOctalDigit;function couldStartTrivia(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return true;case 35:return t===0;default:return r>127}}e.couldStartTrivia=couldStartTrivia;function skipTrivia(t,r,n,i){if(i===void 0){i=false}if(e.positionIsSynthesized(r)){return r}while(true){var a=t.charCodeAt(r);switch(a){case 13:if(t.charCodeAt(r+1)===10){r++}case 10:r++;if(n){return r}continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i){break}if(t.charCodeAt(r+1)===47){r+=2;while(r127&&isWhiteSpaceLike(a)){r++;continue}break}return r}}e.skipTrivia=skipTrivia;var f="<<<<<<<".length;function isConflictMarkerTrivia(t,r){e.Debug.assert(r>=0);if(r===0||isLineBreak(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+f=0&&r127&&isWhiteSpaceLike(g)){if(f&&isLineBreak(g)){l=true}r++;continue}break e}}if(f){p=i(s,c,u,l,a,p)}return p}function forEachLeadingCommentRange(e,t,r,n){return iterateCommentRanges(false,e,t,false,r,n)}e.forEachLeadingCommentRange=forEachLeadingCommentRange;function forEachTrailingCommentRange(e,t,r,n){return iterateCommentRanges(false,e,t,true,r,n)}e.forEachTrailingCommentRange=forEachTrailingCommentRange;function reduceEachLeadingCommentRange(e,t,r,n,i){return iterateCommentRanges(true,e,t,false,r,n,i)}e.reduceEachLeadingCommentRange=reduceEachLeadingCommentRange;function reduceEachTrailingCommentRange(e,t,r,n,i){return iterateCommentRanges(true,e,t,true,r,n,i)}e.reduceEachTrailingCommentRange=reduceEachTrailingCommentRange;function appendCommentRange(e,t,r,n,i,a){if(!a){a=[]}a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n});return a}function getLeadingCommentRanges(e,t){return reduceEachLeadingCommentRange(e,t,appendCommentRange,undefined,undefined)}e.getLeadingCommentRanges=getLeadingCommentRanges;function getTrailingCommentRanges(e,t){return reduceEachTrailingCommentRange(e,t,appendCommentRange,undefined,undefined)}e.getTrailingCommentRanges=getTrailingCommentRanges;function getShebang(e){var t=d.exec(e);if(t){return t[0]}}e.getShebang=getShebang;function isIdentifierStart(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&isUnicodeIdentifierStart(e,t)}e.isIdentifierStart=isIdentifierStart;function isIdentifierPart(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||e>127&&isUnicodeIdentifierPart(e,t)}e.isIdentifierPart=isIdentifierPart;function isIdentifierText(e,t){if(!isIdentifierStart(e.charCodeAt(0),t)){return false}for(var r=1;r108},isReservedWord:function(){return g>=73&&g<=108},isUnterminated:function(){return(m&4)!==0},getTokenFlags:function(){return m},reScanGreaterToken:reScanGreaterToken,reScanSlashToken:reScanSlashToken,reScanTemplateToken:reScanTemplateToken,scanJsxIdentifier:scanJsxIdentifier,scanJsxAttributeValue:scanJsxAttributeValue,reScanJsxToken:reScanJsxToken,scanJsxToken:scanJsxToken,scanJSDocToken:scanJSDocToken,scan:scan,getText:getText,setText:setText,setScriptTarget:setScriptTarget,setLanguageVariant:setLanguageVariant,setOnError:setOnError,setTextPos:setTextPos,setInJSDocType:setInJSDocType,tryScan:tryScan,lookAhead:lookAhead,scanRange:scanRange};function error(e,t,r){if(t===void 0){t=l}if(o){var n=l;l=t;o(e,r||0);l=n}}function scanNumberFragment(){var t=l;var r=false;var n=false;var i="";while(true){var a=u.charCodeAt(l);if(a===95){m|=512;if(r){r=false;n=true;i+=u.substring(t,l)}else if(n){error(e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted,l,1)}else{error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1)}l++;t=l;continue}if(isDigit(a)){r=true;n=false;l++;continue}break}if(u.charCodeAt(l-1)===95){error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1)}return i+u.substring(t,l)}function scanNumber(){var t=l;var r=scanNumberFragment();var n;var i;if(u.charCodeAt(l)===46){l++;n=scanNumberFragment()}var a=l;if(u.charCodeAt(l)===69||u.charCodeAt(l)===101){l++;m|=16;if(u.charCodeAt(l)===43||u.charCodeAt(l)===45)l++;var o=l;var s=scanNumberFragment();if(!s){error(e.Diagnostics.Digit_expected)}else{i=u.substring(a,o)+s;a=l}}var c;if(m&512){c=r;if(n){c+="."+n}if(i){c+=i}}else{c=u.substring(t,a)}if(n!==undefined||m&16){return{type:8,value:""+ +c}}else{_=c;var f=checkBigIntSuffix();return{type:f,value:_}}}function scanOctalDigits(){var e=l;while(isOctalDigit(u.charCodeAt(l))){l++}return+u.substring(e,l)}function scanExactNumberOfHexDigits(e,t){var r=scanHexDigits(e,false,t);return r?parseInt(r,16):-1}function scanMinimumNumberOfHexDigits(e,t){return scanHexDigits(e,true,t)}function scanHexDigits(t,r,n){var i=[];var a=false;var o=false;while(i.length=65&&s<=70){s+=97-65}else if(!(s>=48&&s<=57||s>=97&&s<=102)){break}i.push(s);l++;o=false}if(i.length=f){n+=u.substring(i,l);m|=4;error(e.Diagnostics.Unterminated_string_literal);break}var a=u.charCodeAt(l);if(a===r){n+=u.substring(i,l);l++;break}if(a===92&&!t){n+=u.substring(i,l);n+=scanEscapeSequence();i=l;continue}if(isLineBreak(a)&&!t){n+=u.substring(i,l);m|=4;error(e.Diagnostics.Unterminated_string_literal);break}l++}return n}function scanTemplateAndSetTokenValue(){var t=u.charCodeAt(l)===96;l++;var r=l;var n="";var i;while(true){if(l>=f){n+=u.substring(r,l);m|=4;error(e.Diagnostics.Unterminated_template_literal);i=t?14:17;break}var a=u.charCodeAt(l);if(a===96){n+=u.substring(r,l);l++;i=t?14:17;break}if(a===36&&l+1=f){error(e.Diagnostics.Unexpected_end_of_text);return""}var t=u.charCodeAt(l);l++;switch(t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:if(l=0){return String.fromCharCode(r)}else{error(e.Diagnostics.Hexadecimal_digit_expected);return""}}function scanExtendedUnicodeEscape(){var t=scanMinimumNumberOfHexDigits(1,false);var r=t?parseInt(t,16):-1;var n=false;if(r<0){error(e.Diagnostics.Hexadecimal_digit_expected);n=true}else if(r>1114111){error(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive);n=true}if(l>=f){error(e.Diagnostics.Unexpected_end_of_text);n=true}else if(u.charCodeAt(l)===125){l++}else{error(e.Diagnostics.Unterminated_Unicode_escape_sequence);n=true}if(n){return""}return utf16EncodeAsString(r)}function utf16EncodeAsString(t){e.Debug.assert(0<=t&&t<=1114111);if(t<=65535){return String.fromCharCode(t)}var r=Math.floor((t-65536)/1024)+55296;var n=(t-65536)%1024+56320;return String.fromCharCode(r,n)}function peekUnicodeEscape(){if(l+5=0&&isIdentifierPart(n,t))){break}e+=u.substring(r,l);e+=String.fromCharCode(n);l+=6;r=l}else{break}}e+=u.substring(r,l);return e}function getIdentifierToken(){var e=_.length;if(e>=2&&e<=11){var t=_.charCodeAt(0);if(t>=97&&t<=122){var r=i.get(_);if(r!==undefined){return g=r}}}return g=72}function scanBinaryOrOctalDigits(t){var r="";var n=false;var i=false;while(true){var a=u.charCodeAt(l);if(a===95){m|=512;if(n){n=false;i=true}else if(i){error(e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted,l,1)}else{error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1)}l++;continue}n=true;if(!isDigit(a)||a-48>=t){break}r+=u[l];l++;i=false}if(u.charCodeAt(l-1)===95){error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1)}return r}function checkBigIntSuffix(){if(u.charCodeAt(l)===110){_+="n";if(m&384){_=e.parsePseudoBigInt(_)+"n"}l++;return 9}else{var t=m&128?parseInt(_.slice(2),2):m&256?parseInt(_.slice(2),8):+_;_=""+t;return 8}}function scan(){var i;d=l;m=0;var a=false;while(true){p=l;if(l>=f){return g=1}var o=u.charCodeAt(l);if(o===35&&l===0&&isShebangTrivia(u,l)){l=scanShebangTrivia(u,l);if(r){continue}else{return g=6}}switch(o){case 10:case 13:m|=1;if(r){l++;continue}else{if(o===13&&l+1=0&&isIdentifierStart(h,t)){l+=6;_=String.fromCharCode(h)+scanIdentifierParts();return g=getIdentifierToken()}error(e.Diagnostics.Invalid_character);l++;return g=0;default:if(isIdentifierStart(o,t)){l++;while(l=f){m|=4;error(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=u.charCodeAt(r);if(isLineBreak(a)){m|=4;error(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n){n=false}else if(a===47&&!i){r++;break}else if(a===91){i=true}else if(a===92){n=true}else if(a===93){i=false}r++}while(r=f){return g=1}var e=u.charCodeAt(l);if(e===60){if(u.charCodeAt(l+1)===47){l+=2;return g=29}l++;return g=28}if(e===123){l++;return g=18}var t=0;while(l=f){return g=1}var e=u.charCodeAt(l);l++;switch(e){case 9:case 11:case 12:case 32:while(l=0);l=t;d=t;p=t;g=0;_=undefined;m=0}function setInJSDocType(e){y+=e?1:-1}}e.createScanner=createScanner})(s||(s={}));var s;(function(e){function isExternalModuleNameRelative(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)}e.isExternalModuleNameRelative=isExternalModuleNameRelative;function sortAndDeduplicateDiagnostics(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)}e.sortAndDeduplicateDiagnostics=sortAndDeduplicateDiagnostics})(s||(s={}));(function(e){e.resolvingEmptyArray=[];e.emptyMap=e.createMap();e.emptyUnderscoreEscapedMap=e.emptyMap;e.externalHelpersModuleNameText="tslib";e.defaultMaximumTruncationLength=160;function getDeclarationOfKind(e,t){var r=e.declarations;if(r){for(var n=0,i=r;n=0);return e.getLineStarts(r)[t]}e.getStartPositionOfLine=getStartPositionOfLine;function nodePosToString(t){var r=getSourceFileOfNode(t);var n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+"("+(n.line+1)+","+(n.character+1)+")"}e.nodePosToString=nodePosToString;function getEndLinePosition(t,r){e.Debug.assert(t>=0);var n=e.getLineStarts(r);var i=t;var a=r.text;if(i+1===n.length){return a.length-1}else{var o=n[i];var s=n[i+1]-1;e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));while(o<=s&&e.isLineBreak(a.charCodeAt(s))){s--}return s}}e.getEndLinePosition=getEndLinePosition;function isFileLevelUniqueName(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}e.isFileLevelUniqueName=isFileLevelUniqueName;function nodeIsMissing(e){if(e===undefined){return true}return e.pos===e.end&&e.pos>=0&&e.kind!==1}e.nodeIsMissing=nodeIsMissing;function nodeIsPresent(e){return!nodeIsMissing(e)}e.nodeIsPresent=nodeIsPresent;function addStatementsAfterPrologue(e,t){if(t===undefined||t.length===0)return e;var r=0;for(;r0){return getTokenPosOfNode(t._children[0],r,n)}return e.skipTrivia((r||getSourceFileOfNode(t)).text,t.pos)}e.getTokenPosOfNode=getTokenPosOfNode;function getNonDecoratorTokenPosOfNode(t,r){if(nodeIsMissing(t)||!t.decorators){return getTokenPosOfNode(t,r)}return e.skipTrivia((r||getSourceFileOfNode(t)).text,t.decorators.end)}e.getNonDecoratorTokenPosOfNode=getNonDecoratorTokenPosOfNode;function getSourceTextOfNodeFromSourceFile(e,t,r){if(r===void 0){r=false}return getTextOfNodeFromSourceText(e.text,t,r)}e.getSourceTextOfNodeFromSourceFile=getSourceTextOfNodeFromSourceFile;function isJSDocTypeExpressionOrChild(e){return e.kind===283||e.parent&&isJSDocTypeExpressionOrChild(e.parent)}function getTextOfNodeFromSourceText(t,r,n){if(n===void 0){n=false}if(nodeIsMissing(r)){return""}var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);if(isJSDocTypeExpressionOrChild(r)){i=i.replace(/(^|\r?\n|\r)\s*\*\s*/g,"$1")}return i}e.getTextOfNodeFromSourceText=getTextOfNodeFromSourceText;function getTextOfNode(e,t){if(t===void 0){t=false}return getSourceTextOfNodeFromSourceFile(getSourceFileOfNode(e),e,t)}e.getTextOfNode=getTextOfNode;function getPos(e){return e.pos}function indexOfNode(t,r){return e.binarySearch(t,r,getPos,e.compareValues)}e.indexOfNode=indexOfNode;function getEmitFlags(e){var t=e.emitNode;return t&&t.flags||0}e.getEmitFlags=getEmitFlags;function getLiteralText(t,r,n){if(!nodeIsSynthesized(t)&&t.parent&&!(e.isNumericLiteral(t)&&t.numericLiteralFlags&512||e.isBigIntLiteral(t))){return getSourceTextOfNodeFromSourceFile(r,t)}var i=n||getEmitFlags(t)&16777216?escapeString:escapeNonAsciiString;switch(t.kind){case 10:if(t.singleQuote){return"'"+i(t.text,39)+"'"}else{return'"'+i(t.text,34)+'"'}case 14:return"`"+i(t.text,96)+"`";case 15:return"`"+i(t.text,96)+"${";case 16:return"}"+i(t.text,96)+"${";case 17:return"}"+i(t.text,96)+"`";case 8:case 9:case 13:return t.text}return e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.")}e.getLiteralText=getLiteralText;function getTextOfConstantValue(t){return e.isString(t)?'"'+escapeNonAsciiString(t)+'"':""+t}e.getTextOfConstantValue=getTextOfConstantValue;function makeIdentifierFromModuleName(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}e.makeIdentifierFromModuleName=makeIdentifierFromModuleName;function isBlockOrCatchScoped(t){return(e.getCombinedNodeFlags(t)&3)!==0||isCatchClauseVariableDeclarationOrBindingElement(t)}e.isBlockOrCatchScoped=isBlockOrCatchScoped;function isCatchClauseVariableDeclarationOrBindingElement(e){var t=getRootDeclaration(e);return t.kind===237&&t.parent.kind===274}e.isCatchClauseVariableDeclarationOrBindingElement=isCatchClauseVariableDeclarationOrBindingElement;function isAmbientModule(t){return e.isModuleDeclaration(t)&&(t.name.kind===10||isGlobalScopeAugmentation(t))}e.isAmbientModule=isAmbientModule;function isModuleWithStringLiteralName(t){return e.isModuleDeclaration(t)&&t.name.kind===10}e.isModuleWithStringLiteralName=isModuleWithStringLiteralName;function isNonGlobalAmbientModule(t){return e.isModuleDeclaration(t)&&e.isStringLiteral(t.name)}e.isNonGlobalAmbientModule=isNonGlobalAmbientModule;function isEffectiveModuleDeclaration(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}e.isEffectiveModuleDeclaration=isEffectiveModuleDeclaration;function isShorthandAmbientModuleSymbol(e){return isShorthandAmbientModule(e.valueDeclaration)}e.isShorthandAmbientModuleSymbol=isShorthandAmbientModuleSymbol;function isShorthandAmbientModule(e){return e&&e.kind===244&&!e.body}function isBlockScopedContainerTopLevel(t){return t.kind===279||t.kind===244||e.isFunctionLike(t)}e.isBlockScopedContainerTopLevel=isBlockScopedContainerTopLevel;function isGlobalScopeAugmentation(e){return!!(e.flags&512)}e.isGlobalScopeAugmentation=isGlobalScopeAugmentation;function isExternalModuleAugmentation(e){return isAmbientModule(e)&&isModuleAugmentationExternal(e)}e.isExternalModuleAugmentation=isExternalModuleAugmentation;function isModuleAugmentationExternal(t){switch(t.parent.kind){case 279:return e.isExternalModule(t.parent);case 245:return isAmbientModule(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return false}e.isModuleAugmentationExternal=isModuleAugmentationExternal;function getNonAugmentationDeclaration(t){return e.find(t.declarations,function(t){return!isExternalModuleAugmentation(t)&&!(e.isModuleDeclaration(t)&&isGlobalScopeAugmentation(t))})}e.getNonAugmentationDeclaration=getNonAugmentationDeclaration;function isEffectiveExternalModule(t,r){return e.isExternalModule(t)||r.isolatedModules||e.getEmitModuleKind(r)===e.ModuleKind.CommonJS&&!!t.commonJsModuleIndicator}e.isEffectiveExternalModule=isEffectiveExternalModule;function isBlockScope(t,r){switch(t.kind){case 279:case 246:case 274:case 244:case 225:case 226:case 227:case 157:case 156:case 158:case 159:case 239:case 196:case 197:return true;case 218:return!e.isFunctionLike(r)}return false}e.isBlockScope=isBlockScope;function isDeclarationWithTypeParameters(t){switch(t.kind){case 297:case 304:case 293:return true;default:e.assertType(t);return isDeclarationWithTypeParameterChildren(t)}}e.isDeclarationWithTypeParameters=isDeclarationWithTypeParameters;function isDeclarationWithTypeParameterChildren(t){switch(t.kind){case 160:case 161:case 155:case 162:case 165:case 166:case 289:case 240:case 209:case 241:case 242:case 303:case 239:case 156:case 157:case 158:case 159:case 196:case 197:return true;default:e.assertType(t);return false}}e.isDeclarationWithTypeParameterChildren=isDeclarationWithTypeParameterChildren;function isAnyImportSyntax(e){switch(e.kind){case 249:case 248:return true;default:return false}}e.isAnyImportSyntax=isAnyImportSyntax;function isLateVisibilityPaintedStatement(e){switch(e.kind){case 249:case 248:case 219:case 240:case 239:case 244:case 242:case 241:case 243:return true;default:return false}}e.isLateVisibilityPaintedStatement=isLateVisibilityPaintedStatement;function isAnyImportOrReExport(t){return isAnyImportSyntax(t)||e.isExportDeclaration(t)}e.isAnyImportOrReExport=isAnyImportOrReExport;function getEnclosingBlockScopeContainer(e){return findAncestor(e.parent,function(e){return isBlockScope(e,e.parent)})}e.getEnclosingBlockScopeContainer=getEnclosingBlockScopeContainer;function declarationNameToString(e){return!e||getFullWidth(e)===0?"(Missing)":getTextOfNode(e)}e.declarationNameToString=declarationNameToString;function getNameFromIndexInfo(e){return e.declaration?declarationNameToString(e.declaration.parameters[0].name):undefined}e.getNameFromIndexInfo=getNameFromIndexInfo;function getTextOfPropertyName(t){switch(t.kind){case 72:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 149:return isStringOrNumericLiteralLike(t.expression)?e.escapeLeadingUnderscores(t.expression.text):undefined;default:return e.Debug.assertNever(t)}}e.getTextOfPropertyName=getTextOfPropertyName;function entityNameToString(t){switch(t.kind){case 72:return getFullWidth(t)===0?e.idText(t):getTextOfNode(t);case 148:return entityNameToString(t.left)+"."+entityNameToString(t.right);case 189:return entityNameToString(t.expression)+"."+entityNameToString(t.name);default:throw e.Debug.assertNever(t)}}e.entityNameToString=entityNameToString;function createDiagnosticForNode(e,t,r,n,i,a){var o=getSourceFileOfNode(e);return createDiagnosticForNodeInSourceFile(o,e,t,r,n,i,a)}e.createDiagnosticForNode=createDiagnosticForNode;function createDiagnosticForNodeArray(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return e.createFileDiagnostic(t,c,r.end-c,n,i,a,o,s)}e.createDiagnosticForNodeArray=createDiagnosticForNodeArray;function createDiagnosticForNodeInSourceFile(t,r,n,i,a,o,s){var c=getErrorSpanForNode(t,r);return e.createFileDiagnostic(t,c.start,c.length,n,i,a,o,s)}e.createDiagnosticForNodeInSourceFile=createDiagnosticForNodeInSourceFile;function createDiagnosticForNodeFromMessageChain(e,t,r){var n=getSourceFileOfNode(e);var i=getErrorSpanForNode(n,e);return{file:n,start:i.start,length:i.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}e.createDiagnosticForNodeFromMessageChain=createDiagnosticForNodeFromMessageChain;function getSpanOfTokenAtPosition(t,r){var n=e.createScanner(t.languageVersion,true,t.languageVariant,t.text,undefined,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}e.getSpanOfTokenAtPosition=getSpanOfTokenAtPosition;function getErrorSpanForArrowFunction(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&r.body.kind===218){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;var a=e.getLineAndCharacterOfPosition(t,r.body.end).line;if(i=n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809");e.Debug.assert(o<=n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")}return e.createTextSpanFromBounds(o,n.end)}e.getErrorSpanForNode=getErrorSpanForNode;function isExternalOrCommonJsModule(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==undefined}e.isExternalOrCommonJsModule=isExternalOrCommonJsModule;function isJsonSourceFile(e){return e.scriptKind===6}e.isJsonSourceFile=isJsonSourceFile;function isEnumConst(t){return!!(e.getCombinedModifierFlags(t)&2048)}e.isEnumConst=isEnumConst;function isDeclarationReadonly(t){return!!(e.getCombinedModifierFlags(t)&64&&!e.isParameterPropertyDeclaration(t))}e.isDeclarationReadonly=isDeclarationReadonly;function isVarConst(t){return!!(e.getCombinedNodeFlags(t)&2)}e.isVarConst=isVarConst;function isLet(t){return!!(e.getCombinedNodeFlags(t)&1)}e.isLet=isLet;function isSuperCall(e){return e.kind===191&&e.expression.kind===98}e.isSuperCall=isSuperCall;function isImportCall(e){return e.kind===191&&e.expression.kind===92}e.isImportCall=isImportCall;function isLiteralImportTypeNode(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}e.isLiteralImportTypeNode=isLiteralImportTypeNode;function isPrologueDirective(e){return e.kind===221&&e.expression.kind===10}e.isPrologueDirective=isPrologueDirective;function getLeadingCommentRangesOfNode(t,r){return t.kind!==11?e.getLeadingCommentRanges(r.text,t.pos):undefined}e.getLeadingCommentRangesOfNode=getLeadingCommentRangesOfNode;function getJSDocCommentRanges(t,r){var n=t.kind===151||t.kind===150||t.kind===196||t.kind===197||t.kind===195?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,function(e){return r.charCodeAt(e.pos+1)===42&&r.charCodeAt(e.pos+2)===42&&r.charCodeAt(e.pos+3)!==47})}e.getJSDocCommentRanges=getJSDocCommentRanges;e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var r=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var i=/^(\/\/\/\s*/;function isPartOfTypeNode(t){if(163<=t.kind&&t.kind<=183){return true}switch(t.kind){case 120:case 143:case 135:case 146:case 138:case 123:case 139:case 136:case 141:case 132:return true;case 106:return t.parent.kind!==200;case 211:return!isExpressionWithTypeArgumentsInClassExtendsClause(t);case 150:return t.parent.kind===181||t.parent.kind===176;case 72:if(t.parent.kind===148&&t.parent.right===t){t=t.parent}else if(t.parent.kind===189&&t.parent.name===t){t=t.parent}e.Debug.assert(t.kind===72||t.kind===148||t.kind===189,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 148:case 189:case 100:{var r=t.parent;if(r.kind===167){return false}if(r.kind===183){return!r.isTypeOf}if(163<=r.kind&&r.kind<=183){return true}switch(r.kind){case 211:return!isExpressionWithTypeArgumentsInClassExtendsClause(r);case 150:return t===r.constraint;case 303:return t===r.constraint;case 154:case 153:case 151:case 237:return t===r.type;case 239:case 196:case 197:case 157:case 156:case 155:case 158:case 159:return t===r.type;case 160:case 161:case 162:return t===r.type;case 194:return t===r.type;case 191:case 192:return e.contains(r.typeArguments,t);case 193:return false}}}return false}e.isPartOfTypeNode=isPartOfTypeNode;function isChildOfNodeWithKind(e,t){while(e){if(e.kind===t){return true}e=e.parent}return false}e.isChildOfNodeWithKind=isChildOfNodeWithKind;function forEachReturnStatement(t,r){return traverse(t);function traverse(t){switch(t.kind){case 230:return r(t);case 246:case 218:case 222:case 223:case 224:case 225:case 226:case 227:case 231:case 232:case 271:case 272:case 233:case 235:case 274:return e.forEachChild(t,traverse)}}}e.forEachReturnStatement=forEachReturnStatement;function forEachYieldExpression(t,r){return traverse(t);function traverse(t){switch(t.kind){case 207:r(t);var n=t.expression;if(n){traverse(n)}return;case 243:case 241:case 244:case 242:case 240:case 209:return;default:if(e.isFunctionLike(t)){if(t.name&&t.name.kind===149){traverse(t.name.expression);return}}else if(!isPartOfTypeNode(t)){e.forEachChild(t,traverse)}}}}e.forEachYieldExpression=forEachYieldExpression;function getRestParameterElementType(t){if(t&&t.kind===169){return t.elementType}else if(t&&t.kind===164){return e.singleOrUndefined(t.typeArguments)}else{return undefined}}e.getRestParameterElementType=getRestParameterElementType;function getMembersOfDeclaration(e){switch(e.kind){case 241:case 240:case 209:case 168:return e.members;case 188:return e.properties}}e.getMembersOfDeclaration=getMembersOfDeclaration;function isVariableLike(e){if(e){switch(e.kind){case 186:case 278:case 151:case 275:case 154:case 153:case 276:case 237:return true}}return false}e.isVariableLike=isVariableLike;function isVariableLikeOrAccessor(t){return isVariableLike(t)||e.isAccessor(t)}e.isVariableLikeOrAccessor=isVariableLikeOrAccessor;function isVariableDeclarationInVariableStatement(e){return e.parent.kind===238&&e.parent.parent.kind===219}e.isVariableDeclarationInVariableStatement=isVariableDeclarationInVariableStatement;function isValidESSymbolDeclaration(t){return e.isVariableDeclaration(t)?isVarConst(t)&&e.isIdentifier(t.name)&&isVariableDeclarationInVariableStatement(t):e.isPropertyDeclaration(t)?hasReadonlyModifier(t)&&hasStaticModifier(t):e.isPropertySignature(t)&&hasReadonlyModifier(t)}e.isValidESSymbolDeclaration=isValidESSymbolDeclaration;function introducesArgumentsExoticObject(e){switch(e.kind){case 156:case 155:case 157:case 158:case 159:case 239:case 196:return true}return false}e.introducesArgumentsExoticObject=introducesArgumentsExoticObject;function unwrapInnermostStatementOfLabel(e,t){while(true){if(t){t(e)}if(e.statement.kind!==233){return e.statement}e=e.statement}}e.unwrapInnermostStatementOfLabel=unwrapInnermostStatementOfLabel;function isFunctionBlock(t){return t&&t.kind===218&&e.isFunctionLike(t.parent)}e.isFunctionBlock=isFunctionBlock;function isObjectLiteralMethod(e){return e&&e.kind===156&&e.parent.kind===188}e.isObjectLiteralMethod=isObjectLiteralMethod;function isObjectLiteralOrClassExpressionMethod(e){return e.kind===156&&(e.parent.kind===188||e.parent.kind===209)}e.isObjectLiteralOrClassExpressionMethod=isObjectLiteralOrClassExpressionMethod;function isIdentifierTypePredicate(e){return e&&e.kind===1}e.isIdentifierTypePredicate=isIdentifierTypePredicate;function isThisTypePredicate(e){return e&&e.kind===0}e.isThisTypePredicate=isThisTypePredicate;function getPropertyAssignment(e,t,r){return e.properties.filter(function(e){if(e.kind===275){var n=getTextOfPropertyName(e.name);return t===n||!!r&&r===n}return false})}e.getPropertyAssignment=getPropertyAssignment;function getTsConfigObjectLiteralExpression(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}e.getTsConfigObjectLiteralExpression=getTsConfigObjectLiteralExpression;function getTsConfigPropArrayElementValue(t,r,n){return e.firstDefined(getTsConfigPropArray(t,r),function(t){return e.isArrayLiteralExpression(t.initializer)?e.find(t.initializer.elements,function(t){return e.isStringLiteral(t)&&t.text===n}):undefined})}e.getTsConfigPropArrayElementValue=getTsConfigPropArrayElementValue;function getTsConfigPropArray(t,r){var n=getTsConfigObjectLiteralExpression(t);return n?getPropertyAssignment(n,r):e.emptyArray}e.getTsConfigPropArray=getTsConfigPropArray;function getContainingFunction(t){return findAncestor(t.parent,e.isFunctionLike)}e.getContainingFunction=getContainingFunction;function getContainingClass(t){return findAncestor(t.parent,e.isClassLike)}e.getContainingClass=getContainingClass;function getThisContainer(t,r){e.Debug.assert(t.kind!==279);while(true){t=t.parent;if(!t){return e.Debug.fail()}switch(t.kind){case 149:if(e.isClassLike(t.parent.parent)){return t}t=t.parent;break;case 152:if(t.parent.kind===151&&e.isClassElement(t.parent.parent)){t=t.parent.parent}else if(e.isClassElement(t.parent)){t=t.parent}break;case 197:if(!r){continue}case 239:case 196:case 244:case 154:case 153:case 156:case 155:case 157:case 158:case 159:case 160:case 161:case 162:case 243:case 279:return t}}}e.getThisContainer=getThisContainer;function getNewTargetContainer(e){var t=getThisContainer(e,false);if(t){switch(t.kind){case 157:case 239:case 196:return t}}return undefined}e.getNewTargetContainer=getNewTargetContainer;function getSuperContainer(t,r){while(true){t=t.parent;if(!t){return t}switch(t.kind){case 149:t=t.parent;break;case 239:case 196:case 197:if(!r){continue}case 154:case 153:case 156:case 155:case 157:case 158:case 159:return t;case 152:if(t.parent.kind===151&&e.isClassElement(t.parent.parent)){t=t.parent.parent}else if(e.isClassElement(t.parent)){t=t.parent}break}}}e.getSuperContainer=getSuperContainer;function getImmediatelyInvokedFunctionExpression(e){if(e.kind===196||e.kind===197){var t=e;var r=e.parent;while(r.kind===195){t=r;r=r.parent}if(r.kind===191&&r.expression===t){return r}}}e.getImmediatelyInvokedFunctionExpression=getImmediatelyInvokedFunctionExpression;function isSuperProperty(e){var t=e.kind;return(t===189||t===190)&&e.expression.kind===98}e.isSuperProperty=isSuperProperty;function isThisProperty(e){var t=e.kind;return(t===189||t===190)&&e.expression.kind===100}e.isThisProperty=isThisProperty;function getEntityNameFromTypeNode(e){switch(e.kind){case 164:return e.typeName;case 211:return isEntityNameExpression(e.expression)?e.expression:undefined;case 72:case 148:return e}return undefined}e.getEntityNameFromTypeNode=getEntityNameFromTypeNode;function getInvokedExpression(e){switch(e.kind){case 193:return e.tag;case 262:case 261:return e.tagName;default:return e.expression}}e.getInvokedExpression=getInvokedExpression;function nodeCanBeDecorated(e,t,r){switch(e.kind){case 240:return true;case 154:return t.kind===240;case 158:case 159:case 156:return e.body!==undefined&&t.kind===240;case 151:return t.body!==undefined&&(t.kind===157||t.kind===156||t.kind===159)&&r.kind===240}return false}e.nodeCanBeDecorated=nodeCanBeDecorated;function nodeIsDecorated(e,t,r){return e.decorators!==undefined&&nodeCanBeDecorated(e,t,r)}e.nodeIsDecorated=nodeIsDecorated;function nodeOrChildIsDecorated(e,t,r){return nodeIsDecorated(e,t,r)||childIsDecorated(e,t)}e.nodeOrChildIsDecorated=nodeOrChildIsDecorated;function childIsDecorated(t,r){switch(t.kind){case 240:return e.some(t.members,function(e){return nodeOrChildIsDecorated(e,t,r)});case 156:case 159:return e.some(t.parameters,function(e){return nodeIsDecorated(e,t,r)});default:return false}}e.childIsDecorated=childIsDecorated;function isJSXTagName(e){var t=e.parent;if(t.kind===262||t.kind===261||t.kind===263){return t.tagName===e}return false}e.isJSXTagName=isJSXTagName;function isExpressionNode(e){switch(e.kind){case 98:case 96:case 102:case 87:case 13:case 187:case 188:case 189:case 190:case 191:case 192:case 193:case 212:case 194:case 213:case 195:case 196:case 209:case 197:case 200:case 198:case 199:case 202:case 203:case 204:case 205:case 208:case 206:case 14:case 210:case 260:case 261:case 264:case 207:case 201:case 214:return true;case 148:while(e.parent.kind===148){e=e.parent}return e.parent.kind===167||isJSXTagName(e);case 72:if(e.parent.kind===167||isJSXTagName(e)){return true}case 8:case 9:case 10:case 100:return isInExpressionContext(e);default:return false}}e.isExpressionNode=isExpressionNode;function isInExpressionContext(e){var t=e.parent;switch(t.kind){case 237:case 151:case 154:case 153:case 278:case 275:case 186:return t.initializer===e;case 221:case 222:case 223:case 224:case 230:case 231:case 232:case 271:case 234:return t.expression===e;case 225:var r=t;return r.initializer===e&&r.initializer.kind!==238||r.condition===e||r.incrementor===e;case 226:case 227:var n=t;return n.initializer===e&&n.initializer.kind!==238||n.expression===e;case 194:case 212:return e===t.expression;case 216:return e===t.expression;case 149:return e===t.expression;case 152:case 270:case 269:case 277:return true;case 211:return t.expression===e&&isExpressionWithTypeArgumentsInClassExtendsClause(t);case 276:return t.objectAssignmentInitializer===e;default:return isExpressionNode(t)}}e.isInExpressionContext=isInExpressionContext;function isExternalModuleImportEqualsDeclaration(e){return e.kind===248&&e.moduleReference.kind===259}e.isExternalModuleImportEqualsDeclaration=isExternalModuleImportEqualsDeclaration;function getExternalModuleImportEqualsDeclarationExpression(t){e.Debug.assert(isExternalModuleImportEqualsDeclaration(t));return t.moduleReference.expression}e.getExternalModuleImportEqualsDeclarationExpression=getExternalModuleImportEqualsDeclarationExpression;function isInternalModuleImportEqualsDeclaration(e){return e.kind===248&&e.moduleReference.kind!==259}e.isInternalModuleImportEqualsDeclaration=isInternalModuleImportEqualsDeclaration;function isSourceFileJS(e){return isInJSFile(e)}e.isSourceFileJS=isSourceFileJS;function isSourceFileNotJS(e){return!isInJSFile(e)}e.isSourceFileNotJS=isSourceFileNotJS;function isInJSFile(e){return!!e&&!!(e.flags&65536)}e.isInJSFile=isInJSFile;function isInJsonFile(e){return!!e&&!!(e.flags&16777216)}e.isInJsonFile=isInJsonFile;function isInJSDoc(e){return!!e&&!!(e.flags&2097152)}e.isInJSDoc=isInJSDoc;function isJSDocIndexSignature(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&t.typeName.escapedText==="Object"&&t.typeArguments&&t.typeArguments.length===2&&(t.typeArguments[0].kind===138||t.typeArguments[0].kind===135)}e.isJSDocIndexSignature=isJSDocIndexSignature;function isRequireCall(t,r){if(t.kind!==191){return false}var n=t,i=n.expression,a=n.arguments;if(i.kind!==72||i.escapedText!=="require"){return false}if(a.length!==1){return false}var o=a[0];return!r||e.isStringLiteralLike(o)}e.isRequireCall=isRequireCall;function isSingleOrDoubleQuote(e){return e===39||e===34}e.isSingleOrDoubleQuote=isSingleOrDoubleQuote;function isStringDoubleQuoted(e,t){return getSourceTextOfNodeFromSourceFile(t,e).charCodeAt(0)===34}e.isStringDoubleQuoted=isStringDoubleQuoted;function getDeclarationOfExpando(t){if(!t.parent){return undefined}var r;var n;if(e.isVariableDeclaration(t.parent)&&t.parent.initializer===t){if(!isInJSFile(t)&&!isVarConst(t.parent)){return undefined}r=t.parent.name;n=t.parent}else if(e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===59&&t.parent.right===t){r=t.parent.left;n=r}else if(e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===55){if(e.isVariableDeclaration(t.parent.parent)&&t.parent.parent.initializer===t.parent){r=t.parent.parent.name;n=t.parent.parent}else if(e.isBinaryExpression(t.parent.parent)&&t.parent.parent.operatorToken.kind===59&&t.parent.parent.right===t.parent){r=t.parent.parent.left;n=r}if(!r||!isEntityNameExpression(r)||!isSameEntityName(r,t.parent.left)){return undefined}}if(!r||!getExpandoInitializer(t,isPrototypeAccess(r))){return undefined}return n}e.getDeclarationOfExpando=getDeclarationOfExpando;function isAssignmentDeclaration(t){return e.isBinaryExpression(t)||e.isPropertyAccessExpression(t)||e.isIdentifier(t)||e.isCallExpression(t)}e.isAssignmentDeclaration=isAssignmentDeclaration;function getEffectiveInitializer(t){if(isInJSFile(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&t.initializer.operatorToken.kind===55&&t.name&&isEntityNameExpression(t.name)&&isSameEntityName(t.name,t.initializer.left)){return t.initializer.right}return t.initializer}e.getEffectiveInitializer=getEffectiveInitializer;function getDeclaredExpandoInitializer(e){var t=getEffectiveInitializer(e);return t&&getExpandoInitializer(t,isPrototypeAccess(e.name))}e.getDeclaredExpandoInitializer=getDeclaredExpandoInitializer;function hasExpandoValueProperty(t,r){return e.forEach(t.properties,function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&t.name.escapedText==="value"&&t.initializer&&getExpandoInitializer(t.initializer,r)})}function getAssignedExpandoInitializer(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===59){var r=isPrototypeAccess(t.parent.left);return getExpandoInitializer(t.parent.right,r)||getDefaultedExpandoInitializer(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&isBindableObjectDefinePropertyCall(t)){var n=hasExpandoValueProperty(t.arguments[2],t.arguments[1].text==="prototype");if(n){return n}}}e.getAssignedExpandoInitializer=getAssignedExpandoInitializer;function getExpandoInitializer(t,r){if(e.isCallExpression(t)){var n=skipParentheses(t.expression);return n.kind===196||n.kind===197?t:undefined}if(t.kind===196||t.kind===209||t.kind===197){return t}if(e.isObjectLiteralExpression(t)&&(t.properties.length===0||r)){return t}}e.getExpandoInitializer=getExpandoInitializer;function getDefaultedExpandoInitializer(t,r,n){var i=e.isBinaryExpression(r)&&r.operatorToken.kind===55&&getExpandoInitializer(r.right,n);if(i&&isSameEntityName(t,r.left)){return i}}function isDefaultedExpandoInitializer(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===59?t.parent.left:undefined;return r&&getExpandoInitializer(t.right,isPrototypeAccess(r))&&isEntityNameExpression(r)&&isSameEntityName(r,t.left)}e.isDefaultedExpandoInitializer=isDefaultedExpandoInitializer;function getNameOfExpando(t){if(e.isBinaryExpression(t.parent)){var r=t.parent.operatorToken.kind===55&&e.isBinaryExpression(t.parent.parent)?t.parent.parent:t.parent;if(r.operatorToken.kind===59&&e.isIdentifier(r.left)){return r.left}}else if(e.isVariableDeclaration(t.parent)){return t.parent.name}}e.getNameOfExpando=getNameOfExpando;function isSameEntityName(t,r){if(e.isIdentifier(t)&&e.isIdentifier(r)){return t.escapedText===r.escapedText}if(e.isIdentifier(t)&&e.isPropertyAccessExpression(r)){return(r.expression.kind===100||e.isIdentifier(r.expression)&&(r.expression.escapedText==="window"||r.expression.escapedText==="self"||r.expression.escapedText==="global"))&&isSameEntityName(t,r.name)}if(e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)){return t.name.escapedText===r.name.escapedText&&isSameEntityName(t.expression,r.expression)}return false}function getRightMostAssignedExpression(e){while(isAssignmentExpression(e,true)){e=e.right}return e}e.getRightMostAssignedExpression=getRightMostAssignedExpression;function isExportsIdentifier(t){return e.isIdentifier(t)&&t.escapedText==="exports"}e.isExportsIdentifier=isExportsIdentifier;function isModuleExportsPropertyAccessExpression(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.expression)&&t.expression.escapedText==="module"&&t.name.escapedText==="exports"}e.isModuleExportsPropertyAccessExpression=isModuleExportsPropertyAccessExpression;function getAssignmentDeclarationKind(e){var t=getAssignmentDeclarationKindWorker(e);return t===5||isInJSFile(e)?t:0}e.getAssignmentDeclarationKind=getAssignmentDeclarationKind;function isBindableObjectDefinePropertyCall(t){return e.length(t.arguments)===3&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&e.idText(t.expression.expression)==="Object"&&e.idText(t.expression.name)==="defineProperty"&&isStringOrNumericLiteralLike(t.arguments[1])&&isEntityNameExpression(t.arguments[0])}e.isBindableObjectDefinePropertyCall=isBindableObjectDefinePropertyCall;function getAssignmentDeclarationKindWorker(t){if(e.isCallExpression(t)){if(!isBindableObjectDefinePropertyCall(t)){return 0}var r=t.arguments[0];if(isExportsIdentifier(r)||isModuleExportsPropertyAccessExpression(r)){return 8}if(e.isPropertyAccessExpression(r)&&r.name.escapedText==="prototype"&&isEntityNameExpression(r.expression)){return 9}return 7}if(t.operatorToken.kind!==59||!e.isPropertyAccessExpression(t.left)){return 0}var n=t.left;if(isEntityNameExpression(n.expression)&&n.name.escapedText==="prototype"&&e.isObjectLiteralExpression(getInitializerOfBinaryExpression(t))){return 6}return getAssignmentDeclarationPropertyAccessKind(n)}function getAssignmentDeclarationPropertyAccessKind(t){if(t.expression.kind===100){return 4}else if(isModuleExportsPropertyAccessExpression(t)){return 2}else if(isEntityNameExpression(t.expression)){if(isPrototypeAccess(t.expression)){return 3}var r=t;while(e.isPropertyAccessExpression(r.expression)){r=r.expression}e.Debug.assert(e.isIdentifier(r.expression));var n=r.expression;if(n.escapedText==="exports"||n.escapedText==="module"&&r.name.escapedText==="exports"){return 1}return 5}return 0}e.getAssignmentDeclarationPropertyAccessKind=getAssignmentDeclarationPropertyAccessKind;function getInitializerOfBinaryExpression(t){while(e.isBinaryExpression(t.right)){t=t.right}return t.right}e.getInitializerOfBinaryExpression=getInitializerOfBinaryExpression;function isPrototypePropertyAssignment(t){return e.isBinaryExpression(t)&&getAssignmentDeclarationKind(t)===3}e.isPrototypePropertyAssignment=isPrototypePropertyAssignment;function isSpecialPropertyDeclaration(t){return isInJSFile(t)&&t.parent&&t.parent.kind===221&&!!e.getJSDocTypeTag(t.parent)}e.isSpecialPropertyDeclaration=isSpecialPropertyDeclaration;function isFunctionSymbol(t){if(!t||!t.valueDeclaration){return false}var r=t.valueDeclaration;return r.kind===239||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)}e.isFunctionSymbol=isFunctionSymbol;function importFromModuleSpecifier(t){return tryGetImportFromModuleSpecifier(t)||e.Debug.fail(e.Debug.showSyntaxKind(t.parent))}e.importFromModuleSpecifier=importFromModuleSpecifier;function tryGetImportFromModuleSpecifier(t){switch(t.parent.kind){case 249:case 255:return t.parent;case 259:return t.parent.parent;case 191:return isImportCall(t.parent)||isRequireCall(t.parent,false)?t.parent:undefined;case 182:e.Debug.assert(e.isStringLiteral(t));return e.tryCast(t.parent.parent,e.isImportTypeNode);default:return undefined}}e.tryGetImportFromModuleSpecifier=tryGetImportFromModuleSpecifier;function getExternalModuleName(t){switch(t.kind){case 249:case 255:return t.moduleSpecifier;case 248:return t.moduleReference.kind===259?t.moduleReference.expression:undefined;case 183:return isLiteralImportTypeNode(t)?t.argument.literal:undefined;default:return e.Debug.assertNever(t)}}e.getExternalModuleName=getExternalModuleName;function getNamespaceDeclarationNode(t){switch(t.kind){case 249:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 248:return t;case 255:return undefined;default:return e.Debug.assertNever(t)}}e.getNamespaceDeclarationNode=getNamespaceDeclarationNode;function isDefaultImport(e){return e.kind===249&&!!e.importClause&&!!e.importClause.name}e.isDefaultImport=isDefaultImport;function hasQuestionToken(e){if(e){switch(e.kind){case 151:case 156:case 155:case 276:case 275:case 154:case 153:return e.questionToken!==undefined}}return false}e.hasQuestionToken=hasQuestionToken;function isJSDocConstructSignature(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):undefined;var n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&n.escapedText==="new"}e.isJSDocConstructSignature=isJSDocConstructSignature;function isJSDocTypeAlias(e){return e.kind===304||e.kind===297}e.isJSDocTypeAlias=isJSDocTypeAlias;function isTypeAlias(t){return isJSDocTypeAlias(t)||e.isTypeAliasDeclaration(t)}e.isTypeAlias=isTypeAlias;function getSourceOfAssignment(t){return e.isExpressionStatement(t)&&t.expression&&e.isBinaryExpression(t.expression)&&t.expression.operatorToken.kind===59?t.expression.right:undefined}function getSourceOfDefaultedAssignment(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&getAssignmentDeclarationKind(t.expression)!==0&&e.isBinaryExpression(t.expression.right)&&t.expression.right.operatorToken.kind===55?t.expression.right.right:undefined}function getSingleInitializerOfVariableStatementOrPropertyDeclaration(e){switch(e.kind){case 219:var t=getSingleVariableOfVariableStatement(e);return t&&t.initializer;case 154:return e.initializer;case 275:return e.initializer}}function getSingleVariableOfVariableStatement(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):undefined}function getNestedModuleDeclaration(t){return e.isModuleDeclaration(t)&&t.body&&t.body.kind===244?t.body:undefined}function getJSDocCommentsAndTags(t){var r;if(isVariableLike(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)){r=e.addRange(r,t.initializer.jsDoc)}var n=t;while(n&&n.parent){if(e.hasJSDocNodes(n)){r=e.addRange(r,n.jsDoc)}if(n.kind===151){r=e.addRange(r,e.getJSDocParameterTags(n));break}if(n.kind===150){r=e.addRange(r,e.getJSDocTypeParameterTags(n));break}n=getNextJSDocCommentLocation(n)}return r||e.emptyArray}e.getJSDocCommentsAndTags=getJSDocCommentsAndTags;function getNextJSDocCommentLocation(t){var r=t.parent;if(r.kind===275||r.kind===154||r.kind===221&&t.kind===189||getNestedModuleDeclaration(r)||e.isBinaryExpression(t)&&t.operatorToken.kind===59){return r}else if(r.parent&&(getSingleVariableOfVariableStatement(r.parent)===t||e.isBinaryExpression(r)&&r.operatorToken.kind===59)){return r.parent}else if(r.parent&&r.parent.parent&&(getSingleVariableOfVariableStatement(r.parent.parent)||getSingleInitializerOfVariableStatementOrPropertyDeclaration(r.parent.parent)===t||getSourceOfDefaultedAssignment(r.parent.parent))){return r.parent.parent}}function getParameterSymbolFromJSDoc(t){if(t.symbol){return t.symbol}if(!e.isIdentifier(t.name)){return undefined}var r=t.name.escapedText;var n=getHostSignatureFromJSDoc(t);if(!n){return undefined}var i=e.find(n.parameters,function(e){return e.name.kind===72&&e.name.escapedText===r});return i&&i.symbol}e.getParameterSymbolFromJSDoc=getParameterSymbolFromJSDoc;function getHostSignatureFromJSDoc(e){return getHostSignatureFromJSDocHost(getJSDocHost(e))}e.getHostSignatureFromJSDoc=getHostSignatureFromJSDoc;function getHostSignatureFromJSDocHost(t){var r=getSourceOfDefaultedAssignment(t)||getSourceOfAssignment(t)||getSingleInitializerOfVariableStatementOrPropertyDeclaration(t)||getSingleVariableOfVariableStatement(t)||getNestedModuleDeclaration(t)||t;return r&&e.isFunctionLike(r)?r:undefined}e.getHostSignatureFromJSDocHost=getHostSignatureFromJSDocHost;function getJSDocHost(t){return e.Debug.assertDefined(findAncestor(t.parent,e.isJSDoc)).parent}e.getJSDocHost=getJSDocHost;function getTypeParameterFromJsDoc(t){var r=t.name.escapedText;var n=t.parent.parent.parent.typeParameters;return e.find(n,function(e){return e.name.escapedText===r})}e.getTypeParameterFromJsDoc=getTypeParameterFromJsDoc;function hasRestParameter(t){var r=e.lastOrUndefined(t.parameters);return!!r&&isRestParameter(r)}e.hasRestParameter=hasRestParameter;function isRestParameter(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return t.dotDotDotToken!==undefined||!!r&&r.kind===290}e.isRestParameter=isRestParameter;var a;(function(e){e[e["None"]=0]="None";e[e["Definite"]=1]="Definite";e[e["Compound"]=2]="Compound"})(a=e.AssignmentKind||(e.AssignmentKind={}));function getAssignmentTargetKind(e){var t=e.parent;while(true){switch(t.kind){case 204:var r=t.operatorToken.kind;return isAssignmentOperator(r)&&t.left===e?r===59?1:2:0;case 202:case 203:var n=t.operator;return n===44||n===45?2:0;case 226:case 227:return t.initializer===e?1:0;case 195:case 187:case 208:case 213:e=t;break;case 276:if(t.name!==e){return 0}e=t.parent;break;case 275:if(t.name===e){return 0}e=t.parent;break;default:return 0}t=e.parent}}e.getAssignmentTargetKind=getAssignmentTargetKind;function isAssignmentTarget(e){return getAssignmentTargetKind(e)!==0}e.isAssignmentTarget=isAssignmentTarget;function isNodeWithPossibleHoistedDeclaration(e){switch(e.kind){case 218:case 219:case 231:case 222:case 232:case 246:case 271:case 272:case 233:case 225:case 226:case 227:case 223:case 224:case 235:case 274:return true}return false}e.isNodeWithPossibleHoistedDeclaration=isNodeWithPossibleHoistedDeclaration;function isValueSignatureDeclaration(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)}e.isValueSignatureDeclaration=isValueSignatureDeclaration;function walkUp(e,t){while(e&&e.kind===t){e=e.parent}return e}function walkUpParenthesizedTypes(e){return walkUp(e,177)}e.walkUpParenthesizedTypes=walkUpParenthesizedTypes;function walkUpParenthesizedExpressions(e){return walkUp(e,195)}e.walkUpParenthesizedExpressions=walkUpParenthesizedExpressions;function skipParentheses(e){while(e.kind===195){e=e.expression}return e}e.skipParentheses=skipParentheses;function skipParenthesesUp(e){while(e.kind===195){e=e.parent}return e}function isDeleteTarget(e){if(e.kind!==189&&e.kind!==190){return false}e=walkUpParenthesizedExpressions(e.parent);return e&&e.kind===198}e.isDeleteTarget=isDeleteTarget;function isNodeDescendantOf(e,t){while(e){if(e===t)return true;e=e.parent}return false}e.isNodeDescendantOf=isNodeDescendantOf;function isDeclarationName(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t}e.isDeclarationName=isDeclarationName;function getDeclarationFromName(t){var r=t.parent;switch(t.kind){case 10:case 8:if(e.isComputedPropertyName(r))return r.parent;case 72:if(e.isDeclaration(r)){return r.name===t?r:undefined}else if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:undefined}else{var i=r.parent;return e.isBinaryExpression(i)&&getAssignmentDeclarationKind(i)!==0&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:undefined}default:return undefined}}e.getDeclarationFromName=getDeclarationFromName;function isLiteralComputedPropertyDeclarationName(t){return(t.kind===10||t.kind===8)&&t.parent.kind===149&&e.isDeclaration(t.parent.parent)}e.isLiteralComputedPropertyDeclarationName=isLiteralComputedPropertyDeclarationName;function isIdentifierName(e){var t=e.parent;switch(t.kind){case 154:case 153:case 156:case 155:case 158:case 159:case 278:case 275:case 189:return t.name===e;case 148:if(t.right===e){while(t.kind===148){t=t.parent}return t.kind===167||t.kind===164}return false;case 186:case 253:return t.propertyName===e;case 257:case 267:return true}return false}e.isIdentifierName=isIdentifierName;function isAliasSymbolDeclaration(t){return t.kind===248||t.kind===247||t.kind===250&&!!t.name||t.kind===251||t.kind===253||t.kind===257||t.kind===254&&exportAssignmentIsAlias(t)||e.isBinaryExpression(t)&&getAssignmentDeclarationKind(t)===2&&exportAssignmentIsAlias(t)}e.isAliasSymbolDeclaration=isAliasSymbolDeclaration;function exportAssignmentIsAlias(t){var r=e.isExportAssignment(t)?t.expression:t.right;return isEntityNameExpression(r)||e.isClassExpression(r)}e.exportAssignmentIsAlias=exportAssignmentIsAlias;function getEffectiveBaseTypeNode(t){if(isInJSFile(t)){var r=e.getJSDocAugmentsTag(t);if(r){return r.class}}return getClassExtendsHeritageElement(t)}e.getEffectiveBaseTypeNode=getEffectiveBaseTypeNode;function getClassExtendsHeritageElement(e){var t=getHeritageClause(e.heritageClauses,86);return t&&t.types.length>0?t.types[0]:undefined}e.getClassExtendsHeritageElement=getClassExtendsHeritageElement;function getClassImplementsHeritageClauseElements(e){var t=getHeritageClause(e.heritageClauses,109);return t?t.types:undefined}e.getClassImplementsHeritageClauseElements=getClassImplementsHeritageClauseElements;function getAllSuperTypeNodes(t){return e.isInterfaceDeclaration(t)?getInterfaceBaseTypeNodes(t)||e.emptyArray:e.isClassLike(t)?e.concatenate(e.singleElementArray(getEffectiveBaseTypeNode(t)),getClassImplementsHeritageClauseElements(t))||e.emptyArray:e.emptyArray}e.getAllSuperTypeNodes=getAllSuperTypeNodes;function getInterfaceBaseTypeNodes(e){var t=getHeritageClause(e.heritageClauses,86);return t?t.types:undefined}e.getInterfaceBaseTypeNodes=getInterfaceBaseTypeNodes;function getHeritageClause(e,t){if(e){for(var r=0,n=e;r=0){return i[a]}return undefined}function add(a){var o;if(a.file){o=n.get(a.file.fileName);if(!o){o=[];n.set(a.file.fileName,o);e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)}}else{if(i){i=false;t=t.slice()}o=t}e.insertSorted(o,a,e.compareDiagnostics)}function getGlobalDiagnostics(){i=true;return t}function getDiagnostics(i){if(i){return n.get(i)||[]}var a=e.flatMapToMutable(r,function(e){return n.get(e)});if(!t.length){return a}a.unshift.apply(a,t);return a}}e.createDiagnosticCollection=createDiagnosticCollection;var c=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;var u=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;var l=/[\\\`\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;var f=e.createMapFromTemplate({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085"});function escapeString(e,t){var r=t===96?l:t===39?u:c;return e.replace(r,getReplacement)}e.escapeString=escapeString;function getReplacement(e,t,r){if(e.charCodeAt(0)===0){var n=r.charCodeAt(t+e.length);if(n>=48&&n<=57){return"\\x00"}return"\\0"}return f.get(e)||get16BitUnicodeEscapeSequence(e.charCodeAt(0))}function isIntrinsicJsxName(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,"-")}e.isIntrinsicJsxName=isIntrinsicJsxName;function get16BitUnicodeEscapeSequence(e){var t=e.toString(16).toUpperCase();var r=("0000"+t).slice(-4);return"\\u"+r}var d=/[^\u0000-\u007F]/g;function escapeNonAsciiString(e,t){e=escapeString(e,t);return d.test(e)?e.replace(d,function(e){return get16BitUnicodeEscapeSequence(e.charCodeAt(0))}):e}e.escapeNonAsciiString=escapeNonAsciiString;var p=[""," "];function getIndentString(e){if(p[e]===undefined){p[e]=getIndentString(e-1)+p[1]}return p[e]}e.getIndentString=getIndentString;function getIndentSize(){return p[1].length}e.getIndentSize=getIndentSize;function createTextWriter(t){var r;var n;var i;var a;var o;function updateLineCountAndPosFor(t){var n=e.computeLineStarts(t);if(n.length>1){a=a+n.length-1;o=r.length-t.length+e.last(n);i=o-r.length===0}else{i=false}}function write(e){if(e&&e.length){if(i){e=getIndentString(n)+e;i=false}r+=e;updateLineCountAndPosFor(e)}}function reset(){r="";n=0;i=true;a=0;o=0}function rawWrite(e){if(e!==undefined){r+=e;updateLineCountAndPosFor(e)}}function writeLiteral(e){if(e&&e.length){write(e)}}function writeLine(){if(!i){r+=t;a++;o=r.length;i=true}}reset();return{write:write,rawWrite:rawWrite,writeLiteral:writeLiteral,writeLine:writeLine,increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*getIndentSize():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},clear:reset,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:write,writeOperator:write,writeParameter:write,writeProperty:write,writePunctuation:write,writeSpace:write,writeStringLiteral:write,writeSymbol:function(e,t){return write(e)},writeTrailingSemicolon:write,writeComment:write}}e.createTextWriter=createTextWriter;function getTrailingSemicolonOmittingWriter(e){var t=false;function commitPendingTrailingSemicolon(){if(t){e.writeTrailingSemicolon(";");t=false}}return n({},e,{writeTrailingSemicolon:function(){t=true},writeLiteral:function(t){commitPendingTrailingSemicolon();e.writeLiteral(t)},writeStringLiteral:function(t){commitPendingTrailingSemicolon();e.writeStringLiteral(t)},writeSymbol:function(t,r){commitPendingTrailingSemicolon();e.writeSymbol(t,r)},writePunctuation:function(t){commitPendingTrailingSemicolon();e.writePunctuation(t)},writeKeyword:function(t){commitPendingTrailingSemicolon();e.writeKeyword(t)},writeOperator:function(t){commitPendingTrailingSemicolon();e.writeOperator(t)},writeParameter:function(t){commitPendingTrailingSemicolon();e.writeParameter(t)},writeSpace:function(t){commitPendingTrailingSemicolon();e.writeSpace(t)},writeProperty:function(t){commitPendingTrailingSemicolon();e.writeProperty(t)},writeComment:function(t){commitPendingTrailingSemicolon();e.writeComment(t)},writeLine:function(){commitPendingTrailingSemicolon();e.writeLine()},increaseIndent:function(){commitPendingTrailingSemicolon();e.increaseIndent()},decreaseIndent:function(){commitPendingTrailingSemicolon();e.decreaseIndent()}})}e.getTrailingSemicolonOmittingWriter=getTrailingSemicolonOmittingWriter;function getResolvedExternalModuleName(e,t,r){return t.moduleName||getExternalModuleNameFromPath(e,t.fileName,r&&r.fileName)}e.getResolvedExternalModuleName=getResolvedExternalModuleName;function getExternalModuleNameFromDeclaration(e,t,r){var n=t.getExternalModuleFileFromDeclaration(r);if(!n||n.isDeclarationFile){return undefined}return getResolvedExternalModuleName(e,n)}e.getExternalModuleNameFromDeclaration=getExternalModuleNameFromDeclaration;function getExternalModuleNameFromPath(t,r,n){var i=function(e){return t.getCanonicalFileName(e)};var a=toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i);var o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory());var s=e.getRelativePathToDirectoryOrUrl(a,o,a,i,false);var c=e.removeFileExtension(s);return n?e.ensurePathIsNonModuleName(c):c}e.getExternalModuleNameFromPath=getExternalModuleNameFromPath;function getOwnEmitOutputFilePath(t,r,n){var i=r.getCompilerOptions();var a;if(i.outDir){a=e.removeFileExtension(getSourceFilePathInNewDir(t,r,i.outDir))}else{a=e.removeFileExtension(t)}return a+n}e.getOwnEmitOutputFilePath=getOwnEmitOutputFilePath;function getDeclarationEmitOutputFilePath(e,t){return getDeclarationEmitOutputFilePathWorker(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),function(e){return t.getCanonicalFileName(e)})}e.getDeclarationEmitOutputFilePath=getDeclarationEmitOutputFilePath;function getDeclarationEmitOutputFilePathWorker(t,r,n,i,a){var o=r.declarationDir||r.outDir;var s=o?getSourceFilePathInNewDirWorker(t,o,n,i,a):t;return e.removeFileExtension(s)+".d.ts"}e.getDeclarationEmitOutputFilePathWorker=getDeclarationEmitOutputFilePathWorker;function getSourceFilesToEmit(t,r){var n=t.getCompilerOptions();var i=function(e){return t.isSourceFileFromExternalLibrary(e)};if(n.outFile||n.out){var a=e.getEmitModuleKind(n);var o=n.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),function(t){return(o||!e.isExternalModule(t))&&sourceFileMayBeEmitted(t,n,i)})}else{var s=r===undefined?t.getSourceFiles():[r];return e.filter(s,function(e){return sourceFileMayBeEmitted(e,n,i)})}}e.getSourceFilesToEmit=getSourceFilesToEmit;function sourceFileMayBeEmitted(e,t,r){return!(t.noEmitForJsFiles&&isSourceFileJS(e))&&!e.isDeclarationFile&&!r(e)}e.sourceFileMayBeEmitted=sourceFileMayBeEmitted;function getSourceFilePathInNewDir(e,t,r){return getSourceFilePathInNewDirWorker(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),function(e){return t.getCanonicalFileName(e)})}e.getSourceFilePathInNewDir=getSourceFilePathInNewDir;function getSourceFilePathInNewDirWorker(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);var s=a(o).indexOf(a(i))===0;o=s?o.substring(i.length):o;return e.combinePaths(r,o)}e.getSourceFilePathInNewDirWorker=getSourceFilePathInNewDirWorker;function writeFile(t,r,n,i,a,o){t.writeFile(n,i,a,function(t){r.add(e.createCompilerDiagnostic(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))},o)}e.writeFile=writeFile;function getLineOfLocalPosition(t,r){return e.getLineAndCharacterOfPosition(t,r).line}e.getLineOfLocalPosition=getLineOfLocalPosition;function getLineOfLocalPositionFromLineMap(t,r){return e.computeLineAndCharacterOfPosition(t,r).line}e.getLineOfLocalPositionFromLineMap=getLineOfLocalPositionFromLineMap;function getFirstConstructorWithBody(t){return e.find(t.members,function(t){return e.isConstructorDeclaration(t)&&nodeIsPresent(t.body)})}e.getFirstConstructorWithBody=getFirstConstructorWithBody;function getSetAccessorValueParameter(e){if(e&&e.parameters.length>0){var t=e.parameters.length===2&¶meterIsThisKeyword(e.parameters[0]);return e.parameters[t?1:0]}}function getSetAccessorTypeAnnotationNode(e){var t=getSetAccessorValueParameter(e);return t&&t.type}e.getSetAccessorTypeAnnotationNode=getSetAccessorTypeAnnotationNode;function getThisParameter(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(parameterIsThisKeyword(r)){return r}}}e.getThisParameter=getThisParameter;function parameterIsThisKeyword(e){return isThisIdentifier(e.name)}e.parameterIsThisKeyword=parameterIsThisKeyword;function isThisIdentifier(e){return!!e&&e.kind===72&&identifierIsThisKeyword(e)}e.isThisIdentifier=isThisIdentifier;function identifierIsThisKeyword(e){return e.originalKeywordKind===100}e.identifierIsThisKeyword=identifierIsThisKeyword;function getAllAccessorDeclarations(t,r){var n;var i;var a;var o;if(hasDynamicName(r)){n=r;if(r.kind===158){a=r}else if(r.kind===159){o=r}else{e.Debug.fail("Accessor has wrong kind")}}else{e.forEach(t,function(t){if(e.isAccessor(t)&&hasModifier(t,32)===hasModifier(r,32)){var s=getPropertyNameForPropertyNameNode(t.name);var c=getPropertyNameForPropertyNameNode(r.name);if(s===c){if(!n){n=t}else if(!i){i=t}if(t.kind===158&&!a){a=t}if(t.kind===159&&!o){o=t}}}})}return{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}}e.getAllAccessorDeclarations=getAllAccessorDeclarations;function getEffectiveTypeAnnotationNode(t){var r=t.type;if(r||!isInJSFile(t))return r;return e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}e.getEffectiveTypeAnnotationNode=getEffectiveTypeAnnotationNode;function getTypeAnnotationNode(e){return e.type}e.getTypeAnnotationNode=getTypeAnnotationNode;function getEffectiveReturnTypeNode(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(isInJSFile(t)?e.getJSDocReturnType(t):undefined)}e.getEffectiveReturnTypeNode=getEffectiveReturnTypeNode;function getJSDocTypeParameterDeclarations(t){return e.flatMap(e.getJSDocTags(t),function(e){return isNonTypeAliasTemplate(e)?e.typeParameters:undefined})}e.getJSDocTypeParameterDeclarations=getJSDocTypeParameterDeclarations;function isNonTypeAliasTemplate(t){return e.isJSDocTemplateTag(t)&&!(t.parent.kind===291&&t.parent.tags.some(isJSDocTypeAlias))}function getEffectiveSetAccessorTypeAnnotationNode(e){var t=getSetAccessorValueParameter(e);return t&&getEffectiveTypeAnnotationNode(t)}e.getEffectiveSetAccessorTypeAnnotationNode=getEffectiveSetAccessorTypeAnnotationNode;function emitNewLineBeforeLeadingComments(e,t,r,n){emitNewLineBeforeLeadingCommentsOfPosition(e,t,r.pos,n)}e.emitNewLineBeforeLeadingComments=emitNewLineBeforeLeadingComments;function emitNewLineBeforeLeadingCommentsOfPosition(e,t,r,n){if(n&&n.length&&r!==n[0].pos&&getLineOfLocalPositionFromLineMap(e,r)!==getLineOfLocalPositionFromLineMap(e,n[0].pos)){t.writeLine()}}e.emitNewLineBeforeLeadingCommentsOfPosition=emitNewLineBeforeLeadingCommentsOfPosition;function emitNewLineBeforeLeadingCommentOfPosition(e,t,r,n){if(r!==n&&getLineOfLocalPositionFromLineMap(e,r)!==getLineOfLocalPositionFromLineMap(e,n)){t.writeLine()}}e.emitNewLineBeforeLeadingCommentOfPosition=emitNewLineBeforeLeadingCommentOfPosition;function emitComments(e,t,r,n,i,a,o,s){if(n&&n.length>0){if(i){r.writeSpace(" ")}var c=false;for(var u=0,l=n;u=_+2){break}}l.push(g);f=g}if(l.length){var _=getLineOfLocalPositionFromLineMap(r,e.last(l).end);var y=getLineOfLocalPositionFromLineMap(r,e.skipTrivia(t,a.pos));if(y>=_+2){emitNewLineBeforeLeadingComments(r,n,a,c);emitComments(t,r,n,l,false,true,o,i);u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end}}}}return u;function isPinnedCommentLocal(e){return isPinnedComment(t,e.pos)}}e.emitDetachedComments=emitDetachedComments;function writeCommentRange(t,r,n,i,a,o){if(t.charCodeAt(i+1)===42){var s=e.computeLineAndCharacterOfPosition(r,i);var c=r.length;var u=void 0;for(var l=i,f=s.line;l0){var _=g%getIndentSize();var m=getIndentString((g-_)/getIndentSize());n.rawWrite(m);while(_){n.rawWrite(" ");_--}}else{n.rawWrite("")}}writeTrimmedCurrentLine(t,a,n,o,l,d);l=d}}else{n.writeComment(t.substring(i,a))}}e.writeCommentRange=writeCommentRange;function writeTrimmedCurrentLine(e,t,r,n,i,a){var o=Math.min(t,a-1);var s=e.substring(i,o).replace(/^\s+|\s+$/g,"");if(s){r.writeComment(s);if(o!==t){r.writeLine()}}else{r.rawWrite(n)}}function calculateIndent(t,r,n){var i=0;for(;r=59&&e<=71}e.isAssignmentOperator=isAssignmentOperator;function tryGetClassExtendingExpressionWithTypeArguments(e){var t=tryGetClassImplementingOrExtendingExpressionWithTypeArguments(e);return t&&!t.isImplements?t.class:undefined}e.tryGetClassExtendingExpressionWithTypeArguments=tryGetClassExtendingExpressionWithTypeArguments;function tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:t.parent.token===109}:undefined}e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=tryGetClassImplementingOrExtendingExpressionWithTypeArguments;function isAssignmentExpression(t,r){return e.isBinaryExpression(t)&&(r?t.operatorToken.kind===59:isAssignmentOperator(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}e.isAssignmentExpression=isAssignmentExpression;function isDestructuringAssignment(e){if(isAssignmentExpression(e,true)){var t=e.left.kind;return t===188||t===187}return false}e.isDestructuringAssignment=isDestructuringAssignment;function isExpressionWithTypeArgumentsInClassExtendsClause(e){return tryGetClassExtendingExpressionWithTypeArguments(e)!==undefined}e.isExpressionWithTypeArgumentsInClassExtendsClause=isExpressionWithTypeArgumentsInClassExtendsClause;function isEntityNameExpression(e){return e.kind===72||isPropertyAccessEntityNameExpression(e)}e.isEntityNameExpression=isEntityNameExpression;function isPropertyAccessEntityNameExpression(t){return e.isPropertyAccessExpression(t)&&isEntityNameExpression(t.expression)}e.isPropertyAccessEntityNameExpression=isPropertyAccessEntityNameExpression;function isPrototypeAccess(t){return e.isPropertyAccessExpression(t)&&t.name.escapedText==="prototype"}e.isPrototypeAccess=isPrototypeAccess;function isRightSideOfQualifiedNameOrPropertyAccess(e){return e.parent.kind===148&&e.parent.right===e||e.parent.kind===189&&e.parent.name===e}e.isRightSideOfQualifiedNameOrPropertyAccess=isRightSideOfQualifiedNameOrPropertyAccess;function isEmptyObjectLiteral(e){return e.kind===188&&e.properties.length===0}e.isEmptyObjectLiteral=isEmptyObjectLiteral;function isEmptyArrayLiteral(e){return e.kind===187&&e.elements.length===0}e.isEmptyArrayLiteral=isEmptyArrayLiteral;function getLocalSymbolForExportDefault(e){return isExportDefaultSymbol(e)?e.declarations[0].localSymbol:undefined}e.getLocalSymbolForExportDefault=getLocalSymbolForExportDefault;function isExportDefaultSymbol(t){return t&&e.length(t.declarations)>0&&hasModifier(t.declarations[0],512)}function tryExtractTSExtension(t){return e.find(e.supportedTSExtensionsForExtractExtension,function(r){return e.fileExtensionIs(t,r)})}e.tryExtractTSExtension=tryExtractTSExtension;function getExpandedCharCodes(t){var r=[];var n=t.length;for(var i=0;i>6|192);r.push(a&63|128)}else if(a<65536){r.push(a>>12|224);r.push(a>>6&63|128);r.push(a&63|128)}else if(a<131072){r.push(a>>18|240);r.push(a>>12&63|128);r.push(a>>6&63|128);r.push(a&63|128)}else{e.Debug.assert(false,"Unexpected code point")}}return r}var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function convertToBase64(e){var t="";var r=getExpandedCharCodes(e);var n=0;var i=r.length;var a,o,s,c;while(n>2;o=(r[n]&3)<<4|r[n+1]>>4;s=(r[n+1]&15)<<2|r[n+2]>>6;c=r[n+2]&63;if(n+1>=i){s=c=64}else if(n+2>=i){c=64}t+=g.charAt(a)+g.charAt(o)+g.charAt(s)+g.charAt(c);n+=3}return t}e.convertToBase64=convertToBase64;function getStringFromExpandedCharCodes(e){var t="";var r=0;var n=e.length;while(r>4&3;var l=(o&15)<<4|s>>2&15;var f=(s&3)<<6|c&63;if(l===0&&s!==0){n.push(u)}else if(f===0&&c!==0){n.push(u,l)}else{n.push(u,l,f)}i+=4}return getStringFromExpandedCharCodes(n)}e.base64decode=base64decode;function readJson(t,r){try{var n=r.readFile(t);if(!n)return{};var i=e.parseConfigFileTextToJson(t,n);if(i.error){return{}}return i.config}catch(e){return{}}}e.readJson=readJson;function directoryProbablyExists(e,t){return!t.directoryExists||t.directoryExists(e)}e.directoryProbablyExists=directoryProbablyExists;var _="\r\n";var m="\n";function getNewLineCharacter(t,r){switch(t.newLine){case 0:return _;case 1:return m}return r?r():e.sys?e.sys.newLine:_}e.getNewLineCharacter=getNewLineCharacter;function formatEnum(e,t,r){if(e===void 0){e=0}var n=getEnumMembers(t);if(e===0){return n.length>0&&n[0][0]===0?n[0][1]:"0"}if(r){var i="";var a=e;for(var o=n.length-1;o>=0&&a!==0;o--){var s=n[o],c=s[0],u=s[1];if(c!==0&&(a&c)===c){a&=~c;i=""+u+(i?", ":"")+i}}if(a===0){return i}}else{for(var l=0,f=n;l=t||r===-1);return{pos:t,end:r}}e.createRange=createRange;function moveRangeEnd(e,t){return createRange(e.pos,t)}e.moveRangeEnd=moveRangeEnd;function moveRangePos(e,t){return createRange(t,e.end)}e.moveRangePos=moveRangePos;function moveRangePastDecorators(e){return e.decorators&&e.decorators.length>0?moveRangePos(e,e.decorators.end):e}e.moveRangePastDecorators=moveRangePastDecorators;function moveRangePastModifiers(e){return e.modifiers&&e.modifiers.length>0?moveRangePos(e,e.modifiers.end):moveRangePastDecorators(e)}e.moveRangePastModifiers=moveRangePastModifiers;function isCollapsedRange(e){return e.pos===e.end}e.isCollapsedRange=isCollapsedRange;function createTokenRange(t,r){return createRange(t,t+e.tokenToString(r).length)}e.createTokenRange=createTokenRange;function rangeIsOnSingleLine(e,t){return rangeStartIsOnSameLineAsRangeEnd(e,e,t)}e.rangeIsOnSingleLine=rangeIsOnSingleLine;function rangeStartPositionsAreOnSameLine(e,t,r){return positionsAreOnSameLine(getStartPositionOfRange(e,r),getStartPositionOfRange(t,r),r)}e.rangeStartPositionsAreOnSameLine=rangeStartPositionsAreOnSameLine;function rangeEndPositionsAreOnSameLine(e,t,r){return positionsAreOnSameLine(e.end,t.end,r)}e.rangeEndPositionsAreOnSameLine=rangeEndPositionsAreOnSameLine;function rangeStartIsOnSameLineAsRangeEnd(e,t,r){return positionsAreOnSameLine(getStartPositionOfRange(e,r),t.end,r)}e.rangeStartIsOnSameLineAsRangeEnd=rangeStartIsOnSameLineAsRangeEnd;function rangeEndIsOnSameLineAsRangeStart(e,t,r){return positionsAreOnSameLine(e.end,getStartPositionOfRange(t,r),r)}e.rangeEndIsOnSameLineAsRangeStart=rangeEndIsOnSameLineAsRangeStart;function positionsAreOnSameLine(e,t,r){return e===t||getLineOfLocalPosition(r,e)===getLineOfLocalPosition(r,t)}e.positionsAreOnSameLine=positionsAreOnSameLine;function getStartPositionOfRange(t,r){return e.positionIsSynthesized(t.pos)?-1:e.skipTrivia(r.text,t.pos)}e.getStartPositionOfRange=getStartPositionOfRange;function isDeclarationNameOfEnumOrNamespace(t){var r=e.getParseTreeNode(t);if(r){switch(r.parent.kind){case 243:case 244:return r===r.parent.name}}return false}e.isDeclarationNameOfEnumOrNamespace=isDeclarationNameOfEnumOrNamespace;function getInitializedVariables(t){return e.filter(t.declarations,isInitializedVariable)}e.getInitializedVariables=getInitializedVariables;function isInitializedVariable(e){return e.initializer!==undefined}function isWatchSet(e){return e.watch&&e.hasOwnProperty("watch")}e.isWatchSet=isWatchSet;function closeFileWatcher(e){e.close()}e.closeFileWatcher=closeFileWatcher;function getCheckFlags(e){return e.flags&33554432?e.checkFlags:0}e.getCheckFlags=getCheckFlags;function getDeclarationModifierFlagsFromSymbol(t){if(t.valueDeclaration){var r=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&t.parent.flags&32?r:r&~28}if(getCheckFlags(t)&6){var n=t.checkFlags;var i=n&256?8:n&64?4:16;var a=n&512?32:0;return i|a}if(t.flags&4194304){return 4|32}return 0}e.getDeclarationModifierFlagsFromSymbol=getDeclarationModifierFlagsFromSymbol;function skipAlias(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}e.skipAlias=skipAlias;function getCombinedLocalAndExportSymbolFlags(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}e.getCombinedLocalAndExportSymbolFlags=getCombinedLocalAndExportSymbolFlags;function isWriteOnlyAccess(e){return accessKind(e)===1}e.isWriteOnlyAccess=isWriteOnlyAccess;function isWriteAccess(e){return accessKind(e)!==0}e.isWriteAccess=isWriteAccess;var y;(function(e){e[e["Read"]=0]="Read";e[e["Write"]=1]="Write";e[e["ReadWrite"]=2]="ReadWrite"})(y||(y={}));function accessKind(e){var t=e.parent;if(!t)return 0;switch(t.kind){case 195:return accessKind(t);case 203:case 202:var r=t.operator;return r===44||r===45?writeOrReadWrite():0;case 204:var n=t,i=n.left,a=n.operatorToken;return i===e&&isAssignmentOperator(a.kind)?a.kind===59?1:writeOrReadWrite():0;case 189:return t.name!==e?0:accessKind(t);case 275:{var o=accessKind(t.parent);return e===t.name?reverseAccessKind(o):o}case 276:return e===t.objectAssignmentInitializer?0:accessKind(t.parent);case 187:return accessKind(t);default:return 0}function writeOrReadWrite(){return t.parent&&skipParenthesesUp(t.parent).kind===221?1:2}}function reverseAccessKind(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}function compareDataObjects(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length){return false}for(var r in e){if(typeof e[r]==="object"){if(!compareDataObjects(e[r],t[r])){return false}}else if(typeof e[r]!=="function"){if(e[r]!==t[r]){return false}}}return true}e.compareDataObjects=compareDataObjects;function clearMap(e,t){e.forEach(t);e.clear()}e.clearMap=clearMap;function mutateMap(e,t,r){var n=r.createNewValue,i=r.onDeleteValue,a=r.onExistingValue;e.forEach(function(r,n){var o=t.get(n);if(o===undefined){e.delete(n);i(r,n)}else if(a){a(r,o,n)}});t.forEach(function(t,r){if(!e.has(r)){e.set(r,n(r,t))}})}e.mutateMap=mutateMap;function forEachAncestorDirectory(t,r){while(true){var n=r(t);if(n!==undefined){return n}var i=e.getDirectoryPath(t);if(i===t){return undefined}t=i}}e.forEachAncestorDirectory=forEachAncestorDirectory;function isAbstractConstructorType(e){return!!(getObjectFlags(e)&16)&&!!e.symbol&&isAbstractConstructorSymbol(e.symbol)}e.isAbstractConstructorType=isAbstractConstructorType;function isAbstractConstructorSymbol(e){if(e.flags&32){var t=getClassLikeDeclarationOfSymbol(e);return!!t&&hasModifier(t,128)}return false}e.isAbstractConstructorSymbol=isAbstractConstructorSymbol;function getClassLikeDeclarationOfSymbol(t){return e.find(t.declarations,e.isClassLike)}e.getClassLikeDeclarationOfSymbol=getClassLikeDeclarationOfSymbol;function getObjectFlags(e){return e.flags&524288?e.objectFlags:0}e.getObjectFlags=getObjectFlags;function typeHasCallOrConstructSignatures(e,t){return t.getSignaturesOfType(e,0).length!==0||t.getSignaturesOfType(e,1).length!==0}e.typeHasCallOrConstructSignatures=typeHasCallOrConstructSignatures;function forSomeAncestorDirectory(e,t){return!!forEachAncestorDirectory(e,function(e){return t(e)?true:undefined})}e.forSomeAncestorDirectory=forSomeAncestorDirectory;function isUMDExportSymbol(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])}e.isUMDExportSymbol=isUMDExportSymbol;function showModuleSpecifier(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:getTextOfNode(r)}e.showModuleSpecifier=showModuleSpecifier;function getLastChild(t){var r;e.forEachChild(t,function(e){if(nodeIsPresent(e))r=e},function(e){for(var t=e.length-1;t>=0;t--){if(nodeIsPresent(e[t])){r=e[t];break}}});return r}e.getLastChild=getLastChild;function addToSeen(e,t,r){if(r===void 0){r=true}t=String(t);if(e.has(t)){return false}e.set(t,r);return true}e.addToSeen=addToSeen;function isObjectTypeDeclaration(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)}e.isObjectTypeDeclaration=isObjectTypeDeclaration;function isTypeNodeKind(e){return e>=163&&e<=183||e===120||e===143||e===135||e===146||e===136||e===123||e===138||e===139||e===100||e===106||e===141||e===96||e===132||e===211||e===284||e===285||e===286||e===287||e===288||e===289||e===290}e.isTypeNodeKind=isTypeNodeKind})(s||(s={}));(function(e){function getDefaultLibFileName(e){switch(e.target){case 6:return"lib.esnext.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}e.getDefaultLibFileName=getDefaultLibFileName;function textSpanEnd(e){return e.start+e.length}e.textSpanEnd=textSpanEnd;function textSpanIsEmpty(e){return e.length===0}e.textSpanIsEmpty=textSpanIsEmpty;function textSpanContainsPosition(e,t){return t>=e.start&&t=e.pos&&t<=e.end}e.textRangeContainsPositionInclusive=textRangeContainsPositionInclusive;function textSpanContainsTextSpan(e,t){return t.start>=e.start&&textSpanEnd(t)<=textSpanEnd(e)}e.textSpanContainsTextSpan=textSpanContainsTextSpan;function textSpanOverlapsWith(e,t){return textSpanOverlap(e,t)!==undefined}e.textSpanOverlapsWith=textSpanOverlapsWith;function textSpanOverlap(e,t){var r=textSpanIntersection(e,t);return r&&r.length===0?undefined:r}e.textSpanOverlap=textSpanOverlap;function textSpanIntersectsWithTextSpan(e,t){return decodedTextSpanIntersectsWith(e.start,e.length,t.start,t.length)}e.textSpanIntersectsWithTextSpan=textSpanIntersectsWithTextSpan;function textSpanIntersectsWith(e,t,r){return decodedTextSpanIntersectsWith(e.start,e.length,t,r)}e.textSpanIntersectsWith=textSpanIntersectsWith;function decodedTextSpanIntersectsWith(e,t,r,n){var i=e+t;var a=r+n;return r<=i&&a>=e}e.decodedTextSpanIntersectsWith=decodedTextSpanIntersectsWith;function textSpanIntersectsWithPosition(e,t){return t<=textSpanEnd(e)&&t>=e.start}e.textSpanIntersectsWithPosition=textSpanIntersectsWithPosition;function textSpanIntersection(e,t){var r=Math.max(e.start,t.start);var n=Math.min(textSpanEnd(e),textSpanEnd(t));return r<=n?createTextSpanFromBounds(r,n):undefined}e.textSpanIntersection=textSpanIntersection;function createTextSpan(e,t){if(e<0){throw new Error("start < 0")}if(t<0){throw new Error("length < 0")}return{start:e,length:t}}e.createTextSpan=createTextSpan;function createTextSpanFromBounds(e,t){return createTextSpan(e,t-e)}e.createTextSpanFromBounds=createTextSpanFromBounds;function textChangeRangeNewSpan(e){return createTextSpan(e.span.start,e.newLength)}e.textChangeRangeNewSpan=textChangeRangeNewSpan;function textChangeRangeIsUnchanged(e){return textSpanIsEmpty(e.span)&&e.newLength===0}e.textChangeRangeIsUnchanged=textChangeRangeIsUnchanged;function createTextChangeRange(e,t){if(t<0){throw new Error("newLength < 0")}return{span:e,newLength:t}}e.createTextChangeRange=createTextChangeRange;e.unchangedTextChangeRange=createTextChangeRange(createTextSpan(0,0),0);function collapseTextChangeRangesAcrossMultipleVersions(t){if(t.length===0){return e.unchangedTextChangeRange}if(t.length===1){return t[0]}var r=t[0];var n=r.span.start;var i=textSpanEnd(r.span);var a=n+r.newLength;for(var o=1;o=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}e.escapeLeadingUnderscores=escapeLeadingUnderscores;function unescapeLeadingUnderscores(e){var t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}e.unescapeLeadingUnderscores=unescapeLeadingUnderscores;function idText(e){return unescapeLeadingUnderscores(e.escapedText)}e.idText=idText;function symbolName(e){return unescapeLeadingUnderscores(e.escapedName)}e.symbolName=symbolName;function nameForNamelessJSDocTypedef(t){var r=t.parent.parent;if(!r){return undefined}if(e.isDeclaration(r)){return getDeclarationIdentifier(r)}switch(r.kind){case 219:if(r.declarationList&&r.declarationList.declarations[0]){return getDeclarationIdentifier(r.declarationList.declarations[0])}break;case 221:var n=r.expression;switch(n.kind){case 189:return n.name;case 190:var i=n.argumentExpression;if(e.isIdentifier(i)){return i}}break;case 195:{return getDeclarationIdentifier(r.expression)}case 233:{if(e.isDeclaration(r.statement)||e.isExpression(r.statement)){return getDeclarationIdentifier(r.statement)}break}}}function getDeclarationIdentifier(t){var r=getNameOfDeclaration(t);return r&&e.isIdentifier(r)?r:undefined}function getNameOfJSDocTypedef(e){return e.name||nameForNamelessJSDocTypedef(e)}e.getNameOfJSDocTypedef=getNameOfJSDocTypedef;function isNamedDeclaration(e){return!!e.name}e.isNamedDeclaration=isNamedDeclaration;function getNonAssignedNameOfDeclaration(t){switch(t.kind){case 72:return t;case 305:case 299:{var r=t.name;if(r.kind===148){return r.right}break}case 191:case 204:{var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return n.left.name;case 7:case 8:case 9:return n.arguments[1];default:return undefined}}case 304:return getNameOfJSDocTypedef(t);case 254:{var i=t.expression;return e.isIdentifier(i)?i:undefined}}return t.name}e.getNonAssignedNameOfDeclaration=getNonAssignedNameOfDeclaration;function getNameOfDeclaration(t){if(t===undefined)return undefined;return getNonAssignedNameOfDeclaration(t)||(e.isFunctionExpression(t)||e.isClassExpression(t)?getAssignedName(t):undefined)}e.getNameOfDeclaration=getNameOfDeclaration;function getAssignedName(t){if(!t.parent){return undefined}else if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent)){return t.parent.name}else if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left)){return t.parent.left}else if(e.isPropertyAccessExpression(t.parent.left)){return t.parent.left.name}}}function getJSDocParameterTags(t){if(t.name){if(e.isIdentifier(t.name)){var r=t.name.escapedText;return getJSDocTags(t.parent).filter(function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===r})}else{var n=t.parent.parameters.indexOf(t);e.Debug.assert(n>-1,"Parameters should always be in their parents' parameter list");var i=getJSDocTags(t.parent).filter(e.isJSDocParameterTag);if(n=148}e.isNodeKind=isNodeKind;function isToken(e){return e.kind>=0&&e.kind<=147}e.isToken=isToken;function isNodeArray(e){return e.hasOwnProperty("pos")&&e.hasOwnProperty("end")}e.isNodeArray=isNodeArray;function isLiteralKind(e){return 8<=e&&e<=14}e.isLiteralKind=isLiteralKind;function isLiteralExpression(e){return isLiteralKind(e.kind)}e.isLiteralExpression=isLiteralExpression;function isTemplateLiteralKind(e){return 14<=e&&e<=17}e.isTemplateLiteralKind=isTemplateLiteralKind;function isTemplateLiteralToken(e){return isTemplateLiteralKind(e.kind)}e.isTemplateLiteralToken=isTemplateLiteralToken;function isTemplateMiddleOrTemplateTail(e){var t=e.kind;return t===16||t===17}e.isTemplateMiddleOrTemplateTail=isTemplateMiddleOrTemplateTail;function isImportOrExportSpecifier(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)}e.isImportOrExportSpecifier=isImportOrExportSpecifier;function isStringTextContainingNode(e){return e.kind===10||isTemplateLiteralKind(e.kind)}e.isStringTextContainingNode=isStringTextContainingNode;function isGeneratedIdentifier(t){return e.isIdentifier(t)&&(t.autoGenerateFlags&7)>0}e.isGeneratedIdentifier=isGeneratedIdentifier;function isModifierKind(e){switch(e){case 118:case 121:case 77:case 125:case 80:case 85:case 115:case 113:case 114:case 133:case 116:return true}return false}e.isModifierKind=isModifierKind;function isParameterPropertyModifier(t){return!!(e.modifierToFlag(t)&92)}e.isParameterPropertyModifier=isParameterPropertyModifier;function isClassMemberModifier(e){return isParameterPropertyModifier(e)||e===116}e.isClassMemberModifier=isClassMemberModifier;function isModifier(e){return isModifierKind(e.kind)}e.isModifier=isModifier;function isEntityName(e){var t=e.kind;return t===148||t===72}e.isEntityName=isEntityName;function isPropertyName(e){var t=e.kind;return t===72||t===10||t===8||t===149}e.isPropertyName=isPropertyName;function isBindingName(e){var t=e.kind;return t===72||t===184||t===185}e.isBindingName=isBindingName;function isFunctionLike(e){return e&&isFunctionLikeKind(e.kind)}e.isFunctionLike=isFunctionLike;function isFunctionLikeDeclaration(e){return e&&isFunctionLikeDeclarationKind(e.kind)}e.isFunctionLikeDeclaration=isFunctionLikeDeclaration;function isFunctionLikeDeclarationKind(e){switch(e){case 239:case 156:case 157:case 158:case 159:case 196:case 197:return true;default:return false}}function isFunctionLikeKind(e){switch(e){case 155:case 160:case 293:case 161:case 162:case 165:case 289:case 166:return true;default:return isFunctionLikeDeclarationKind(e)}}e.isFunctionLikeKind=isFunctionLikeKind;function isFunctionOrModuleBlock(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&isFunctionLike(t.parent)}e.isFunctionOrModuleBlock=isFunctionOrModuleBlock;function isClassElement(e){var t=e.kind;return t===157||t===154||t===156||t===158||t===159||t===162||t===217}e.isClassElement=isClassElement;function isClassLike(e){return e&&(e.kind===240||e.kind===209)}e.isClassLike=isClassLike;function isAccessor(e){return e&&(e.kind===158||e.kind===159)}e.isAccessor=isAccessor;function isMethodOrAccessor(e){switch(e.kind){case 156:case 158:case 159:return true;default:return false}}e.isMethodOrAccessor=isMethodOrAccessor;function isTypeElement(e){var t=e.kind;return t===161||t===160||t===153||t===155||t===162}e.isTypeElement=isTypeElement;function isClassOrTypeElement(e){return isTypeElement(e)||isClassElement(e)}e.isClassOrTypeElement=isClassOrTypeElement;function isObjectLiteralElementLike(e){var t=e.kind;return t===275||t===276||t===277||t===156||t===158||t===159}e.isObjectLiteralElementLike=isObjectLiteralElementLike;function isTypeNode(t){return e.isTypeNodeKind(t.kind)}e.isTypeNode=isTypeNode;function isFunctionOrConstructorTypeNode(e){switch(e.kind){case 165:case 166:return true}return false}e.isFunctionOrConstructorTypeNode=isFunctionOrConstructorTypeNode;function isBindingPattern(e){if(e){var t=e.kind;return t===185||t===184}return false}e.isBindingPattern=isBindingPattern;function isAssignmentPattern(e){var t=e.kind;return t===187||t===188}e.isAssignmentPattern=isAssignmentPattern;function isArrayBindingElement(e){var t=e.kind;return t===186||t===210}e.isArrayBindingElement=isArrayBindingElement;function isDeclarationBindingElement(e){switch(e.kind){case 237:case 151:case 186:return true}return false}e.isDeclarationBindingElement=isDeclarationBindingElement;function isBindingOrAssignmentPattern(e){return isObjectBindingOrAssignmentPattern(e)||isArrayBindingOrAssignmentPattern(e)}e.isBindingOrAssignmentPattern=isBindingOrAssignmentPattern;function isObjectBindingOrAssignmentPattern(e){switch(e.kind){case 184:case 188:return true}return false}e.isObjectBindingOrAssignmentPattern=isObjectBindingOrAssignmentPattern;function isArrayBindingOrAssignmentPattern(e){switch(e.kind){case 185:case 187:return true}return false}e.isArrayBindingOrAssignmentPattern=isArrayBindingOrAssignmentPattern;function isPropertyAccessOrQualifiedNameOrImportTypeNode(e){var t=e.kind;return t===189||t===148||t===183}e.isPropertyAccessOrQualifiedNameOrImportTypeNode=isPropertyAccessOrQualifiedNameOrImportTypeNode;function isPropertyAccessOrQualifiedName(e){var t=e.kind;return t===189||t===148}e.isPropertyAccessOrQualifiedName=isPropertyAccessOrQualifiedName;function isCallLikeExpression(e){switch(e.kind){case 262:case 261:case 191:case 192:case 193:case 152:return true;default:return false}}e.isCallLikeExpression=isCallLikeExpression;function isCallOrNewExpression(e){return e.kind===191||e.kind===192}e.isCallOrNewExpression=isCallOrNewExpression;function isTemplateLiteral(e){var t=e.kind;return t===206||t===14}e.isTemplateLiteral=isTemplateLiteral;function isLeftHandSideExpression(t){return isLeftHandSideExpressionKind(e.skipPartiallyEmittedExpressions(t).kind)}e.isLeftHandSideExpression=isLeftHandSideExpression;function isLeftHandSideExpressionKind(e){switch(e){case 189:case 190:case 192:case 191:case 260:case 261:case 264:case 193:case 187:case 195:case 188:case 209:case 196:case 72:case 13:case 8:case 9:case 10:case 14:case 206:case 87:case 96:case 100:case 102:case 98:case 213:case 214:case 92:return true;default:return false}}function isUnaryExpression(t){return isUnaryExpressionKind(e.skipPartiallyEmittedExpressions(t).kind)}e.isUnaryExpression=isUnaryExpression;function isUnaryExpressionKind(e){switch(e){case 202:case 203:case 198:case 199:case 200:case 201:case 194:return true;default:return isLeftHandSideExpressionKind(e)}}function isUnaryExpressionWithWrite(e){switch(e.kind){case 203:return true;case 202:return e.operator===44||e.operator===45;default:return false}}e.isUnaryExpressionWithWrite=isUnaryExpressionWithWrite;function isExpression(t){return isExpressionKind(e.skipPartiallyEmittedExpressions(t).kind)}e.isExpression=isExpression;function isExpressionKind(e){switch(e){case 205:case 207:case 197:case 204:case 208:case 212:case 210:case 309:case 308:return true;default:return isUnaryExpressionKind(e)}}function isAssertionExpression(e){var t=e.kind;return t===194||t===212}e.isAssertionExpression=isAssertionExpression;function isPartiallyEmittedExpression(e){return e.kind===308}e.isPartiallyEmittedExpression=isPartiallyEmittedExpression;function isNotEmittedStatement(e){return e.kind===307}e.isNotEmittedStatement=isNotEmittedStatement;function isNotEmittedOrPartiallyEmittedNode(e){return isNotEmittedStatement(e)||isPartiallyEmittedExpression(e)}e.isNotEmittedOrPartiallyEmittedNode=isNotEmittedOrPartiallyEmittedNode;function isIterationStatement(e,t){switch(e.kind){case 225:case 226:case 227:case 223:case 224:return true;case 233:return t&&isIterationStatement(e.statement,t)}return false}e.isIterationStatement=isIterationStatement;function isForInOrOfStatement(e){return e.kind===226||e.kind===227}e.isForInOrOfStatement=isForInOrOfStatement;function isConciseBody(t){return e.isBlock(t)||isExpression(t)}e.isConciseBody=isConciseBody;function isFunctionBody(t){return e.isBlock(t)}e.isFunctionBody=isFunctionBody;function isForInitializer(t){return e.isVariableDeclarationList(t)||isExpression(t)}e.isForInitializer=isForInitializer;function isModuleBody(e){var t=e.kind;return t===245||t===244||t===72}e.isModuleBody=isModuleBody;function isNamespaceBody(e){var t=e.kind;return t===245||t===244}e.isNamespaceBody=isNamespaceBody;function isJSDocNamespaceBody(e){var t=e.kind;return t===72||t===244}e.isJSDocNamespaceBody=isJSDocNamespaceBody;function isNamedImportBindings(e){var t=e.kind;return t===252||t===251}e.isNamedImportBindings=isNamedImportBindings;function isModuleOrEnumDeclaration(e){return e.kind===244||e.kind===243}e.isModuleOrEnumDeclaration=isModuleOrEnumDeclaration;function isDeclarationKind(e){return e===197||e===186||e===240||e===209||e===157||e===243||e===278||e===257||e===239||e===196||e===158||e===250||e===248||e===253||e===241||e===267||e===156||e===155||e===244||e===247||e===251||e===151||e===275||e===154||e===153||e===159||e===276||e===242||e===150||e===237||e===304||e===297||e===305}function isDeclarationStatementKind(e){return e===239||e===258||e===240||e===241||e===242||e===243||e===244||e===249||e===248||e===255||e===254||e===247}function isStatementKindButNotDeclarationKind(e){return e===229||e===228||e===236||e===223||e===221||e===220||e===226||e===227||e===225||e===222||e===233||e===230||e===232||e===234||e===235||e===219||e===224||e===231||e===307||e===311||e===310}function isDeclaration(t){if(t.kind===150){return t.parent.kind!==303||e.isInJSFile(t)}return isDeclarationKind(t.kind)}e.isDeclaration=isDeclaration;function isDeclarationStatement(e){return isDeclarationStatementKind(e.kind)}e.isDeclarationStatement=isDeclarationStatement;function isStatementButNotDeclaration(e){return isStatementKindButNotDeclarationKind(e.kind)}e.isStatementButNotDeclaration=isStatementButNotDeclaration;function isStatement(e){var t=e.kind;return isStatementKindButNotDeclarationKind(t)||isDeclarationStatementKind(t)||isBlockStatement(e)}e.isStatement=isStatement;function isBlockStatement(t){if(t.kind!==218)return false;if(t.parent!==undefined){if(t.parent.kind===235||t.parent.kind===274){return false}}return!e.isFunctionBlock(t)}function isModuleReference(e){var t=e.kind;return t===259||t===148||t===72}e.isModuleReference=isModuleReference;function isJsxTagNameExpression(e){var t=e.kind;return t===100||t===72||t===189}e.isJsxTagNameExpression=isJsxTagNameExpression;function isJsxChild(e){var t=e.kind;return t===260||t===270||t===261||t===11||t===264}e.isJsxChild=isJsxChild;function isJsxAttributeLike(e){var t=e.kind;return t===267||t===269}e.isJsxAttributeLike=isJsxAttributeLike;function isStringLiteralOrJsxExpression(e){var t=e.kind;return t===10||t===270}e.isStringLiteralOrJsxExpression=isStringLiteralOrJsxExpression;function isJsxOpeningLikeElement(e){var t=e.kind;return t===262||t===261}e.isJsxOpeningLikeElement=isJsxOpeningLikeElement;function isCaseOrDefaultClause(e){var t=e.kind;return t===271||t===272}e.isCaseOrDefaultClause=isCaseOrDefaultClause;function isJSDocNode(e){return e.kind>=283&&e.kind<=305}e.isJSDocNode=isJSDocNode;function isJSDocCommentContainingNode(t){return t.kind===291||isJSDocTag(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)}e.isJSDocCommentContainingNode=isJSDocCommentContainingNode;function isJSDocTag(e){return e.kind>=294&&e.kind<=305}e.isJSDocTag=isJSDocTag;function isSetAccessor(e){return e.kind===159}e.isSetAccessor=isSetAccessor;function isGetAccessor(e){return e.kind===158}e.isGetAccessor=isGetAccessor;function hasJSDocNodes(e){var t=e.jsDoc;return!!t&&t.length>0}e.hasJSDocNodes=hasJSDocNodes;function hasType(e){return!!e.type}e.hasType=hasType;function hasInitializer(e){return!!e.initializer}e.hasInitializer=hasInitializer;function hasOnlyExpressionInitializer(t){return hasInitializer(t)&&!e.isForStatement(t)&&!e.isForInStatement(t)&&!e.isForOfStatement(t)&&!e.isJsxAttribute(t)}e.hasOnlyExpressionInitializer=hasOnlyExpressionInitializer;function isObjectLiteralElement(e){return e.kind===267||e.kind===269||isObjectLiteralElementLike(e)}e.isObjectLiteralElement=isObjectLiteralElement;function isTypeReferenceType(e){return e.kind===164||e.kind===211}e.isTypeReferenceType=isTypeReferenceType;var t=1073741823;function guessIndentation(r){var n=t;for(var i=0,a=r;i4){a=formatStringFromArgs(a,arguments,4)}return{file:t,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary}}e.createFileDiagnostic=createFileDiagnostic;function formatMessage(e,t){var r=getLocaleSpecificMessage(t);if(arguments.length>2){r=formatStringFromArgs(r,arguments,2)}return r}e.formatMessage=formatMessage;function createCompilerDiagnostic(e){var t=getLocaleSpecificMessage(e);if(arguments.length>1){t=formatStringFromArgs(t,arguments,1)}return{file:undefined,start:undefined,length:undefined,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary}}e.createCompilerDiagnostic=createCompilerDiagnostic;function createCompilerDiagnosticFromMessageChain(e){return{file:undefined,start:undefined,length:undefined,code:e.code,category:e.category,messageText:e.next?e:e.messageText}}e.createCompilerDiagnosticFromMessageChain=createCompilerDiagnosticFromMessageChain;function chainDiagnosticMessages(e,t){var r=getLocaleSpecificMessage(t);if(arguments.length>2){r=formatStringFromArgs(r,arguments,2)}return{messageText:r,category:t.category,code:t.code,next:e}}e.chainDiagnosticMessages=chainDiagnosticMessages;function concatenateDiagnosticMessageChains(e,t){var r=e;while(r.next){r=r.next}r.next=t;return e}e.concatenateDiagnosticMessageChains=concatenateDiagnosticMessageChains;function getDiagnosticFilePath(e){return e.file?e.file.path:undefined}function compareDiagnostics(e,t){return compareDiagnosticsSkipRelatedInformation(e,t)||compareRelatedInformation(e,t)||0}e.compareDiagnostics=compareDiagnostics;function compareDiagnosticsSkipRelatedInformation(t,r){return e.compareStringsCaseSensitive(getDiagnosticFilePath(t),getDiagnosticFilePath(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||compareMessageText(t.messageText,r.messageText)||0}e.compareDiagnosticsSkipRelatedInformation=compareDiagnosticsSkipRelatedInformation;function compareRelatedInformation(t,r){if(!t.relatedInformation&&!r.relatedInformation){return 0}if(t.relatedInformation&&r.relatedInformation){return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,function(e,t){var n=r.relatedInformation[t];return compareDiagnostics(e,n)})||0}return t.relatedInformation?-1:1}function compareMessageText(t,r){var n=t;var i=r;while(n&&i){var a=e.isString(n)?n:n.messageText;var o=e.isString(i)?i:i.messageText;var s=e.compareStringsCaseSensitive(a,o);if(s){return s}n=e.isString(n)?undefined:n.next;i=e.isString(i)?undefined:i.next}if(!n&&!i){return 0}return n?1:-1}function getEmitScriptTarget(e){return e.target||0}e.getEmitScriptTarget=getEmitScriptTarget;function getEmitModuleKind(t){return typeof t.module==="number"?t.module:getEmitScriptTarget(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}e.getEmitModuleKind=getEmitModuleKind;function getEmitModuleResolutionKind(t){var r=t.moduleResolution;if(r===undefined){r=getEmitModuleKind(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic}return r}e.getEmitModuleResolutionKind=getEmitModuleResolutionKind;function hasJsonModuleEmitEnabled(t){switch(getEmitModuleKind(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ESNext:return true;default:return false}}e.hasJsonModuleEmitEnabled=hasJsonModuleEmitEnabled;function unreachableCodeIsError(e){return e.allowUnreachableCode===false}e.unreachableCodeIsError=unreachableCodeIsError;function unusedLabelIsError(e){return e.allowUnusedLabels===false}e.unusedLabelIsError=unusedLabelIsError;function getAreDeclarationMapsEnabled(e){return!!(getEmitDeclarations(e)&&e.declarationMap)}e.getAreDeclarationMapsEnabled=getAreDeclarationMapsEnabled;function getAllowSyntheticDefaultImports(t){var r=getEmitModuleKind(t);return t.allowSyntheticDefaultImports!==undefined?t.allowSyntheticDefaultImports:t.esModuleInterop||r===e.ModuleKind.System}e.getAllowSyntheticDefaultImports=getAllowSyntheticDefaultImports;function getEmitDeclarations(e){return!!(e.declaration||e.composite)}e.getEmitDeclarations=getEmitDeclarations;function getStrictOptionValue(e,t){return e[t]===undefined?!!e.strict:!!e[t]}e.getStrictOptionValue=getStrictOptionValue;function compilerOptionsAffectSemanticDiagnostics(t,r){return r!==t&&e.semanticDiagnosticsOptionDeclarations.some(function(n){return!e.isJsonEqual(getCompilerOptionValue(r,n),getCompilerOptionValue(t,n))})}e.compilerOptionsAffectSemanticDiagnostics=compilerOptionsAffectSemanticDiagnostics;function getCompilerOptionValue(e,t){return t.strictFlag?getStrictOptionValue(e,t.name):e[t.name]}e.getCompilerOptionValue=getCompilerOptionValue;function hasZeroOrOneAsteriskCharacter(e){var t=false;for(var r=0;r=97&&e<=122||e>=65&&e<=90}function getFileUrlVolumeSeparatorEnd(e,t){var r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){var n=e.charCodeAt(t+2);if(n===97||n===65)return t+3}return-1}function getEncodedRootLength(n){if(!n)return 0;var i=n.charCodeAt(0);if(i===47||i===92){if(n.charCodeAt(1)!==i)return 1;var a=n.indexOf(i===47?e.directorySeparator:t,2);if(a<0)return n.length;return a+1}if(isVolumeCharacter(i)&&n.charCodeAt(1)===58){var o=n.charCodeAt(2);if(o===47||o===92)return 3;if(n.length===2)return 2}var s=n.indexOf(r);if(s!==-1){var c=s+r.length;var u=n.indexOf(e.directorySeparator,c);if(u!==-1){var l=n.slice(0,s);var f=n.slice(c,u);if(l==="file"&&(f===""||f==="localhost")&&isVolumeCharacter(n.charCodeAt(u+1))){var d=getFileUrlVolumeSeparatorEnd(n,u+2);if(d!==-1){if(n.charCodeAt(d)===47){return~(d+1)}if(d===n.length){return~d}}}return~(u+1)}return~n.length}return 0}function getRootLength(e){var t=getEncodedRootLength(e);return t<0?~t:t}e.getRootLength=getRootLength;function normalizePath(t){return e.resolvePath(t)}e.normalizePath=normalizePath;function normalizePathAndParts(t){t=normalizeSlashes(t);var r=reducePathComponents(getPathComponents(t)),n=r[0],i=r.slice(1);if(i.length){var a=n+i.join(e.directorySeparator);return{path:e.hasTrailingDirectorySeparator(t)?e.ensureTrailingDirectorySeparator(a):a,parts:i}}else{return{path:n,parts:i}}}e.normalizePathAndParts=normalizePathAndParts;function getDirectoryPath(t){t=normalizeSlashes(t);var r=getRootLength(t);if(r===t.length)return t;t=e.removeTrailingDirectorySeparator(t);return t.slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}e.getDirectoryPath=getDirectoryPath;function startsWithDirectory(t,r,n){var i=n(t);var a=n(r);return e.startsWith(i,a+"/")||e.startsWith(i,a+"\\")}e.startsWithDirectory=startsWithDirectory;function isUrl(e){return getEncodedRootLength(e)<0}e.isUrl=isUrl;function pathIsRelative(e){return/^\.\.?($|[\\/])/.test(e)}e.pathIsRelative=pathIsRelative;function isRootedDiskPath(e){return getEncodedRootLength(e)>0}e.isRootedDiskPath=isRootedDiskPath;function isDiskPathRoot(e){var t=getEncodedRootLength(e);return t>0&&t===e.length}e.isDiskPathRoot=isDiskPathRoot;function convertToRelativePath(t,r,n){return!isRootedDiskPath(t)?t:e.getRelativePathToDirectoryOrUrl(r,t,r,n,false)}e.convertToRelativePath=convertToRelativePath;function pathComponents(t,r){var n=t.substring(0,r);var i=t.substring(r).split(e.directorySeparator);if(i.length&&!e.lastOrUndefined(i))i.pop();return[n].concat(i)}function getPathComponents(t,r){if(r===void 0){r=""}t=e.combinePaths(r,t);var n=getRootLength(t);return pathComponents(t,n)}e.getPathComponents=getPathComponents;function reducePathComponents(t){if(!e.some(t))return[];var r=[t[0]];for(var n=1;n1){if(r[r.length-1]!==".."){r.pop();continue}}else if(r[0])continue}r.push(i)}return r}e.reducePathComponents=reducePathComponents;function getNormalizedPathComponents(e,t){return reducePathComponents(getPathComponents(e,t))}e.getNormalizedPathComponents=getNormalizedPathComponents;function getNormalizedAbsolutePath(e,t){return getPathFromPathComponents(getNormalizedPathComponents(e,t))}e.getNormalizedAbsolutePath=getNormalizedAbsolutePath;function getPathFromPathComponents(t){if(t.length===0)return"";var r=t[0]&&e.ensureTrailingDirectorySeparator(t[0]);return r+t.slice(1).join(e.directorySeparator)}e.getPathFromPathComponents=getPathFromPathComponents})(s||(s={}));(function(e){function getPathComponentsRelativeTo(t,r,n,i){var a=e.reducePathComponents(e.getPathComponents(t));var o=e.reducePathComponents(e.getPathComponents(r));var s;for(s=0;s0===e.getRootLength(r)>0,"Paths must either both be absolute or both be relative");var i=typeof n==="function"?n:e.identity;var a=typeof n==="boolean"?n:false;var o=getPathComponentsRelativeTo(t,r,a?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i);return e.getPathFromPathComponents(o)}e.getRelativePathFromDirectory=getRelativePathFromDirectory;function getRelativePathToDirectoryOrUrl(t,r,n,i,a){var o=getPathComponentsRelativeTo(resolvePath(n,t),resolvePath(n,r),e.equateStringsCaseSensitive,i);var s=o[0];if(a&&e.isRootedDiskPath(s)){var c=s.charAt(0)===e.directorySeparator?"file://":"file:///";o[0]=c+s}return e.getPathFromPathComponents(o)}e.getRelativePathToDirectoryOrUrl=getRelativePathToDirectoryOrUrl;function ensurePathIsNonModuleName(t){return e.getRootLength(t)===0&&!e.pathIsRelative(t)?"./"+t:t}e.ensurePathIsNonModuleName=ensurePathIsNonModuleName;function getBaseFileName(t,r,n){t=e.normalizeSlashes(t);var i=e.getRootLength(t);if(i===t.length)return"";t=removeTrailingDirectorySeparator(t);var a=t.slice(Math.max(e.getRootLength(t),t.lastIndexOf(e.directorySeparator)+1));var o=r!==undefined&&n!==undefined?getAnyExtensionFromPath(a,r,n):undefined;return o?a.slice(0,a.length-o.length):a}e.getBaseFileName=getBaseFileName;function combinePaths(t){var r=[];for(var n=1;n0){l+=")?";g--}return l}function replaceWildcardCharacter(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function getFileMatcherPatterns(t,r,n,i,a){t=e.normalizePath(t);a=e.normalizePath(a);var o=combinePaths(a,t);return{includeFilePatterns:e.map(getRegularExpressionsForWildcards(n,o,"files"),function(e){return"^"+e+"$"}),includeFilePattern:getRegularExpressionForWildcard(n,o,"files"),includeDirectoryPattern:getRegularExpressionForWildcard(n,o,"directories"),excludePattern:getRegularExpressionForWildcard(r,o,"exclude"),basePaths:getBasePaths(t,n,i)}}e.getFileMatcherPatterns=getFileMatcherPatterns;function getRegexFromPattern(e,t){return new RegExp(e,t?"":"i")}e.getRegexFromPattern=getRegexFromPattern;function matchFiles(t,r,n,i,a,o,s,c){t=e.normalizePath(t);o=e.normalizePath(o);var u=getFileMatcherPatterns(t,n,i,a,o);var l=u.includeFilePatterns&&u.includeFilePatterns.map(function(e){return getRegexFromPattern(e,a)});var f=u.includeDirectoryPattern&&getRegexFromPattern(u.includeDirectoryPattern,a);var d=u.excludePattern&&getRegexFromPattern(u.excludePattern,a);var p=l?l.map(function(){return[]}):[[]];for(var g=0,_=u.basePaths;g<_.length;g++){var m=_[g];visitDirectory(m,combinePaths(o,m),s)}return e.flatten(p);function visitDirectory(t,n,i){var a=c(t),o=a.files,s=a.directories;var u=function(i){var a=combinePaths(t,i);var o=combinePaths(n,i);if(r&&!e.fileExtensionIsOneOf(a,r))return"continue";if(d&&d.test(o))return"continue";if(!l){p[0].push(a)}else{var s=e.findIndex(l,function(e){return e.test(o)});if(s!==-1){p[s].push(a)}}};for(var g=0,_=e.sort(o,e.compareStringsCaseSensitive);g<_.length;g++){var m=_[g];u(m)}if(i!==undefined){i--;if(i===0){return}}for(var y=0,h=e.sort(s,e.compareStringsCaseSensitive);y=0;n--){if(e.fileExtensionIs(t,r[n])){return adjustExtensionPriority(n,r)}}return 0}e.getExtensionPriority=getExtensionPriority;function adjustExtensionPriority(e,t){if(e<2){return 0}else if(e=0)}e.positionIsSynthesized=positionIsSynthesized;function extensionIsTS(e){return e===".ts"||e===".tsx"||e===".d.ts"}e.extensionIsTS=extensionIsTS;function resolutionExtensionIsTSOrJson(e){return extensionIsTS(e)||e===".json"}e.resolutionExtensionIsTSOrJson=resolutionExtensionIsTSOrJson;function extensionFromPath(e){var t=tryGetExtensionFromPath(e);return t!==undefined?t:d.fail("File "+e+" has unknown extension.")}e.extensionFromPath=extensionFromPath;function isAnySupportedFileExtension(e){return tryGetExtensionFromPath(e)!==undefined}e.isAnySupportedFileExtension=isAnySupportedFileExtension;function tryGetExtensionFromPath(t){return e.find(f,function(r){return e.fileExtensionIs(t,r)})}e.tryGetExtensionFromPath=tryGetExtensionFromPath;function getAnyExtensionFromPathWorker(t,r,n){if(typeof r==="string")r=[r];for(var i=0,a=r;i=o.length&&t.charAt(t.length-o.length)==="."){var s=t.slice(t.length-o.length);if(n(s,o)){return s}}}return""}function getAnyExtensionFromPath(t,r,n){if(r){return getAnyExtensionFromPathWorker(t,r,n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive)}var i=getBaseFileName(t);var a=i.lastIndexOf(".");if(a>=0){return i.substring(a)}return""}e.getAnyExtensionFromPath=getAnyExtensionFromPath;function isCheckJsEnabledForFile(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}e.isCheckJsEnabledForFile=isCheckJsEnabledForFile;e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray};function matchPatternOrExact(t,r){var n=[];for(var i=0,a=t;in){n=a}}return{min:r,max:n}}e.minAndMax=minAndMax;var p=function(){function NodeSet(){this.map=e.createMap()}NodeSet.prototype.add=function(t){this.map.set(String(e.getNodeId(t)),t)};NodeSet.prototype.tryAdd=function(e){if(this.has(e))return false;this.add(e);return true};NodeSet.prototype.has=function(t){return this.map.has(String(e.getNodeId(t)))};NodeSet.prototype.forEach=function(e){this.map.forEach(e)};NodeSet.prototype.some=function(t){return e.forEachEntry(this.map,t)||false};return NodeSet}();e.NodeSet=p;var g=function(){function NodeMap(){this.map=e.createMap()}NodeMap.prototype.get=function(t){var r=this.map.get(String(e.getNodeId(t)));return r&&r.value};NodeMap.prototype.getOrUpdate=function(e,t){var r=this.get(e);if(r)return r;var n=t();this.set(e,n);return n};NodeMap.prototype.set=function(t,r){this.map.set(String(e.getNodeId(t)),{node:t,value:r})};NodeMap.prototype.has=function(t){return this.map.has(String(e.getNodeId(t)))};NodeMap.prototype.forEach=function(e){this.map.forEach(function(t){var r=t.node,n=t.value;return e(n,r)})};return NodeMap}();e.NodeMap=g;function rangeOfNode(t){return{pos:e.getTokenPosOfNode(t),end:t.end}}e.rangeOfNode=rangeOfNode;function rangeOfTypeParameters(e){return{pos:e.pos-1,end:e.end+1}}e.rangeOfTypeParameters=rangeOfTypeParameters;function skipTypeChecking(e,t){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib}e.skipTypeChecking=skipTypeChecking;function isJsonEqual(t,r){return t===r||typeof t==="object"&&t!==null&&typeof r==="object"&&r!==null&&e.equalOwnProperties(t,r,isJsonEqual)}e.isJsonEqual=isJsonEqual;function getOrUpdate(e,t,r){var n=e.get(t);if(n===undefined){var i=r();e.set(t,i);return i}else{return n}}e.getOrUpdate=getOrUpdate;function parsePseudoBigInt(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:var r=e.length-1;var n=0;while(e.charCodeAt(n)===48){n++}return e.slice(n,r)||"0"}var i=2,a=e.length-1;var o=(a-i)*t;var s=new Uint16Array((o>>>4)+(o&15?1:0));for(var c=a-1,u=0;c>=i;c--,u+=t){var l=u>>>4;var f=e.charCodeAt(c);var d=f<=57?f-48:10+f-(f<=70?65:97);var p=d<<(u&15);s[l]|=p;var g=p>>>16;if(g)s[l+1]|=g}var _="";var m=s.length-1;var y=true;while(y){var h=0;y=false;for(var l=m;l>=0;l--){var v=h<<16|s[l];var T=v/10|0;s[l]=T;h=v-T*10;if(T&&!y){m=l;y=true}}_=h+_}return _}e.parsePseudoBigInt=parsePseudoBigInt;function pseudoBigIntToString(e){var t=e.negative,r=e.base10Value;return(t&&r!=="0"?"-":"")+r}e.pseudoBigIntToString=pseudoBigIntToString})(s||(s={}));var s;(function(e){var t;(function(e){e[e["None"]=0]="None";e[e["Yield"]=1]="Yield";e[e["Await"]=2]="Await";e[e["Type"]=4]="Type";e[e["IgnoreMissingOpenBrace"]=16]="IgnoreMissingOpenBrace";e[e["JSDoc"]=32]="JSDoc"})(t||(t={}));var r;var n;var i;var a;function createNode(t,o,s){if(t===279){return new(a||(a=e.objectAllocator.getSourceFileConstructor()))(t,o,s)}else if(t===72){return new(i||(i=e.objectAllocator.getIdentifierConstructor()))(t,o,s)}else if(!e.isNodeKind(t)){return new(n||(n=e.objectAllocator.getTokenConstructor()))(t,o,s)}else{return new(r||(r=e.objectAllocator.getNodeConstructor()))(t,o,s)}}e.createNode=createNode;function visitNode(e,t){return t&&e(t)}function visitNodes(e,t,r){if(r){if(t){return t(r)}for(var n=0,i=r;n108}function parseExpected(t,r,n){if(n===void 0){n=true}if(token()===t){if(n){nextToken()}return true}if(r){parseErrorAtCurrentToken(r)}else{parseErrorAtCurrentToken(e.Diagnostics._0_expected,e.tokenToString(t))}return false}function parseOptional(e){if(token()===e){nextToken();return true}return false}function parseOptionalToken(e){if(token()===e){return parseTokenNode()}return undefined}function parseExpectedToken(t,r,n){return parseOptionalToken(t)||createMissingNode(t,false,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function parseTokenNode(){var e=createNode(token());nextToken();return finishNode(e)}function canParseSemicolon(){if(token()===26){return true}return token()===19||token()===1||r.hasPrecedingLineBreak()}function parseSemicolon(){if(canParseSemicolon()){if(token()===26){nextToken()}return true}else{return parseExpected(26)}}function createNode(t,n){p++;var s=n>=0?n:r.getStartPos();return e.isNodeKind(t)||t===0?new i(t,s,s):t===72?new o(t,s,s):new a(t,s,s)}function createNodeWithJSDoc(e,t){var n=createNode(e,t);if(r.getTokenFlags()&2){addJSDocComment(n)}return n}function createNodeArray(e,t,n){var i=e.length;var a=i>=1&&i<=4?e.slice():e;a.pos=t;a.end=n===undefined?r.getStartPos():n;return a}function finishNode(e,t){e.end=t===undefined?r.getStartPos():t;if(y){e.flags|=y}if(h){h=false;e.flags|=32768}return e}function createMissingNode(t,n,i,a){if(n){parseErrorAtPosition(r.getStartPos(),0,i,a)}else if(i){parseErrorAtCurrentToken(i,a)}var o=createNode(t);if(t===72){o.escapedText=""}else if(e.isLiteralKind(t)||e.isTemplateLiteralKind(t)){o.text=""}return finishNode(o)}function internIdentifier(e){var t=g.get(e);if(t===undefined){g.set(e,t=e)}return t}function createIdentifier(t,n){_++;if(t){var i=createNode(72);if(token()!==72){i.originalKeywordKind=token()}i.escapedText=e.escapeLeadingUnderscores(internIdentifier(r.getTokenValue()));nextToken();return finishNode(i)}var a=token()===1;return createMissingNode(72,a,n||e.Diagnostics.Identifier_expected)}function parseIdentifier(e){return createIdentifier(isIdentifier(),e)}function parseIdentifierName(t){return createIdentifier(e.tokenIsIdentifierOrKeyword(token()),t)}function isLiteralPropertyName(){return e.tokenIsIdentifierOrKeyword(token())||token()===10||token()===8}function parsePropertyNameWorker(e){if(token()===10||token()===8){var t=parseLiteralNode();t.text=internIdentifier(t.text);return t}if(e&&token()===22){return parseComputedPropertyName()}return parseIdentifierName()}function parsePropertyName(){return parsePropertyNameWorker(true)}function parseComputedPropertyName(){var e=createNode(149);parseExpected(22);e.expression=allowInAnd(parseExpression);parseExpected(23);return finishNode(e)}function parseContextualModifier(e){return token()===e&&tryParse(nextTokenCanFollowModifier)}function nextTokenIsOnSameLineAndCanFollowModifier(){nextToken();if(r.hasPrecedingLineBreak()){return false}return canFollowModifier()}function nextTokenCanFollowModifier(){switch(token()){case 77:return nextToken()===84;case 85:nextToken();if(token()===80){return lookAhead(nextTokenCanFollowDefaultKeyword)}return token()!==40&&token()!==119&&token()!==18&&canFollowModifier();case 80:return nextTokenCanFollowDefaultKeyword();case 116:case 126:case 137:nextToken();return canFollowModifier();default:return nextTokenIsOnSameLineAndCanFollowModifier()}}function parseAnyContextualModifier(){return e.isModifierKind(token())&&tryParse(nextTokenCanFollowModifier)}function canFollowModifier(){return token()===22||token()===18||token()===40||token()===25||isLiteralPropertyName()}function nextTokenCanFollowDefaultKeyword(){nextToken();return token()===76||token()===90||token()===110||token()===118&&lookAhead(nextTokenIsClassKeywordOnSameLine)||token()===121&&lookAhead(nextTokenIsFunctionKeywordOnSameLine)}function isListElement(t,r){var n=currentNode(t);if(n){return true}switch(t){case 0:case 1:case 3:return!(token()===26&&r)&&isStartOfStatement();case 2:return token()===74||token()===80;case 4:return lookAhead(isTypeMemberStart);case 5:return lookAhead(isClassMemberStart)||token()===26&&!r;case 6:return token()===22||isLiteralPropertyName();case 12:switch(token()){case 22:case 40:case 25:case 24:return true;default:return isLiteralPropertyName()}case 18:return isLiteralPropertyName();case 9:return token()===22||token()===25||isLiteralPropertyName();case 7:if(token()===18){return lookAhead(isValidHeritageClauseObjectLiteral)}if(!r){return isStartOfLeftHandSideExpression()&&!isHeritageClauseExtendsOrImplementsKeyword()}else{return isIdentifier()&&!isHeritageClauseExtendsOrImplementsKeyword()}case 8:return isIdentifierOrPattern();case 10:return token()===27||token()===25||isIdentifierOrPattern();case 19:return isIdentifier();case 15:switch(token()){case 27:case 24:return true}case 11:return token()===25||isStartOfExpression();case 16:return isStartOfParameter(false);case 17:return isStartOfParameter(true);case 20:case 21:return token()===27||isStartOfType();case 22:return isHeritageClause();case 23:return e.tokenIsIdentifierOrKeyword(token());case 13:return e.tokenIsIdentifierOrKeyword(token())||token()===18;case 14:return true}return e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function isValidHeritageClauseObjectLiteral(){e.Debug.assert(token()===18);if(nextToken()===19){var t=nextToken();return t===27||t===18||t===86||t===109}return true}function nextTokenIsIdentifier(){nextToken();return isIdentifier()}function nextTokenIsIdentifierOrKeyword(){nextToken();return e.tokenIsIdentifierOrKeyword(token())}function nextTokenIsIdentifierOrKeywordOrGreaterThan(){nextToken();return e.tokenIsIdentifierOrKeywordOrGreaterThan(token())}function isHeritageClauseExtendsOrImplementsKeyword(){if(token()===109||token()===86){return lookAhead(nextTokenIsStartOfExpression)}return false}function nextTokenIsStartOfExpression(){nextToken();return isStartOfExpression()}function nextTokenIsStartOfType(){nextToken();return isStartOfType()}function isListTerminator(e){if(token()===1){return true}switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return token()===19;case 3:return token()===19||token()===74||token()===80;case 7:return token()===18||token()===86||token()===109;case 8:return isVariableDeclaratorListTerminator();case 19:return token()===30||token()===20||token()===18||token()===86||token()===109;case 11:return token()===21||token()===26;case 15:case 21:case 10:return token()===23;case 17:case 16:case 18:return token()===21||token()===23;case 20:return token()!==27;case 22:return token()===18||token()===19;case 13:return token()===30||token()===42;case 14:return token()===28&&lookAhead(nextTokenIsSlash);default:return false}}function isVariableDeclaratorListTerminator(){if(canParseSemicolon()){return true}if(isInOrOfKeyword(token())){return true}if(token()===37){return true}return false}function isInSomeParsingContext(){for(var e=0;e<24;e++){if(m&1<=0){u.hasTrailingComma=true}return u}function createMissingList(){var e=createNodeArray([],getNodePos());e.isMissingList=true;return e}function isMissingList(e){return!!e.isMissingList}function parseBracketedList(e,t,r,n){if(parseExpected(r)){var i=parseDelimitedList(e,t);parseExpected(n);return i}return createMissingList()}function parseEntityName(e,t){var n=e?parseIdentifierName(t):parseIdentifier(t);var i=r.getStartPos();while(parseOptional(24)){if(token()===28){n.jsdocDotPos=i;break}i=r.getStartPos();n=createQualifiedName(n,parseRightSideOfDot(e))}return n}function createQualifiedName(e,t){var r=createNode(148,e.pos);r.left=e;r.right=t;return finishNode(r)}function parseRightSideOfDot(t){if(r.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(token())){var n=lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);if(n){return createMissingNode(72,true,e.Diagnostics.Identifier_expected)}}return t?parseIdentifierName():parseIdentifier()}function parseTemplateExpression(){var t=createNode(206);t.head=parseTemplateHead();e.Debug.assert(t.head.kind===15,"Template head has wrong token kind");var r=[];var n=getNodePos();do{r.push(parseTemplateSpan())}while(e.last(r).literal.kind===16);t.templateSpans=createNodeArray(r,n);return finishNode(t)}function parseTemplateSpan(){var t=createNode(216);t.expression=allowInAnd(parseExpression);var r;if(token()===19){reScanTemplateToken();r=parseTemplateMiddleOrTemplateTail()}else{r=parseExpectedToken(17,e.Diagnostics._0_expected,e.tokenToString(19))}t.literal=r;return finishNode(t)}function parseLiteralNode(){return parseLiteralLikeNode(token())}function parseTemplateHead(){var t=parseLiteralLikeNode(token());e.Debug.assert(t.kind===15,"Template head has wrong token kind");return t}function parseTemplateMiddleOrTemplateTail(){var t=parseLiteralLikeNode(token());e.Debug.assert(t.kind===16||t.kind===17,"Template fragment has wrong token kind");return t}function parseLiteralLikeNode(e){var t=createNode(e);t.text=r.getTokenValue();if(r.hasExtendedUnicodeEscape()){t.hasExtendedUnicodeEscape=true}if(r.isUnterminated()){t.isUnterminated=true}if(t.kind===8){t.numericLiteralFlags=r.getTokenFlags()&1008}nextToken();finishNode(t);return t}function parseTypeReference(){var t=createNode(164);t.typeName=parseEntityName(true,e.Diagnostics.Type_expected);if(!r.hasPrecedingLineBreak()&&token()===28){t.typeArguments=parseBracketedList(20,parseType,28,30)}return finishNode(t)}function typeHasArrowFunctionBlockingParseError(t){switch(t.kind){case 164:return e.nodeIsMissing(t.typeName);case 165:case 166:{var r=t,n=r.parameters,i=r.type;return isMissingList(n)||typeHasArrowFunctionBlockingParseError(i)}case 177:return typeHasArrowFunctionBlockingParseError(t.type);default:return false}}function parseThisTypePredicate(e){nextToken();var t=createNode(163,e.pos);t.parameterName=e;t.type=parseType();return finishNode(t)}function parseThisTypeNode(){var e=createNode(178);nextToken();return finishNode(e)}function parseJSDocAllType(e){var t=createNode(284);if(e){return createPostfixType(288,t)}else{nextToken()}return finishNode(t)}function parseJSDocNonNullableType(){var e=createNode(287);nextToken();e.type=parseNonArrayType();return finishNode(e)}function parseJSDocUnknownOrNullableType(){var e=r.getStartPos();nextToken();if(token()===27||token()===19||token()===21||token()===30||token()===59||token()===50){var t=createNode(285,e);return finishNode(t)}else{var t=createNode(286,e);t.type=parseType();return finishNode(t)}}function parseJSDocFunctionType(){if(lookAhead(nextTokenIsOpenParen)){var e=createNodeWithJSDoc(289);nextToken();fillSignature(57,4|32,e);return finishNode(e)}var t=createNode(164);t.typeName=parseIdentifierName();return finishNode(t)}function parseJSDocParameter(){var e=createNode(151);if(token()===100||token()===95){e.name=parseIdentifierName();parseExpected(57)}e.type=parseJSDocType();return finishNode(e)}function parseJSDocType(){r.setInJSDocType(true);var e=parseOptionalToken(25);var t=parseTypeOrTypePredicate();r.setInJSDocType(false);if(e){var n=createNode(290,e.pos);n.type=t;t=finishNode(n)}if(token()===59){return createPostfixType(288,t)}return t}function parseTypeQuery(){var e=createNode(167);parseExpected(104);e.exprName=parseEntityName(true);return finishNode(e)}function parseTypeParameter(){var e=createNode(150);e.name=parseIdentifier();if(parseOptional(86)){if(isStartOfType()||!isStartOfExpression()){e.constraint=parseType()}else{e.expression=parseUnaryExpressionOrHigher()}}if(parseOptional(59)){e.default=parseType()}return finishNode(e)}function parseTypeParameters(){if(token()===28){return parseBracketedList(19,parseTypeParameter,28,30)}}function parseParameterType(){if(parseOptional(57)){return parseType()}return undefined}function isStartOfParameter(t){return token()===25||isIdentifierOrPattern()||e.isModifierKind(token())||token()===58||isStartOfType(!t)}function parseParameter(){var t=createNodeWithJSDoc(151);if(token()===100){t.name=createIdentifier(true);t.type=parseParameterType();return finishNode(t)}t.decorators=parseDecorators();t.modifiers=parseModifiers();t.dotDotDotToken=parseOptionalToken(25);t.name=parseIdentifierOrPattern();if(e.getFullWidth(t.name)===0&&!e.hasModifiers(t)&&e.isModifierKind(token())){nextToken()}t.questionToken=parseOptionalToken(56);t.type=parseParameterType();t.initializer=parseInitializer();return finishNode(t)}function fillSignature(e,t,r){if(!(t&32)){r.typeParameters=parseTypeParameters()}var n=parseParameterList(r,t);if(shouldParseReturnType(e,!!(t&4))){r.type=parseTypeOrTypePredicate();if(typeHasArrowFunctionBlockingParseError(r.type))return false}return n}function shouldParseReturnType(t,r){if(t===37){parseExpected(t);return true}else if(parseOptional(57)){return true}else if(r&&token()===37){parseErrorAtCurrentToken(e.Diagnostics._0_expected,e.tokenToString(57));nextToken();return true}return false}function parseParameterList(e,t){if(!parseExpected(20)){e.parameters=createMissingList();return false}var r=inYieldContext();var n=inAwaitContext();setYieldContext(!!(t&1));setAwaitContext(!!(t&2));e.parameters=t&32?parseDelimitedList(17,parseJSDocParameter):parseDelimitedList(16,parseParameter);setYieldContext(r);setAwaitContext(n);return parseExpected(21)}function parseTypeMemberSemicolon(){if(parseOptional(27)){return}parseSemicolon()}function parseSignatureMember(e){var t=createNodeWithJSDoc(e);if(e===161){parseExpected(95)}fillSignature(57,4,t);parseTypeMemberSemicolon();return finishNode(t)}function isIndexSignature(){return token()===22&&lookAhead(isUnambiguouslyIndexSignature)}function isUnambiguouslyIndexSignature(){nextToken();if(token()===25||token()===23){return true}if(e.isModifierKind(token())){nextToken();if(isIdentifier()){return true}}else if(!isIdentifier()){return false}else{nextToken()}if(token()===57||token()===27){return true}if(token()!==56){return false}nextToken();return token()===57||token()===27||token()===23}function parseIndexSignatureDeclaration(e){e.kind=162;e.parameters=parseBracketedList(16,parseParameter,22,23);e.type=parseTypeAnnotation();parseTypeMemberSemicolon();return finishNode(e)}function parsePropertyOrMethodSignature(e){e.name=parsePropertyName();e.questionToken=parseOptionalToken(56);if(token()===20||token()===28){e.kind=155;fillSignature(57,4,e)}else{e.kind=153;e.type=parseTypeAnnotation();if(token()===59){e.initializer=parseInitializer()}}parseTypeMemberSemicolon();return finishNode(e)}function isTypeMemberStart(){if(token()===20||token()===28){return true}var t=false;while(e.isModifierKind(token())){t=true;nextToken()}if(token()===22){return true}if(isLiteralPropertyName()){t=true;nextToken()}if(t){return token()===20||token()===28||token()===56||token()===57||token()===27||canParseSemicolon()}return false}function parseTypeMember(){if(token()===20||token()===28){return parseSignatureMember(160)}if(token()===95&&lookAhead(nextTokenIsOpenParenOrLessThan)){return parseSignatureMember(161)}var e=createNodeWithJSDoc(0);e.modifiers=parseModifiers();if(isIndexSignature()){return parseIndexSignatureDeclaration(e)}return parsePropertyOrMethodSignature(e)}function nextTokenIsOpenParenOrLessThan(){nextToken();return token()===20||token()===28}function nextTokenIsDot(){return nextToken()===24}function nextTokenIsOpenParenOrLessThanOrDot(){switch(nextToken()){case 20:case 28:case 24:return true}return false}function parseTypeLiteral(){var e=createNode(168);e.members=parseObjectTypeMembers();return finishNode(e)}function parseObjectTypeMembers(){var e;if(parseExpected(18)){e=parseList(4,parseTypeMember);parseExpected(19)}else{e=createMissingList()}return e}function isStartOfMappedType(){nextToken();if(token()===38||token()===39){return nextToken()===133}if(token()===133){nextToken()}return token()===22&&nextTokenIsIdentifier()&&nextToken()===93}function parseMappedTypeParameter(){var e=createNode(150);e.name=parseIdentifier();parseExpected(93);e.constraint=parseType();return finishNode(e)}function parseMappedType(){var e=createNode(181);parseExpected(18);if(token()===133||token()===38||token()===39){e.readonlyToken=parseTokenNode();if(e.readonlyToken.kind!==133){parseExpectedToken(133)}}parseExpected(22);e.typeParameter=parseMappedTypeParameter();parseExpected(23);if(token()===56||token()===38||token()===39){e.questionToken=parseTokenNode();if(e.questionToken.kind!==56){parseExpectedToken(56)}}e.type=parseTypeAnnotation();parseSemicolon();parseExpected(19);return finishNode(e)}function parseTupleElementType(){var e=getNodePos();if(parseOptional(25)){var t=createNode(172,e);t.type=parseType();return finishNode(t)}var r=parseType();if(!(y&2097152)&&r.kind===286&&r.pos===r.type.pos){r.kind=171}return r}function parseTupleType(){var e=createNode(170);e.elementTypes=parseBracketedList(21,parseTupleElementType,22,23);return finishNode(e)}function parseParenthesizedType(){var e=createNode(177);parseExpected(20);e.type=parseType();parseExpected(21);return finishNode(e)}function parseFunctionOrConstructorType(){var e=getNodePos();var t=parseOptional(95)?166:165;var r=createNodeWithJSDoc(t,e);fillSignature(37,4,r);return finishNode(r)}function parseKeywordAndNoDot(){var e=parseTokenNode();return token()===24?undefined:e}function parseLiteralTypeNode(e){var t=createNode(182);var r;if(e){r=createNode(202);r.operator=39;nextToken()}var n=token()===102||token()===87?parseTokenNode():parseLiteralLikeNode(token());if(e){r.operand=n;finishNode(r);n=r}t.literal=n;return finishNode(t)}function isStartOfTypeOfImportType(){nextToken();return token()===92}function parseImportType(){c.flags|=524288;var t=createNode(183);if(parseOptional(104)){t.isTypeOf=true}parseExpected(92);parseExpected(20);t.argument=parseType();parseExpected(21);if(parseOptional(24)){t.qualifier=parseEntityName(true,e.Diagnostics.Type_expected)}t.typeArguments=tryParseTypeArguments();return finishNode(t)}function nextTokenIsNumericOrBigIntLiteral(){nextToken();return token()===8||token()===9}function parseNonArrayType(){switch(token()){case 120:case 143:case 138:case 135:case 146:case 139:case 123:case 141:case 132:case 136:return tryParse(parseKeywordAndNoDot)||parseTypeReference();case 40:return parseJSDocAllType(false);case 62:return parseJSDocAllType(true);case 56:return parseJSDocUnknownOrNullableType();case 90:return parseJSDocFunctionType();case 52:return parseJSDocNonNullableType();case 14:case 10:case 8:case 9:case 102:case 87:return parseLiteralTypeNode();case 39:return lookAhead(nextTokenIsNumericOrBigIntLiteral)?parseLiteralTypeNode(true):parseTypeReference();case 106:case 96:return parseTokenNode();case 100:{var e=parseThisTypeNode();if(token()===128&&!r.hasPrecedingLineBreak()){return parseThisTypePredicate(e)}else{return e}}case 104:return lookAhead(isStartOfTypeOfImportType)?parseImportType():parseTypeQuery();case 18:return lookAhead(isStartOfMappedType)?parseMappedType():parseTypeLiteral();case 22:return parseTupleType();case 20:return parseParenthesizedType();case 92:return parseImportType();default:return parseTypeReference()}}function isStartOfType(e){switch(token()){case 120:case 143:case 138:case 135:case 146:case 123:case 139:case 142:case 106:case 141:case 96:case 100:case 104:case 132:case 18:case 22:case 28:case 50:case 49:case 95:case 10:case 8:case 9:case 102:case 87:case 136:case 40:case 56:case 52:case 25:case 127:case 92:return true;case 90:return!e;case 39:return!e&&lookAhead(nextTokenIsNumericOrBigIntLiteral);case 20:return!e&&lookAhead(isStartOfParenthesizedOrFunctionType);default:return isIdentifier()}}function isStartOfParenthesizedOrFunctionType(){nextToken();return token()===21||isStartOfParameter(false)||isStartOfType()}function parsePostfixTypeOrHigher(){var e=parseNonArrayType();while(!r.hasPrecedingLineBreak()){switch(token()){case 52:e=createPostfixType(287,e);break;case 56:if(!(y&2097152)&&lookAhead(nextTokenIsStartOfType)){return e}e=createPostfixType(286,e);break;case 22:parseExpected(22);if(isStartOfType()){var t=createNode(180,e.pos);t.objectType=e;t.indexType=parseType();parseExpected(23);e=finishNode(t)}else{var t=createNode(169,e.pos);t.elementType=e;parseExpected(23);e=finishNode(t)}break;default:return e}}return e}function createPostfixType(e,t){nextToken();var r=createNode(e,t.pos);r.type=t;return finishNode(r)}function parseTypeOperator(e){var t=createNode(179);parseExpected(e);t.operator=e;t.type=parseTypeOperatorOrHigher();return finishNode(t)}function parseInferType(){var e=createNode(176);parseExpected(127);var t=createNode(150);t.name=parseIdentifier();e.typeParameter=finishNode(t);return finishNode(e)}function parseTypeOperatorOrHigher(){var e=token();switch(e){case 129:case 142:return parseTypeOperator(e);case 127:return parseInferType()}return parsePostfixTypeOrHigher()}function parseUnionOrIntersectionType(e,t,r){parseOptional(r);var n=t();if(token()===r){var i=[n];while(parseOptional(r)){i.push(t())}var a=createNode(e,n.pos);a.types=createNodeArray(i,n.pos);n=finishNode(a)}return n}function parseIntersectionTypeOrHigher(){return parseUnionOrIntersectionType(174,parseTypeOperatorOrHigher,49)}function parseUnionTypeOrHigher(){return parseUnionOrIntersectionType(173,parseIntersectionTypeOrHigher,50)}function isStartOfFunctionType(){if(token()===28){return true}return token()===20&&lookAhead(isUnambiguouslyStartOfFunctionType)}function skipParameterStart(){if(e.isModifierKind(token())){parseModifiers()}if(isIdentifier()||token()===100){nextToken();return true}if(token()===22||token()===18){var t=u.length;parseIdentifierOrPattern();return t===u.length}return false}function isUnambiguouslyStartOfFunctionType(){nextToken();if(token()===21||token()===25){return true}if(skipParameterStart()){if(token()===57||token()===27||token()===56||token()===59){return true}if(token()===21){nextToken();if(token()===37){return true}}}return false}function parseTypeOrTypePredicate(){var e=isIdentifier()&&tryParse(parseTypePredicatePrefix);var t=parseType();if(e){var r=createNode(163,e.pos);r.parameterName=e;r.type=t;return finishNode(r)}else{return t}}function parseTypePredicatePrefix(){var e=parseIdentifier();if(token()===128&&!r.hasPrecedingLineBreak()){nextToken();return e}}function parseType(){return doOutsideOfContext(20480,parseTypeWorker)}function parseTypeWorker(e){if(isStartOfFunctionType()||token()===95){return parseFunctionOrConstructorType()}var t=parseUnionTypeOrHigher();if(!e&&!r.hasPrecedingLineBreak()&&parseOptional(86)){var n=createNode(175,t.pos);n.checkType=t;n.extendsType=parseTypeWorker(true);parseExpected(56);n.trueType=parseTypeWorker();parseExpected(57);n.falseType=parseTypeWorker();return finishNode(n)}return t}function parseTypeAnnotation(){return parseOptional(57)?parseType():undefined}function isStartOfLeftHandSideExpression(){switch(token()){case 100:case 98:case 96:case 102:case 87:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 90:case 76:case 95:case 42:case 64:case 72:return true;case 92:return lookAhead(nextTokenIsOpenParenOrLessThanOrDot);default:return isIdentifier()}}function isStartOfExpression(){if(isStartOfLeftHandSideExpression()){return true}switch(token()){case 38:case 39:case 53:case 52:case 81:case 104:case 106:case 44:case 45:case 28:case 122:case 117:return true;default:if(isBinaryOperator()){return true}return isIdentifier()}}function isStartOfExpressionStatement(){return token()!==18&&token()!==90&&token()!==76&&token()!==58&&isStartOfExpression()}function parseExpression(){var e=inDecoratorContext();if(e){setDecoratorContext(false)}var t=parseAssignmentExpressionOrHigher();var r;while(r=parseOptionalToken(27)){t=makeBinaryExpression(t,r,parseAssignmentExpressionOrHigher())}if(e){setDecoratorContext(true)}return t}function parseInitializer(){return parseOptional(59)?parseAssignmentExpressionOrHigher():undefined}function parseAssignmentExpressionOrHigher(){if(isYieldExpression()){return parseYieldExpression()}var t=tryParseParenthesizedArrowFunctionExpression()||tryParseAsyncSimpleArrowFunctionExpression();if(t){return t}var r=parseBinaryExpressionOrHigher(0);if(r.kind===72&&token()===37){return parseSimpleArrowFunctionExpression(r)}if(e.isLeftHandSideExpression(r)&&e.isAssignmentOperator(reScanGreaterToken())){return makeBinaryExpression(r,parseTokenNode(),parseAssignmentExpressionOrHigher())}return parseConditionalExpressionRest(r)}function isYieldExpression(){if(token()===117){if(inYieldContext()){return true}return lookAhead(nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine)}return false}function nextTokenIsIdentifierOnSameLine(){nextToken();return!r.hasPrecedingLineBreak()&&isIdentifier()}function parseYieldExpression(){var e=createNode(207);nextToken();if(!r.hasPrecedingLineBreak()&&(token()===40||isStartOfExpression())){e.asteriskToken=parseOptionalToken(40);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}else{return finishNode(e)}}function parseSimpleArrowFunctionExpression(t,r){e.Debug.assert(token()===37,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var n;if(r){n=createNode(197,r.pos);n.modifiers=r}else{n=createNode(197,t.pos)}var i=createNode(151,t.pos);i.name=t;finishNode(i);n.parameters=createNodeArray([i],i.pos,i.end);n.equalsGreaterThanToken=parseExpectedToken(37);n.body=parseArrowFunctionExpressionBody(!!r);return addJSDocComment(finishNode(n))}function tryParseParenthesizedArrowFunctionExpression(){var t=isParenthesizedArrowFunctionExpression();if(t===0){return undefined}var r=t===1?parseParenthesizedArrowFunctionExpressionHead(true):tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead);if(!r){return undefined}var n=e.hasModifier(r,256);var i=token();r.equalsGreaterThanToken=parseExpectedToken(37);r.body=i===37||i===18?parseArrowFunctionExpressionBody(n):parseIdentifier();return finishNode(r)}function isParenthesizedArrowFunctionExpression(){if(token()===20||token()===28||token()===121){return lookAhead(isParenthesizedArrowFunctionExpressionWorker)}if(token()===37){return 1}return 0}function isParenthesizedArrowFunctionExpressionWorker(){if(token()===121){nextToken();if(r.hasPrecedingLineBreak()){return 0}if(token()!==20&&token()!==28){return 0}}var t=token();var n=nextToken();if(t===20){if(n===21){var i=nextToken();switch(i){case 37:case 57:case 18:return 1;default:return 0}}if(n===22||n===18){return 2}if(n===25){return 1}if(e.isModifierKind(n)&&n!==121&&lookAhead(nextTokenIsIdentifier)){return 1}if(!isIdentifier()&&n!==100){return 0}switch(nextToken()){case 57:return 1;case 56:nextToken();if(token()===57||token()===27||token()===59||token()===21){return 1}return 0;case 27:case 59:case 21:return 2}return 0}else{e.Debug.assert(t===28);if(!isIdentifier()){return 0}if(c.languageVariant===1){var a=lookAhead(function(){var e=nextToken();if(e===86){var t=nextToken();switch(t){case 59:case 30:return false;default:return true}}else if(e===27){return true}return false});if(a){return 1}return 0}return 2}}function parsePossibleParenthesizedArrowFunctionExpressionHead(){return parseParenthesizedArrowFunctionExpressionHead(false)}function tryParseAsyncSimpleArrowFunctionExpression(){if(token()===121){if(lookAhead(isUnParenthesizedAsyncArrowFunctionWorker)===1){var e=parseModifiersForArrowFunction();var t=parseBinaryExpressionOrHigher(0);return parseSimpleArrowFunctionExpression(t,e)}}return undefined}function isUnParenthesizedAsyncArrowFunctionWorker(){if(token()===121){nextToken();if(r.hasPrecedingLineBreak()||token()===37){return 0}var e=parseBinaryExpressionOrHigher(0);if(!r.hasPrecedingLineBreak()&&e.kind===72&&token()===37){return 1}}return 0}function parseParenthesizedArrowFunctionExpressionHead(t){var r=createNodeWithJSDoc(197);r.modifiers=parseModifiersForArrowFunction();var n=e.hasModifier(r,256)?2:0;if(!fillSignature(57,n,r)&&!t){return undefined}if(!t&&token()!==37&&token()!==18){return undefined}return r}function parseArrowFunctionExpressionBody(e){if(token()===18){return parseFunctionBlock(e?2:0)}if(token()!==26&&token()!==90&&token()!==76&&isStartOfStatement()&&!isStartOfExpressionStatement()){return parseFunctionBlock(16|(e?2:0))}return e?doInAwaitContext(parseAssignmentExpressionOrHigher):doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher)}function parseConditionalExpressionRest(t){var r=parseOptionalToken(56);if(!r){return t}var i=createNode(205,t.pos);i.condition=t;i.questionToken=r;i.whenTrue=doOutsideOfContext(n,parseAssignmentExpressionOrHigher);i.colonToken=parseExpectedToken(57);i.whenFalse=e.nodeIsPresent(i.colonToken)?parseAssignmentExpressionOrHigher():createMissingNode(72,false,e.Diagnostics._0_expected,e.tokenToString(57));return finishNode(i)}function parseBinaryExpressionOrHigher(e){var t=parseUnaryExpressionOrHigher();return parseBinaryExpressionRest(e,t)}function isInOrOfKeyword(e){return e===93||e===147}function parseBinaryExpressionRest(t,n){while(true){reScanGreaterToken();var i=e.getBinaryOperatorPrecedence(token());var a=token()===41?i>=t:i>t;if(!a){break}if(token()===93&&inDisallowInContext()){break}if(token()===119){if(r.hasPrecedingLineBreak()){break}else{nextToken();n=makeAsExpression(n,parseType())}}else{n=makeBinaryExpression(n,parseTokenNode(),parseBinaryExpressionOrHigher(i))}}return n}function isBinaryOperator(){if(inDisallowInContext()&&token()===93){return false}return e.getBinaryOperatorPrecedence(token())>0}function makeBinaryExpression(e,t,r){var n=createNode(204,e.pos);n.left=e;n.operatorToken=t;n.right=r;return finishNode(n)}function makeAsExpression(e,t){var r=createNode(212,e.pos);r.expression=e;r.type=t;return finishNode(r)}function parsePrefixUnaryExpression(){var e=createNode(202);e.operator=token();nextToken();e.operand=parseSimpleUnaryExpression();return finishNode(e)}function parseDeleteExpression(){var e=createNode(198);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseTypeOfExpression(){var e=createNode(199);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseVoidExpression(){var e=createNode(200);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function isAwaitExpression(){if(token()===122){if(inAwaitContext()){return true}return lookAhead(nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine)}return false}function parseAwaitExpression(){var e=createNode(201);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseUnaryExpressionOrHigher(){if(isUpdateExpression()){var t=parseUpdateExpression();return token()===41?parseBinaryExpressionRest(e.getBinaryOperatorPrecedence(token()),t):t}var r=token();var n=parseSimpleUnaryExpression();if(token()===41){var i=e.skipTrivia(d,n.pos);var a=n.end;if(n.kind===194){parseErrorAt(i,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses)}else{parseErrorAt(i,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(r))}}return n}function parseSimpleUnaryExpression(){switch(token()){case 38:case 39:case 53:case 52:return parsePrefixUnaryExpression();case 81:return parseDeleteExpression();case 104:return parseTypeOfExpression();case 106:return parseVoidExpression();case 28:return parseTypeAssertion();case 122:if(isAwaitExpression()){return parseAwaitExpression()}default:return parseUpdateExpression()}}function isUpdateExpression(){switch(token()){case 38:case 39:case 53:case 52:case 81:case 104:case 106:case 122:return false;case 28:if(c.languageVariant!==1){return false}default:return true}}function parseUpdateExpression(){if(token()===44||token()===45){var t=createNode(202);t.operator=token();nextToken();t.operand=parseLeftHandSideExpressionOrHigher();return finishNode(t)}else if(c.languageVariant===1&&token()===28&&lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan)){return parseJsxElementOrSelfClosingElementOrFragment(true)}var n=parseLeftHandSideExpressionOrHigher();e.Debug.assert(e.isLeftHandSideExpression(n));if((token()===44||token()===45)&&!r.hasPrecedingLineBreak()){var t=createNode(203,n.pos);t.operand=n;t.operator=token();nextToken();return finishNode(t)}return n}function parseLeftHandSideExpressionOrHigher(){var e;if(token()===92){if(lookAhead(nextTokenIsOpenParenOrLessThan)){c.flags|=524288;e=parseTokenNode()}else if(lookAhead(nextTokenIsDot)){var t=r.getStartPos();nextToken();nextToken();var n=createNode(214,t);n.keywordToken=92;n.name=parseIdentifierName();e=finishNode(n);c.flags|=1048576}else{e=parseMemberExpressionOrHigher()}}else{e=token()===98?parseSuperExpression():parseMemberExpressionOrHigher()}return parseCallExpressionRest(e)}function parseMemberExpressionOrHigher(){var e=parsePrimaryExpression();return parseMemberExpressionRest(e)}function parseSuperExpression(){var t=parseTokenNode();if(token()===20||token()===24||token()===22){return t}var r=createNode(189,t.pos);r.expression=t;parseExpectedToken(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access);r.name=parseRightSideOfDot(true);return finishNode(r)}function parseJsxElementOrSelfClosingElementOrFragment(t){var r=parseJsxOpeningOrSelfClosingElementOrOpeningFragment(t);var n;if(r.kind===262){var i=createNode(260,r.pos);i.openingElement=r;i.children=parseJsxChildren(i.openingElement);i.closingElement=parseJsxClosingElement(t);if(!tagNamesAreEquivalent(i.openingElement.tagName,i.closingElement.tagName)){parseErrorAtRange(i.closingElement,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(d,i.openingElement.tagName))}n=finishNode(i)}else if(r.kind===265){var i=createNode(264,r.pos);i.openingFragment=r;i.children=parseJsxChildren(i.openingFragment);i.closingFragment=parseJsxClosingFragment(t);n=finishNode(i)}else{e.Debug.assert(r.kind===261);n=r}if(t&&token()===28){var a=tryParse(function(){return parseJsxElementOrSelfClosingElementOrFragment(true)});if(a){parseErrorAtCurrentToken(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=createNode(204,n.pos);o.end=a.end;o.left=n;o.right=a;o.operatorToken=createMissingNode(27,false,undefined);o.operatorToken.pos=o.operatorToken.end=o.right.pos;return o}}return n}function parseJsxText(){var e=createNode(11);e.containsOnlyWhiteSpaces=f===12;f=r.scanJsxToken();return finishNode(e)}function parseJsxChild(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t)){parseErrorAtRange(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag)}else{parseErrorAtRange(t.tagName,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(d,t.tagName))}return undefined;case 29:case 7:return undefined;case 11:case 12:return parseJsxText();case 18:return parseJsxExpression(false);case 28:return parseJsxElementOrSelfClosingElementOrFragment(false);default:return e.Debug.assertNever(r)}}function parseJsxChildren(e){var t=[];var n=getNodePos();var i=m;m|=1<<14;while(true){var a=parseJsxChild(e,f=r.reScanJsxToken());if(!a)break;t.push(a)}m=i;return createNodeArray(t,n)}function parseJsxAttributes(){var e=createNode(268);e.properties=parseList(13,parseJsxAttribute);return finishNode(e)}function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(e){var t=r.getStartPos();parseExpected(28);if(token()===30){var n=createNode(265,t);scanJsxText();return finishNode(n)}var i=parseJsxElementName();var a=tryParseTypeArguments();var o=parseJsxAttributes();var s;if(token()===30){s=createNode(262,t);scanJsxText()}else{parseExpected(42);if(e){parseExpected(30)}else{parseExpected(30,undefined,false);scanJsxText()}s=createNode(261,t)}s.tagName=i;s.typeArguments=a;s.attributes=o;return finishNode(s)}function parseJsxElementName(){scanJsxIdentifier();var e=token()===100?parseTokenNode():parseIdentifierName();while(parseOptional(24)){var t=createNode(189,e.pos);t.expression=e;t.name=parseRightSideOfDot(true);e=finishNode(t)}return e}function parseJsxExpression(e){var t=createNode(270);if(!parseExpected(18)){return undefined}if(token()!==19){t.dotDotDotToken=parseOptionalToken(25);t.expression=parseAssignmentExpressionOrHigher()}if(e){parseExpected(19)}else{parseExpected(19,undefined,false);scanJsxText()}return finishNode(t)}function parseJsxAttribute(){if(token()===18){return parseJsxSpreadAttribute()}scanJsxIdentifier();var e=createNode(267);e.name=parseIdentifierName();if(token()===59){switch(scanJsxAttributeValue()){case 10:e.initializer=parseLiteralNode();break;default:e.initializer=parseJsxExpression(true);break}}return finishNode(e)}function parseJsxSpreadAttribute(){var e=createNode(269);parseExpected(18);parseExpected(25);e.expression=parseExpression();parseExpected(19);return finishNode(e)}function parseJsxClosingElement(e){var t=createNode(263);parseExpected(29);t.tagName=parseJsxElementName();if(e){parseExpected(30)}else{parseExpected(30,undefined,false);scanJsxText()}return finishNode(t)}function parseJsxClosingFragment(t){var r=createNode(266);parseExpected(29);if(e.tokenIsIdentifierOrKeyword(token())){parseErrorAtRange(parseJsxElementName(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment)}if(t){parseExpected(30)}else{parseExpected(30,undefined,false);scanJsxText()}return finishNode(r)}function parseTypeAssertion(){var e=createNode(194);parseExpected(28);e.type=parseType();parseExpected(30);e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseMemberExpressionRest(t){while(true){var n=parseOptionalToken(24);if(n){var i=createNode(189,t.pos);i.expression=t;i.name=parseRightSideOfDot(true);t=finishNode(i);continue}if(token()===52&&!r.hasPrecedingLineBreak()){nextToken();var a=createNode(213,t.pos);a.expression=t;t=finishNode(a);continue}if(!inDecoratorContext()&&parseOptional(22)){var o=createNode(190,t.pos);o.expression=t;if(token()===23){o.argumentExpression=createMissingNode(72,true,e.Diagnostics.An_element_access_expression_should_take_an_argument)}else{var s=allowInAnd(parseExpression);if(e.isStringOrNumericLiteralLike(s)){s.text=internIdentifier(s.text)}o.argumentExpression=s}parseExpected(23);t=finishNode(o);continue}if(isTemplateStartOfTaggedTemplate()){t=parseTaggedTemplateRest(t,undefined);continue}return t}}function isTemplateStartOfTaggedTemplate(){return token()===14||token()===15}function parseTaggedTemplateRest(e,t){var r=createNode(193,e.pos);r.tag=e;r.typeArguments=t;r.template=token()===14?parseLiteralNode():parseTemplateExpression();return finishNode(r)}function parseCallExpressionRest(e){while(true){e=parseMemberExpressionRest(e);if(token()===28){var t=tryParse(parseTypeArgumentsInExpression);if(!t){return e}if(isTemplateStartOfTaggedTemplate()){e=parseTaggedTemplateRest(e,t);continue}var r=createNode(191,e.pos);r.expression=e;r.typeArguments=t;r.arguments=parseArgumentList();e=finishNode(r);continue}else if(token()===20){var r=createNode(191,e.pos);r.expression=e;r.arguments=parseArgumentList();e=finishNode(r);continue}return e}}function parseArgumentList(){parseExpected(20);var e=parseDelimitedList(11,parseArgumentExpression);parseExpected(21);return e}function parseTypeArgumentsInExpression(){if(!parseOptional(28)){return undefined}var e=parseDelimitedList(20,parseType);if(!parseExpected(30)){return undefined}return e&&canFollowTypeArgumentsInExpression()?e:undefined}function canFollowTypeArgumentsInExpression(){switch(token()){case 20:case 14:case 15:case 24:case 21:case 23:case 57:case 26:case 56:case 33:case 35:case 34:case 36:case 54:case 55:case 51:case 49:case 50:case 19:case 1:return true;case 27:case 18:default:return false}}function parsePrimaryExpression(){switch(token()){case 8:case 9:case 10:case 14:return parseLiteralNode();case 100:case 98:case 96:case 102:case 87:return parseTokenNode();case 20:return parseParenthesizedExpression();case 22:return parseArrayLiteralExpression();case 18:return parseObjectLiteralExpression();case 121:if(!lookAhead(nextTokenIsFunctionKeywordOnSameLine)){break}return parseFunctionExpression();case 76:return parseClassExpression();case 90:return parseFunctionExpression();case 95:return parseNewExpressionOrNewDotTarget();case 42:case 64:if(reScanSlashToken()===13){return parseLiteralNode()}break;case 15:return parseTemplateExpression()}return parseIdentifier(e.Diagnostics.Expression_expected)}function parseParenthesizedExpression(){var e=createNodeWithJSDoc(195);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);return finishNode(e)}function parseSpreadElement(){var e=createNode(208);parseExpected(25);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}function parseArgumentOrArrayLiteralElement(){return token()===25?parseSpreadElement():token()===27?createNode(210):parseAssignmentExpressionOrHigher()}function parseArgumentExpression(){return doOutsideOfContext(n,parseArgumentOrArrayLiteralElement)}function parseArrayLiteralExpression(){var e=createNode(187);parseExpected(22);if(r.hasPrecedingLineBreak()){e.multiLine=true}e.elements=parseDelimitedList(15,parseArgumentOrArrayLiteralElement);parseExpected(23);return finishNode(e)}function parseObjectLiteralElement(){var e=createNodeWithJSDoc(0);if(parseOptionalToken(25)){e.kind=277;e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}e.decorators=parseDecorators();e.modifiers=parseModifiers();if(parseContextualModifier(126)){return parseAccessorDeclaration(e,158)}if(parseContextualModifier(137)){return parseAccessorDeclaration(e,159)}var t=parseOptionalToken(40);var r=isIdentifier();e.name=parsePropertyName();e.questionToken=parseOptionalToken(56);e.exclamationToken=parseOptionalToken(52);if(t||token()===20||token()===28){return parseMethodDeclaration(e,t)}var n=r&&token()!==57;if(n){e.kind=276;var i=parseOptionalToken(59);if(i){e.equalsToken=i;e.objectAssignmentInitializer=allowInAnd(parseAssignmentExpressionOrHigher)}}else{e.kind=275;parseExpected(57);e.initializer=allowInAnd(parseAssignmentExpressionOrHigher)}return finishNode(e)}function parseObjectLiteralExpression(){var e=createNode(188);parseExpected(18);if(r.hasPrecedingLineBreak()){e.multiLine=true}e.properties=parseDelimitedList(12,parseObjectLiteralElement,true);parseExpected(19);return finishNode(e)}function parseFunctionExpression(){var t=inDecoratorContext();if(t){setDecoratorContext(false)}var r=createNodeWithJSDoc(196);r.modifiers=parseModifiers();parseExpected(90);r.asteriskToken=parseOptionalToken(40);var n=r.asteriskToken?1:0;var i=e.hasModifier(r,256)?2:0;r.name=n&&i?doInYieldAndAwaitContext(parseOptionalIdentifier):n?doInYieldContext(parseOptionalIdentifier):i?doInAwaitContext(parseOptionalIdentifier):parseOptionalIdentifier();fillSignature(57,n|i,r);r.body=parseFunctionBlock(n|i);if(t){setDecoratorContext(true)}return finishNode(r)}function parseOptionalIdentifier(){return isIdentifier()?parseIdentifier():undefined}function parseNewExpressionOrNewDotTarget(){var t=r.getStartPos();parseExpected(95);if(parseOptional(24)){var n=createNode(214,t);n.keywordToken=95;n.name=parseIdentifierName();return finishNode(n)}var i=parsePrimaryExpression();var a;while(true){i=parseMemberExpressionRest(i);a=tryParse(parseTypeArgumentsInExpression);if(isTemplateStartOfTaggedTemplate()){e.Debug.assert(!!a,"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'");i=parseTaggedTemplateRest(i,a);a=undefined}break}var o=createNode(192,t);o.expression=i;o.typeArguments=a;if(o.typeArguments||token()===20){o.arguments=parseArgumentList()}return finishNode(o)}function parseBlock(e,t){var n=createNode(218);if(parseExpected(18,t)||e){if(r.hasPrecedingLineBreak()){n.multiLine=true}n.statements=parseList(1,parseStatement);parseExpected(19)}else{n.statements=createMissingList()}return finishNode(n)}function parseFunctionBlock(e,t){var r=inYieldContext();setYieldContext(!!(e&1));var n=inAwaitContext();setAwaitContext(!!(e&2));var i=inDecoratorContext();if(i){setDecoratorContext(false)}var a=parseBlock(!!(e&16),t);if(i){setDecoratorContext(true)}setYieldContext(r);setAwaitContext(n);return a}function parseEmptyStatement(){var e=createNode(220);parseExpected(26);return finishNode(e)}function parseIfStatement(){var e=createNode(222);parseExpected(91);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);e.thenStatement=parseStatement();e.elseStatement=parseOptional(83)?parseStatement():undefined;return finishNode(e)}function parseDoStatement(){var e=createNode(223);parseExpected(82);e.statement=parseStatement();parseExpected(107);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);parseOptional(26);return finishNode(e)}function parseWhileStatement(){var e=createNode(224);parseExpected(107);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);e.statement=parseStatement();return finishNode(e)}function parseForOrForInOrForOfStatement(){var e=getNodePos();parseExpected(89);var t=parseOptionalToken(122);parseExpected(20);var r;if(token()!==26){if(token()===105||token()===111||token()===77){r=parseVariableDeclarationList(true)}else{r=disallowInAnd(parseExpression)}}var n;if(t?parseExpected(147):parseOptional(147)){var i=createNode(227,e);i.awaitModifier=t;i.initializer=r;i.expression=allowInAnd(parseAssignmentExpressionOrHigher);parseExpected(21);n=i}else if(parseOptional(93)){var a=createNode(226,e);a.initializer=r;a.expression=allowInAnd(parseExpression);parseExpected(21);n=a}else{var o=createNode(225,e);o.initializer=r;parseExpected(26);if(token()!==26&&token()!==21){o.condition=allowInAnd(parseExpression)}parseExpected(26);if(token()!==21){o.incrementor=allowInAnd(parseExpression)}parseExpected(21);n=o}n.statement=parseStatement();return finishNode(n)}function parseBreakOrContinueStatement(e){var t=createNode(e);parseExpected(e===229?73:78);if(!canParseSemicolon()){t.label=parseIdentifier()}parseSemicolon();return finishNode(t)}function parseReturnStatement(){var e=createNode(230);parseExpected(97);if(!canParseSemicolon()){e.expression=allowInAnd(parseExpression)}parseSemicolon();return finishNode(e)}function parseWithStatement(){var e=createNode(231);parseExpected(108);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);e.statement=doInsideOfContext(8388608,parseStatement);return finishNode(e)}function parseCaseClause(){var e=createNode(271);parseExpected(74);e.expression=allowInAnd(parseExpression);parseExpected(57);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseDefaultClause(){var e=createNode(272);parseExpected(80);parseExpected(57);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseCaseOrDefaultClause(){return token()===74?parseCaseClause():parseDefaultClause()}function parseSwitchStatement(){var e=createNode(232);parseExpected(99);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);var t=createNode(246);parseExpected(18);t.clauses=parseList(2,parseCaseOrDefaultClause);parseExpected(19);e.caseBlock=finishNode(t);return finishNode(e)}function parseThrowStatement(){var e=createNode(234);parseExpected(101);e.expression=r.hasPrecedingLineBreak()?undefined:allowInAnd(parseExpression);parseSemicolon();return finishNode(e)}function parseTryStatement(){var e=createNode(235);parseExpected(103);e.tryBlock=parseBlock(false);e.catchClause=token()===75?parseCatchClause():undefined;if(!e.catchClause||token()===88){parseExpected(88);e.finallyBlock=parseBlock(false)}return finishNode(e)}function parseCatchClause(){var e=createNode(274);parseExpected(75);if(parseOptional(20)){e.variableDeclaration=parseVariableDeclaration();parseExpected(21)}else{e.variableDeclaration=undefined}e.block=parseBlock(false);return finishNode(e)}function parseDebuggerStatement(){var e=createNode(236);parseExpected(79);parseSemicolon();return finishNode(e)}function parseExpressionOrLabeledStatement(){var e=createNodeWithJSDoc(0);var t=allowInAnd(parseExpression);if(t.kind===72&&parseOptional(57)){e.kind=233;e.label=t;e.statement=parseStatement()}else{e.kind=221;e.expression=t;parseSemicolon()}return finishNode(e)}function nextTokenIsIdentifierOrKeywordOnSameLine(){nextToken();return e.tokenIsIdentifierOrKeyword(token())&&!r.hasPrecedingLineBreak()}function nextTokenIsClassKeywordOnSameLine(){nextToken();return token()===76&&!r.hasPrecedingLineBreak()}function nextTokenIsFunctionKeywordOnSameLine(){nextToken();return token()===90&&!r.hasPrecedingLineBreak()}function nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine(){nextToken();return(e.tokenIsIdentifierOrKeyword(token())||token()===8||token()===9||token()===10)&&!r.hasPrecedingLineBreak()}function isDeclaration(){while(true){switch(token()){case 105:case 111:case 77:case 90:case 76:case 84:return true;case 110:case 140:return nextTokenIsIdentifierOnSameLine();case 130:case 131:return nextTokenIsIdentifierOrStringLiteralOnSameLine();case 118:case 121:case 125:case 113:case 114:case 115:case 133:nextToken();if(r.hasPrecedingLineBreak()){return false}continue;case 145:nextToken();return token()===18||token()===72||token()===85;case 92:nextToken();return token()===10||token()===40||token()===18||e.tokenIsIdentifierOrKeyword(token());case 85:nextToken();if(token()===59||token()===40||token()===18||token()===80||token()===119){return true}continue;case 116:nextToken();continue;default:return false}}}function isStartOfDeclaration(){return lookAhead(isDeclaration)}function isStartOfStatement(){switch(token()){case 58:case 26:case 18:case 105:case 111:case 90:case 76:case 84:case 91:case 82:case 107:case 89:case 78:case 73:case 97:case 108:case 99:case 101:case 103:case 79:case 75:case 88:return true;case 92:return isStartOfDeclaration()||lookAhead(nextTokenIsOpenParenOrLessThanOrDot);case 77:case 85:return isStartOfDeclaration();case 121:case 125:case 110:case 130:case 131:case 140:case 145:return true;case 115:case 113:case 114:case 116:case 133:return isStartOfDeclaration()||!lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);default:return isStartOfExpression()}}function nextTokenIsIdentifierOrStartOfDestructuring(){nextToken();return isIdentifier()||token()===18||token()===22}function isLetDeclaration(){return lookAhead(nextTokenIsIdentifierOrStartOfDestructuring)}function parseStatement(){switch(token()){case 26:return parseEmptyStatement();case 18:return parseBlock(false);case 105:return parseVariableStatement(createNodeWithJSDoc(237));case 111:if(isLetDeclaration()){return parseVariableStatement(createNodeWithJSDoc(237))}break;case 90:return parseFunctionDeclaration(createNodeWithJSDoc(239));case 76:return parseClassDeclaration(createNodeWithJSDoc(240));case 91:return parseIfStatement();case 82:return parseDoStatement();case 107:return parseWhileStatement();case 89:return parseForOrForInOrForOfStatement();case 78:return parseBreakOrContinueStatement(228);case 73:return parseBreakOrContinueStatement(229);case 97:return parseReturnStatement();case 108:return parseWithStatement();case 99:return parseSwitchStatement();case 101:return parseThrowStatement();case 103:case 75:case 88:return parseTryStatement();case 79:return parseDebuggerStatement();case 58:return parseDeclaration();case 121:case 110:case 140:case 130:case 131:case 125:case 77:case 84:case 85:case 92:case 113:case 114:case 115:case 118:case 116:case 133:case 145:if(isStartOfDeclaration()){return parseDeclaration()}break}return parseExpressionOrLabeledStatement()}function isDeclareModifier(e){return e.kind===125}function parseDeclaration(){var t=createNodeWithJSDoc(0);t.decorators=parseDecorators();t.modifiers=parseModifiers();if(e.some(t.modifiers,isDeclareModifier)){for(var r=0,n=t.modifiers;r=0);e.Debug.assert(t<=a);e.Debug.assert(a<=i.length);if(!isJSDocLikeText(i,t)){return undefined}var o;var s;var c;var u=[];return r.scanRange(t+3,n-5,function(){var e=1;var n;var a=t-Math.max(i.lastIndexOf("\n",t),0)+4;function pushComment(e){if(!n){n=a}u.push(e);a+=e.length}nextJSDocToken();while(parseOptionalJsdoc(5));if(parseOptionalJsdoc(4)){e=0;a=0}e:while(true){switch(token()){case 58:if(e===0||e===1){removeTrailingWhitespace(u);addTag(parseTag(a));e=0;n=undefined;a++}else{pushComment(r.getTokenText())}break;case 4:u.push(r.getTokenText());e=0;a=0;break;case 40:var o=r.getTokenText();if(e===1||e===2){e=2;pushComment(o)}else{e=1;a+=o.length}break;case 5:var s=r.getTokenText();if(e===2){u.push(s)}else if(n!==undefined&&a+s.length>n){u.push(s.slice(n-a-1))}a+=s.length;break;case 1:break e;default:e=2;pushComment(r.getTokenText());break}nextJSDocToken()}removeLeadingNewlines(u);removeTrailingWhitespace(u);return createJSDocComment()});function removeLeadingNewlines(e){while(e.length&&(e[0]==="\n"||e[0]==="\r")){e.shift()}}function removeTrailingWhitespace(e){while(e.length&&e[e.length-1].trim()===""){e.pop()}}function createJSDocComment(){var e=createNode(291,t);e.tags=o&&createNodeArray(o,s,c);e.comment=u.length?u.join(""):undefined;return finishNode(e,a)}function isNextNonwhitespaceTokenEndOfFile(){while(true){nextJSDocToken();if(token()===1){return true}if(!(token()===5||token()===4)){return false}}}function skipWhitespace(){if(token()===5||token()===4){if(lookAhead(isNextNonwhitespaceTokenEndOfFile)){return}}while(token()===5||token()===4){nextJSDocToken()}}function skipWhitespaceOrAsterisk(){if(token()===5||token()===4){if(lookAhead(isNextNonwhitespaceTokenEndOfFile)){return}}var e=r.hasPrecedingLineBreak();while(e&&token()===40||token()===5||token()===4){if(token()===4){e=true}else if(token()===40){e=false}nextJSDocToken()}}function parseTag(t){e.Debug.assert(token()===58);var n=r.getTokenPos();nextJSDocToken();var i=parseJSDocIdentifierName(undefined);skipWhitespaceOrAsterisk();var a;switch(i.escapedText){case"augments":case"extends":a=parseAugmentsTag(n,i);break;case"class":case"constructor":a=parseClassTag(n,i);break;case"this":a=parseThisTag(n,i);break;case"enum":a=parseEnumTag(n,i);break;case"arg":case"argument":case"param":return parseParameterOrPropertyTag(n,i,2,t);case"return":case"returns":a=parseReturnTag(n,i);break;case"template":a=parseTemplateTag(n,i);break;case"type":a=parseTypeTag(n,i);break;case"typedef":a=parseTypedefTag(n,i,t);break;case"callback":a=parseCallbackTag(n,i,t);break;default:a=parseUnknownTag(n,i);break}if(!a.comment){a.comment=parseTagComments(t+a.end-a.pos)}return a}function parseTagComments(t){var n=[];var i=0;var a;function pushComment(e){if(!a){a=t}n.push(e);t+=e.length}var o=token();e:while(true){switch(o){case 4:if(i>=1){i=0;n.push(r.getTokenText())}t=0;break;case 58:r.setTextPos(r.getTextPos()-1);case 1:break e;case 5:if(i===2){pushComment(r.getTokenText())}else{var s=r.getTokenText();if(a!==undefined&&t+s.length>a){n.push(s.slice(a-t-1))}t+=s.length}break;case 18:i=2;if(lookAhead(function(){return nextJSDocToken()===58&&e.tokenIsIdentifierOrKeyword(nextJSDocToken())&&r.getTokenText()==="link"})){pushComment(r.getTokenText());nextJSDocToken();pushComment(r.getTokenText());nextJSDocToken()}pushComment(r.getTokenText());break;case 40:if(i===0){i=1;t+=1;break}default:i=2;pushComment(r.getTokenText());break}o=nextJSDocToken()}removeLeadingNewlines(n);removeTrailingWhitespace(n);return n.length===0?undefined:n.join("")}function parseUnknownTag(e,t){var r=createNode(294,e);r.tagName=t;return finishNode(r)}function addTag(e){if(!e){return}if(!o){o=[e];s=e.pos}else{o.push(e)}c=e.end}function tryParseTypeExpression(){skipWhitespaceOrAsterisk();return token()===18?parseJSDocTypeExpression():undefined}function parseBracketNameInPropertyAndParamTag(){if(token()===14){return{name:createIdentifier(true),isBracketed:false}}var e=parseOptional(22);var t=parseJSDocEntityName();if(e){skipWhitespace();if(parseOptionalToken(59)){parseExpression()}parseExpected(23)}return{name:t,isBracketed:e}}function isObjectOrObjectArrayTypeReference(t){switch(t.kind){case 136:return true;case 169:return isObjectOrObjectArrayTypeReference(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&t.typeName.escapedText==="Object"}}function parseParameterOrPropertyTag(e,t,n,i){var a=tryParseTypeExpression();var o=!a;skipWhitespaceOrAsterisk();var s=parseBracketNameInPropertyAndParamTag(),c=s.name,u=s.isBracketed;skipWhitespace();if(o){a=tryParseTypeExpression()}var l=n===1?createNode(305,e):createNode(299,e);var f=parseTagComments(i+r.getStartPos()-e);var d=n!==4&&parseNestedTypeLiteral(a,c,n,i);if(d){a=d;o=true}l.tagName=t;l.typeExpression=a;l.name=c;l.isNameFirst=o;l.isBracketed=u;l.comment=f;return finishNode(l)}function parseNestedTypeLiteral(t,n,i,a){if(t&&isObjectOrObjectArrayTypeReference(t.type)){var o=createNode(283,r.getTokenPos());var s=void 0;var c=void 0;var u=r.getStartPos();var l=void 0;while(s=tryParse(function(){return parseChildParameterOrPropertyTag(i,a,n)})){if(s.kind===299||s.kind===305){l=e.append(l,s)}}if(l){c=createNode(292,u);c.jsDocPropertyTags=l;if(t.type.kind===169){c.isArrayType=true}o.type=finishNode(c);return finishNode(o)}}}function parseReturnTag(t,n){if(e.forEach(o,function(e){return e.kind===300})){parseErrorAt(n.pos,r.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText)}var i=createNode(300,t);i.tagName=n;i.typeExpression=tryParseTypeExpression();return finishNode(i)}function parseTypeTag(t,n){if(e.forEach(o,function(e){return e.kind===302})){parseErrorAt(n.pos,r.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText)}var i=createNode(302,t);i.tagName=n;i.typeExpression=parseJSDocTypeExpression(true);return finishNode(i)}function parseAugmentsTag(e,t){var r=createNode(295,e);r.tagName=t;r.class=parseExpressionWithTypeArgumentsForAugments();return finishNode(r)}function parseExpressionWithTypeArgumentsForAugments(){var e=parseOptional(18);var t=createNode(211);t.expression=parsePropertyAccessEntityNameExpression();t.typeArguments=tryParseTypeArguments();var r=finishNode(t);if(e){parseExpected(19)}return r}function parsePropertyAccessEntityNameExpression(){var e=parseJSDocIdentifierName();while(parseOptional(24)){var t=createNode(189,e.pos);t.expression=e;t.name=parseJSDocIdentifierName();e=finishNode(t)}return e}function parseClassTag(e,t){var r=createNode(296,e);r.tagName=t;return finishNode(r)}function parseThisTag(e,t){var r=createNode(301,e);r.tagName=t;r.typeExpression=parseJSDocTypeExpression(true);skipWhitespace();return finishNode(r)}function parseEnumTag(e,t){var r=createNode(298,e);r.tagName=t;r.typeExpression=parseJSDocTypeExpression(true);skipWhitespace();return finishNode(r)}function parseTypedefTag(t,n,i){var a=tryParseTypeExpression();skipWhitespaceOrAsterisk();var o=createNode(304,t);o.tagName=n;o.fullName=parseJSDocTypeNameWithNamespace();o.name=getJSDocTypeAliasName(o.fullName);skipWhitespace();o.comment=parseTagComments(i);o.typeExpression=a;var s;if(!a||isObjectOrObjectArrayTypeReference(a.type)){var c=void 0;var u=void 0;var l=void 0;while(c=tryParse(function(){return parseChildPropertyTag(i)})){if(!u){u=createNode(292,t)}if(c.kind===302){if(l){break}else{l=c}}else{u.jsDocPropertyTags=e.append(u.jsDocPropertyTags,c)}}if(u){if(a&&a.type.kind===169){u.isArrayType=true}o.typeExpression=l&&l.typeExpression&&!isObjectOrObjectArrayTypeReference(l.typeExpression.type)?l.typeExpression:finishNode(u);s=o.typeExpression.end}}return finishNode(o,s||o.comment!==undefined?r.getStartPos():(o.fullName||o.typeExpression||o.tagName).end)}function parseJSDocTypeNameWithNamespace(t){var n=r.getTokenPos();if(!e.tokenIsIdentifierOrKeyword(token())){return undefined}var i=parseJSDocIdentifierName();if(parseOptional(24)){var a=createNode(244,n);if(t){a.flags|=4}a.name=i;a.body=parseJSDocTypeNameWithNamespace(true);return finishNode(a)}if(t){i.isInJSDocNamespace=true}return i}function parseCallbackTag(t,r,n){var i=createNode(297,t);i.tagName=r;i.fullName=parseJSDocTypeNameWithNamespace();i.name=getJSDocTypeAliasName(i.fullName);skipWhitespace();i.comment=parseTagComments(n);var a;var o=createNode(293,t);o.parameters=[];while(a=tryParse(function(){return parseChildParameterOrPropertyTag(4,n)})){o.parameters=e.append(o.parameters,a)}var s=tryParse(function(){if(parseOptionalJsdoc(58)){var e=parseTag(n);if(e&&e.kind===300){return e}}});if(s){o.type=s}i.typeExpression=finishNode(o);return finishNode(i)}function getJSDocTypeAliasName(t){if(t){var r=t;while(true){if(e.isIdentifier(r)||!r.body){return e.isIdentifier(r)?r:r.name}r=r.body}}}function escapedTextsEqual(t,r){while(!e.isIdentifier(t)||!e.isIdentifier(r)){if(!e.isIdentifier(t)&&!e.isIdentifier(r)&&t.right.escapedText===r.right.escapedText){t=t.left;r=r.left}else{return false}}return t.escapedText===r.escapedText}function parseChildPropertyTag(e){return parseChildParameterOrPropertyTag(1,e)}function parseChildParameterOrPropertyTag(t,r,n){var i=true;var a=false;while(true){switch(nextJSDocToken()){case 58:if(i){var o=tryParseChildTag(t,r);if(o&&(o.kind===299||o.kind===305)&&t!==4&&n&&(e.isIdentifier(o.name)||!escapedTextsEqual(n,o.name.left))){return false}return o}a=false;break;case 4:i=true;a=false;break;case 40:if(a){i=false}a=true;break;case 72:i=false;break;case 1:return false}}}function tryParseChildTag(t,n){e.Debug.assert(token()===58);var i=r.getStartPos();nextJSDocToken();var a=parseJSDocIdentifierName();skipWhitespace();var o;switch(a.escapedText){case"type":return t===1&&parseTypeTag(i,a);case"prop":case"property":o=1;break;case"arg":case"argument":case"param":o=2|4;break;default:return false}if(!(t&o)){return false}return parseParameterOrPropertyTag(i,a,t,n)}function parseTemplateTag(t,r){var n;if(token()===18){n=parseJSDocTypeExpression()}var i=[];var a=getNodePos();do{skipWhitespace();var o=createNode(150);o.name=parseJSDocIdentifierName(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);finishNode(o);skipWhitespace();i.push(o)}while(parseOptionalJsdoc(27));var s=createNode(303,t);s.tagName=r;s.constraint=n;s.typeParameters=createNodeArray(i,a);finishNode(s);return s}function nextJSDocToken(){return f=r.scanJSDocToken()}function parseOptionalJsdoc(e){if(token()===e){nextJSDocToken();return true}return false}function parseJSDocEntityName(){var e=parseJSDocIdentifierName();if(parseOptional(22)){parseExpected(23)}while(parseOptional(24)){var t=parseJSDocIdentifierName();if(parseOptional(22)){parseExpected(23)}e=createQualifiedName(e,t)}return e}function parseJSDocIdentifierName(t){if(!e.tokenIsIdentifierOrKeyword(token())){return createMissingNode(72,!t,t||e.Diagnostics.Identifier_expected)}var n=r.getTokenPos();var i=r.getTextPos();var a=createNode(72,n);a.escapedText=e.escapeLeadingUnderscores(r.getTokenText());finishNode(a,i);nextJSDocToken();return a}}t.parseJSDocCommentWorker=parseJSDocCommentWorker})(S=t.JSDocParser||(t.JSDocParser={}))})(o||(o={}));var s;(function(t){function updateSourceFile(t,r,n,i){i=i||e.Debug.shouldAssert(2);checkChangeRange(t,r,n,i);if(e.textChangeRangeIsUnchanged(n)){return t}if(t.statements.length===0){return o.parseSourceFile(t.fileName,r,t.languageVersion,undefined,true,t.scriptKind)}var a=t;e.Debug.assert(!a.hasBeenIncrementallyParsed);a.hasBeenIncrementallyParsed=true;var s=t.text;var c=createSyntaxCursor(t);var u=extendToAffectedRange(t,n);checkChangeRange(t,r,u,i);e.Debug.assert(u.span.start<=n.span.start);e.Debug.assert(e.textSpanEnd(u.span)===e.textSpanEnd(n.span));e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(u))===e.textSpanEnd(e.textChangeRangeNewSpan(n)));var l=e.textChangeRangeNewSpan(u).length-u.span.length;updateTokenPositionsAndMarkElements(a,u.span.start,e.textSpanEnd(u.span),e.textSpanEnd(e.textChangeRangeNewSpan(u)),l,s,r,i);var f=o.parseSourceFile(t.fileName,r,t.languageVersion,c,true,t.scriptKind);return f}t.updateSourceFile=updateSourceFile;function moveElementEntirelyPastChangeRange(t,r,n,i,a,o){if(r){visitArray(t)}else{visitNode(t)}return;function visitNode(t){var r="";if(o&&shouldCheckNode(t)){r=i.substring(t.pos,t.end)}if(t._children){t._children=undefined}t.pos+=n;t.end+=n;if(o&&shouldCheckNode(t)){e.Debug.assert(r===a.substring(t.pos,t.end))}forEachChild(t,visitNode,visitArray);if(e.hasJSDocNodes(t)){for(var s=0,c=t.jsDoc;s=r,"Adjusting an element that was entirely before the change range");e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range");e.Debug.assert(t.pos<=t.end);t.pos=Math.min(t.pos,i);if(t.end>=n){t.end+=a}else{t.end=Math.min(t.end,i)}e.Debug.assert(t.pos<=t.end);if(t.parent){e.Debug.assert(t.pos>=t.parent.pos);e.Debug.assert(t.end<=t.parent.end)}}function checkNodePositions(t,r){if(r){var n=t.pos;var i=function(t){e.Debug.assert(t.pos>=n);n=t.end};if(e.hasJSDocNodes(t)){for(var a=0,o=t.jsDoc;an){moveElementEntirelyPastChangeRange(t,false,a,o,s,c);return}var u=t.end;if(u>=r){t.intersectsChange=true;t._children=undefined;adjustIntersectingElement(t,r,n,i,a);forEachChild(t,visitNode,visitArray);if(e.hasJSDocNodes(t)){for(var l=0,f=t.jsDoc;ln){moveElementEntirelyPastChangeRange(t,true,a,o,s,c);return}var u=t.end;if(u>=r){t.intersectsChange=true;t._children=undefined;adjustIntersectingElement(t,r,n,i,a);for(var l=0,f=t;l0&&a<=n;a++){var o=findNearestNodeStartingBeforeOrAtPosition(t,i);e.Debug.assert(o.pos<=i);var s=o.pos;i=Math.max(0,s-1)}var c=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span));var u=r.newLength+(r.span.start-i);return e.createTextChangeRange(c,u)}function findNearestNodeStartingBeforeOrAtPosition(t,r){var n=t;var i;forEachChild(t,visit);if(i){var a=getLastDescendant(i);if(a.pos>n.pos){n=a}}return n;function getLastDescendant(t){while(true){var r=e.getLastChild(t);if(r){t=r}else{return t}}}function visit(t){if(e.nodeIsMissing(t)){return}if(t.pos<=r){if(t.pos>=n.pos){n=t}if(rr);return true}}}function checkChangeRange(t,r,n,i){var a=t.text;if(n){e.Debug.assert(a.length-n.span.length+n.newLength===r.length);if(i||e.Debug.shouldAssert(3)){var o=a.substr(0,n.span.start);var s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length);var u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}}function createSyntaxCursor(t){var r=t.statements;var n=0;e.Debug.assert(n=t.pos&&e=t.pos&&et.checkJsDirective.pos){t.checkJsDirective={enabled:i==="ts-check",end:e.range.end,pos:e.range.pos}}});break}case"jsx":return;default:e.Debug.fail("Unhandled pragma kind")}})}e.processPragmasIntoFields=processPragmasIntoFields;var c=e.createMap();function getNamedArgRegEx(e){if(c.has(e)){return c.get(e)}var t=new RegExp("(\\s"+e+"\\s*=\\s*)('|\")(.+?)\\2","im");c.set(e,t);return t}var u=/^\/\/\/\s*<(\S+)\s.*?\/>/im;var l=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function extractPragmas(t,r,n){var i=r.kind===2&&u.exec(n);if(i){var a=i[1].toLowerCase();var o=e.commentPragmas[a];if(!o||!(o.kind&1)){return}if(o.args){var s={};for(var c=0,f=o.args;c=r.length)break;var o=a;if(r.charCodeAt(o)===34){a++;while(a32)a++;n.push(r.substring(o,a))}}parseStrings(n)}}function parseCommandLine(t,r){return parseCommandLineWorker(getOptionNameMap,[e.Diagnostics.Unknown_compiler_option_0,e.Diagnostics.Compiler_option_0_expects_an_argument],t,r)}e.parseCommandLine=parseCommandLine;function getOptionFromName(e,t){return getOptionDeclarationFromName(getOptionNameMap,e,t)}e.getOptionFromName=getOptionFromName;function getOptionDeclarationFromName(e,t,r){if(r===void 0){r=false}t=t.toLowerCase();var n=e(),i=n.optionNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);if(o!==undefined){t=o}}return i.get(t)}function parseBuildCommand(t){var r;var n=function(){return r||(r=createOptionNameMap(e.buildOpts))};var i=parseCommandLineWorker(n,[e.Diagnostics.Unknown_build_option_0,e.Diagnostics.Build_option_0_requires_a_value_of_type_1],t),a=i.options,o=i.fileNames,s=i.errors;var c=a;if(o.length===0){o.push(".")}if(c.clean&&c.force){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","force"))}if(c.clean&&c.verbose){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","verbose"))}if(c.clean&&c.watch){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","watch"))}if(c.watch&&c.dry){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"watch","dry"))}return{buildOptions:c,projects:o,errors:s}}e.parseBuildCommand=parseBuildCommand;function getDiagnosticText(t){var r=[];for(var n=1;n";u.push(v);l.push(getDiagnosticText(e.Diagnostics.Insert_command_line_options_and_files_from_a_file));o=Math.max(v.length,o);for(var T=0;T=0){s.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,o.concat([c]).join(" -> ")));return{raw:t||convertToObject(r,s)}}var u=t?parseOwnConfigOfJson(t,n,i,a,s):parseOwnConfigOfJsonSourceFile(r,n,i,a,s);if(u.extendedConfigPath){o=o.concat([c]);var l=getExtendedConfig(r,u.extendedConfigPath,n,i,o,s);if(l&&isSuccessfulParsedTsconfig(l)){var f=l.raw;var d=u.raw;var p=function(e){var t=d[e]||f[e];if(t){d[e]=t}};p("include");p("exclude");p("files");if(d.compileOnSave===undefined){d.compileOnSave=f.compileOnSave}u.options=e.assign({},l.options,u.options)}}return u}function parseOwnConfigOfJson(t,r,n,i,a){if(e.hasProperty(t,"excludes")){a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}var o=convertCompilerOptionsFromJsonWorker(t.compilerOptions,n,a,i);var s=convertTypeAcquisitionFromJsonWorker(t.typeAcquisition||t.typingOptions,n,a,i);t.compileOnSave=convertCompileOnSaveOptionFromJson(t,n,a);var c;if(t.extends){if(!e.isString(t.extends)){a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"))}else{var u=i?directoryOfCombinedPath(i,n):n;c=getExtendsConfigPath(t.extends,r,u,a,e.createCompilerDiagnostic)}}return{raw:t,options:o,typeAcquisition:s,extendedConfigPath:c}}function parseOwnConfigOfJsonSourceFile(t,r,n,i,a){var o=getDefaultCompilerOptions(i);var s,c;var u;var l={onSetValidOptionKeyValueInParent:function(t,r,a){e.Debug.assert(t==="compilerOptions"||t==="typeAcquisition"||t==="typingOptions");var u=t==="compilerOptions"?o:t==="typeAcquisition"?s||(s=getDefaultTypeAcquisition(i)):c||(c=getDefaultTypeAcquisition(i));u[r.name]=normalizeOptionValue(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,l){switch(o){case"extends":var f=i?directoryOfCombinedPath(i,n):n;u=getExtendsConfigPath(c,r,f,a,function(r,n){return e.createDiagnosticForNodeInSourceFile(t,l,r,n)});return}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,o){if(r==="excludes"){a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}}};var f=convertToObjectWorker(t,a,true,getTsconfigRootOptionsMap(),l);if(!s){if(c){s=c.enableAutoDiscovery!==undefined?{enable:c.enableAutoDiscovery,include:c.include,exclude:c.exclude}:c}else{s=getDefaultTypeAcquisition(i)}}return{raw:f,options:o,typeAcquisition:s,extendedConfigPath:u}}function getExtendsConfigPath(t,r,n,i,a){t=e.normalizeSlashes(t);if(e.isRootedDiskPath(t)||e.startsWith(t,"./")||e.startsWith(t,"../")){var o=e.getNormalizedAbsolutePath(t,n);if(!r.fileExists(o)&&!e.endsWith(o,".json")){o=o+".json";if(!r.fileExists(o)){i.push(a(e.Diagnostics.File_0_does_not_exist,t));return undefined}}return o}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,"tsconfig.json"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,undefined,undefined,true);if(s.resolvedModule){return s.resolvedModule.resolvedFileName}i.push(a(e.Diagnostics.File_0_does_not_exist,t));return undefined}function getExtendedConfig(t,r,n,i,a,o){var s;var c=readJsonConfigFile(r,function(e){return n.readFile(e)});if(t){t.extendedSourceFiles=[c.fileName]}if(c.parseDiagnostics.length){o.push.apply(o,c.parseDiagnostics);return undefined}var u=e.getDirectoryPath(r);var l=parseConfig(undefined,c,n,u,e.getBaseFileName(r),a,o);if(t&&c.extendedSourceFiles){(s=t.extendedSourceFiles).push.apply(s,c.extendedSourceFiles)}if(isSuccessfulParsedTsconfig(l)){var f=e.convertToRelativePath(u,i,e.identity);var d=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)};var p=function(t){if(g[t]){g[t]=e.map(g[t],d)}};var g=l.raw;p("include");p("exclude");p("files")}return l}function convertCompileOnSaveOptionFromJson(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name)){return false}var i=convertJsonOption(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return typeof i==="boolean"&&i}function convertCompilerOptionsFromJson(e,t,r){var n=[];var i=convertCompilerOptionsFromJsonWorker(e,t,n,r);return{options:i,errors:n}}e.convertCompilerOptionsFromJson=convertCompilerOptionsFromJson;function convertTypeAcquisitionFromJson(e,t,r){var n=[];var i=convertTypeAcquisitionFromJsonWorker(e,t,n,r);return{options:i,errors:n}}e.convertTypeAcquisitionFromJson=convertTypeAcquisitionFromJson;function getDefaultCompilerOptions(t){var r=t&&e.getBaseFileName(t)==="jsconfig.json"?{allowJs:true,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:true,skipLibCheck:true,noEmit:true}:{};return r}function convertCompilerOptionsFromJsonWorker(t,r,n,i){var a=getDefaultCompilerOptions(i);convertOptionsFromJson(e.optionDeclarations,t,r,a,e.Diagnostics.Unknown_compiler_option_0,n);if(i){a.configFilePath=e.normalizeSlashes(i)}return a}function getDefaultTypeAcquisition(t){return{enable:!!t&&e.getBaseFileName(t)==="jsconfig.json",include:[],exclude:[]}}function convertTypeAcquisitionFromJsonWorker(t,r,n,i){var a=getDefaultTypeAcquisition(i);var o=convertEnableAutoDiscoveryToEnable(t);convertOptionsFromJson(e.typeAcquisitionDeclarations,o,r,a,e.Diagnostics.Unknown_type_acquisition_option_0,n);return a}function convertOptionsFromJson(t,r,n,i,a,o){if(!r){return}var s=commandLineOptionsToMap(t);for(var c in r){var u=s.get(c);if(u){i[u.name]=convertJsonOption(u,r[c],n,o)}else{o.push(e.createCompilerDiagnostic(a,c))}}}function convertJsonOption(t,r,n,i){if(isCompilerOptionsValue(t,r)){var a=t.type;if(a==="list"&&e.isArray(r)){return convertJsonOptionOfListType(t,r,n,i)}else if(!e.isString(a)){return convertJsonOptionOfCustomType(t,r,i)}return normalizeNonListOptionValue(t,n,r)}else{i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,getCompilerOptionValueTypeString(t)))}}function normalizeOptionValue(t,r,n){if(isNullOrUndefined(n))return undefined;if(t.type==="list"){var i=t;if(i.element.isFilePath||!e.isString(i.element.type)){return e.filter(e.map(n,function(e){return normalizeOptionValue(i.element,r,e)}),function(e){return!!e})}return n}else if(!e.isString(t.type)){return t.type.get(e.isString(n)?n.toLowerCase():n)}return normalizeNonListOptionValue(t,r,n)}function normalizeNonListOptionValue(t,r,n){if(t.isFilePath){n=e.normalizePath(e.combinePaths(r,n));if(n===""){n="."}}return n}function convertJsonOptionOfCustomType(e,t,r){if(isNullOrUndefined(t))return undefined;var n=t.toLowerCase();var i=e.type.get(n);if(i!==undefined){return i}else{r.push(createCompilerDiagnosticForInvalidCustomType(e))}}function convertJsonOptionOfListType(t,r,n,i){return e.filter(e.map(r,function(e){return convertJsonOption(t.element,e,n,i)}),function(e){return!!e})}function trimString(e){return typeof e.trim==="function"?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}var a=/(^|\/)\*\*\/?$/;var o=/(^|\/)\*\*\/(.*\/)?\.\.($|\/)/;var s=/\/[^/]*?[*?][^/]*\//;var c=/^[^*?]*(?=\/[^/]*[*?])/;function matchFileNames(t,r,n,i,a,o,s,c,u){i=e.normalizePath(i);var l,f;if(r){l=validateSpecs(r,s,false,u,"include")}if(n){f=validateSpecs(n,s,true,u,"exclude")}var d=getWildcardDirectories(l,f,i,o.useCaseSensitiveFileNames);var p={filesSpecs:t,includeSpecs:r,excludeSpecs:n,validatedIncludeSpecs:l,validatedExcludeSpecs:f,wildcardDirectories:d};return getFileNamesFromConfigSpecs(p,i,a,o,c)}function getFileNamesFromConfigSpecs(t,r,n,i,a){if(a===void 0){a=[]}r=e.normalizePath(r);var o=i.useCaseSensitiveFileNames?e.identity:e.toLowerCase;var s=e.createMap();var c=e.createMap();var u=e.createMap();var l=t.filesSpecs,f=t.validatedIncludeSpecs,d=t.validatedExcludeSpecs,p=t.wildcardDirectories;var g=e.getSupportedExtensions(n,a);var _=e.getSuppoertedExtensionsWithJsonIfResolveJsonModule(n,g);if(l){for(var m=0,y=l;m0){var S=function(t){if(e.fileExtensionIs(t,".json")){if(!T){var n=f.filter(function(t){return e.endsWith(t,".json")});var a=e.map(e.getRegularExpressionsForWildcards(n,r,"files"),function(e){return"^"+e+"$"});T=a?a.map(function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)}):e.emptyArray}var l=e.findIndex(T,function(e){return e.test(t)});if(l!==-1){var d=o(t);if(!s.has(d)&&!u.has(d)){u.set(d,t)}}return"continue"}if(hasFileWithHigherPriorityExtension(t,s,c,g,o)){return"continue"}removeWildcardFilesWithLowerPriorityExtension(t,c,g,o);var p=o(t);if(!s.has(p)&&!c.has(p)){c.set(p,t)}};for(var b=0,x=i.readDirectory(r,_,d,f,undefined);bt.length){var d=f.substring(t.length+1);r=(e.forEach(e.supportedJSExtensions,function(t){return e.tryRemoveExtension(d,t)})||d)+".d.ts"}else{r="index.d.ts"}}}if(!e.endsWith(r,".d.ts")){r=addExtensionAndIndex(r)}var p=readPackageJsonTypesVersionPaths(u,i);var g=typeof u.name==="string"&&typeof u.version==="string"?{name:u.name,subModuleName:r,version:u.version}:undefined;if(o){if(g){trace(a,e.Diagnostics.Found_package_json_at_0_Package_ID_is_1,c,e.packageIdToString(g))}else{trace(a,e.Diagnostics.Found_package_json_at_0,c)}}return{packageJsonContent:u,packageId:g,versionPaths:p}}else{if(s&&o){trace(a,e.Diagnostics.File_0_does_not_exist,c)}i.failedLookupLocations.push(c)}}function loadNodeModuleFromDirectoryWorker(r,n,i,a,o,s){var c;if(o){switch(r){case t.JavaScript:case t.Json:c=readPackageJsonMainField(o,n,a);break;case t.TypeScript:c=readPackageJsonTypesFields(o,n,a)||readPackageJsonMainField(o,n,a);break;case t.DtsOnly:c=readPackageJsonTypesFields(o,n,a);break;case t.TSConfig:c=readPackageJsonTSConfigField(o,n,a);break;default:return e.Debug.assertNever(r)}}var u=function(r,n,i,a){var o=tryFile(n,i,a);if(o){var s=resolvedIfExtensionMatches(r,o);if(s){return noPackageId(s)}if(a.traceEnabled){trace(a.host,e.Diagnostics.File_0_has_an_unsupported_extension_so_skipping_it,o)}}var c=r===t.DtsOnly?t.TypeScript:r;return nodeLoadModuleByRelativeName(c,n,i,a,false)};var l=c?!e.directoryProbablyExists(e.getDirectoryPath(c),a.host):undefined;var f=i||!e.directoryProbablyExists(n,a.host);var d=e.combinePaths(n,r===t.TSConfig?"tsconfig":"index");if(s&&(!c||e.containsPath(n,c))){var p=e.getRelativePathFromDirectory(n,c||d,false);if(a.traceEnabled){trace(a.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,s.version,e.version,p)}var g=tryLoadModuleUsingPaths(r,p,n,s.paths,u,l||f,a);if(g){return removeIgnoredPackageId(g.value)}}var _=c&&removeIgnoredPackageId(u(r,c,l,a));if(_)return _;return loadModuleFromFile(r,d,f,a)}function resolvedIfExtensionMatches(t,r){var n=e.tryGetExtensionFromPath(r);return n!==undefined&&extensionIsOk(t,n)?{path:r,ext:n}:undefined}function extensionIsOk(e,r){switch(e){case t.JavaScript:return r===".js"||r===".jsx";case t.TSConfig:case t.Json:return r===".json";case t.TypeScript:return r===".ts"||r===".tsx"||r===".d.ts";case t.DtsOnly:return r===".d.ts"}}function parsePackageName(t){var r=t.indexOf(e.directorySeparator);if(t[0]==="@"){r=t.indexOf(e.directorySeparator,r+1)}return r===-1?{packageName:t,rest:""}:{packageName:t.slice(0,r),rest:t.slice(r+1)}}e.parsePackageName=parsePackageName;function loadModuleFromNearestNodeModulesDirectory(e,t,r,n,i,a){return loadModuleFromNearestNodeModulesDirectoryWorker(e,t,r,n,false,i,a)}function loadModuleFromNearestNodeModulesDirectoryTypesScope(e,r,n){return loadModuleFromNearestNodeModulesDirectoryWorker(t.DtsOnly,e,r,n,true,undefined,undefined)}function loadModuleFromNearestNodeModulesDirectoryWorker(t,r,n,i,a,o,s){var c=o&&o.getOrCreateCacheForModuleName(r,s);return e.forEachAncestorDirectory(e.normalizeSlashes(n),function(n){if(e.getBaseFileName(n)!=="node_modules"){var o=tryFindNonRelativeModuleNameInCache(c,r,n,i);if(o){return o}return toSearchResult(loadModuleFromImmediateNodeModulesDirectory(t,r,n,i,a))}})}function loadModuleFromImmediateNodeModulesDirectory(r,n,i,a,o){var s=e.combinePaths(i,"node_modules");var c=e.directoryProbablyExists(s,a.host);if(!c&&a.traceEnabled){trace(a.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,s)}var u=o?undefined:loadModuleFromSpecificNodeModulesDirectory(r,n,s,c,a);if(u){return u}if(r===t.TypeScript||r===t.DtsOnly){var l=e.combinePaths(s,"@types");var f=c;if(c&&!e.directoryProbablyExists(l,a.host)){if(a.traceEnabled){trace(a.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,l)}f=false}return loadModuleFromSpecificNodeModulesDirectory(t.DtsOnly,mangleScopedPackageNameWithTrace(n,a),l,f,a)}}function loadModuleFromSpecificNodeModulesDirectory(t,r,n,i,a){var o=e.normalizePath(e.combinePaths(n,r));var s;var c;var u;var l=getPackageJsonInfo(o,"",!i,a);if(l){s=l.packageJsonContent,c=l.packageId,u=l.versionPaths;var f=loadModuleFromFile(t,o,!i,a);if(f){return noPackageId(f)}var d=loadNodeModuleFromDirectoryWorker(t,o,!i,a,s,u);return withPackageId(c,d)}var p=function(e,t,r,n){var i=loadModuleFromFile(e,t,r,n)||loadNodeModuleFromDirectoryWorker(e,t,r,n,s,u);return withPackageId(c,i)};var g=parsePackageName(r),_=g.packageName,m=g.rest;if(m!==""){var y=e.combinePaths(n,_);var h=getPackageJsonInfo(y,m,!i,a);if(h)c=h.packageId,u=h.versionPaths;if(u){if(a.traceEnabled){trace(a.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,u.version,e.version,m)}var v=i&&e.directoryProbablyExists(y,a.host);var T=tryLoadModuleUsingPaths(t,m,y,u.paths,p,!v,a);if(T){return T.value}}}return p(t,o,!i,a)}function tryLoadModuleUsingPaths(t,r,n,i,a,o,s){var c=e.matchPatternOrExact(e.getOwnKeys(i),r);if(c){var u=e.isString(c)?undefined:e.matchedText(c,r);var l=e.isString(c)?c:e.patternText(c);if(s.traceEnabled){trace(s.host,e.Diagnostics.Module_name_0_matched_pattern_1,r,l)}var f=e.forEach(i[l],function(r){var i=u?r.replace("*",u):r;var c=e.normalizePath(e.combinePaths(n,i));if(s.traceEnabled){trace(s.host,e.Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1,r,i)}var l=e.tryGetExtensionFromPath(c);if(l!==undefined){var f=tryFile(c,o,s);if(f!==undefined){return noPackageId({path:f,ext:l})}}return a(t,c,o||!e.directoryProbablyExists(e.getDirectoryPath(c),s.host),s)});return{value:f}}}var u="__";function mangleScopedPackageNameWithTrace(t,r){var n=mangleScopedPackageName(t);if(r.traceEnabled&&n!==t){trace(r.host,e.Diagnostics.Scoped_package_detected_looking_in_0,n)}return n}function getTypesPackageName(e){return"@types/"+mangleScopedPackageName(e)}e.getTypesPackageName=getTypesPackageName;function mangleScopedPackageName(t){if(e.startsWith(t,"@")){var r=t.replace(e.directorySeparator,u);if(r!==t){return r.slice(1)}}return t}e.mangleScopedPackageName=mangleScopedPackageName;function getPackageNameFromTypesPackageName(t){var r=e.removePrefix(t,"@types/");if(r!==t){return unmangleScopedPackageName(r)}return t}e.getPackageNameFromTypesPackageName=getPackageNameFromTypesPackageName;function unmangleScopedPackageName(t){return e.stringContains(t,u)?"@"+t.replace(u,e.directorySeparator):t}e.unmangleScopedPackageName=unmangleScopedPackageName;function tryFindNonRelativeModuleNameInCache(t,r,n,i){var a;var o=t&&t.get(n);if(o){if(i.traceEnabled){trace(i.host,e.Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1,r,n)}(a=i.failedLookupLocations).push.apply(a,o.failedLookupLocations);return{value:o.resolvedModule&&{path:o.resolvedModule.resolvedFileName,originalPath:o.resolvedModule.originalPath||true,extension:o.resolvedModule.extension,packageId:o.resolvedModule.packageId}}}}function classicNameResolver(r,n,i,a,o,s){var c=isTraceEnabled(i,a);var u=[];var l={compilerOptions:i,host:a,traceEnabled:c,failedLookupLocations:u};var f=e.getDirectoryPath(n);var d=tryResolve(t.TypeScript)||tryResolve(t.JavaScript);return createResolvedModuleWithFailedLookupLocations(d&&d.value,false,u);function tryResolve(n){var i=tryLoadModuleUsingOptionalResolutionSettings(n,r,f,loadModuleFromFileNoPackageId,l);if(i){return{value:i}}if(!e.isExternalModuleNameRelative(r)){var a=o&&o.getOrCreateCacheForModuleName(r,s);var c=e.forEachAncestorDirectory(f,function(t){var i=tryFindNonRelativeModuleNameInCache(a,r,t,l);if(i){return i}var o=e.normalizePath(e.combinePaths(t,r));return toSearchResult(loadModuleFromFileNoPackageId(n,o,false,l))});if(c){return c}if(n===t.TypeScript){return loadModuleFromNearestNodeModulesDirectoryTypesScope(r,f,l)}}else{var u=e.normalizePath(e.combinePaths(f,r));return toSearchResult(loadModuleFromFileNoPackageId(n,u,false,l))}}}e.classicNameResolver=classicNameResolver;function loadModuleFromGlobalCache(r,n,i,a,o){var s=isTraceEnabled(i,a);if(s){trace(a,e.Diagnostics.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,n,r,o)}var c=[];var u={compilerOptions:i,host:a,traceEnabled:s,failedLookupLocations:c};var l=loadModuleFromImmediateNodeModulesDirectory(t.DtsOnly,r,o,u,false);return createResolvedModuleWithFailedLookupLocations(l,true,c)}e.loadModuleFromGlobalCache=loadModuleFromGlobalCache;function toSearchResult(e){return e!==undefined?{value:e}:undefined}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["NonInstantiated"]=0]="NonInstantiated";e[e["Instantiated"]=1]="Instantiated";e[e["ConstEnumOnly"]=2]="ConstEnumOnly"})(t=e.ModuleInstanceState||(e.ModuleInstanceState={}));function getModuleInstanceState(e){return e.body?getModuleInstanceStateWorker(e.body):1}e.getModuleInstanceState=getModuleInstanceState;function getModuleInstanceStateWorker(t){switch(t.kind){case 241:case 242:return 0;case 243:if(e.isEnumConst(t)){return 2}break;case 249:case 248:if(!e.hasModifier(t,1)){return 0}break;case 245:{var r=0;e.forEachChild(t,function(t){var n=getModuleInstanceStateWorker(t);switch(n){case 0:return;case 2:r=2;return;case 1:r=1;return true;default:e.Debug.assertNever(n)}});return r}case 244:return getModuleInstanceState(t);case 72:if(t.isInJSDocNamespace){return 0}}return 1}var r;(function(e){e[e["None"]=0]="None";e[e["IsContainer"]=1]="IsContainer";e[e["IsBlockScopedContainer"]=2]="IsBlockScopedContainer";e[e["IsControlFlowContainer"]=4]="IsControlFlowContainer";e[e["IsFunctionLike"]=8]="IsFunctionLike";e[e["IsFunctionExpression"]=16]="IsFunctionExpression";e[e["HasLocals"]=32]="HasLocals";e[e["IsInterface"]=64]="IsInterface";e[e["IsObjectLiteralOrClassExpressionMethod"]=128]="IsObjectLiteralOrClassExpressionMethod"})(r||(r={}));var i=createBinder();function bindSourceFile(t,r){e.performance.mark("beforeBind");i(t,r);e.performance.mark("afterBind");e.performance.measure("Bind","beforeBind","afterBind")}e.bindSourceFile=bindSourceFile;function createBinder(){var t;var r;var i;var a;var o;var s;var c;var u;var l;var f;var d;var p;var g;var _;var m;var y;var h;var v;var T;var S;var b;var x=0;var C;var E;var D={flags:1};var k={flags:1};var N=0;var A;function createDiagnosticForNode(r,n,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(r)||t,r,n,i,a,o)}function bindSourceFile(n,h){t=n;r=h;i=e.getEmitScriptTarget(r);b=bindInStrictMode(t,h);E=e.createUnderscoreEscapedMap();x=0;A=t.isDeclarationFile;C=e.objectAllocator.getSymbolConstructor();if(!t.locals){bind(t);t.symbolCount=x;t.classifiableNames=E;delayedBindJSDocTypedefTag()}t=undefined;r=undefined;i=undefined;a=undefined;o=undefined;s=undefined;c=undefined;u=undefined;l=undefined;f=false;d=undefined;p=undefined;g=undefined;_=undefined;m=undefined;y=undefined;v=undefined;T=false;S=0;N=0}return bindSourceFile;function bindInStrictMode(t,r){if(e.getStrictOptionValue(r,"alwaysStrict")&&!t.isDeclarationFile){return true}else{return!!t.externalModuleIndicator}}function createSymbol(e,t){x++;return new C(e,t)}function addDeclarationToSymbol(t,r,n){t.flags|=n;r.symbol=t;t.declarations=e.append(t.declarations,r);if(n&(32|384|1536|3)&&!t.exports){t.exports=e.createSymbolTable()}if(n&(32|64|2048|4096)&&!t.members){t.members=e.createSymbolTable()}if(n&67220415){setValueDeclaration(t,r)}}function setValueDeclaration(t,r){var n=t.valueDeclaration;if(!n||e.isAssignmentDeclaration(n)&&!e.isAssignmentDeclaration(r)||n.kind!==r.kind&&e.isEffectiveModuleDeclaration(n)){t.valueDeclaration=r}}function getDeclarationName(t){if(t.kind===254){return t.isExportEquals?"export=":"default"}var r=e.getNameOfDeclaration(t);if(r){if(e.isAmbientModule(t)){var n=e.getTextOfIdentifierOrLiteral(r);return e.isGlobalScopeAugmentation(t)?"__global":'"'+n+'"'}if(r.kind===149){var i=r.expression;if(e.isStringOrNumericLiteralLike(i)){return e.escapeLeadingUnderscores(i.text)}e.Debug.assert(e.isWellKnownSymbolSyntactically(i));return e.getPropertyNameForKnownSymbolName(e.idText(i.name))}return e.isPropertyNameLiteral(r)?e.getEscapedTextOfIdentifierOrLiteral(r):undefined}switch(t.kind){case 157:return"__constructor";case 165:case 160:case 293:return"__call";case 166:case 161:return"__new";case 162:return"__index";case 255:return"__export";case 279:return"export=";case 204:if(e.getAssignmentDeclarationKind(t)===2){return"export="}e.Debug.fail("Unknown binary declaration kind");break;case 289:return e.isJSDocConstructSignature(t)?"__new":"__call";case 151:e.Debug.assert(t.parent.kind===289,"Impossible parameter parent kind",function(){return"parent is: "+(e.SyntaxKind?e.SyntaxKind[t.parent.kind]:t.parent.kind)+", expected JSDocFunctionType"});var a=t.parent;var o=a.parameters.indexOf(t);return"arg"+o}}function getDisplayName(t){return e.isNamedDeclaration(t)?e.declarationNameToString(t.name):e.unescapeLeadingUnderscores(e.Debug.assertDefined(getDeclarationName(t)))}function declareSymbol(r,n,i,a,o,s){e.Debug.assert(!e.hasDynamicName(i));var c=e.hasModifier(i,512);var u=c&&n?"default":getDeclarationName(i);var l;if(u===undefined){l=createSymbol(0,"__missing")}else{l=r.get(u);if(a&2885600){E.set(u,true)}if(!l){r.set(u,l=createSymbol(0,u));if(s)l.isReplaceableByMethod=true}else if(s&&!l.isReplaceableByMethod){return l}else if(l.flags&o){if(l.isReplaceableByMethod){r.set(u,l=createSymbol(0,u))}else if(!(a&3&&l.flags&67108864)){if(e.isNamedDeclaration(i)){i.name.parent=i}var f=l.flags&2?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;var d=true;if(l.flags&384||a&384){f=e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations;d=false}if(l.declarations&&l.declarations.length){if(c){f=e.Diagnostics.A_module_cannot_have_multiple_default_exports;d=false}else{if(l.declarations&&l.declarations.length&&(i.kind===254&&!i.isExportEquals)){f=e.Diagnostics.A_module_cannot_have_multiple_default_exports;d=false}}}var p=function(r){t.bindDiagnostics.push(createDiagnosticForNode(e.getNameOfDeclaration(r)||r,f,d?getDisplayName(r):undefined))};e.forEach(l.declarations,p);p(i);l=createSymbol(0,u)}}}addDeclarationToSymbol(l,i,a);if(l.parent){e.Debug.assert(l.parent===n,"Existing symbol parent should match new one")}else{l.parent=n}return l}function declareModuleMember(t,r,n){var i=e.getCombinedModifierFlags(t)&1;if(r&2097152){if(t.kind===257||t.kind===248&&i){return declareSymbol(o.symbol.exports,o.symbol,t,r,n)}else{return declareSymbol(o.locals,undefined,t,r,n)}}else{if(e.isJSDocTypeAlias(t))e.Debug.assert(e.isInJSFile(t));if(!e.isAmbientModule(t)&&(i||o.flags&32)||e.isJSDocTypeAlias(t)){if(e.hasModifier(t,512)&&!getDeclarationName(t)){return declareSymbol(o.symbol.exports,o.symbol,t,r,n)}var a=r&67220415?1048576:0;var s=declareSymbol(o.locals,undefined,t,a,n);s.exportSymbol=declareSymbol(o.symbol.exports,o.symbol,t,r,n);t.localSymbol=s;return s}else{return declareSymbol(o.locals,undefined,t,r,n)}}}function bindContainer(t,r){var n=o;var i=s;var a=c;if(r&1){if(t.kind!==197){s=o}o=c=t;if(r&32){o.locals=e.createSymbolTable()}addToContainerChain(o)}else if(r&2){c=t;c.locals=undefined}if(r&4){var u=d;var l=p;var m=g;var y=_;var h=v;var b=T;var x=r&16&&!e.hasModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);if(!x){d={flags:2};if(r&(16|128)){d.container=t}}_=x||t.kind===157?createBranchLabel():undefined;p=undefined;g=undefined;v=undefined;T=false;bindChildren(t);t.flags&=~1408;if(!(d.flags&1)&&r&8&&e.nodeIsPresent(t.body)){t.flags|=128;if(T)t.flags|=256}if(t.kind===279){t.flags|=S}if(_){addAntecedent(_,d);d=finishFlowLabel(_);if(t.kind===157){t.returnFlowNode=d}}if(!x){d=u}p=l;g=m;_=y;v=h;T=b}else if(r&64){f=false;bindChildren(t);t.flags=f?t.flags|64:t.flags&~64}else{bindChildren(t)}o=n;s=i;c=a}function bindChildren(e){if(A){bindChildrenWorker(e)}else if(e.transformFlags&536870912){A=true;bindChildrenWorker(e);A=false;N|=e.transformFlags&~getTransformFlagsSubtreeExclusions(e.kind)}else{var t=N;N=0;bindChildrenWorker(e);N=t|computeTransformFlagsForNode(e,N)}}function bindEachFunctionsFirst(e){bindEach(e,function(e){return e.kind===239?bind(e):undefined});bindEach(e,function(e){return e.kind!==239?bind(e):undefined})}function bindEach(t,r){if(r===void 0){r=bind}if(t===undefined){return}if(A){e.forEach(t,r)}else{var n=N;N=0;var i=0;for(var a=0,o=t;a=109&&r.originalKeywordKind<=117&&!e.isIdentifierName(r)&&!(r.flags&4194304)){if(!t.parseDiagnostics.length){t.bindDiagnostics.push(createDiagnosticForNode(r,getStrictModeIdentifierMessage(r),e.declarationNameToString(r)))}}}function getStrictModeIdentifierMessage(r){if(e.getContainingClass(r)){return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode}if(t.externalModuleIndicator){return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode}return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function checkStrictModeBinaryExpression(t){if(b&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)){checkStrictModeEvalOrArguments(t,t.left)}}function checkStrictModeCatchClause(e){if(b&&e.variableDeclaration){checkStrictModeEvalOrArguments(e,e.variableDeclaration.name)}}function checkStrictModeDeleteExpression(r){if(b&&r.expression.kind===72){var n=e.getErrorSpanForNode(t,r.expression);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function isEvalOrArgumentsIdentifier(t){return e.isIdentifier(t)&&(t.escapedText==="eval"||t.escapedText==="arguments")}function checkStrictModeEvalOrArguments(r,n){if(n&&n.kind===72){var i=n;if(isEvalOrArgumentsIdentifier(i)){var a=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,getStrictModeEvalOrArgumentsMessage(r),e.idText(i)))}}}function getStrictModeEvalOrArgumentsMessage(r){if(e.getContainingClass(r)){return e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode}if(t.externalModuleIndicator){return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode}return e.Diagnostics.Invalid_use_of_0_in_strict_mode}function checkStrictModeFunctionName(e){if(b){checkStrictModeEvalOrArguments(e,e.name)}}function getStrictModeBlockScopeFunctionDeclarationMessage(r){if(e.getContainingClass(r)){return e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode}if(t.externalModuleIndicator){return e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode}return e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function checkStrictModeFunctionDeclaration(r){if(i<2){if(c.kind!==279&&c.kind!==244&&!e.isFunctionLike(c)){var n=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,getStrictModeBlockScopeFunctionDeclarationMessage(r)))}}}function checkStrictModeNumericLiteral(r){if(b&&r.numericLiteralFlags&32){t.bindDiagnostics.push(createDiagnosticForNode(r,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}}function checkStrictModePostfixUnaryExpression(e){if(b){checkStrictModeEvalOrArguments(e,e.operand)}}function checkStrictModePrefixUnaryExpression(e){if(b){if(e.operator===44||e.operator===45){checkStrictModeEvalOrArguments(e,e.operand)}}}function checkStrictModeWithStatement(t){if(b){errorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}}function checkStrictModeLabeledStatement(t){if(b&&r.target>=2){if(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement)){errorOnFirstToken(t.label,e.Diagnostics.A_label_is_not_allowed_here)}}}function errorOnFirstToken(r,n,i,a,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,i,a,o))}function errorOrSuggestionOnNode(e,t,r){errorOrSuggestionOnRange(e,t,t,r)}function errorOrSuggestionOnRange(r,n,i,a){addErrorOrSuggestionDiagnostic(r,{pos:e.getTokenPosOfNode(n,t),end:i.end},a)}function addErrorOrSuggestionDiagnostic(r,i,a){var o=e.createFileDiagnostic(t,i.pos,i.end-i.pos,a);if(r){t.bindDiagnostics.push(o)}else{t.bindSuggestionDiagnostics=e.append(t.bindSuggestionDiagnostics,n({},o,{category:e.DiagnosticCategory.Suggestion}))}}function bind(e){if(!e){return}e.parent=a;var t=b;bindWorker(e);if(e.kind>147){var r=a;a=e;var n=getContainerFlags(e);if(n===0){bindChildren(e)}else{bindContainer(e,n)}a=r}else if(!A&&(e.transformFlags&536870912)===0){N|=computeTransformFlagsForNode(e,0);var r=a;if(e.kind===1)a=e;bindJSDoc(e);a=r}b=t}function bindJSDoc(t){if(e.hasJSDocNodes(t)){if(e.isInJSFile(t)){for(var r=0,n=t.jsDoc;r=163&&e<=183){return-3}switch(e){case 191:case 192:case 187:return 637666625;case 244:return 647001409;case 151:return 637535553;case 197:return 653604161;case 196:case 239:return 653620545;case 238:return 639894849;case 240:case 209:return 638121281;case 157:return 653616449;case 156:case 158:case 159:return 653616449;case 120:case 135:case 146:case 132:case 138:case 136:case 123:case 139:case 106:case 150:case 153:case 155:case 160:case 161:case 162:case 241:case 242:return-3;case 188:return 638358849;case 274:return 637797697;case 184:case 185:return 637666625;case 194:case 212:case 308:case 195:case 98:return 536872257;case 189:case 190:return 570426689;default:return 637535553}}e.getTransformFlagsSubtreeExclusions=getTransformFlagsSubtreeExclusions;function setParentPointers(t,r){r.parent=t;e.forEachChild(r,function(e){return setParentPointers(r,e)})}})(s||(s={}));var s;(function(e){function createGetSymbolWalker(t,r,n,i,a,o,s,c,u,l){return getSymbolWalker;function getSymbolWalker(f){if(f===void 0){f=function(){return true}}var d=[];var p=[];return{walkType:function(t){try{visitType(t);return{visitedTypes:e.getOwnValues(d),visitedSymbols:e.getOwnValues(p)}}finally{e.clear(d);e.clear(p)}},walkSymbol:function(t){try{visitSymbol(t);return{visitedTypes:e.getOwnValues(d),visitedSymbols:e.getOwnValues(p)}}finally{e.clear(d);e.clear(p)}}};function visitType(e){if(!e){return}if(d[e.id]){return}d[e.id]=e;var t=visitSymbol(e.symbol);if(t)return;if(e.flags&524288){var r=e;var n=r.objectFlags;if(n&4){visitTypeReference(e)}if(n&32){visitMappedType(e)}if(n&(1|2)){visitInterfaceType(e)}if(n&(8|16)){visitObjectType(r)}}if(e.flags&262144){visitTypeParameter(e)}if(e.flags&3145728){visitUnionOrIntersectionType(e)}if(e.flags&4194304){visitIndexType(e)}if(e.flags&8388608){visitIndexedAccessType(e)}}function visitTypeReference(t){visitType(t.target);e.forEach(t.typeArguments,visitType)}function visitTypeParameter(e){visitType(u(e))}function visitUnionOrIntersectionType(t){e.forEach(t.types,visitType)}function visitIndexType(e){visitType(e.type)}function visitIndexedAccessType(e){visitType(e.objectType);visitType(e.indexType);visitType(e.constraint)}function visitMappedType(e){visitType(e.typeParameter);visitType(e.constraintType);visitType(e.templateType);visitType(e.modifiersType)}function visitSignature(i){var a=r(i);if(a){visitType(a.type)}e.forEach(i.typeParameters,visitType);for(var o=0,s=i.parameters;o>",0,X);var Le=createSignature(undefined,undefined,undefined,e.emptyArray,X,undefined,0,false,false);var Re=createSignature(undefined,undefined,undefined,e.emptyArray,ee,undefined,0,false,false);var Be=createSignature(undefined,undefined,undefined,e.emptyArray,X,undefined,0,false,false);var je=createSignature(undefined,undefined,undefined,e.emptyArray,ye,undefined,0,false,false);var Je=createIndexInfo(oe,true);var We=e.createSymbolTable();var Ue;var ze=e.createMap();var Ve;var Ke;var qe;var Ge;var He;var Qe;var $e;var Xe;var Ye;var Ze;var et;var tt;var rt;var nt;var it;var at;var ot;var st;var ct;var ut;var lt;var ft;var dt;var pt;var gt;var _t;var mt;var yt;var ht;var vt;var Tt;var St;var bt;var xt;var Ct;var Et;var Dt=e.createMap();var kt=0;var Nt=0;var At=0;var Ot=false;var Ft=getLiteralType("");var Pt=getLiteralType(0);var It=getLiteralType({negative:false,base10Value:"0"});var wt=[];var Mt=[];var Lt=[];var Rt=0;var Bt=10;var jt=[];var Jt=[];var Wt=[];var Ut=[];var zt=[];var Vt=[];var Kt=[];var qt=[];var Gt=[];var Ht=[];var Qt=[];var $t=[];var Xt=e.createDiagnosticCollection();var Yt=e.createMultiMap();var Zt;(function(e){e[e["None"]=0]="None";e[e["TypeofEQString"]=1]="TypeofEQString";e[e["TypeofEQNumber"]=2]="TypeofEQNumber";e[e["TypeofEQBigInt"]=4]="TypeofEQBigInt";e[e["TypeofEQBoolean"]=8]="TypeofEQBoolean";e[e["TypeofEQSymbol"]=16]="TypeofEQSymbol";e[e["TypeofEQObject"]=32]="TypeofEQObject";e[e["TypeofEQFunction"]=64]="TypeofEQFunction";e[e["TypeofEQHostObject"]=128]="TypeofEQHostObject";e[e["TypeofNEString"]=256]="TypeofNEString";e[e["TypeofNENumber"]=512]="TypeofNENumber";e[e["TypeofNEBigInt"]=1024]="TypeofNEBigInt";e[e["TypeofNEBoolean"]=2048]="TypeofNEBoolean";e[e["TypeofNESymbol"]=4096]="TypeofNESymbol";e[e["TypeofNEObject"]=8192]="TypeofNEObject";e[e["TypeofNEFunction"]=16384]="TypeofNEFunction";e[e["TypeofNEHostObject"]=32768]="TypeofNEHostObject";e[e["EQUndefined"]=65536]="EQUndefined";e[e["EQNull"]=131072]="EQNull";e[e["EQUndefinedOrNull"]=262144]="EQUndefinedOrNull";e[e["NEUndefined"]=524288]="NEUndefined";e[e["NENull"]=1048576]="NENull";e[e["NEUndefinedOrNull"]=2097152]="NEUndefinedOrNull";e[e["Truthy"]=4194304]="Truthy";e[e["Falsy"]=8388608]="Falsy";e[e["All"]=16777215]="All";e[e["BaseStringStrictFacts"]=3735041]="BaseStringStrictFacts";e[e["BaseStringFacts"]=12582401]="BaseStringFacts";e[e["StringStrictFacts"]=16317953]="StringStrictFacts";e[e["StringFacts"]=16776705]="StringFacts";e[e["EmptyStringStrictFacts"]=12123649]="EmptyStringStrictFacts";e[e["EmptyStringFacts"]=12582401]="EmptyStringFacts";e[e["NonEmptyStringStrictFacts"]=7929345]="NonEmptyStringStrictFacts";e[e["NonEmptyStringFacts"]=16776705]="NonEmptyStringFacts";e[e["BaseNumberStrictFacts"]=3734786]="BaseNumberStrictFacts";e[e["BaseNumberFacts"]=12582146]="BaseNumberFacts";e[e["NumberStrictFacts"]=16317698]="NumberStrictFacts";e[e["NumberFacts"]=16776450]="NumberFacts";e[e["ZeroNumberStrictFacts"]=12123394]="ZeroNumberStrictFacts";e[e["ZeroNumberFacts"]=12582146]="ZeroNumberFacts";e[e["NonZeroNumberStrictFacts"]=7929090]="NonZeroNumberStrictFacts";e[e["NonZeroNumberFacts"]=16776450]="NonZeroNumberFacts";e[e["BaseBigIntStrictFacts"]=3734276]="BaseBigIntStrictFacts";e[e["BaseBigIntFacts"]=12581636]="BaseBigIntFacts";e[e["BigIntStrictFacts"]=16317188]="BigIntStrictFacts";e[e["BigIntFacts"]=16775940]="BigIntFacts";e[e["ZeroBigIntStrictFacts"]=12122884]="ZeroBigIntStrictFacts";e[e["ZeroBigIntFacts"]=12581636]="ZeroBigIntFacts";e[e["NonZeroBigIntStrictFacts"]=7928580]="NonZeroBigIntStrictFacts";e[e["NonZeroBigIntFacts"]=16775940]="NonZeroBigIntFacts";e[e["BaseBooleanStrictFacts"]=3733256]="BaseBooleanStrictFacts";e[e["BaseBooleanFacts"]=12580616]="BaseBooleanFacts";e[e["BooleanStrictFacts"]=16316168]="BooleanStrictFacts";e[e["BooleanFacts"]=16774920]="BooleanFacts";e[e["FalseStrictFacts"]=12121864]="FalseStrictFacts";e[e["FalseFacts"]=12580616]="FalseFacts";e[e["TrueStrictFacts"]=7927560]="TrueStrictFacts";e[e["TrueFacts"]=16774920]="TrueFacts";e[e["SymbolStrictFacts"]=7925520]="SymbolStrictFacts";e[e["SymbolFacts"]=16772880]="SymbolFacts";e[e["ObjectStrictFacts"]=7888800]="ObjectStrictFacts";e[e["ObjectFacts"]=16736160]="ObjectFacts";e[e["FunctionStrictFacts"]=7880640]="FunctionStrictFacts";e[e["FunctionFacts"]=16728e3]="FunctionFacts";e[e["UndefinedFacts"]=9830144]="UndefinedFacts";e[e["NullFacts"]=9363232]="NullFacts";e[e["EmptyObjectStrictFacts"]=16318463]="EmptyObjectStrictFacts";e[e["EmptyObjectFacts"]=16777215]="EmptyObjectFacts"})(Zt||(Zt={}));var er=e.createMapFromTemplate({string:1,number:2,bigint:4,boolean:8,symbol:16,undefined:65536,object:32,function:64});var tr=e.createMapFromTemplate({string:256,number:512,bigint:1024,boolean:2048,symbol:4096,undefined:524288,object:8192,function:16384});var rr=e.createMapFromTemplate({string:oe,number:se,bigint:ce,boolean:pe,symbol:ge,undefined:re});var nr=createTypeofType();var ir;var ar;var or=e.createMap();var sr=e.createMap();var cr=e.createMap();var ur=e.createMap();var lr=e.createMap();var fr=e.createMap();var dr;(function(e){e[e["Type"]=0]="Type";e[e["ResolvedBaseConstructorType"]=1]="ResolvedBaseConstructorType";e[e["DeclaredType"]=2]="DeclaredType";e[e["ResolvedReturnType"]=3]="ResolvedReturnType";e[e["ImmediateBaseConstraint"]=4]="ImmediateBaseConstraint";e[e["EnumTagType"]=5]="EnumTagType";e[e["JSDocTypeReference"]=6]="JSDocTypeReference"})(dr||(dr={}));var pr;(function(e){e[e["Normal"]=0]="Normal";e[e["SkipContextSensitive"]=1]="SkipContextSensitive";e[e["Inferential"]=2]="Inferential";e[e["Contextual"]=3]="Contextual"})(pr||(pr={}));var gr;(function(e){e[e["None"]=0]="None";e[e["Bivariant"]=1]="Bivariant";e[e["Strict"]=2]="Strict"})(gr||(gr={}));var _r;(function(e){e[e["IncludeReadonly"]=1]="IncludeReadonly";e[e["ExcludeReadonly"]=2]="ExcludeReadonly";e[e["IncludeOptional"]=4]="IncludeOptional";e[e["ExcludeOptional"]=8]="ExcludeOptional"})(_r||(_r={}));var mr;(function(e){e[e["None"]=0]="None";e[e["Source"]=1]="Source";e[e["Target"]=2]="Target";e[e["Both"]=3]="Both"})(mr||(mr={}));var yr;(function(e){e["resolvedExports"]="resolvedExports";e["resolvedMembers"]="resolvedMembers"})(yr||(yr={}));var hr;(function(e){e[e["Local"]=0]="Local";e[e["Parameter"]=1]="Parameter"})(hr||(hr={}));var vr=e.createSymbolTable();vr.set(R.escapedName,R);var Tr=e.and(isNotOverload,isNotAccessor);initializeTypeChecker();return W;function getJsxNamespace(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxNamespace){return r.localJsxNamespace}var n=r.pragmas.get("jsx");if(n){var i=e.isArray(n)?n[0]:n;r.localJsxFactory=e.parseIsolatedEntityName(i.arguments.factory,C);if(r.localJsxFactory){return r.localJsxNamespace=getFirstIdentifier(r.localJsxFactory).escapedText}}}}if(!ir){ir="React";if(x.jsxFactory){ar=e.parseIsolatedEntityName(x.jsxFactory,C);if(ar){ir=getFirstIdentifier(ar).escapedText}}else if(x.reactNamespace){ir=e.escapeLeadingUnderscores(x.reactNamespace)}}return ir}function getEmitResolver(e,t){getDiagnostics(e,t);return M}function lookupOrIssueError(t,r,n,i,a,o){var s=t?e.createDiagnosticForNode(t,r,n,i,a,o):e.createCompilerDiagnostic(r,n,i,a,o);var c=Xt.lookup(s);if(c){return c}else{Xt.add(s);return s}}function addRelatedInfo(e){var t=[];for(var r=1;r=5)continue;addRelatedInfo(a,!e.length(a.relatedInformation)?e.createDiagnosticForNode(c,e.Diagnostics._0_was_also_declared_here,n):e.createDiagnosticForNode(c,e.Diagnostics.and_here))}}function combineSymbolTables(t,r){if(!e.hasEntries(t))return r;if(!e.hasEntries(r))return t;var n=e.createSymbolTable();mergeSymbolTable(n,t);mergeSymbolTable(n,r);return n}function mergeSymbolTable(e,t){t.forEach(function(t,r){var n=e.get(r);e.set(r,n?mergeSymbol(n,t):t)})}function mergeModuleAugmentation(t){var r=t.parent;if(r.symbol.declarations[0]!==r){e.Debug.assert(r.symbol.declarations.length>1);return}if(e.isGlobalScopeAugmentation(r)){mergeSymbolTable(We,r.symbol.exports)}else{var n=!(t.parent.parent.flags&4194304)?e.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found:undefined;var i=resolveExternalModuleNameWorker(t,t,n,true);if(!i){return}i=resolveExternalModuleSymbol(i);if(i.flags&1920){i=mergeSymbol(i,r.symbol)}else{error(t,e.Diagnostics.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,t.text)}}}function addToSymbolTable(t,r,n){r.forEach(function(r,i){var a=t.get(i);if(a){e.forEach(a.declarations,addDeclarationDiagnostic(e.unescapeLeadingUnderscores(i),n))}else{t.set(i,r)}});function addDeclarationDiagnostic(t,r){return function(n){return Xt.add(e.createDiagnosticForNode(n,r,t))}}}function getSymbolLinks(e){if(e.flags&33554432)return e;var t=getSymbolId(e);return Jt[t]||(Jt[t]={})}function getNodeLinks(e){var t=getNodeId(e);return Wt[t]||(Wt[t]={flags:0})}function isGlobalSourceFile(t){return t.kind===279&&!e.isExternalOrCommonJsModule(t)}function getSymbol(t,r,n){if(n){var i=t.get(r);if(i){e.Debug.assert((e.getCheckFlags(i)&1)===0,"Should never get an instantiated symbol here.");if(i.flags&n){return i}if(i.flags&2097152){var a=resolveAlias(i);if(a===Q||a.flags&n){return i}}}}}function getSymbolsOfParameterPropertyDeclaration(t,r){var n=t.parent;var i=t.parent.parent;var a=getSymbol(n.locals,r,67220415);var o=getSymbol(getMembersOfSymbol(i.symbol),r,67220415);if(a&&o){return[a,o]}return e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}function isBlockScopedNameDeclaredBeforeUse(t,n){var i=e.getSourceFileOfNode(t);var a=e.getSourceFileOfNode(n);if(i!==a){if(E&&(i.externalModuleIndicator||a.externalModuleIndicator)||!x.outFile&&!x.out||isInTypeQuery(n)||t.flags&4194304){return true}if(isUsedInFunctionOrInstanceProperty(n,t)){return true}var o=r.getSourceFiles();return o.indexOf(i)<=o.indexOf(a)}if(t.pos<=n.pos){if(t.kind===186){var s=e.getAncestor(n,186);if(s){return e.findAncestor(s,e.isBindingElement)!==e.findAncestor(t,e.isBindingElement)||t.pos=2&&e.isParameter(d)&&v.body&&f.valueDeclaration.pos>=v.body.pos&&f.valueDeclaration.end<=v.body.end){h=false}else if(f.flags&1){h=d.kind===151||d===t.type&&!!e.findAncestor(f.valueDeclaration,e.isParameter)}}}else if(t.kind===175){h=d===t.trueType}if(h){break e}else{f=undefined}}}switch(t.kind){case 279:if(!e.isExternalOrCommonJsModule(t))break;y=true;case 244:var T=getSymbolOfNode(t).exports;if(t.kind===279||e.isAmbientModule(t)){if(f=T.get("default")){var b=e.getLocalSymbolForExportDefault(f);if(b&&f.flags&n&&b.escapedName===r){break e}f=undefined}var C=T.get(r);if(C&&C.flags===2097152&&e.getDeclarationOfKind(C,257)){break}}if(r!=="default"&&(f=c(T,r,n&2623475))){if(e.isSourceFile(t)&&t.commonJsModuleIndicator&&!f.declarations.some(e.isJSDocTypeAlias)){f=undefined}else{break e}}break;case 243:if(f=c(getSymbolOfNode(t).exports,r,n&8)){break e}break;case 154:case 153:if(e.isClassLike(t.parent)&&!e.hasModifier(t,32)){var E=findConstructorDeclaration(t.parent);if(E&&E.locals){if(c(E.locals,r,n&67220415)){g=t}}}break;case 240:case 209:case 241:if(f=c(getSymbolOfNode(t).members||S,r,n&67897832)){if(!isTypeParameterSymbolDeclaredInContainer(f,t)){f=undefined;break}if(d&&e.hasModifier(d,32)){error(_,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);return undefined}break e}if(t.kind===209&&n&32){var D=t.name;if(D&&r===D.escapedText){f=t.symbol;break e}}break;case 211:if(d===t.expression&&t.parent.token===86){var k=t.parent.parent;if(e.isClassLike(k)&&(f=c(getSymbolOfNode(k).members,r,n&67897832))){if(i){error(_,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters)}return undefined}}break;case 149:m=t.parent.parent;if(e.isClassLike(m)||m.kind===241){if(f=c(getSymbolOfNode(m).members,r,n&67897832)){error(_,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return undefined}}break;case 156:case 155:case 157:case 158:case 159:case 239:case 197:if(n&3&&r==="arguments"){f=B;break e}break;case 196:if(n&3&&r==="arguments"){f=B;break e}if(n&16){var N=t.name;if(N&&r===N.escapedText){f=t.symbol;break e}}break;case 152:if(t.parent&&t.parent.kind===151){t=t.parent}if(t.parent&&e.isClassElement(t.parent)){t=t.parent}break;case 304:case 297:t=e.getJSDocHost(t);break}if(isSelfReferenceLocation(t)){p=t}d=t;t=t.parent}if(o&&f&&(!p||f!==p.symbol)){f.isReferenced|=n}if(!f){if(d){e.Debug.assert(d.kind===279);if(d.commonJsModuleIndicator&&r==="exports"&&n&d.symbol.flags){return d.symbol}}if(!s){f=c(We,r,n)}}if(!f){if(l&&e.isInJSFile(l)&&l.parent){if(e.isRequireCall(l.parent,false)){return j}}}if(!f){if(i){if(!_||!checkAndReportErrorForMissingPrefix(_,r,a)&&!checkAndReportErrorForExtendingInterface(_)&&!checkAndReportErrorForUsingTypeAsNamespace(_,r,n)&&!checkAndReportErrorForUsingTypeAsValue(_,r,n)&&!checkAndReportErrorForUsingNamespaceModuleAsValue(_,r,n)){var A=void 0;if(u&&Rt=0){error(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,n,S);return undefined}}}}if(d){error(a,d,n,f.resolvedFileName)}else{var b=e.tryExtractTSExtension(n);if(b){var s=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead;error(a,s,b,e.removeExtension(n,b))}else if(!x.resolveJsonModule&&e.fileExtensionIs(n,".json")&&e.getEmitModuleResolutionKind(x)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(x)){error(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n)}else{error(a,i,n)}}}return undefined}function errorOnImplicitAnyModule(t,r,n,i){var a=n.packageId,o=n.resolvedFileName;var s=!e.isExternalModuleNameRelative(i)&&a?typesPackageExists(a.name)?e.chainDiagnosticMessages(undefined,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,a.name,e.mangleScopedPackageName(a.name)):e.chainDiagnosticMessages(undefined,e.Diagnostics.Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(a.name)):undefined;errorOrSuggestion(t,r,e.chainDiagnosticMessages(s,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,o))}function typesPackageExists(t){return u().has(e.getTypesPackageName(t))}function resolveExternalModuleSymbol(e,t){if(e){var r=resolveSymbol(e.exports.get("export="),t);var n=getCommonJsExportEquals(r,e);return getMergedSymbol(n)||e}return undefined}function getCommonJsExportEquals(t,r){if(!t||t===Q||t===r||r.exports.size===1||t.flags&2097152){return t}var n=cloneSymbol(t);if(n.exports===undefined){n.flags=n.flags|512;n.exports=e.createSymbolTable()}r.exports.forEach(function(e,t){if(t==="export=")return;n.exports.set(t,n.exports.has(t)?mergeSymbol(n.exports.get(t),e):e)});return n}function resolveESModuleSymbol(t,r,n){var i=resolveExternalModuleSymbol(t,n);if(!n&&i){if(!(i.flags&(1536|3))&&!e.getDeclarationOfKind(i,279)){error(r,e.Diagnostics.Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct,symbolToString(t));return i}if(x.esModuleInterop){var a=r.parent;if(e.isImportDeclaration(a)&&e.getNamespaceDeclarationNode(a)||e.isImportCall(a)){var o=getTypeOfSymbol(i);var s=getSignaturesOfStructuredType(o,0);if(!s||!s.length){s=getSignaturesOfStructuredType(o,1)}if(s&&s.length){var c=getTypeWithSyntheticDefaultImportType(o,i,t);var u=createSymbol(i.flags,i.escapedName);u.declarations=i.declarations?i.declarations.slice():[];u.parent=i.parent;u.target=i;u.originatingImport=a;if(i.valueDeclaration)u.valueDeclaration=i.valueDeclaration;if(i.constEnumOnlyModule)u.constEnumOnlyModule=true;if(i.members)u.members=e.cloneMap(i.members);if(i.exports)u.exports=e.cloneMap(i.exports);var l=resolveStructuredTypeMembers(c);u.type=createAnonymousType(u,l.members,e.emptyArray,e.emptyArray,l.stringIndexInfo,l.numberIndexInfo);return u}}}}return i}function hasExportAssignmentSymbol(e){return e.exports.get("export=")!==undefined}function getExportsOfModuleAsArray(e){return symbolsToArray(getExportsOfModule(e))}function getExportsAndPropertiesOfModule(t){var r=getExportsOfModuleAsArray(t);var n=resolveExternalModuleSymbol(t);if(n!==t){e.addRange(r,getPropertiesOfType(getTypeOfSymbol(n)))}return r}function tryGetMemberInModuleExports(e,t){var r=getExportsOfModule(t);if(r){return r.get(e)}}function tryGetMemberInModuleExportsAndProperties(e,t){var r=tryGetMemberInModuleExports(e,t);if(r){return r}var n=resolveExternalModuleSymbol(t);if(n===t){return undefined}var i=getTypeOfSymbol(n);return i.flags&131068?undefined:getPropertyOfType(i,e)}function getExportsOfSymbol(e){return e.flags&32?getResolvedMembersOrExportsOfSymbol(e,"resolvedExports"):e.flags&1536?getExportsOfModule(e):e.exports||S}function getExportsOfModule(e){var t=getSymbolLinks(e);return t.resolvedExports||(t.resolvedExports=getExportsOfModuleWorker(e))}function extendExportSymbols(t,r,n,i){if(!r)return;r.forEach(function(r,a){if(a==="default")return;var o=t.get(a);if(!o){t.set(a,r);if(n&&i){n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}else if(n&&i&&o&&resolveSymbol(o)!==resolveSymbol(r)){var s=n.get(a);if(!s.exportsWithDuplicate){s.exportsWithDuplicate=[i]}else{s.exportsWithDuplicate.push(i)}}})}function getExportsOfModuleWorker(t){var r=[];t=resolveExternalModuleSymbol(t);return visit(t)||S;function visit(t){if(!(t&&t.exports&&e.pushIfUnique(r,t))){return}var n=e.cloneMap(t.exports);var i=t.exports.get("__export");if(i){var a=e.createSymbolTable();var o=e.createMap();for(var s=0,c=i.declarations;s=f){return l.substr(0,f-"...".length)+"..."}return l}function toNodeBuilderFlags(e){if(e===void 0){e=0}return e&9469291}function createNodeBuilder(){return{typeToTypeNode:function(e,t,r,n){return withContext(t,r,n,function(t){return typeToTypeNodeHelper(e,t)})},indexInfoToIndexSignatureDeclaration:function(e,t,r,n,i){return withContext(r,n,i,function(r){return indexInfoToIndexSignatureDeclarationHelper(e,t,r)})},signatureToSignatureDeclaration:function(e,t,r,n,i){return withContext(r,n,i,function(r){return signatureToSignatureDeclarationHelper(e,t,r)})},symbolToEntityName:function(e,t,r,n,i){return withContext(r,n,i,function(r){return symbolToName(e,r,t,false)})},symbolToExpression:function(e,t,r,n,i){return withContext(r,n,i,function(r){return symbolToExpression(e,r,t)})},symbolToTypeParameterDeclarations:function(e,t,r,n){return withContext(t,r,n,function(t){return typeParametersToTypeParameterDeclarations(e,t)})},symbolToParameterDeclaration:function(e,t,r,n){return withContext(t,r,n,function(t){return symbolToParameterDeclaration(e,t)})},typeParameterToDeclaration:function(e,t,r,n){return withContext(t,r,n,function(t){return typeParameterToDeclaration(e,t)})}};function withContext(t,n,i,a){e.Debug.assert(t===undefined||(t.flags&8)===0);var o={enclosingDeclaration:t,flags:n||0,tracker:i&&i.trackSymbol?i:{trackSymbol:e.noop,moduleResolverHost:n&134217728?{getCommonSourceDirectory:r.getCommonSourceDirectory?function(){return r.getCommonSourceDirectory()}:function(){return""},getSourceFiles:function(){return r.getSourceFiles()},getCurrentDirectory:r.getCurrentDirectory&&function(){return r.getCurrentDirectory()}}:undefined},encounteredError:false,visitedTypes:undefined,symbolDepth:undefined,inferTypeParameters:undefined,approximateLength:0};var s=a(o);return o.encounteredError?undefined:s}function checkTruncationLength(t){if(t.truncating)return t.truncating;return t.truncating=!(t.flags&1)&&t.approximateLength>e.defaultMaximumTruncationLength}function typeToTypeNodeHelper(t,r){if(l&&l.throwIfCancellationRequested){l.throwIfCancellationRequested()}var n=r.flags&8388608;r.flags&=~8388608;if(!t){r.encounteredError=true;return undefined}if(t.flags&1){r.approximateLength+=3;return e.createKeywordTypeNode(120)}if(t.flags&2){return e.createKeywordTypeNode(143)}if(t.flags&4){r.approximateLength+=6;return e.createKeywordTypeNode(138)}if(t.flags&8){r.approximateLength+=6;return e.createKeywordTypeNode(135)}if(t.flags&64){r.approximateLength+=6;return e.createKeywordTypeNode(146)}if(t.flags&16){r.approximateLength+=7;return e.createKeywordTypeNode(123)}if(t.flags&1024&&!(t.flags&1048576)){var i=getParentOfSymbol(t.symbol);var a=symbolToTypeNode(i,r,67897832);var o=getDeclaredTypeOfSymbol(i)===t?a:appendReferenceToType(a,e.createTypeReferenceNode(e.symbolName(t.symbol),undefined));return o}if(t.flags&1056){return symbolToTypeNode(t.symbol,r,67897832)}if(t.flags&128){r.approximateLength+=t.value.length+2;return e.createLiteralTypeNode(e.setEmitFlags(e.createLiteral(t.value),16777216))}if(t.flags&256){r.approximateLength+=(""+t.value).length;return e.createLiteralTypeNode(e.createLiteral(t.value))}if(t.flags&2048){r.approximateLength+=e.pseudoBigIntToString(t.value).length+1;return e.createLiteralTypeNode(e.createLiteral(t.value))}if(t.flags&512){r.approximateLength+=t.intrinsicName.length;return t.intrinsicName==="true"?e.createTrue():e.createFalse()}if(t.flags&8192){if(!(r.flags&1048576)){if(isValueSymbolAccessible(t.symbol,r.enclosingDeclaration)){r.approximateLength+=6;return symbolToTypeNode(t.symbol,r,67220415)}if(r.tracker.reportInaccessibleUniqueSymbolError){r.tracker.reportInaccessibleUniqueSymbolError()}}r.approximateLength+=13;return e.createTypeOperatorNode(142,e.createKeywordTypeNode(139))}if(t.flags&16384){r.approximateLength+=4;return e.createKeywordTypeNode(106)}if(t.flags&32768){r.approximateLength+=9;return e.createKeywordTypeNode(141)}if(t.flags&65536){r.approximateLength+=4;return e.createKeywordTypeNode(96)}if(t.flags&131072){r.approximateLength+=5;return e.createKeywordTypeNode(132)}if(t.flags&4096){r.approximateLength+=6;return e.createKeywordTypeNode(139)}if(t.flags&67108864){r.approximateLength+=6;return e.createKeywordTypeNode(136)}if(t.flags&262144&&t.isThisType){if(r.flags&4194304){if(!r.encounteredError&&!(r.flags&32768)){r.encounteredError=true}if(r.tracker.reportInaccessibleThisError){r.tracker.reportInaccessibleThisError()}}r.approximateLength+=4;return e.createThis()}var s=e.getObjectFlags(t);if(s&4){e.Debug.assert(!!(t.flags&524288));return typeReferenceToTypeNode(t)}if(t.flags&262144||s&3){if(t.flags&262144&&e.contains(r.inferTypeParameters,t)){r.approximateLength+=e.symbolName(t.symbol).length+6;return e.createInferTypeNode(typeParameterToDeclarationWithConstraint(t,r,undefined))}if(r.flags&4&&t.flags&262144&&e.length(t.symbol.declarations)&&e.isTypeParameterDeclaration(t.symbol.declarations[0])&&typeParameterShadowsNameInScope(t,r)&&!isTypeSymbolAccessible(t.symbol,r.enclosingDeclaration)){var c=t.symbol.declarations[0].name;r.approximateLength+=e.idText(c).length;return e.createTypeReferenceNode(e.getGeneratedNameForNode(c,16|8),undefined)}return t.symbol?symbolToTypeNode(t.symbol,r,67897832):e.createTypeReferenceNode(e.createIdentifier("?"),undefined)}if(!n&&t.aliasSymbol&&(r.flags&16384||isTypeSymbolAccessible(t.aliasSymbol,r.enclosingDeclaration))){var u=mapToTypeNodes(t.aliasTypeArguments,r);if(isReservedMemberName(t.aliasSymbol.escapedName)&&!(t.aliasSymbol.flags&32))return e.createTypeReferenceNode(e.createIdentifier(""),u);return symbolToTypeNode(t.aliasSymbol,r,67897832,u)}if(t.flags&(1048576|2097152)){var f=t.flags&1048576?formatUnionTypes(t.types):t.types;if(e.length(f)===1){return typeToTypeNodeHelper(f[0],r)}var d=mapToTypeNodes(f,r,true);if(d&&d.length>0){var p=e.createUnionOrIntersectionTypeNode(t.flags&1048576?173:174,d);return p}else{if(!r.encounteredError&&!(r.flags&262144)){r.encounteredError=true}return undefined}}if(s&(16|32)){e.Debug.assert(!!(t.flags&524288));return createAnonymousTypeNode(t)}if(t.flags&4194304){var g=t.type;r.approximateLength+=6;var _=typeToTypeNodeHelper(g,r);return e.createTypeOperatorNode(_)}if(t.flags&8388608){var m=typeToTypeNodeHelper(t.objectType,r);var _=typeToTypeNodeHelper(t.indexType,r);r.approximateLength+=2;return e.createIndexedAccessTypeNode(m,_)}if(t.flags&16777216){var y=typeToTypeNodeHelper(t.checkType,r);var h=r.inferTypeParameters;r.inferTypeParameters=t.root.inferTypeParameters;var v=typeToTypeNodeHelper(t.extendsType,r);r.inferTypeParameters=h;var T=typeToTypeNodeHelper(getTrueTypeFromConditionalType(t),r);var S=typeToTypeNodeHelper(getFalseTypeFromConditionalType(t),r);r.approximateLength+=15;return e.createConditionalTypeNode(y,v,T,S)}if(t.flags&33554432){return typeToTypeNodeHelper(t.typeVariable,r)}return e.Debug.fail("Should be unreachable.");function createMappedTypeNodeFromType(t){e.Debug.assert(!!(t.flags&524288));var n=t.declaration.readonlyToken?e.createToken(t.declaration.readonlyToken.kind):undefined;var i=t.declaration.questionToken?e.createToken(t.declaration.questionToken.kind):undefined;var a;if(isMappedTypeWithKeyofConstraintDeclaration(t)){a=e.createTypeOperatorNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(t),r))}else{a=typeToTypeNodeHelper(getConstraintTypeFromMappedType(t),r)}var o=typeParameterToDeclarationWithConstraint(getTypeParameterFromMappedType(t),r,a);var s=typeToTypeNodeHelper(getTemplateTypeFromMappedType(t),r);var c=e.createMappedTypeNode(n,o,i,s);r.approximateLength+=10;return e.setEmitFlags(c,1)}function createAnonymousTypeNode(t){var n=""+t.id;var i=t.symbol;var a;if(i){var o=e.getObjectFlags(t)&16&&t.symbol&&t.symbol.flags&32;a=(o?"+":"")+getSymbolId(i);if(isJSConstructor(i.valueDeclaration)){var s=t===getInferredClassType(i)?67897832:67220415;return symbolToTypeNode(i,r,s)}else if(i.flags&32&&!getBaseTypeVariableOfClass(i)&&!(i.valueDeclaration.kind===209&&r.flags&2048)||i.flags&(384|512)||shouldWriteTypeOfFunctionSymbol()){return symbolToTypeNode(i,r,67220415)}else if(r.visitedTypes&&r.visitedTypes.has(n)){var c=getTypeAliasForTypeLiteral(t);if(c){return symbolToTypeNode(c,r,67897832)}else{return createElidedInformationPlaceholder(r)}}else{if(!r.visitedTypes){r.visitedTypes=e.createMap()}if(!r.symbolDepth){r.symbolDepth=e.createMap()}var u=r.symbolDepth.get(a)||0;if(u>10){return createElidedInformationPlaceholder(r)}r.symbolDepth.set(a,u+1);r.visitedTypes.set(n,true);var l=createTypeNodeFromObjectType(t);r.visitedTypes.delete(n);r.symbolDepth.set(a,u);return l}}else{return createTypeNodeFromObjectType(t)}function shouldWriteTypeOfFunctionSymbol(){var t=!!(i.flags&8192)&&e.some(i.declarations,function(t){return e.hasModifier(t,32)});var a=!!(i.flags&16)&&(i.parent||e.forEach(i.declarations,function(e){return e.parent.kind===279||e.parent.kind===245}));if(t||a){return(!!(r.flags&4096)||r.visitedTypes&&r.visitedTypes.has(n))&&(!(r.flags&8)||isValueSymbolAccessible(i,r.enclosingDeclaration))}}}function createTypeNodeFromObjectType(t){if(isGenericMappedType(t)){return createMappedTypeNodeFromType(t)}var n=resolveStructuredTypeMembers(t);if(!n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(!n.callSignatures.length&&!n.constructSignatures.length){r.approximateLength+=2;return e.setEmitFlags(e.createTypeLiteralNode(undefined),1)}if(n.callSignatures.length===1&&!n.constructSignatures.length){var i=n.callSignatures[0];var a=signatureToSignatureDeclarationHelper(i,165,r);return a}if(n.constructSignatures.length===1&&!n.callSignatures.length){var i=n.constructSignatures[0];var a=signatureToSignatureDeclarationHelper(i,166,r);return a}}var o=r.flags;r.flags|=4194304;var s=createTypeNodesFromResolvedType(n);r.flags=o;var c=e.createTypeLiteralNode(s);r.approximateLength+=2;return e.setEmitFlags(c,r.flags&1024?0:1)}function typeReferenceToTypeNode(t){var n=t.typeArguments||e.emptyArray;if(t.target===$e){if(r.flags&2){var i=typeToTypeNodeHelper(n[0],r);return e.createTypeReferenceNode("Array",[i])}var a=typeToTypeNodeHelper(n[0],r);return e.createArrayTypeNode(a)}else if(t.target.objectFlags&8){if(n.length>0){var o=getTypeReferenceArity(t);var s=mapToTypeNodes(n.slice(0,o),r);var c=t.target.hasRestElement;if(s){for(var u=t.target.minLength;u0){var v=(t.target.typeParameters||e.emptyArray).length;h=mapToTypeNodes(n.slice(u,v),r)}var T=r.flags;r.flags|=16;var S=symbolToTypeNode(t.symbol,r,67897832,h);r.flags=T;return!f?S:appendReferenceToType(f,S)}}function appendReferenceToType(t,r){if(e.isImportTypeNode(t)){var n=t.typeArguments;if(t.qualifier){(e.isIdentifier(t.qualifier)?t.qualifier:t.qualifier.right).typeArguments=n}t.typeArguments=r.typeArguments;var i=getAccessStack(r);for(var a=0,o=i;a2){return[typeToTypeNodeHelper(t[0],r),e.createTypeReferenceNode("... "+(t.length-2)+" more ...",undefined),typeToTypeNodeHelper(t[t.length-1],r)]}}var i=[];var a=0;for(var o=0,s=t;o0)}else{a=[t]}return a;function getSymbolChain(t,n,a){var o=getAccessibleSymbolChain(t,r.enclosingDeclaration,n,!!(r.flags&128));var s;if(!o||needsQualification(o[0],r.enclosingDeclaration,o.length===1?n:getQualifiedLeftMeaning(n))){var c=getContainersOfSymbol(o?o[0]:t,r.enclosingDeclaration);if(e.length(c)){s=c.map(function(t){return e.some(t.declarations,hasNonGlobalAugmentationExternalModuleSymbol)?getSpecifierForModuleSymbol(t,r):undefined});var u=c.map(function(e,t){return t});u.sort(sortByBestName);var l=u.map(function(e){return c[e]});for(var f=0,d=l;f1?createAccessFromSymbolChain(a,a.length-1,1):undefined;var c=i||lookupTypeParameterNodes(a,0,r);var u=getSpecifierForModuleSymbol(a[0],r);if(!(r.flags&67108864)&&e.getEmitModuleResolutionKind(x)===e.ModuleResolutionKind.NodeJs&&u.indexOf("/node_modules/")>=0){r.encounteredError=true;if(r.tracker.reportLikelyUnsafeImportRequiredError){r.tracker.reportLikelyUnsafeImportRequiredError(u)}}var l=e.createLiteralTypeNode(e.createLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode)r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]);r.approximateLength+=u.length+10;if(!s||e.isEntityName(s)){if(s){var f=e.isIdentifier(s)?s:s.right;f.typeArguments=undefined}return e.createImportTypeNode(l,s,c,o)}else{var d=getTopmostIndexedAccessType(s);var p=d.objectType.typeName;return e.createIndexedAccessTypeNode(e.createImportTypeNode(l,p,c,o),d.indexType)}}var g=createAccessFromSymbolChain(a,a.length-1,0);if(e.isIndexedAccessTypeNode(g)){return g}if(o){return e.createTypeQueryNode(g)}else{var f=e.isIdentifier(g)?g:g.right;var _=f.typeArguments;f.typeArguments=undefined;return e.createTypeReferenceNode(g,_)}function createAccessFromSymbolChain(t,n,a){var o=n===t.length-1?i:lookupTypeParameterNodes(t,n,r);var s=t[n];if(n===0){r.flags|=16777216}var c=getNameOfSymbolAsWritten(s,r);r.approximateLength+=c.length+1;if(n===0){r.flags^=16777216}var u=t[n-1];if(!(r.flags&16)&&u&&getMembersOfSymbol(u)&&getMembersOfSymbol(u).get(s.escapedName)===s){var l=createAccessFromSymbolChain(t,n-1,a);if(e.isIndexedAccessTypeNode(l)){return e.createIndexedAccessTypeNode(l,e.createLiteralTypeNode(e.createLiteral(c)))}else{return e.createIndexedAccessTypeNode(e.createTypeReferenceNode(l,o),e.createLiteralTypeNode(e.createLiteral(c)))}}var f=e.setEmitFlags(e.createIdentifier(c,o),16777216);f.symbol=s;if(n>a){var l=createAccessFromSymbolChain(t,n-1,a);if(!e.isEntityName(l)){return e.Debug.fail("Impossible construct - an export of an indexed access cannot be reachable")}return e.createQualifiedName(l,f)}return f}}function symbolToName(t,r,n,i){var a=lookupSymbolChain(t,r,n);if(i&&a.length!==1&&!r.encounteredError&&!(r.flags&65536)){r.encounteredError=true}return createEntityNameFromSymbolChain(a,a.length-1);function createEntityNameFromSymbolChain(t,n){var i=lookupTypeParameterNodes(t,n,r);var a=t[n];if(n===0){r.flags|=16777216}var o=getNameOfSymbolAsWritten(a,r);if(n===0){r.flags^=16777216}var s=e.setEmitFlags(e.createIdentifier(o,i),16777216);s.symbol=a;return n>0?e.createQualifiedName(createEntityNameFromSymbolChain(t,n-1),s):s}}function symbolToExpression(t,r,n){var i=lookupSymbolChain(t,r,n);return createExpressionFromSymbolChain(i,i.length-1);function createExpressionFromSymbolChain(t,n){var i=lookupTypeParameterNodes(t,n,r);var a=t[n];if(e.some(a.declarations,hasNonGlobalAugmentationExternalModuleSymbol)){return e.createLiteral(getSpecifierForModuleSymbol(a,r))}if(n===0){r.flags|=16777216}var o=getNameOfSymbolAsWritten(a,r);if(n===0){r.flags^=16777216}var s=o.charCodeAt(0);var c=e.isIdentifierStart(s,C);if(n===0||c){var u=e.setEmitFlags(e.createIdentifier(o,i),16777216);u.symbol=a;return n>0?e.createPropertyAccess(createExpressionFromSymbolChain(t,n-1),u):u}else{if(s===91){o=o.substring(1,o.length-1);s=o.charCodeAt(0)}var l=void 0;if(e.isSingleOrDoubleQuote(s)){l=e.createLiteral(o.substring(1,o.length-1).replace(/\\./g,function(e){return e.substring(1)}));l.singleQuote=s===39}else if(""+ +o===o){l=e.createLiteral(+o)}if(!l){l=e.setEmitFlags(e.createIdentifier(o,i),16777216);l.symbol=a}return e.createElementAccess(createExpressionFromSymbolChain(t,n-1),l)}}}}function typePredicateToString(t,r,n,i){if(n===void 0){n=16384}return i?typePredicateToStringWorker(i).getText():e.usingSingleLineStringWriter(typePredicateToStringWorker);function typePredicateToStringWorker(i){var a=e.createTypePredicateNode(t.kind===1?e.createIdentifier(t.parameterName):e.createThisTypeNode(),L.typeToTypeNode(t.type,r,toNodeBuilderFlags(n)|70221824|512));var o=e.createPrinter({removeComments:true});var s=r&&e.getSourceFileOfNode(r);o.writeNode(4,a,s,i);return i}}function formatUnionTypes(e){var t=[];var r=0;for(var n=0;n=0){var n=wt.length;for(var i=r;i=0;r--){if(hasType(wt[r],Lt[r])){return-1}if(wt[r]===e&&Lt[r]===t){return r}}return-1}function hasType(t,r){switch(r){case 0:return!!getSymbolLinks(t).type;case 5:return!!getNodeLinks(t).resolvedEnumType;case 2:return!!getSymbolLinks(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!getSymbolLinks(t).resolvedJSDocType}return e.Debug.assertNever(r)}function popTypeResolution(){wt.pop();Lt.pop();return Mt.pop()}function getDeclarationContainer(t){return e.findAncestor(e.getRootDeclaration(t),function(e){switch(e.kind){case 237:case 238:case 253:case 252:case 251:case 250:return false;default:return true}}).parent}function getTypeOfPrototypeProperty(t){var r=getDeclaredTypeOfSymbol(getParentOfSymbol(t));return r.typeParameters?createTypeReference(r,e.map(r.typeParameters,function(e){return X})):r}function getTypeOfPropertyOfType(e,t){var r=getPropertyOfType(e,t);return r?getTypeOfSymbol(r):undefined}function isTypeAny(e){return e&&(e.flags&1)!==0}function getTypeForBindingElementParent(e){var t=getSymbolOfNode(e);return t&&getSymbolLinks(t).type||getTypeForVariableLikeDeclaration(e,false)}function isComputedNonLiteralName(t){return t.kind===149&&!e.isStringOrNumericLiteralLike(t.expression)}function getRestType(t,r,n){t=filterType(t,function(e){return!(e.flags&98304)});if(t.flags&131072){return xe}if(t.flags&1048576){return mapType(t,function(e){return getRestType(e,r,n)})}var i=getUnionType(e.map(r,getLiteralTypeFromPropertyName));if(isGenericObjectType(t)||isGenericIndexType(i)){if(i.flags&131072){return t}var a=getGlobalPickSymbol();var o=getGlobalExcludeSymbol();if(!a||!o){return ee}var s=getTypeAliasInstantiation(o,[getIndexType(t),i]);return getTypeAliasInstantiation(a,[t,s])}var c=e.createSymbolTable();for(var u=0,l=getPropertiesOfType(t);u=2?createIterableType(X):nt}var s=e.map(i,function(t){return e.isOmittedExpression(t)?X:getTypeFromBindingElement(t,r,n)});var c=e.findLastIndex(i,function(t){return!e.isOmittedExpression(t)&&!hasDefaultValue(t)},i.length-(o?2:1))+1;var u=createTupleType(s,c,o);if(r){u=cloneTypeReference(u);u.pattern=t}return u}function getTypeFromBindingPattern(e,t,r){if(t===void 0){t=false}if(r===void 0){r=false}return e.kind===184?getTypeFromObjectBindingPattern(e,t,r):getTypeFromArrayBindingPattern(e,t,r)}function getWidenedTypeForVariableLikeDeclaration(e,t){return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(e,true),e,t)}function widenTypeForVariableLikeDeclaration(t,r,n){if(t){if(n){reportErrorsFromWidening(r,t)}if(t.flags&8192&&(e.isBindingElement(r)||!r.type)&&t.symbol!==getSymbolOfNode(r)){t=ge}return getWidenedType(t)}t=e.isParameter(r)&&r.dotDotDotToken?nt:X;if(n){if(!declarationBelongsToPrivateAmbientMember(r)){reportImplicitAny(r,t)}}return t}function declarationBelongsToPrivateAmbientMember(t){var r=e.getRootDeclaration(t);var n=r.kind===151?r.parent:r;return isPrivateWithinAmbient(n)}function tryGetTypeFromEffectiveTypeNode(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r){return getTypeFromTypeNode(r)}}function getTypeOfVariableOrParameterOrProperty(e){var t=getSymbolLinks(e);return t.type||(t.type=getTypeOfVariableOrParameterOrPropertyWorker(e))}function getTypeOfVariableOrParameterOrPropertyWorker(t){if(t.flags&4194304){return getTypeOfPrototypeProperty(t)}if(t===j){return X}if(t.flags&134217728){var r=getSymbolOfNode(e.getSourceFileOfNode(t.valueDeclaration));var n=e.createSymbolTable();n.set("exports",r);return createAnonymousType(t,n,e.emptyArray,e.emptyArray,undefined,undefined)}var i=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(i)){return X}if(e.isSourceFile(i)){var a=e.cast(i,e.isJsonSourceFile);if(!a.statements.length){return xe}var o=getWidenedLiteralType(checkExpression(a.statements[0].expression));if(o.flags&524288){return getRegularTypeOfObjectLiteral(o)}return o}if(i.kind===254){return widenTypeForVariableLikeDeclaration(checkExpressionCached(i.expression),i)}if(!pushTypeResolution(t,0)){return ee}var s;if(e.isInJSFile(i)&&(e.isCallExpression(i)||e.isBinaryExpression(i)||e.isPropertyAccessExpression(i)&&e.isBinaryExpression(i.parent))){s=getWidenedTypeFromAssignmentDeclaration(t)}else if(e.isJSDocPropertyLikeTag(i)||e.isPropertyAccessExpression(i)||e.isIdentifier(i)||e.isClassDeclaration(i)||e.isFunctionDeclaration(i)||e.isMethodDeclaration(i)&&!e.isObjectLiteralMethod(i)||e.isMethodSignature(i)){if(t.flags&(16|8192|32|384|512)){return getTypeOfFuncClassEnumModule(t)}s=e.isBinaryExpression(i.parent)?getWidenedTypeFromAssignmentDeclaration(t):tryGetTypeFromEffectiveTypeNode(i)||X}else if(e.isPropertyAssignment(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkPropertyAssignment(i)}else if(e.isJsxAttribute(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkJsxAttribute(i)}else if(e.isShorthandPropertyAssignment(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkExpressionForMutableLocation(i.name,0)}else if(e.isObjectLiteralMethod(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkObjectLiteralMethod(i,0)}else if(e.isParameter(i)||e.isPropertyDeclaration(i)||e.isPropertySignature(i)||e.isVariableDeclaration(i)||e.isBindingElement(i)){s=getWidenedTypeForVariableLikeDeclaration(i,true)}else if(e.isEnumDeclaration(i)){s=getTypeOfFuncClassEnumModule(t)}else if(e.isEnumMember(i)){s=getTypeOfEnumMember(t)}else{return e.Debug.fail("Unhandled declaration kind! "+e.Debug.showSyntaxKind(i)+" for "+e.Debug.showSymbol(t))}if(!popTypeResolution()){s=reportCircularityError(t)}return s}function getAnnotatedAccessorTypeNode(t){if(t){if(t.kind===158){var r=e.getEffectiveReturnTypeNode(t);return r}else{var n=e.getEffectiveSetAccessorTypeAnnotationNode(t);return n}}return undefined}function getAnnotatedAccessorType(e){var t=getAnnotatedAccessorTypeNode(e);return t&&getTypeFromTypeNode(t)}function getAnnotatedAccessorThisParameter(e){var t=getAccessorThisParameter(e);return t&&t.symbol}function getThisTypeOfDeclaration(e){return getThisTypeOfSignature(getSignatureFromDeclaration(e))}function getTypeOfAccessors(e){var t=getSymbolLinks(e);return t.type||(t.type=getTypeOfAccessorsWorker(e))}function getTypeOfAccessorsWorker(t){var r=e.getDeclarationOfKind(t,158);var n=e.getDeclarationOfKind(t,159);if(r&&e.isInJSFile(r)){var i=getTypeForDeclarationFromJSDocComment(r);if(i){return i}}if(!pushTypeResolution(t,0)){return ee}var a;var o=getAnnotatedAccessorType(r);if(o){a=o}else{var s=getAnnotatedAccessorType(n);if(s){a=s}else{if(r&&r.body){a=getReturnTypeFromBody(r)}else{if(n){errorOrSuggestion(F,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,symbolToString(t))}else{e.Debug.assert(!!r,"there must existed getter as we are current checking either setter or getter in this function");errorOrSuggestion(F,r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,symbolToString(t))}a=X}}}if(!popTypeResolution()){a=X;if(F){var c=e.getDeclarationOfKind(t,158);error(c,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,symbolToString(t))}}return a}function getBaseTypeVariableOfClass(e){var t=getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(e));return t.flags&8650752?t:undefined}function getTypeOfFuncClassEnumModule(t){var r=getSymbolLinks(t);var n=r;if(!r.type){var i=e.getDeclarationOfExpando(t.valueDeclaration);if(i){var a=getSymbolOfNode(i);if(a&&(e.hasEntries(a.exports)||e.hasEntries(a.members))){t=cloneSymbol(t);r=t;if(e.hasEntries(a.exports)){t.exports=t.exports||e.createSymbolTable();mergeSymbolTable(t.exports,a.exports)}if(e.hasEntries(a.members)){t.members=t.members||e.createSymbolTable();mergeSymbolTable(t.members,a.members)}}}n.type=r.type=getTypeOfFuncClassEnumModuleWorker(t)}return r.type}function getTypeOfFuncClassEnumModuleWorker(t){var r=t.valueDeclaration;if(t.flags&1536&&e.isShorthandAmbientModuleSymbol(t)){return X}else if(r.kind===204||r.kind===189&&r.parent.kind===204){return getWidenedTypeFromAssignmentDeclaration(t)}else if(t.flags&512&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=resolveExternalModuleSymbol(t);if(n!==t){if(!pushTypeResolution(t,0)){return ee}var i=getMergedSymbol(t.exports.get("export="));var a=getWidenedTypeFromAssignmentDeclaration(i,i===n?undefined:n);if(!popTypeResolution()){return reportCircularityError(t)}return a}}var o=createObjectType(16,t);if(t.flags&32){var s=getBaseTypeVariableOfClass(t);return s?getIntersectionType([o,s]):o}else{return k&&t.flags&16777216?getOptionalType(o):o}}function getTypeOfEnumMember(e){var t=getSymbolLinks(e);return t.type||(t.type=getDeclaredTypeOfEnumMember(e))}function getTypeOfAlias(e){var t=getSymbolLinks(e);if(!t.type){var r=resolveAlias(e);t.type=r.flags&67220415?getTypeOfSymbol(r):ee}return t.type}function getTypeOfInstantiatedSymbol(e){var t=getSymbolLinks(e);if(!t.type){if(!pushTypeResolution(e,0)){return t.type=ee}var r=instantiateType(getTypeOfSymbol(t.target),t.mapper);if(!popTypeResolution()){r=reportCircularityError(e)}t.type=r}return t.type}function reportCircularityError(t){if(e.getEffectiveTypeAnnotationNode(t.valueDeclaration)){error(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(t));return ee}if(F){error(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,symbolToString(t))}return X}function getTypeOfSymbol(t){if(e.getCheckFlags(t)&1){return getTypeOfInstantiatedSymbol(t)}if(e.getCheckFlags(t)&2048){return getTypeOfReverseMappedSymbol(t)}if(t.flags&(3|4)){return getTypeOfVariableOrParameterOrProperty(t)}if(t.flags&(16|8192|32|384|512)){return getTypeOfFuncClassEnumModule(t)}if(t.flags&8){return getTypeOfEnumMember(t)}if(t.flags&98304){return getTypeOfAccessors(t)}if(t.flags&2097152){return getTypeOfAlias(t)}return ee}function isReferenceToType(t,r){return t!==undefined&&r!==undefined&&(e.getObjectFlags(t)&4)!==0&&t.target===r}function getTargetType(t){return e.getObjectFlags(t)&4?t.target:t}function hasBaseType(t,r){return check(t);function check(t){if(e.getObjectFlags(t)&(3|4)){var n=getTargetType(t);return n===r||e.some(getBaseTypes(n),check)}else if(t.flags&2097152){return e.some(t.types,check)}return false}}function appendTypeParameters(t,r){for(var n=0,i=r;n0){return true}if(e.flags&8650752){var t=getBaseConstraintOfType(e);return!!t&&isValidBaseType(t)&&isMixinConstructorType(t)}return isJSConstructorType(e)}function getBaseTypeNodeOfClass(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function getConstructorsForTypeArguments(t,r,n){var i=e.length(r);var a=e.isInJSFile(n);return e.filter(getSignaturesOfType(t,1),function(t){return(a||i>=getMinTypeArgumentCount(t.typeParameters))&&i<=e.length(t.typeParameters)})}function getInstantiatedConstructorsForTypeArguments(t,r,n){var i=getConstructorsForTypeArguments(t,r,n);var a=e.map(r,getTypeFromTypeNode);return e.sameMap(i,function(t){return e.some(t.typeParameters)?getSignatureInstantiation(t,a,e.isInJSFile(n)):t})}function getBaseConstructorTypeOfClass(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration;var n=e.getEffectiveBaseTypeNode(r);var i=getBaseTypeNodeOfClass(t);if(!i){return t.resolvedBaseConstructorType=re}if(!pushTypeResolution(t,1)){return ee}var a=checkExpression(i.expression);if(n&&i!==n){e.Debug.assert(!n.typeArguments);checkExpression(n.expression)}if(a.flags&(524288|2097152)){resolveStructuredTypeMembers(a)}if(!popTypeResolution()){error(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,symbolToString(t.symbol));return t.resolvedBaseConstructorType=ee}if(!(a.flags&1)&&a!==ae&&!isConstructorType(a)){var o=error(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,typeToString(a));if(a.flags&262144){var s=getConstraintFromTypeParameter(a);var c=te;if(s){var u=getSignaturesOfType(s,1);if(u[0]){c=getReturnTypeOfSignature(u[0])}}addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,symbolToString(a.symbol),typeToString(c)))}return t.resolvedBaseConstructorType=ee}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function getBaseTypes(t){if(!t.resolvedBaseTypes){if(t.objectFlags&8){t.resolvedBaseTypes=[createArrayType(getUnionType(t.typeParameters||e.emptyArray))]}else if(t.symbol.flags&(32|64)){if(t.symbol.flags&32){resolveBaseTypesOfClass(t)}if(t.symbol.flags&64){resolveBaseTypesOfInterface(t)}}else{e.Debug.fail("type must be class or interface")}}return t.resolvedBaseTypes}function resolveBaseTypesOfClass(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=getApparentType(getBaseConstructorTypeOfClass(t));if(!(r.flags&(524288|2097152|1))){return t.resolvedBaseTypes=e.emptyArray}var n=getBaseTypeNodeOfClass(t);var i=typeArgumentsFromTypeReferenceNode(n);var a;var o=isJSConstructorType(r)?r:r.symbol?getDeclaredTypeOfSymbol(r.symbol):undefined;if(r.symbol&&r.symbol.flags&32&&areAllOuterTypeParametersApplied(o)){a=getTypeFromClassOrInterfaceReference(n,r.symbol,i)}else if(r.flags&1){a=r}else if(isJSConstructorType(r)){a=!n.typeArguments&&getJSClassType(r.symbol)||X}else{var s=getInstantiatedConstructorsForTypeArguments(r,n.typeArguments,n);if(!s.length){error(n.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);return t.resolvedBaseTypes=e.emptyArray}a=getReturnTypeOfSignature(s[0])}if(a===ee){return t.resolvedBaseTypes=e.emptyArray}if(!isValidBaseType(a)){error(n.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,typeToString(a));return t.resolvedBaseTypes=e.emptyArray}if(t===a||hasBaseType(a,t)){error(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,typeToString(t,undefined,2));return t.resolvedBaseTypes=e.emptyArray}if(t.resolvedBaseTypes===e.resolvingEmptyArray){t.members=undefined}return t.resolvedBaseTypes=[a]}function areAllOuterTypeParametersApplied(e){var t=e.outerTypeParameters;if(t){var r=t.length-1;var n=e.typeArguments;return t[r].symbol!==n[r].symbol}return true}function isValidBaseType(t){return!!(t.flags&(524288|67108864|1))&&!isGenericMappedType(t)||!!(t.flags&2097152)&&e.every(t.types,isValidBaseType)}function resolveBaseTypesOfInterface(t){t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray;for(var r=0,n=t.symbol.declarations;r=o?4096:0;var c=createSymbol(1,i,a);c.type=n===s?createArrayType(e):e;return c});return e.concatenate(t.parameters.slice(0,r),c)}}return t.parameters}function getDefaultConstructSignatures(t){var r=getBaseConstructorTypeOfClass(t);var n=getSignaturesOfType(r,1);if(n.length===0){return[createSignature(undefined,t.localTypeParameters,undefined,e.emptyArray,t,undefined,0,false,false)]}var i=getBaseTypeNodeOfClass(t);var a=e.isInJSFile(i);var o=typeArgumentsFromTypeReferenceNode(i);var s=e.length(o);var c=[];for(var u=0,l=n;u=d&&s<=p){var g=p?createSignatureInstantiation(f,fillMissingTypeArguments(o,f.typeParameters,d,a)):cloneSignature(f);g.typeParameters=t.localTypeParameters;g.resolvedReturnType=t;c.push(g)}}return c}function findMatchingSignature(e,t,r,n,i){for(var a=0,o=e;a0){return undefined}for(var i=1;i1){var u=o.thisParameter;if(e.forEach(s,function(e){return e.thisParameter})){var l=getUnionType(e.map(s,function(e){return e.thisParameter?getTypeOfSymbol(e.thisParameter):X}),2);u=createSymbolWithType(o.thisParameter,l)}c=cloneSignature(o);c.thisParameter=u;c.unionSignatures=s}(r||(r=[])).push(c)}}}}return r||e.emptyArray}function getUnionIndexInfo(e,t){var r=[];var n=false;for(var i=0,a=e;i0){l=e.map(l,function(e){var t=cloneSignature(e);t.resolvedReturnType=includeMixinType(getReturnTypeOfSignature(e),o,c);return t})}n=e.concatenate(n,l)}r=e.concatenate(r,getSignaturesOfType(u,0));i=intersectIndexInfos(i,getIndexInfoOfType(u,0));a=intersectIndexInfos(a,getIndexInfoOfType(u,1))};for(var u=0;u=6):r.flags&528?et:r.flags&12288?getGlobalESSymbolType(C>=2):r.flags&67108864?xe:r.flags&4194304?Se:r}function createUnionOrIntersectionProperty(t,r){var n;var i;var a=t.flags&1048576;var o=a?24:0;var s=a?0:16777216;var c=4;var u=0;for(var l=0,f=t.types;l=0);return n>=getMinArgumentCount(r)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);if(i){return!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length}return false}function isOptionalJSDocParameterTag(t){if(!e.isJSDocParameterTag(t)){return false}var r=t.isBracketed,n=t.typeExpression;return r||!!n&&n.type.kind===288}function createIdentifierTypePredicate(e,t,r){return{kind:1,parameterName:e,parameterIndex:t,type:r}}function createThisTypePredicate(e){return{kind:0,type:e}}function getMinTypeArgumentCount(e){var t=0;if(e){for(var r=0;r=n&&o<=a){var s=t?t.slice():[];var c=getDefaultTypeArgumentType(i);var u=createTypeMapper(r,e.map(r,function(){return c}));for(var l=o;lc.arguments.length&&!g||l||isJSDocOptionalParameter(d);if(!m){a=n.length}}if((t.kind===158||t.kind===159)&&!hasNonBindableDynamicName(t)&&(!s||!o)){var y=t.kind===158?159:158;var h=e.getDeclarationOfKind(getSymbolOfNode(t),y);if(h){o=getAnnotatedAccessorThisParameter(h)}}var v=t.kind===157?getDeclaredTypeOfClassOrInterface(getMergedSymbol(t.parent.symbol)):undefined;var T=v?v.localTypeParameters:getTypeParametersFromDeclaration(t);var S=e.hasRestParameter(t)||e.isInJSFile(t)&&maybeAddJsSyntheticRestParameter(t,n);r.resolvedSignature=createSignature(t,T,o,n,undefined,undefined,a,S,i)}return r.resolvedSignature}function maybeAddJsSyntheticRestParameter(t,r){if(e.isJSDocSignature(t)||!containsArgumentsReference(t)){return false}var n=e.lastOrUndefined(t.parameters);var i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag);var a=e.firstDefined(i,function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:undefined});var o=createSymbol(3,"args",8192);o.type=a?createArrayType(getTypeFromTypeNode(a.type)):nt;if(a){r.pop()}r.push(o);return true}function getSignatureOfTypeTag(t){var r=e.isInJSFile(t)?e.getJSDocTypeTag(t):undefined;var n=r&&r.typeExpression&&getSingleCallSignature(getTypeFromTypeNode(r.typeExpression));return n&&getErasedSignature(n)}function getReturnTypeOfTypeTag(e){var t=getSignatureOfTypeTag(e);return t&&getReturnTypeOfSignature(t)}function containsArgumentsReference(t){var r=getNodeLinks(t);if(r.containsArgumentsReference===undefined){if(r.flags&8192){r.containsArgumentsReference=true}else{r.containsArgumentsReference=traverse(t.body)}}return r.containsArgumentsReference;function traverse(t){if(!t)return false;switch(t.kind){case 72:return t.escapedText==="arguments"&&e.isExpressionNode(t);case 154:case 156:case 158:case 159:return t.name.kind===149&&traverse(t.name);default:return!e.nodeStartsNewLexicalEnvironment(t)&&!e.isPartOfTypeNode(t)&&!!e.forEachChild(t,traverse)}}}function getSignaturesOfSymbol(t){if(!t)return e.emptyArray;var r=[];for(var n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end){continue}}r.push(getSignatureFromDeclaration(i))}return r}function resolveExternalModuleTypeByLiteral(e){var t=resolveExternalModuleName(e,e);if(t){var r=resolveExternalModuleSymbol(t);if(r){return getTypeOfSymbol(r)}}return X}function getThisTypeOfSignature(e){if(e.thisParameter){return getTypeOfSymbol(e.thisParameter)}}function signatureHasTypePredicate(e){return getTypePredicateOfSignature(e)!==undefined}function getTypePredicateOfSignature(t){if(!t.resolvedTypePredicate){if(t.target){var r=getTypePredicateOfSignature(t.target);t.resolvedTypePredicate=r?instantiateTypePredicate(r,t.mapper):Me}else if(t.unionSignatures){t.resolvedTypePredicate=getUnionTypePredicate(t.unionSignatures)||Me}else{var n=t.declaration&&e.getEffectiveReturnTypeNode(t.declaration);var i=void 0;if(!n&&e.isInJSFile(t.declaration)){var a=getSignatureOfTypeTag(t.declaration);if(a&&t!==a){i=getTypePredicateOfSignature(a)}}t.resolvedTypePredicate=n&&e.isTypePredicateNode(n)?createTypePredicateFromTypePredicateNode(n,t.declaration):i||Me}e.Debug.assert(!!t.resolvedTypePredicate)}return t.resolvedTypePredicate===Me?undefined:t.resolvedTypePredicate}function createTypePredicateFromTypePredicateNode(e,t){var r=e.parameterName;var n=getTypeFromTypeNode(e.type);if(r.kind===72){return createIdentifierTypePredicate(r.escapedText,getTypePredicateParameterIndex(t.parameters,r),n)}else{return createThisTypePredicate(n)}}function getTypePredicateParameterIndex(e,t){for(var r=0;r=0}function getRestTypeOfSignature(e){return tryGetRestTypeOfSignature(e)||X}function tryGetRestTypeOfSignature(e){if(e.hasRestParameter){var t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);var r=isTupleType(t)?getRestTypeOfTupleType(t):t;return r&&getIndexTypeOfType(r,1)}return undefined}function getSignatureInstantiation(e,t,r){return getSignatureInstantiationWithoutFillingInTypeArguments(e,fillMissingTypeArguments(t,e.typeParameters,getMinTypeArgumentCount(e.typeParameters),r))}function getSignatureInstantiationWithoutFillingInTypeArguments(t,r){var n=t.instantiations||(t.instantiations=e.createMap());var i=getTypeListId(r);var a=n.get(i);if(!a){n.set(i,a=createSignatureInstantiation(t,r))}return a}function createSignatureInstantiation(e,t){return instantiateSignature(e,createSignatureTypeMapper(e,t),true)}function createSignatureTypeMapper(e,t){return createTypeMapper(e.typeParameters,t)}function getErasedSignature(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=createErasedSignature(e)):e}function createErasedSignature(e){return instantiateSignature(e,createTypeEraser(e.typeParameters),true)}function getCanonicalSignature(e){return e.typeParameters?e.canonicalSignatureCache||(e.canonicalSignatureCache=createCanonicalSignature(e)):e}function createCanonicalSignature(t){return getSignatureInstantiation(t,e.map(t.typeParameters,function(e){return e.target&&!getConstraintOfTypeParameter(e.target)?e.target:e}),e.isInJSFile(t.declaration))}function getBaseSignature(t){var r=t.typeParameters;if(r){var n=createTypeEraser(r);var i=e.map(r,function(e){return instantiateType(getBaseConstraintOfType(e),n)||xe});return instantiateSignature(t,createTypeMapper(r,i),true)}return t}function getOrCreateTypeFromSignature(t){if(!t.isolatedSignatureType){var r=t.declaration.kind===157||t.declaration.kind===161;var n=createObjectType(16);n.members=S;n.properties=e.emptyArray;n.callSignatures=!r?[t]:e.emptyArray;n.constructSignatures=r?[t]:e.emptyArray;t.isolatedSignatureType=n}return t.isolatedSignatureType}function getIndexSymbol(e){return e.members.get("__index")}function getIndexDeclarationOfSymbol(t,r){var n=r===1?135:138;var i=getIndexSymbol(t);if(i){for(var a=0,o=i.declarations;a1){t+=":"+a}n+=a}}return t}function getPropagatingFlagsOfTypes(e,t){var r=0;for(var n=0,i=e;na.length)){var l=c&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);var f=s===a.length?l?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:l?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments;var d=typeToString(i,undefined,2);error(t,f,d,s,a.length);if(!c){return ee}}var p=e.concatenate(i.outerTypeParameters,fillMissingTypeArguments(n,a,s,c));return createTypeReference(i,p)}return checkNoTypeArguments(t,r)?i:ee}function getTypeAliasInstantiation(t,r){var n=getDeclaredTypeOfSymbol(t);var i=getSymbolLinks(t);var a=i.typeParameters;var o=getTypeListId(r);var s=i.instantiations.get(o);if(!s){i.instantiations.set(o,s=instantiateType(n,createTypeMapper(a,fillMissingTypeArguments(r,a,getMinTypeArgumentCount(a),e.isInJSFile(t.valueDeclaration)))))}return s}function getTypeFromTypeAliasReference(t,r,n){var i=getDeclaredTypeOfSymbol(r);var a=getSymbolLinks(r).typeParameters;if(a){var o=e.length(t.typeArguments);var s=getMinTypeArgumentCount(a);if(oa.length){error(t,s===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,symbolToString(r),s,a.length);return ee}return getTypeAliasInstantiation(r,n)}return checkNoTypeArguments(t,r)?i:ee}function getTypeReferenceName(t){switch(t.kind){case 164:return t.typeName;case 211:var r=t.expression;if(e.isEntityNameExpression(r)){return r}}return undefined}function resolveTypeReferenceName(e,t){if(!e){return Q}return resolveEntityName(e,t)||Q}function getTypeReferenceType(t,r){var n=typeArgumentsFromTypeReferenceNode(t);if(r===Q){return ee}var i=getTypeReferenceTypeWorker(t,r,n);if(i){return i}var a=e.isInJSFile(t)&&r.valueDeclaration&&e.getJSDocEnumTag(r.valueDeclaration);if(a){var o=getNodeLinks(a);if(!pushTypeResolution(a,5)){return ee}var s=a.typeExpression?getTypeFromTypeNode(a.typeExpression):ee;if(!popTypeResolution()){s=ee;error(t,e.Diagnostics.Enum_type_0_circularly_references_itself,symbolToString(r))}return o.resolvedEnumType=s}var c=tryGetDeclaredTypeOfSymbol(r);if(c){return checkNoTypeArguments(t,r)?c.flags&262144?getConstrainedTypeVariable(c,t):getRegularTypeOfLiteralType(c):ee}if(!(r.flags&67220415&&isJSDocTypeReference(t))){return ee}var u=getJSDocTypeReference(t,r,n);if(u){return u}resolveTypeReferenceName(getTypeReferenceName(t),67897832);return getTypeOfSymbol(r)}function getJSDocTypeReference(t,r,n){if(!pushTypeResolution(r,6)){return ee}var i=getAssignedClassType(r);var a=getTypeOfSymbol(r);var o=a.symbol&&a.symbol!==r&&!isInferredClassType(a)&&getTypeReferenceTypeWorker(t,a.symbol,n);if(!popTypeResolution()){getSymbolLinks(r).resolvedJSDocType=ee;error(t,e.Diagnostics.JSDoc_type_0_circularly_references_itself,symbolToString(r));return ee}if(o||i){var s=o&&i?getIntersectionType([i,o]):o||i;return getSymbolLinks(r).resolvedJSDocType=s}}function getTypeReferenceTypeWorker(t,r,n){if(r.flags&(32|64)){if(r.valueDeclaration&&e.isBinaryExpression(r.valueDeclaration.parent)){var i=getJSDocTypeReference(t,r,n);if(i){return i}}return getTypeFromClassOrInterfaceReference(t,r,n)}if(r.flags&524288){return getTypeFromTypeAliasReference(t,r,n)}if(r.flags&16&&isJSDocTypeReference(t)&&(r.members||e.getJSDocClassTag(r.valueDeclaration))){return getInferredClassType(r)}}function getSubstitutionType(e,t){var r=createType(33554432);r.typeVariable=e;r.substitute=t;return r}function isUnaryTupleTypeNode(e){return e.kind===170&&e.elementTypes.length===1}function getImpliedConstraint(e,t,r){return isUnaryTupleTypeNode(t)&&isUnaryTupleTypeNode(r)?getImpliedConstraint(e,t.elementTypes[0],r.elementTypes[0]):getActualTypeVariable(getTypeFromTypeNode(t))===e?getTypeFromTypeNode(r):undefined}function getConstrainedTypeVariable(t,r){var n;while(r&&!e.isStatement(r)&&r.kind!==291){var i=r.parent;if(i.kind===175&&r===i.trueType){var a=getImpliedConstraint(t,i.checkType,i.extendsType);if(a){n=e.append(n,a)}}r=i}return n?getSubstitutionType(t,getIntersectionType(e.append(n,t))):t}function isJSDocTypeReference(e){return!!(e.flags&2097152)&&(e.kind===164||e.kind===183)}function checkNoTypeArguments(t,r){if(t.typeArguments){error(t,e.Diagnostics.Type_0_is_not_generic,r?symbolToString(r):t.typeName?e.declarationNameToString(t.typeName):"(anonymous)");return false}return true}function getIntendedTypeFromJSDocTypeReference(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case"String":checkNoTypeArguments(t);return oe;case"Number":checkNoTypeArguments(t);return se;case"Boolean":checkNoTypeArguments(t);return pe;case"Void":checkNoTypeArguments(t);return _e;case"Undefined":checkNoTypeArguments(t);return re;case"Null":checkNoTypeArguments(t);return ie;case"Function":case"function":checkNoTypeArguments(t);return Ge;case"Array":case"array":return!r||!r.length?nt:undefined;case"Promise":case"promise":return!r||!r.length?createPromiseType(X):undefined;case"Object":if(r&&r.length===2){if(e.isJSDocIndexSignature(t)){var n=getTypeFromTypeNode(r[0]);var i=getTypeFromTypeNode(r[1]);var a=createIndexInfo(i,false);return createAnonymousType(undefined,S,e.emptyArray,e.emptyArray,n===oe?a:undefined,n===se?a:undefined)}return X}checkNoTypeArguments(t);return X}}}function getTypeFromJSDocNullableTypeNode(e){var t=getTypeFromTypeNode(e.type);return k?getNullableType(t,65536):t}function getTypeFromTypeReference(e){var t=getNodeLinks(e);if(!t.resolvedType){var r=void 0;var n=void 0;var i=67897832;if(isJSDocTypeReference(e)){n=getIntendedTypeFromJSDocTypeReference(e);i|=67220415}if(!n){r=resolveTypeReferenceName(getTypeReferenceName(e),i);n=getTypeReferenceType(e,r)}t.resolvedSymbol=r;t.resolvedType=n}return t.resolvedType}function typeArgumentsFromTypeReferenceNode(t){return e.map(t.typeArguments,getTypeFromTypeNode)}function getTypeFromTypeQueryNode(e){var t=getNodeLinks(e);if(!t.resolvedType){t.resolvedType=getRegularTypeOfLiteralType(getWidenedType(checkExpression(e.exprName)))}return t.resolvedType}function getTypeOfGlobalSymbol(t,r){function getTypeDeclaration(e){var t=e.declarations;for(var r=0,n=t;r=r?16777216:0),""+c);l.type=u;o.push(l)}}}var f=[];for(var c=r;c<=s;c++)f.push(getLiteralType(c));var d=createSymbol(4,"length");d.type=n?se:getUnionType(f);o.push(d);var p=createObjectType(8|4);p.typeParameters=a;p.outerTypeParameters=undefined;p.localTypeParameters=a;p.instantiations=e.createMap();p.instantiations.set(getTypeListId(p.typeParameters),p);p.target=p;p.typeArguments=p.typeParameters;p.thisType=createType(262144);p.thisType.isThisType=true;p.thisType.constraint=p;p.declaredProperties=o;p.declaredCallSignatures=e.emptyArray;p.declaredConstructSignatures=e.emptyArray;p.declaredStringIndexInfo=undefined;p.declaredNumberIndexInfo=undefined;p.minLength=r;p.hasRestElement=n;p.associatedNames=i;return p}function getTupleTypeOfArity(e,t,r,n){var i=e+(r?"+":",")+t+(n&&n.length?","+n.join(","):"");var a=U.get(i);if(!a){U.set(i,a=createTupleTypeOfArity(e,t,r,n))}return a}function createTupleType(e,t,r,n){if(t===void 0){t=e.length}if(r===void 0){r=false}var i=e.length;if(i===1&&r){return createArrayType(e[0])}var a=getTupleTypeOfArity(i,t,i>0&&r,n);return e.length?createTypeReference(a,e):a}function getTypeFromTupleTypeNode(t){var r=getNodeLinks(t);if(!r.resolvedType){var n=e.lastOrUndefined(t.elementTypes);var i=n&&n.kind===172?n:undefined;var a=e.findLastIndex(t.elementTypes,function(e){return e.kind!==171&&e!==i})+1;var o=e.map(t.elementTypes,function(e){var t=getTypeFromTypeNode(e);return e===i&&getIndexTypeOfType(t,1)||t});r.resolvedType=createTupleType(o,a,!!i)}return r.resolvedType}function sliceTupleType(t,r){var n=t.target;if(n.hasRestElement){r=Math.min(r,getTypeReferenceArity(t)-1)}return createTupleType((t.typeArguments||e.emptyArray).slice(r),Math.max(0,n.minLength-r),n.hasRestElement,n.associatedNames&&n.associatedNames.slice(r))}function getTypeFromOptionalTypeNode(e){var t=getTypeFromTypeNode(e.type);return k?getOptionalType(t):t}function getTypeId(e){return e.id}function containsType(t,r){return e.binarySearch(t,r,getTypeId,e.compareValues)>=0}function insertType(t,r){var n=e.binarySearch(t,r,getTypeId,e.compareValues);if(n<0){t.splice(~n,0,r);return true}return false}function isEmptyIntersectionType(e){var t=0;for(var r=0,n=e.types;rt[a-1].id?~a:e.binarySearch(t,n,getTypeId,e.compareValues);if(o<0){t.splice(~o,0,n)}}}return r}function addTypesToUnion(e,t,r){for(var n=0,i=r;n0){r--;if(isSubtypeOfAny(t[r],t)){e.orderedRemoveItemAt(t,r)}}}function removeRedundantLiteralTypes(t,r){var n=t.length;while(n>0){n--;var i=t[n];var a=i.flags&128&&r&4||i.flags&256&&r&8||i.flags&2048&&r&64||i.flags&8192&&r&4096||isFreshLiteralType(i)&&containsType(t,i.regularType);if(a){e.orderedRemoveItemAt(t,n)}}}function getUnionType(e,t,r,n){if(t===void 0){t=1}if(e.length===0){return me}if(e.length===1){return e[0]}var i=[];var a=addTypesToUnion(i,0,e);if(t!==0){if(a&3){return a&1?a&268435456?Z:X:te}switch(t){case 1:if(a&8576|512){removeRedundantLiteralTypes(i,a)}break;case 2:removeSubtypes(i);break}if(i.length===0){return a&65536?a&134217728?ie:ae:a&32768?a&134217728?re:ne:me}}return getUnionTypeFromSortedList(i,!(a&66994211),r,n)}function getUnionTypePredicate(t){var r;var n=[];for(var i=0,a=t;i0){n--;var i=t[n];var a=i.flags&4&&r&128||i.flags&8&&r&256||i.flags&64&&r&2048||i.flags&4096&&r&8192;if(a){e.orderedRemoveItemAt(t,n)}}}function eachUnionContains(e,t){for(var r=0,n=e;r=0){if(n&&everyType(t,function(e){return!e.target.hasRestElement})){var l=getIndexNodeForAccessExpression(n);error(l,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(s),typeToString(t))}return mapType(t,function(e){return getRestTypeOfTupleType(e)||re})}}if(!(r.flags&98304)&&isTypeAssignableToKind(r,132|296|12288)){if(t.flags&(1|131072)){return t}var f=isTypeAssignableToKind(r,296)&&getIndexInfoOfType(t,1)||getIndexInfoOfType(t,0)||undefined;if(f){if(n&&!isTypeAssignableToKind(r,4|8)){var l=getIndexNodeForAccessExpression(n);error(l,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,typeToString(r))}else if(o&&f.isReadonly&&(e.isAssignmentTarget(o)||e.isDeleteTarget(o))){error(o,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,typeToString(t))}return f.type}if(r.flags&131072){return me}if(isJSLiteralType(t)){return X}if(o&&!isConstEnumObjectType(t)){if(F&&!x.suppressImplicitAnyIndexErrors){if(s!==undefined&&typeHasStaticProperty(s,t)){error(o,e.Diagnostics.Property_0_is_a_static_member_of_type_1,s,typeToString(t))}else if(getIndexTypeOfType(t,1)){error(o.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number)}else{var d=void 0;if(s!==undefined&&(d=getSuggestionForNonexistentProperty(s,t))){if(d!==undefined){error(o.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,s,typeToString(t),d)}}else{error(o,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,typeToString(t))}}}return a}}if(isJSLiteralType(t)){return X}if(n){var l=getIndexNodeForAccessExpression(n);if(r.flags&(128|256)){error(l,e.Diagnostics.Property_0_does_not_exist_on_type_1,""+r.value,typeToString(t))}else if(r.flags&(4|8)){error(l,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,typeToString(t),typeToString(r))}else{error(l,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,typeToString(r))}}if(isTypeAny(r)){return r}return a}function getIndexNodeForAccessExpression(e){return e.kind===190?e.argumentExpression:e.kind===180?e.indexType:e.kind===149?e.expression:e}function isGenericObjectType(e){return maybeTypeOfKind(e,58982400|134217728)}function isGenericIndexType(e){return maybeTypeOfKind(e,58982400|4194304)}function getSimplifiedType(e){return e.flags&8388608?getSimplifiedIndexedAccessType(e):e}function distributeIndexOverObjectType(t,r){if(t.flags&1048576){return mapType(t,function(e){return getSimplifiedType(getIndexedAccessType(e,r))})}if(t.flags&2097152){return getIntersectionType(e.map(t.types,function(e){return getSimplifiedType(getIndexedAccessType(e,r))}))}}function getSimplifiedIndexedAccessType(e){if(e.simplified){return e.simplified===Oe?e:e.simplified}e.simplified=Oe;var t=getSimplifiedType(e.objectType);var r=getSimplifiedType(e.indexType);if(r.flags&1048576){return e.simplified=mapType(r,function(e){return getSimplifiedType(getIndexedAccessType(t,e))})}if(!(r.flags&63176704)){var n=distributeIndexOverObjectType(t,r);if(n){return e.simplified=n}}if(isGenericMappedType(t)){return e.simplified=substituteIndexedMappedType(t,e)}if(t.flags&262144){var i=getConstraintOfTypeParameter(t);if(i&&isGenericMappedType(i)){return e.simplified=substituteIndexedMappedType(i,e)}}return e.simplified=e}function substituteIndexedMappedType(e,t){var r=createTypeMapper([getTypeParameterFromMappedType(e)],[t.indexType]);var n=combineTypeMappers(e.mapper,r);return instantiateType(getTemplateTypeFromMappedType(e),n)}function getIndexedAccessType(e,t,r,n){if(n===void 0){n=r?ee:te}if(e===Z||t===Z){return Z}if(isGenericIndexType(t)||!(r&&r.kind!==180)&&isGenericObjectType(e)){if(e.flags&3){return e}var i=e.id+","+t.id;var a=q.get(i);if(!a){q.set(i,a=createIndexedAccessType(e,t))}return a}var o=getApparentType(e);if(t.flags&1048576&&!(t.flags&16)){var s=[];var c=false;for(var u=0,l=t.types;u=t?xe:r}}function isInferenceContext(e){return!!e.typeParameters}function cloneTypeMapper(e){return e&&isInferenceContext(e)?createInferenceContext(e.typeParameters,e.signature,e.flags|1,e.compareTypes,e.inferences):e}function combineTypeMappers(e,t){if(!e)return t;if(!t)return e;return function(r){return instantiateType(e(r),t)}}function createReplacementMapper(e,t,r){return function(n){return n===e?t:r(n)}}function wildcardMapper(e){return e.flags&262144?Z:e}function cloneTypeParameter(e){var t=createType(262144);t.symbol=e.symbol;t.target=e;return t}function instantiateTypePredicate(t,r){if(e.isIdentifierTypePredicate(t)){return{kind:1,parameterName:t.parameterName,parameterIndex:t.parameterIndex,type:instantiateType(t.type,r)}}else{return{kind:0,type:instantiateType(t.type,r)}}}function instantiateSignature(t,r,n){var i;if(t.typeParameters&&!n){i=e.map(t.typeParameters,cloneTypeParameter);r=combineTypeMappers(createTypeMapper(t.typeParameters,i),r);for(var a=0,o=i;a=i,n)});var o=getMappedTypeModifiers(r);var s=o&4?0:o&8?getTypeReferenceArity(t)-(t.target.hasRestElement?1:0):i;return createTupleType(a,s,t.target.hasRestElement,t.target.associatedNames)}function instantiateMappedTypeTemplate(e,t,r,n){var i=combineTypeMappers(n,createTypeMapper([getTypeParameterFromMappedType(e)],[t]));var a=instantiateType(getTemplateTypeFromMappedType(e.target||e),i);var o=getMappedTypeModifiers(e);return k&&o&4&&!isTypeAssignableTo(re,a)?getOptionalType(a):k&&o&8&&r?getTypeWithFacts(a,524288):a}function instantiateAnonymousType(e,t){var r=createObjectType(e.objectFlags|64,e.symbol);if(e.objectFlags&32){r.declaration=e.declaration;var n=getTypeParameterFromMappedType(e);var i=cloneTypeParameter(n);r.typeParameter=i;t=combineTypeMappers(makeUnaryTypeMapper(n,i),t);i.mapper=t}r.target=e;r.mapper=t;r.aliasSymbol=e.aliasSymbol;r.aliasTypeArguments=instantiateTypes(e.aliasTypeArguments,t);return r}function getConditionalTypeInstantiation(t,r){var n=t.root;if(n.outerTypeParameters){var i=e.map(n.outerTypeParameters,r);var a=getTypeListId(i);var o=n.instantiations.get(a);if(!o){var s=createTypeMapper(n.outerTypeParameters,i);o=instantiateConditionalType(n,s);n.instantiations.set(a,o)}return o}return t}function instantiateConditionalType(e,t){if(e.isDistributive){var r=e.checkType;var n=t(r);if(r!==n&&n.flags&(1048576|131072)){return mapType(n,function(n){return getConditionalType(e,createReplacementMapper(r,n,t))})}}return getConditionalType(e,t)}function instantiateType(e,t){if(!e||!t||t===b){return e}if(v===50){return ee}v++;var r=instantiateTypeWorker(e,t);v--;return r}function instantiateTypeWorker(e,t){var r=e.flags;if(r&262144){return t(e)}if(r&524288){var n=e.objectFlags;if(n&16){return e.symbol&&e.symbol.flags&(16|8192|32|2048|4096)&&e.symbol.declarations?getAnonymousTypeInstantiation(e,t):e}if(n&32){return getAnonymousTypeInstantiation(e,t)}if(n&4){var i=e.typeArguments;var a=instantiateTypes(i,t);return a!==i?createTypeReference(e.target,a):e}return e}if(r&1048576&&!(r&131068)){var o=e.types;var s=instantiateTypes(o,t);return s!==o?getUnionType(s,1,e.aliasSymbol,instantiateTypes(e.aliasTypeArguments,t)):e}if(r&2097152){var o=e.types;var s=instantiateTypes(o,t);return s!==o?getIntersectionType(s,e.aliasSymbol,instantiateTypes(e.aliasTypeArguments,t)):e}if(r&4194304){return getIndexType(instantiateType(e.type,t))}if(r&8388608){return getIndexedAccessType(instantiateType(e.objectType,t),instantiateType(e.indexType,t))}if(r&16777216){return getConditionalTypeInstantiation(e,combineTypeMappers(e.mapper,t))}if(r&33554432){return instantiateType(e.typeVariable,t)}return e}function getWildcardInstantiation(e){return e.flags&(131068|3|131072)?e:e.wildcardInstantiation||(e.wildcardInstantiation=instantiateType(e,wildcardMapper))}function instantiateIndexInfo(e,t){return e&&createIndexInfo(instantiateType(e.type,t),e.isReadonly,e.declaration)}function isContextSensitive(t){e.Debug.assert(t.kind!==156||e.isObjectLiteralMethod(t));switch(t.kind){case 196:case 197:case 156:return isContextSensitiveFunctionLikeDeclaration(t);case 188:return e.some(t.properties,isContextSensitive);case 187:return e.some(t.elements,isContextSensitive);case 205:return isContextSensitive(t.whenTrue)||isContextSensitive(t.whenFalse);case 204:return t.operatorToken.kind===55&&(isContextSensitive(t.left)||isContextSensitive(t.right));case 275:return isContextSensitive(t.initializer);case 195:return isContextSensitive(t.expression);case 268:return e.some(t.properties,isContextSensitive)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,isContextSensitive);case 267:{var r=t.initializer;return!!r&&isContextSensitive(r)}case 270:{var n=t.expression;return!!n&&isContextSensitive(n)}}return false}function isContextSensitiveFunctionLikeDeclaration(t){if(t.typeParameters){return false}if(e.some(t.parameters,function(t){return!e.getEffectiveTypeAnnotationNode(t)})){return true}if(t.kind!==197){var r=e.firstOrUndefined(t.parameters);if(!(r&&e.parameterIsThisKeyword(r))){return true}}return hasContextSensitiveReturnExpression(t)}function hasContextSensitiveReturnExpression(e){var t=e.body;return t.kind===218?false:isContextSensitive(t)}function isContextSensitiveFunctionOrObjectLiteralMethod(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||isFunctionExpressionOrArrowFunction(t)||e.isObjectLiteralMethod(t))&&isContextSensitiveFunctionLikeDeclaration(t)}function getTypeWithoutSignatures(t){if(t.flags&524288){var r=resolveStructuredTypeMembers(t);if(r.constructSignatures.length||r.callSignatures.length){var n=createObjectType(16,t.symbol);n.members=r.members;n.properties=r.properties;n.callSignatures=e.emptyArray;n.constructSignatures=e.emptyArray;return n}}else if(t.flags&2097152){return getIntersectionType(e.map(t.types,getTypeWithoutSignatures))}return t}function isTypeIdenticalTo(e,t){return isTypeRelatedTo(e,t,lr)}function compareTypesIdentical(e,t){return isTypeRelatedTo(e,t,lr)?-1:0}function compareTypesAssignable(e,t){return isTypeRelatedTo(e,t,sr)?-1:0}function compareTypesSubtypeOf(e,t){return isTypeRelatedTo(e,t,or)?-1:0}function isTypeSubtypeOf(e,t){return isTypeRelatedTo(e,t,or)}function isTypeAssignableTo(e,t){return isTypeRelatedTo(e,t,sr)}function isTypeDerivedFrom(t,r){return t.flags&1048576?e.every(t.types,function(e){return isTypeDerivedFrom(e,r)}):r.flags&1048576?e.some(r.types,function(e){return isTypeDerivedFrom(t,e)}):t.flags&58982400?isTypeDerivedFrom(getBaseConstraintOfType(t)||xe,r):r===qe?!!(t.flags&(524288|67108864)):r===Ge?!!(t.flags&524288)&&isFunctionObjectType(t):hasBaseType(t,getTargetType(r))}function isTypeComparableTo(e,t){return isTypeRelatedTo(e,t,ur)}function areTypesComparable(e,t){return isTypeComparableTo(e,t)||isTypeComparableTo(t,e)}function checkTypeAssignableTo(e,t,r,n,i,a){return checkTypeRelatedTo(e,t,sr,r,n,i,a)}function checkTypeAssignableToAndOptionallyElaborate(e,t,r,n,i,a){return checkTypeRelatedToAndOptionallyElaborate(e,t,sr,r,n,i,a)}function checkTypeRelatedToAndOptionallyElaborate(e,t,r,n,i,a,o){if(isTypeRelatedTo(e,t,r))return true;if(!n||!elaborateError(i,e,t,r,a)){return checkTypeRelatedTo(e,t,r,n,a,o)}return false}function isOrHasGenericConditional(t){return!!(t.flags&16777216||t.flags&2097152&&e.some(t.types,isOrHasGenericConditional))}function elaborateError(e,t,r,n,i){if(!e||isOrHasGenericConditional(r))return false;if(!checkTypeRelatedTo(t,r,n,undefined)&&elaborateDidYouMeanToCallOrConstruct(e,t,r,n,i)){return true}switch(e.kind){case 270:case 195:return elaborateError(e.expression,t,r,n,i);case 204:switch(e.operatorToken.kind){case 59:case 27:return elaborateError(e.right,t,r,n,i)}break;case 188:return elaborateObjectLiteral(e,t,r,n);case 187:return elaborateArrayLiteral(e,t,r,n);case 268:return elaborateJsxAttributes(e,t,r,n);case 197:return elaborateArrowFunction(e,t,r,n)}return false}function elaborateDidYouMeanToCallOrConstruct(t,r,n,i,a){var o=getSignaturesOfType(r,0);var s=getSignaturesOfType(r,1);for(var c=0,u=[s,o];cc){return 0}if(t.typeParameters&&t.typeParameters!==r.typeParameters){r=getCanonicalSignature(r);t=instantiateSignatureInContextOf(t,r,undefined,s)}var u=getParameterCount(t);var l=getNonArrayRestType(t);var f=getNonArrayRestType(r);if(l&&f&&u!==c){return 0}var d=r.declaration?r.declaration.kind:0;var p=!n&&N&&d!==156&&d!==155&&d!==157;var g=-1;var _=getThisTypeOfSignature(t);if(_&&_!==_e){var m=getThisTypeOfSignature(r);if(m){var y=!p&&s(_,m,false)||s(m,_,a);if(!y){if(a){o(e.Diagnostics.The_this_types_of_each_signature_are_incompatible)}return 0}g&=y}}var h=l||f?Math.min(u,c):Math.max(u,c);var v=l||f?h-1:-1;for(var T=0;T0||typeHasCallOrConstructSignatures(t))&&!hasCommonProperties(t,r,f)){if(a){var p=getSignaturesOfType(t,0);var g=getSignaturesOfType(t,1);if(p.length>0&&isRelatedTo(getReturnTypeOfSignature(p[0]),r,false)||g.length>0&&isRelatedTo(getReturnTypeOfSignature(g[0]),r,false)){reportError(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,typeToString(t),typeToString(r))}else{reportError(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,typeToString(t),typeToString(r))}}return 0}var _=0;var m=u;var y=!!s;if(t.flags&1048576){_=n===ur?someTypeRelatedToType(t,r,a&&!(t.flags&131068)):eachTypeRelatedToType(t,r,a&&!(t.flags&131068))}else{if(r.flags&1048576){_=typeRelatedToSomeType(t,r,a&&!(t.flags&131068)&&!(r.flags&131068))}else if(r.flags&2097152){y=true;_=typeRelatedToEachType(t,r,a)}else if(t.flags&2097152){_=someTypeRelatedToType(t,r,false)}if(!_&&(t.flags&66846720||r.flags&66846720)){if(_=recursiveTypeRelatedTo(t,r,a,y)){u=m}}}if(!_&&t.flags&2097152){var v=getUnionConstraintOfIntersection(t,!!(r.flags&1048576));if(v){if(_=isRelatedTo(v,r,a,undefined,y)){u=m}}}if(!_&&a){var T=h;h=false;if(t.flags&524288&&r.flags&131068){tryElaborateErrorsForPrimitivesAndObjects(t,r)}else if(t.symbol&&t.flags&524288&&qe===t){reportError(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead)}else if(f&&r.flags&2097152){var S=r.types;var b=getJsxType(c.IntrinsicAttributes,i);var x=getJsxType(c.IntrinsicClassAttributes,i);if(b!==ee&&x!==ee&&(e.contains(S,b)||e.contains(S,x))){return _}}if(!o&&T){return _}reportRelationError(o,t,r)}return _}function isIdenticalTo(e,t){var r;var n=e.flags&t.flags;if(n&524288||n&8388608||n&16777216||n&4194304||n&33554432){return recursiveTypeRelatedTo(e,t,false,false)}if(n&(1048576|2097152)){if(r=eachTypeRelatedToSomeType(e,t)){if(r&=eachTypeRelatedToSomeType(t,e)){return r}}}return 0}function hasExcessProperties(t,r,a,o){if(!F&&e.getObjectFlags(r)&16384){return false}if(maybeTypeOfKind(r,524288)&&!(e.getObjectFlags(r)&512)){var s=!!(e.getObjectFlags(t)&4096);if((n===sr||n===cr||n===ur)&&(isTypeSubsetOf(qe,r)||!s&&isEmptyObjectType(r))){return false}if(a){return hasExcessProperties(t,a,undefined,o)}var c=function(n){if(shouldCheckAsExcessProperty(n,t.symbol)&&!isKnownProperty(r,n.escapedName,s)){if(o){if(!i)return{value:e.Debug.fail()};if(e.isJsxAttributes(i)||e.isJsxOpeningLikeElement(i)||e.isJsxOpeningLikeElement(i.parent)){reportError(e.Diagnostics.Property_0_does_not_exist_on_type_1,symbolToString(n),typeToString(r))}else{var a=t.symbol&&e.firstOrUndefined(t.symbol.declarations);var c=void 0;if(n.valueDeclaration&&e.findAncestor(n.valueDeclaration,function(e){return e===a})){var u=n.valueDeclaration;e.Debug.assertNode(u,e.isObjectLiteralElementLike);i=u;var l=u.name;if(e.isIdentifier(l)){c=getSuggestionForNonexistentProperty(l,r)}}if(c!==undefined){reportError(e.Diagnostics.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,symbolToString(n),typeToString(r),c)}else{reportError(e.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,symbolToString(n),typeToString(r))}}}return{value:true}}};for(var u=0,l=getPropertiesOfObjectType(t);u0||(n=1,getSignaturesOfType(t,n).length>0);if(i){return e.find(r.types,function(e){return getSignaturesOfType(e,n).length>0})}}function findMostOverlappyType(t,r){var n;var i=0;for(var a=0,o=r.types;a=i){n=s;i=u}}else if(!(c.flags&131072)&&1>=i){n=s;i=1}}return n}function findMatchingDiscriminantType(t,r){if(r.flags&1048576){var n=getPropertiesOfObjectType(t);if(n){var i=findDiscriminantProperties(n,r);if(i){return discriminateTypeByDiscriminableItems(r,e.map(i,function(e){return[function(){return getTypeOfSymbol(e)},e.escapedName]}),isRelatedTo)}}}return undefined}function typeRelatedToEachType(e,t,r){var n=-1;var i=t.types;for(var a=0,o=i;a5){reportError(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,typeToString(t),typeToString(r),e.map(c.slice(0,4),function(e){return symbolToString(e)}).join(", "),c.length-4)}else{reportError(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,typeToString(t),typeToString(r),e.map(c,function(e){return symbolToString(e)}).join(", "))}}return 0}if(isObjectLiteralType(r)){for(var l=0,f=getPropertiesOfType(t);l0&&e.every(r.properties,function(e){return!!(e.flags&16777216)})}if(t.flags&2097152){return e.every(t.types,isWeakType)}return false}function hasCommonProperties(e,t,r){for(var n=0,i=getPropertiesOfType(e);n"}else{n+="-"+o.id}}return n}function getRelationKey(e,t,r){if(r===lr&&e.id>t.id){var n=e;e=t;t=n}if(isTypeReferenceWithGenericArguments(e)&&isTypeReferenceWithGenericArguments(t)){var i=[];return getTypeReferenceId(e,i)+","+getTypeReferenceId(t,i)}return e.id+","+t.id}function forEachProperty(t,r){if(e.getCheckFlags(t)&6){for(var n=0,i=t.containingType.types;n=5&&e.flags&524288){var n=e.symbol;if(n){var i=0;for(var a=0;a=5)return true}}}}return false}function isPropertyIdenticalTo(e,t){return compareProperties(e,t,compareTypesIdentical)!==0}function compareProperties(t,r,n){if(t===r){return-1}var i=e.getDeclarationModifierFlagsFromSymbol(t)&24;var a=e.getDeclarationModifierFlagsFromSymbol(r)&24;if(i!==a){return 0}if(i){if(getTargetSymbol(t)!==getTargetSymbol(r)){return 0}}else{if((t.flags&16777216)!==(r.flags&16777216)){return 0}}if(isReadonlySymbol(t)!==isReadonlySymbol(r)){return 0}return n(getTypeOfSymbol(t),getTypeOfSymbol(r))}function isMatchingSignature(e,t,r){var n=getParameterCount(e);var i=getParameterCount(t);var a=getMinArgumentCount(e);var o=getMinArgumentCount(t);var s=hasEffectiveRestParameter(e);var c=hasEffectiveRestParameter(t);if(n===i&&a===o&&s===c){return true}if(r&&a<=o){return true}return false}function compareSignaturesIdentical(t,r,n,i,a,o){if(t===r){return-1}if(!isMatchingSignature(t,r,n)){return 0}if(e.length(t.typeParameters)!==e.length(r.typeParameters)){return 0}t=getErasedSignature(t);r=getErasedSignature(r);var s=-1;if(!i){var c=getThisTypeOfSignature(t);if(c){var u=getThisTypeOfSignature(r);if(u){var l=o(c,u);if(!l){return 0}s&=l}}}var f=getParameterCount(r);for(var d=0;d-1&&(resolveName(a,a.name.escapedText,67897832,undefined,a.name.escapedText,true)||a.name.originalKeywordKind&&e.isTypeNodeKind(a.name.originalKeywordKind))){var o="arg"+a.parent.parameters.indexOf(a);errorOrSuggestion(F,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,o,e.declarationNameToString(a.name));return}i=t.dotDotDotToken?F?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:F?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 186:i=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type;break;case 289:error(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,n);return;case 239:case 156:case 155:case 158:case 159:case 196:case 197:if(F&&!t.name){error(t,e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,n);return}i=F?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 181:if(F){error(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type)}return;default:i=F?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}errorOrSuggestion(F,t,i,e.declarationNameToString(e.getNameOfDeclaration(t)),n)}function reportErrorsFromWidening(e,t){if(a&&F&&t.flags&134217728){if(!reportWideningErrorsInType(t)){reportImplicitAny(e,t)}}}function forEachMatchingParameterType(e,t,r){var n=getParameterCount(e);var i=getParameterCount(t);var a=getEffectiveRestType(e);var o=getEffectiveRestType(t);var s=o?i-1:i;var c=a?s:Math.min(n,s);var u=getThisTypeOfSignature(e);if(u){var l=getThisTypeOfSignature(t);if(l){r(u,l)}}for(var f=0;fe.target.minLength||!getRestTypeOfTupleType(t)&&(!!getRestTypeOfTupleType(e)||getLengthOfTupleType(t)1){var r=e.filter(t,isObjectLiteralType);if(r.length){var n=getWidenedType(getUnionType(r,2));return e.concatenate(e.filter(t,function(e){return!isObjectLiteralType(e)}),[n])}}return t}function getContravariantInference(e){return e.priority&28?getIntersectionType(e.contraCandidates):getCommonSubtype(e.contraCandidates)}function getCovariantInference(t,r){var n=widenObjectLiteralCandidates(t.candidates);var i=hasPrimitiveConstraint(t.typeParameter);var a=!i&&t.topLevel&&(t.isFixed||!isTypeParameterAtTopLevel(getReturnTypeOfSignature(r),t.typeParameter));var o=i?e.sameMap(n,getRegularTypeOfLiteralType):a?e.sameMap(n,getWidenedLiteralType):n;var s=t.priority&28?getUnionType(o,2):getCommonSupertype(o);return getWidenedType(s)}function getInferredType(e,t){var r=e.inferences[t];var n=r.inferredType;if(!n){var i=e.signature;if(i){var a=r.candidates?getCovariantInference(r,i):undefined;if(r.contraCandidates){var o=getContravariantInference(r);n=a&&!(a.flags&131072)&&isTypeSubtypeOf(a,o)?a:o}else if(a){n=a}else if(e.flags&1){n=ye}else{var s=getDefaultFromTypeParameter(r.typeParameter);if(s){n=instantiateType(s,combineTypeMappers(createBackreferenceMapper(e.signature.typeParameters,t),e))}else{n=getDefaultTypeArgumentType(!!(e.flags&2))}}}else{n=getTypeFromInference(r)}r.inferredType=n;var c=getConstraintOfTypeParameter(r.typeParameter);if(c){var u=instantiateType(c,e);if(!e.compareTypes(n,getTypeWithThisArgument(u,n))){r.inferredType=n=u}}}return n}function getDefaultTypeArgumentType(e){return e?X:xe}function getInferredTypes(e){var t=[];for(var r=0;r=n&&o-1){var l=a.filter(function(e){return e!==undefined});var f=o=2||(r.flags&(2|32))===0||r.valueDeclaration.parent.kind===274){return}var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration);var i=isInsideFunction(t.parent,n);var a=n;var o=false;while(a&&!e.nodeStartsNewLexicalEnvironment(a)){if(e.isIterationStatement(a,false)){o=true;break}a=a.parent}if(o){if(i){var s=true;if(e.isForStatement(n)&&e.getAncestor(r.valueDeclaration,238).parent===n){var c=getPartOfForStatementContainingNode(t.parent,n);if(c){var u=getNodeLinks(c);u.flags|=131072;var l=u.capturedBlockScopeBindings||(u.capturedBlockScopeBindings=[]);e.pushIfUnique(l,r);if(c===n.initializer){s=false}}}if(s){getNodeLinks(a).flags|=65536}}if(n.kind===225&&e.getAncestor(r.valueDeclaration,238).parent===n&&isAssignedInBodyOfForStatement(t,n)){getNodeLinks(r.valueDeclaration).flags|=4194304}getNodeLinks(r.valueDeclaration).flags|=524288}if(i){getNodeLinks(r.valueDeclaration).flags|=262144}}function isBindingCapturedByNode(t,r){var n=getNodeLinks(t);return!!n&&e.contains(n.capturedBlockScopeBindings,getSymbolOfNode(r))}function isAssignedInBodyOfForStatement(t,r){var n=t;while(n.parent.kind===195){n=n.parent}var i=false;if(e.isAssignmentTarget(n)){i=true}else if(n.parent.kind===202||n.parent.kind===203){var a=n.parent;i=a.operator===44||a.operator===45}if(!i){return false}return!!e.findAncestor(n,function(e){return e===r?"quit":e===r.statement})}function captureLexicalThis(e,t){getNodeLinks(e).flags|=2;if(t.kind===154||t.kind===157){var r=t.parent;getNodeLinks(r).flags|=4}else{getNodeLinks(t).flags|=4}}function findFirstSuperCall(t){if(e.isSuperCall(t)){return t}else if(e.isFunctionLike(t)){return undefined}return e.forEachChild(t,findFirstSuperCall)}function getSuperCallInConstructor(e){var t=getNodeLinks(e);if(t.hasSuperCall===undefined){t.superCall=findFirstSuperCall(e.body);t.hasSuperCall=t.superCall?true:false}return t.superCall}function classDeclarationExtendsNull(e){var t=getSymbolOfNode(e);var r=getDeclaredTypeOfSymbol(t);var n=getBaseConstructorTypeOfClass(r);return n===ae}function checkThisBeforeSuper(t,r,n){var i=r.parent;var a=e.getEffectiveBaseTypeNode(i);if(a&&!classDeclarationExtendsNull(i)){var o=getSuperCallInConstructor(r);if(!o||o.end>t.pos){error(t,n)}}}function checkThisExpression(t){var r=e.getThisContainer(t,true);var n=false;if(r.kind===157){checkThisBeforeSuper(t,r,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class)}if(r.kind===197){r=e.getThisContainer(r,false);n=true}switch(r.kind){case 244:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 243:error(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 157:if(isInConstructorArgumentInitializer(t,r)){error(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments)}break;case 154:case 153:if(e.hasModifier(r,32)){error(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer)}break;case 149:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);break}if(n&&C<2){captureLexicalThis(t,r)}var i=tryGetThisTypeAt(t,r);if(!i&&P){var a=error(t,n&&r.kind===279?e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any:e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(r)){var o=tryGetThisTypeAt(r);if(o){addRelatedInfo(a,e.createDiagnosticForNode(r,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return i||X}function tryGetThisTypeAt(t,r){if(r===void 0){r=e.getThisContainer(t,false)}var n=e.isInJSFile(t);if(e.isFunctionLike(r)&&(!isInParameterInitializerBeforeContainingFunction(t)||e.getThisParameter(r))){var i=getClassNameFromPrototypeMethod(r);if(n&&i){var a=checkExpression(i).symbol;if(a&&a.members&&a.flags&16){var o=getJSClassType(a);if(o){return getFlowTypeOfReference(t,o)}}}else if(n&&(r.kind===196||r.kind===239)&&e.getJSDocClassTag(r)){var o=getJSClassType(r.symbol);if(o){return getFlowTypeOfReference(t,o)}}var s=getThisTypeOfDeclaration(r)||getContextualThisParameterType(r);if(s){return getFlowTypeOfReference(t,s)}}if(e.isClassLike(r.parent)){var c=getSymbolOfNode(r.parent);var u=e.hasModifier(r,32)?getTypeOfSymbol(c):getDeclaredTypeOfSymbol(c).thisType;return getFlowTypeOfReference(t,u)}if(n){var u=getTypeForThisExpressionFromJSDoc(r);if(u&&u!==ee){return getFlowTypeOfReference(t,u)}}}function getClassNameFromPrototypeMethod(t){if(t.kind===196&&e.isBinaryExpression(t.parent)&&e.getAssignmentDeclarationKind(t.parent)===3){return t.parent.left.expression.expression}else if(t.kind===156&&t.parent.kind===188&&e.isBinaryExpression(t.parent.parent)&&e.getAssignmentDeclarationKind(t.parent.parent)===6){return t.parent.parent.left.expression}else if(t.kind===196&&t.parent.kind===275&&t.parent.parent.kind===188&&e.isBinaryExpression(t.parent.parent.parent)&&e.getAssignmentDeclarationKind(t.parent.parent.parent)===6){return t.parent.parent.parent.left.expression}else if(t.kind===196&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&(t.parent.name.escapedText==="value"||t.parent.name.escapedText==="get"||t.parent.name.escapedText==="set")&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&e.getAssignmentDeclarationKind(t.parent.parent.parent)===9){return t.parent.parent.parent.arguments[0].expression}else if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&(t.name.escapedText==="value"||t.name.escapedText==="get"||t.name.escapedText==="set")&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&e.getAssignmentDeclarationKind(t.parent.parent)===9){return t.parent.parent.arguments[0].expression}}function getTypeForThisExpressionFromJSDoc(t){var r=e.getJSDocType(t);if(r&&r.kind===289){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&n.parameters[0].name.escapedText==="this"){return getTypeFromTypeNode(n.parameters[0].type)}}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression){return getTypeFromTypeNode(i.typeExpression)}}function isInConstructorArgumentInitializer(t,r){return!!e.findAncestor(t,function(e){return e===r?"quit":e.kind===151})}function checkSuperExpression(t){var r=t.parent.kind===191&&t.parent.expression===t;var n=e.getSuperContainer(t,true);var i=false;if(!r){while(n&&n.kind===197){n=e.getSuperContainer(n,true);i=C<2}}var a=isLegalUsageOfSuperExpression(n);var o=0;if(!a){var s=e.findAncestor(t,function(e){return e===n?"quit":e.kind===149});if(s&&s.kind===149){error(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name)}else if(r){error(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors)}else if(!n||!n.parent||!(e.isClassLike(n.parent)||n.parent.kind===188)){error(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions)}else{error(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class)}return ee}if(!r&&n.kind===157){checkThisBeforeSuper(t,n,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class)}if(e.hasModifier(n,32)||r){o=512}else{o=256}getNodeLinks(t).flags|=o;if(n.kind===156&&e.hasModifier(n,256)){if(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)){getNodeLinks(n).flags|=4096}else{getNodeLinks(n).flags|=2048}}if(i){captureLexicalThis(t.parent,n)}if(n.parent.kind===188){if(C<2){error(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher);return ee}else{return X}}var c=n.parent;if(!e.getEffectiveBaseTypeNode(c)){error(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class);return ee}var u=getDeclaredTypeOfSymbol(getSymbolOfNode(c));var l=u&&getBaseTypes(u)[0];if(!l){return ee}if(n.kind===157&&isInConstructorArgumentInitializer(t,n)){error(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments);return ee}return o===512?getBaseConstructorTypeOfClass(u):getTypeWithThisArgument(l,u.thisType);function isLegalUsageOfSuperExpression(t){if(!t){return false}if(r){return t.kind===157}else{if(e.isClassLike(t.parent)||t.parent.kind===188){if(e.hasModifier(t,32)){return t.kind===156||t.kind===155||t.kind===158||t.kind===159}else{return t.kind===156||t.kind===155||t.kind===158||t.kind===159||t.kind===154||t.kind===153||t.kind===157}}}return false}}function getContainingObjectLiteral(e){return(e.kind===156||e.kind===158||e.kind===159)&&e.parent.kind===188?e.parent:e.kind===196&&e.parent.kind===275?e.parent.parent:undefined}function getThisTypeArgument(t){return e.getObjectFlags(t)&4&&t.target===rt?t.typeArguments[0]:undefined}function getThisTypeFromContextualType(t){return mapType(t,function(t){return t.flags&2097152?e.forEach(t.types,getThisTypeArgument):getThisTypeArgument(t)})}function getContextualThisParameterType(t){if(t.kind===197){return undefined}if(isContextSensitiveFunctionOrObjectLiteralMethod(t)){var r=getContextualSignature(t);if(r){var n=r.thisParameter;if(n){return getTypeOfSymbol(n)}}}var i=e.isInJSFile(t);if(P||i){var a=getContainingObjectLiteral(t);if(a){var o=getApparentTypeOfContextualType(a);var s=a;var c=o;while(c){var u=getThisTypeFromContextualType(c);if(u){return instantiateType(u,getContextualMapper(a))}if(s.parent.kind!==275){break}s=s.parent.parent;c=getApparentTypeOfContextualType(s)}return o?getNonNullableType(o):checkExpressionCached(a)}var l=t.parent;if(l.kind===204&&l.operatorToken.kind===59){var f=l.left;if(f.kind===189||f.kind===190){var d=f.expression;if(i&&e.isIdentifier(d)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&getResolvedSymbol(d)===p.symbol){return undefined}}return checkExpressionCached(d)}}}return undefined}function getContextuallyTypedParameterType(t){var r=t.parent;if(!isContextSensitiveFunctionOrObjectLiteralMethod(r)){return undefined}var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=getEffectiveCallArguments(n);var a=r.parameters.indexOf(t);if(t.dotDotDotToken){return getSpreadArgumentType(i,a,i.length,X,undefined)}var o=getNodeLinks(n);var s=o.resolvedSignature;o.resolvedSignature=Le;var c=a=0){return n}}return isNumericLiteralName(t)&&getIndexTypeOfContextualType(e,1)||getIndexTypeOfContextualType(e,0)}return undefined},true)}function getIndexTypeOfContextualType(e,t){return mapType(e,function(e){return getIndexTypeOfStructuredType(e,t)},true)}function getContextualTypeForObjectLiteralMethod(t){e.Debug.assert(e.isObjectLiteralMethod(t));if(t.flags&8388608){return undefined}return getContextualTypeForObjectLiteralElement(t)}function getContextualTypeForObjectLiteralElement(e){var t=e.parent;var r=getApparentTypeOfContextualType(t);if(r){if(!hasNonBindableDynamicName(e)){var n=getSymbolOfNode(e).escapedName;var i=getTypeOfPropertyOfContextualType(r,n);if(i){return i}}return isNumericName(e.name)&&getIndexTypeOfContextualType(r,1)||getIndexTypeOfContextualType(r,0)}return undefined}function getContextualTypeForElementExpression(e,t){return e&&(getTypeOfPropertyOfContextualType(e,""+t)||getIteratedTypeOrElementType(e,undefined,false,false,false))}function getContextualTypeForConditionalOperand(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?getContextualType(t):undefined}function getContextualTypeForChildJsxExpression(e){var t=getApparentTypeOfContextualType(e.openingElement.tagName);var r=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e));return t&&!isTypeAny(t)&&r&&r!==""?getTypeOfPropertyOfContextualType(t,r):undefined}function getContextualTypeForJsxExpression(t){var r=t.parent;return e.isJsxAttributeLike(r)?getContextualType(t):e.isJsxElement(r)?getContextualTypeForChildJsxExpression(r):undefined}function getContextualTypeForJsxAttribute(t){if(e.isJsxAttribute(t)){var r=getApparentTypeOfContextualType(t.parent);if(!r||isTypeAny(r)){return undefined}return getTypeOfPropertyOfContextualType(r,t.name.escapedText)}else{return getContextualType(t.parent)}}function isPossiblyDiscriminantValue(e){switch(e.kind){case 10:case 8:case 9:case 14:case 102:case 87:case 96:case 72:case 141:return true;case 189:case 195:return isPossiblyDiscriminantValue(e.expression);case 270:return!e.expression||isPossiblyDiscriminantValue(e.expression)}return false}function discriminateContextualTypeByObjectMembers(t,r){return discriminateTypeByDiscriminableItems(r,e.map(e.filter(t.properties,function(e){return!!e.symbol&&e.kind===275&&isPossiblyDiscriminantValue(e.initializer)&&isDiscriminantProperty(r,e.symbol.escapedName)}),function(e){return[function(){return checkExpression(e.initializer)},e.symbol.escapedName]}),isTypeAssignableTo,r)}function discriminateContextualTypeByJSXAttributes(t,r){return discriminateTypeByDiscriminableItems(r,e.map(e.filter(t.properties,function(e){return!!e.symbol&&e.kind===267&&isDiscriminantProperty(r,e.symbol.escapedName)&&(!e.initializer||isPossiblyDiscriminantValue(e.initializer))}),function(e){return[!e.initializer?function(){return fe}:function(){return checkExpression(e.initializer)},e.symbol.escapedName]}),isTypeAssignableTo,r)}function getApparentTypeOfContextualType(t){var r=getContextualType(t);r=r&&mapType(r,getApparentType);if(r&&r.flags&1048576){if(e.isObjectLiteralExpression(t)){return discriminateContextualTypeByObjectMembers(t,r)}else if(e.isJsxAttributes(t)){return discriminateContextualTypeByJSXAttributes(t,r)}}return r}function getContextualType(t){if(t.flags&8388608){return undefined}if(t.contextualType){return t.contextualType}var r=t.parent;switch(r.kind){case 237:case 151:case 154:case 153:case 186:return getContextualTypeForInitializerExpression(t);case 197:case 230:return getContextualTypeForReturnExpression(t);case 207:return getContextualTypeForYieldOperand(r);case 201:return getContextualTypeForAwaitOperand(r);case 191:case 192:return getContextualTypeForArgument(r,t);case 194:case 212:return getTypeFromTypeNode(r.type);case 204:return getContextualTypeForBinaryOperand(t);case 275:case 276:return getContextualTypeForObjectLiteralElement(r);case 277:return getApparentTypeOfContextualType(r.parent);case 187:{var n=r;var i=getApparentTypeOfContextualType(n);return getContextualTypeForElementExpression(i,e.indexOfNode(n.elements,t))}case 205:return getContextualTypeForConditionalOperand(t);case 216:e.Debug.assert(r.parent.kind===206);return getContextualTypeForSubstitutionExpression(r.parent,t);case 195:{var a=e.isInJSFile(r)?e.getJSDocTypeTag(r):undefined;return a?getTypeFromTypeNode(a.typeExpression.type):getContextualType(r)}case 270:return getContextualTypeForJsxExpression(r);case 267:case 269:return getContextualTypeForJsxAttribute(r);case 262:case 261:return getContextualJsxElementAttributesType(r)}return undefined}function getContextualMapper(t){var r=e.findAncestor(t,function(e){return!!e.contextualMapper});return r?r.contextualMapper:b}function getContextualJsxElementAttributesType(t){if(e.isJsxOpeningElement(t)&&t.parent.contextualType){return t.parent.contextualType}return getContextualTypeForArgumentAtIndex(t,0)}function getEffectiveFirstArgumentForJsxSignature(e,t){return getJsxReferenceKind(t)!==0?getJsxPropsTypeFromCallSignature(e,t):getJsxPropsTypeFromClassType(e,t)}function getJsxPropsTypeFromCallSignature(e,t){var r=getTypeOfFirstParameterOfSignatureWithFallback(e,xe);r=getJsxManagedAttributesFromLocatedAttributes(t,getJsxNamespaceAt(t),r);var n=getJsxType(c.IntrinsicAttributes,t);if(n!==ee){r=intersectTypes(n,r)}return r}function getJsxPropsTypeForSignatureFromMember(e,t){var r=getReturnTypeOfSignature(e);return isTypeAny(r)?r:getTypeOfPropertyOfType(r,t)}function getStaticTypeOfReferencedJsxConstructor(e){if(isJsxIntrinsicIdentifier(e.tagName)){var t=getIntrinsicAttributesTypeFromJsxOpeningLikeElement(e);var r=createSignatureForJSXIntrinsic(e,t);return getOrCreateTypeFromSignature(r)}var n=checkExpressionCached(e.tagName);if(n.flags&128){var t=getIntrinsicAttributesTypeFromStringLiteralType(n,e);if(!t){return ee}var r=createSignatureForJSXIntrinsic(e,t);return getOrCreateTypeFromSignature(r)}return n}function getJsxManagedAttributesFromLocatedAttributes(t,r,n){var i=getJsxLibraryManagedAttributes(r);if(i){var a=getDeclaredTypeOfSymbol(i);var o=getStaticTypeOfReferencedJsxConstructor(t);if(e.length(a.typeParameters)>=2){var s=fillMissingTypeArguments([o,n],a.typeParameters,2,e.isInJSFile(t));return createTypeReference(a,s)}else if(e.length(a.aliasTypeArguments)>=2){var s=fillMissingTypeArguments([o,n],a.aliasTypeArguments,2,e.isInJSFile(t));return getTypeAliasInstantiation(a.aliasSymbol,s)}}return n}function getJsxPropsTypeFromClassType(t,r){var n=getJsxNamespaceAt(r);var i=getJsxElementPropertiesName(n);var a=i===undefined?getTypeOfFirstParameterOfSignatureWithFallback(t,xe):i===""?getReturnTypeOfSignature(t):getJsxPropsTypeForSignatureFromMember(t,i);if(!a){if(!!i&&!!e.length(r.attributes.properties)){error(r,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,e.unescapeLeadingUnderscores(i))}return xe}a=getJsxManagedAttributesFromLocatedAttributes(r,n,a);if(isTypeAny(a)){return a}else{var o=a;var s=getJsxType(c.IntrinsicClassAttributes,r);if(s!==ee){var u=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(s.symbol);var l=getReturnTypeOfSignature(t);o=intersectTypes(u?createTypeReference(s,fillMissingTypeArguments([l],u,getMinTypeArgumentCount(u),e.isInJSFile(r))):s,o)}var f=getJsxType(c.IntrinsicAttributes,r);if(f!==ee){o=intersectTypes(f,o)}return o}}function getContextualCallSignature(e,t){var r=getSignaturesOfType(e,0);if(r.length===1){var n=r[0];if(!isAritySmaller(n,t)){return n}}}function isAritySmaller(t,r){var n=0;for(;n0&&i[a-1].kind===208;var y=a-(m?1:0);var h=void 0;if(c&&y>0){var _=cloneTypeReference(createTupleType(s,y,m));_.pattern=t;return _}else if(h=getArrayLiteralTupleTypeIfApplicable(s,u,m,a)){return h}else if(n){return createTupleType(s,y,m)}}return getArrayLiteralType(s,2)}function getArrayLiteralTupleTypeIfApplicable(t,r,n,i){if(i===void 0){i=t.length}if(r&&forEachType(r,isTupleLikeType)){var a=i-(n?1:0);var o=r.pattern;if(!n&&o&&(o.kind===185||o.kind===187)){var s=o.elements;for(var c=i;c0){o=getSpreadType(o,createObjectLiteralType(),t.symbol,s,32768);a=[];i=e.createSymbolTable();_=false;m=false;p=0}var b=checkExpression(v.expression);if(!isValidSpreadType(b)){error(v,e.Diagnostics.Spread_types_may_only_be_created_from_object_types);return ee}o=getSpreadType(o,b,t.symbol,s,32768);y=h+1;continue}else{e.Debug.assert(v.kind===158||v.kind===159);checkNodeDeferred(v)}if(S&&!(S.flags&8576)){if(isTypeAssignableTo(S,Te)){if(isTypeAssignableTo(S,se)){m=true}else{_=true}if(n){g=true}}}else{i.set(T.escapedName,T)}a.push(T)}if(u){for(var O=0,F=getPropertiesOfType(c);O0){o=getSpreadType(o,createObjectLiteralType(),t.symbol,s,32768)}return o}return createObjectLiteralType();function createObjectLiteralType(){var r=_?getObjectLiteralIndexInfo(t.properties,y,a,0):undefined;var o=m?getObjectLiteralIndexInfo(t.properties,y,a,1):undefined;var c=createAnonymousType(t.symbol,i,e.emptyArray,e.emptyArray,r,o);c.flags|=268435456|p&939524096;c.objectFlags|=128|w;if(d){c.objectFlags|=16384}if(g){c.objectFlags|=512}if(n){c.pattern=t}s|=c.flags&939524096;return c}}function isValidSpreadType(t){return!!(t.flags&(3|67108864|524288|58982400)||getFalsyFlags(t)&117632&&isValidSpreadType(removeDefinitelyFalsyTypes(t))||t.flags&3145728&&e.every(t.types,isValidSpreadType))}function checkJsxSelfClosingElementDeferred(e){checkJsxOpeningLikeElementOrOpeningFragment(e)}function checkJsxSelfClosingElement(e,t){checkNodeDeferred(e);return getJsxElementTypeAt(e)||X}function checkJsxElementDeferred(e){checkJsxOpeningLikeElementOrOpeningFragment(e.openingElement);if(isJsxIntrinsicIdentifier(e.closingElement.tagName)){getIntrinsicTagSymbol(e.closingElement)}else{checkExpression(e.closingElement.tagName)}checkJsxChildren(e)}function checkJsxElement(e,t){checkNodeDeferred(e);return getJsxElementTypeAt(e)||X}function checkJsxFragment(t){checkJsxOpeningLikeElementOrOpeningFragment(t.openingFragment);if(x.jsx===2&&(x.jsxFactory||e.getSourceFileOfNode(t).pragmas.has("jsx"))){error(t,x.jsxFactory?e.Diagnostics.JSX_fragment_is_not_supported_when_using_jsxFactory:e.Diagnostics.JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma)}checkJsxChildren(t);return getJsxElementTypeAt(t)||X}function isUnhyphenatedJsxName(t){return!e.stringContains(t,"-")}function isJsxIntrinsicIdentifier(t){return t.kind===72&&e.isIntrinsicJsxName(t.escapedText)}function checkJsxAttribute(e,t){return e.initializer?checkExpressionForMutableLocation(e.initializer,t):fe}function createJsxAttributesTypeFromAttributesProperty(t,r){var n=t.attributes;var i=e.createSymbolTable();var a=Ce;var o=false;var s;var c=false;var u=0;var l=4096;var f=getJsxElementChildrenPropertyName(getJsxNamespaceAt(t));for(var d=0,p=n.properties;d0){a=getSpreadType(a,createJsxAttributesType(),n.symbol,u,l);i=e.createSymbolTable()}var m=checkExpressionCached(g.expression,r);if(isTypeAny(m)){o=true}if(isValidSpreadType(m)){a=getSpreadType(a,m,n.symbol,u,l)}else{s=s?getIntersectionType([s,m]):m}}}if(!o){if(i.size>0){a=getSpreadType(a,createJsxAttributesType(),n.symbol,u,l)}}var h=t.parent.kind===260?t.parent:undefined;if(h&&h.openingElement===t&&h.children.length>0){var v=checkJsxChildren(h,r);if(!o&&f&&f!==""){if(c){error(n,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(f))}var T=getApparentTypeOfContextualType(t.attributes);var S=T&&getTypeOfPropertyOfContextualType(T,f);var b=createSymbol(4|33554432,f);b.type=v.length===1?v[0]:getArrayLiteralTupleTypeIfApplicable(v,S,false)||createArrayType(getUnionType(v));var x=e.createSymbolTable();x.set(f,b);a=getSpreadType(a,createAnonymousType(n.symbol,x,e.emptyArray,e.emptyArray,undefined,undefined),n.symbol,u,l)}}if(o){return X}if(s&&a!==Ce){return getIntersectionType([s,a])}return s||(a===Ce?createJsxAttributesType():a);function createJsxAttributesType(){l|=w;var t=createAnonymousType(n.symbol,i,e.emptyArray,e.emptyArray,undefined,undefined);t.flags|=268435456|u;t.objectFlags|=128|l;return t}}function checkJsxChildren(e,t){var r=[];for(var n=0,i=e.children;n1){error(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}return undefined}function getJsxLibraryManagedAttributes(e){return e&&getSymbol(e.exports,c.LibraryManagedAttributes,67897832)}function getJsxElementPropertiesName(e){return getNameFromJsxElementAttributesContainer(c.ElementAttributesPropertyNameContainer,e)}function getJsxElementChildrenPropertyName(e){return getNameFromJsxElementAttributesContainer(c.ElementChildrenAttributeNameContainer,e)}function getUninstantiatedJsxSignaturesOfType(t,r){if(t.flags&4){return[Le]}else if(t.flags&128){var n=getIntrinsicAttributesTypeFromStringLiteralType(t,r);if(!n){error(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,"JSX."+c.IntrinsicElements);return e.emptyArray}else{var i=createSignatureForJSXIntrinsic(r,n);return[i]}}var a=getApparentType(t);var o=getSignaturesOfType(a,1);if(o.length===0){o=getSignaturesOfType(a,0)}if(o.length===0&&a.flags&1048576){o=getUnionSignatures(e.map(a.types,function(e){return getUninstantiatedJsxSignaturesOfType(e,r)}))}return o}function getIntrinsicAttributesTypeFromStringLiteralType(t,r){var n=getJsxType(c.IntrinsicElements,r);if(n!==ee){var i=t.value;var a=getPropertyOfType(n,e.escapeLeadingUnderscores(i));if(a){return getTypeOfSymbol(a)}var o=getIndexTypeOfType(n,0);if(o){return o}return undefined}return X}function checkJsxReturnAssignableToAppropriateBound(t,r,n){if(t===1){var i=getJsxStatelessElementTypeAt(n);if(i){checkTypeRelatedTo(r,i,sr,n,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements)}}else if(t===0){var a=getJsxElementClassTypeAt(n);if(a){checkTypeRelatedTo(r,a,sr,n,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements)}}else{var i=getJsxStatelessElementTypeAt(n);var a=getJsxElementClassTypeAt(n);if(!i||!a){return}var o=getUnionType([i,a]);checkTypeRelatedTo(r,o,sr,n,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements)}}function getIntrinsicAttributesTypeFromJsxOpeningLikeElement(t){e.Debug.assert(isJsxIntrinsicIdentifier(t.tagName));var r=getNodeLinks(t);if(!r.resolvedJsxElementAttributesType){var n=getIntrinsicTagSymbol(t);if(r.jsxFlags&1){return r.resolvedJsxElementAttributesType=getTypeOfSymbol(n)}else if(r.jsxFlags&2){return r.resolvedJsxElementAttributesType=getIndexInfoOfSymbol(n,0).type}else{return r.resolvedJsxElementAttributesType=ee}}return r.resolvedJsxElementAttributesType}function getJsxElementClassTypeAt(e){var t=getJsxType(c.ElementClass,e);if(t===ee)return undefined;return t}function getJsxElementTypeAt(e){return getJsxType(c.Element,e)}function getJsxStatelessElementTypeAt(e){var t=getJsxElementTypeAt(e);if(t){return getUnionType([t,ie])}}function getJsxIntrinsicTagNamesAt(t){var r=getJsxType(c.IntrinsicElements,t);return r?getPropertiesOfType(r):e.emptyArray}function checkJsxPreconditions(t){if((x.jsx||0)===0){error(t,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided)}if(getJsxElementTypeAt(t)===undefined){if(F){error(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}}}function checkJsxOpeningLikeElementOrOpeningFragment(t){var r=e.isJsxOpeningLikeElement(t);if(r){checkGrammarJsxElement(t)}checkJsxPreconditions(t);var n=Xt&&x.jsx===2?e.Diagnostics.Cannot_find_name_0:undefined;var i=getJsxNamespace(t);var a=r?t.tagName:t;var o=resolveName(a,i,67220415,n,i,true);if(o){o.isReferenced=67108863;if(o.flags&2097152&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(o))){markAliasSymbolAsReferenced(o)}}if(r){var s=getResolvedSignature(t);checkJsxReturnAssignableToAppropriateBound(getJsxReferenceKind(t),getReturnTypeOfSignature(s),t)}}function isKnownProperty(e,t,r){if(e.flags&524288){var n=resolveStructuredTypeMembers(e);if(n.stringIndexInfo||n.numberIndexInfo&&isNumericLiteralName(t)||getPropertyOfObjectType(e,t)||r&&!isUnhyphenatedJsxName(t)){return true}}else if(e.flags&3145728){for(var i=0,a=e.types;i=0){return f>=getMinArgumentCount(n)&&(hasEffectiveRestParameter(n)||fs){return false}if(o||a>=c){return true}for(var d=a;d=i&&r.length<=n}function getSingleCallSignature(e){if(e.flags&524288){var t=resolveStructuredTypeMembers(e);if(t.callSignatures.length===1&&t.constructSignatures.length===0&&t.properties.length===0&&!t.stringIndexInfo&&!t.numberIndexInfo){return t.callSignatures[0]}}return undefined}function instantiateSignatureInContextOf(t,r,n,i){var a=createInferenceContext(t.typeParameters,t,0,i);var o=n?instantiateSignature(r,n):r;forEachMatchingParameterType(o,t,function(e,t){inferTypes(a.inferences,e,t)});if(!n){inferTypes(a.inferences,getReturnTypeOfSignature(r),getReturnTypeOfSignature(t),8)}return getSignatureInstantiation(t,getInferredTypes(a),e.isInJSFile(r.declaration))}function inferJsxTypeArguments(e,t,r,n){var i=getEffectiveFirstArgumentForJsxSignature(t,e);var a=checkExpressionWithContextualType(e.attributes,i,r&&r[0]!==undefined?b:n);inferTypes(n.inferences,a,i);return getInferredTypes(n)}function inferTypeArguments(t,r,n,i,a){for(var o=0,s=a.inferences;o=n-1){var o=t[n-1];if(isSpreadArgument(o)){return o.kind===215?createArrayType(o.type):getArrayifiedType(checkExpressionWithContextualType(o.expression,i,a))}}var s=getIndexTypeOfType(i,1)||X;var c=maybeTypeOfKind(s,131068|4194304);var u=[];var l=-1;for(var f=r;f0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray}var i=t.arguments||e.emptyArray;var a=i.length;if(a&&isSpreadArgument(i[a-1])&&getSpreadArgumentIndex(i)===a-1){var o=i[a-1];var s=checkExpressionCached(o.expression);if(isTupleType(s)){var c=s.typeArguments||e.emptyArray;var u=s.target.hasRestElement?c.length-1:-1;var l=e.map(c,function(e,t){return createSyntheticExpression(o,e,t===u)});return e.concatenate(i.slice(0,a-1),l)}}return i}function getEffectiveDecoratorArguments(t){var r=t.parent;var n=t.expression;switch(r.kind){case 240:case 209:return[createSyntheticExpression(n,getTypeOfSymbol(getSymbolOfNode(r)))];case 151:var i=r.parent;return[createSyntheticExpression(n,r.parent.kind===157?getTypeOfSymbol(getSymbolOfNode(i)):ee),createSyntheticExpression(n,X),createSyntheticExpression(n,se)];case 154:case 156:case 158:case 159:var a=r.kind!==154&&C!==0;return[createSyntheticExpression(n,getParentTypeOfClassElement(r)),createSyntheticExpression(n,getClassElementPropertyKeyType(r)),createSyntheticExpression(n,a?createTypedPropertyDescriptorType(getTypeOfNode(r)):X)]}return e.Debug.fail()}function getDecoratorArgumentCount(t,r){switch(t.parent.kind){case 240:case 209:return 1;case 154:return 2;case 156:case 158:case 159:return C===0||r.parameters.length<=2?2:3;case 151:return 3;default:return e.Debug.fail()}}function getArgumentArityError(t,r,n){var i=Number.POSITIVE_INFINITY;var a=Number.NEGATIVE_INFINITY;var o=Number.NEGATIVE_INFINITY;var s=Number.POSITIVE_INFINITY;var c=n.length;var u;for(var l=0,f=r;lo)o=p;if(c-1;if(c<=a&&y){c--}var h;if(u&&getMinArgumentCount(u)>c&&u.declaration){var v=u.declaration.parameters[u.thisParameter?c+1:c];if(v){h=e.createDiagnosticForNode(v,e.isBindingPattern(v.name)?e.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:e.Diagnostics.An_argument_for_0_was_not_provided,!v.name?c:!e.isBindingPattern(v.name)?e.idText(getFirstIdentifier(v.name)):undefined)}}if(_||y){var T=_&&y?e.Diagnostics.Expected_at_least_0_arguments_but_got_1_or_more:_?e.Diagnostics.Expected_at_least_0_arguments_but_got_1:e.Diagnostics.Expected_0_arguments_but_got_1_or_more;var S=e.createDiagnosticForNode(t,T,m,c);return h?addRelatedInfo(S,h):S}if(i1){v=chooseOverload(d,or,T)}if(!v){v=chooseOverload(d,sr,T)}if(v){return v}if(l){if(m){checkApplicableSignature(t,p,m,sr,undefined,true)}else if(y){Xt.add(getArgumentArityError(t,[y],p))}else if(h){checkTypeArguments(h,t.typeArguments,true,o)}else{var S=e.filter(r,function(e){return hasCorrectTypeArgumentArity(e,f)});if(S.length===0){Xt.add(getTypeArgumentArityError(t,r,f))}else if(!c){Xt.add(getArgumentArityError(t,S,p))}else if(o){Xt.add(e.createDiagnosticForNode(t,o))}}}return a||!p?resolveErrorCall(t):getCandidateForOverloadFailure(t,d,p,!!n);function chooseOverload(r,n,i){if(i===void 0){i=false}m=undefined;y=undefined;h=undefined;if(g){var a=r[0];if(f||!hasCorrectArity(t,p,a,i)){return undefined}if(!checkApplicableSignature(t,p,a,n,_,false)){m=a;return undefined}return a}for(var o=0;o0);return i||r.length===1||r.some(function(e){return!!e.typeParameters})?pickLongestCandidateSignature(t,r,n):createUnionOfSignaturesForOverloadFailure(r)}function createUnionOfSignaturesForOverloadFailure(t){var r=e.mapDefined(t,function(e){return e.thisParameter});var n;if(r.length){n=createCombinedSymbolFromTypes(r,r.map(getTypeOfParameter))}var i=e.minAndMax(t,getNumNonRestParameters),a=i.min,o=i.max;var s=[];var c=function(r){var n=e.mapDefined(t,function(t){var n=t.parameters,i=t.hasRestParameter;return i?rt.length){n.pop()}while(n.length=t){return i}if(o>n){n=o;r=i}}return r}function resolveCallExpression(t,r,n){if(t.expression.kind===98){var i=checkSuperExpression(t.expression);if(isTypeAny(i)){for(var a=0,o=t.arguments;a=0){error(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}}var a=checkNonNullExpression(t.expression);if(a===ye){return je}a=getApparentType(a);if(a===ee){return resolveErrorCall(t)}if(isTypeAny(a)){if(t.typeArguments){error(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments)}return resolveUntypedCall(t)}var o=getSignaturesOfType(a,1);if(o.length){if(!isConstructorAccessible(t,o[0])){return resolveErrorCall(t)}var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);if(s&&e.hasModifier(s,128)){error(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class);return resolveErrorCall(t)}return resolveCall(t,o,r,n)}var c=getSignaturesOfType(a,0);if(c.length){var u=resolveCall(t,c,r,n);if(!F){if(u.declaration&&!isJSConstructor(u.declaration)&&getReturnTypeOfSignature(u)!==_e){error(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword)}if(getThisTypeOfSignature(u)===_e){error(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)}}return u}invocationError(t,a,1);return resolveErrorCall(t)}function typeHasProtectedAccessibleBase(t,r){var n=getBaseTypes(r);if(!e.length(n)){return false}var i=n[0];if(i.flags&2097152){var a=i.types;var o=e.countWhere(a,isMixinConstructorType);var s=0;for(var c=0,u=i.types;c0){return e.parameters.length-1+r}}}return e.minArgumentCount}function hasEffectiveRestParameter(e){if(e.hasRestParameter){var t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);return!isTupleType(t)||t.target.hasRestElement}return false}function getEffectiveRestType(e){if(e.hasRestParameter){var t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);return isTupleType(t)?getRestArrayTypeOfTupleType(t):t}return undefined}function getNonArrayRestType(e){var t=getEffectiveRestType(e);return t&&!isArrayType(t)&&!isTypeAny(t)?t:undefined}function getTypeOfFirstParameterOfSignature(e){return getTypeOfFirstParameterOfSignatureWithFallback(e,me)}function getTypeOfFirstParameterOfSignatureWithFallback(e,t){return e.parameters.length>0?getTypeAtPosition(e,0):t}function inferFromAnnotatedParameters(t,r,n){var i=t.parameters.length-(t.hasRestParameter?1:0);for(var a=0;a=0){if(r.parameters[n.parameterIndex].dotDotDotToken){error(i,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter)}else{var a=function(){return e.chainDiagnosticMessages(undefined,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)};checkTypeAssignableTo(n.type,getTypeOfNode(r.parameters[n.parameterIndex]),t.type,undefined,a)}}else if(i){var o=false;for(var s=0,c=r.parameters;s0&&r.declarations[0]!==t){return}}var n=getIndexSymbol(getSymbolOfNode(t));if(n){var i=false;var a=false;for(var o=0,s=n.declarations;o=0){if(r){error(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method)}return undefined}$t.push(t.id);var l=getAwaitedType(u,r,n);$t.pop();if(!l){return undefined}return i.awaitedTypeOfType=l}var f=getTypeOfPropertyOfType(t,"then");if(f&&getSignaturesOfType(f,0).length>0){if(r){if(!n)return e.Debug.fail();error(r,n)}return undefined}return i.awaitedTypeOfType=t}function checkAsyncFunctionReturnType(t,r){var n=getTypeFromTypeNode(r);if(C>=2){if(n===ee){return}var i=getGlobalPromiseType(true);if(i!==ke&&!isReferenceToType(n,i)){error(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);return}}else{markTypeNodeAsReferenced(r);if(n===ee){return}var a=e.getEntityNameFromTypeNode(r);if(a===undefined){error(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,typeToString(n));return}var o=resolveEntityName(a,67220415,true);var s=o?getTypeOfSymbol(o):ee;if(s===ee){if(a.kind===72&&a.escapedText==="Promise"&&getTargetType(n)===getGlobalPromiseType(false)){error(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option)}else{error(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a))}return}var c=getGlobalPromiseConstructorLikeType(true);if(c===xe){error(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));return}if(!checkTypeAssignableTo(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)){return}var u=a&&getFirstIdentifier(a);var l=getSymbol(t.locals,u.escapedText,67220415);if(l){error(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a));return}}checkAwaitedType(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function checkDecorator(t){var r=getResolvedSignature(t);var n=getReturnTypeOfSignature(r);if(n.flags&1){return}var i;var a=getDiagnosticHeadMessageForDecoratorResolution(t);var o;switch(t.parent.kind){case 240:var s=getSymbolOfNode(t.parent);var c=getTypeOfSymbol(s);i=getUnionType([c,_e]);break;case 151:i=_e;o=e.chainDiagnosticMessages(undefined,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 154:i=_e;o=e.chainDiagnosticMessages(undefined,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 156:case 158:case 159:var u=getTypeOfNode(t.parent);var l=createTypedPropertyDescriptorType(u);i=getUnionType([l,_e]);break;default:return e.Debug.fail()}checkTypeAssignableTo(n,i,t,a,function(){return o})}function markTypeNodeAsReferenced(t){markEntityNameOrEntityExpressionAsReference(t&&e.getEntityNameFromTypeNode(t))}function markEntityNameOrEntityExpressionAsReference(e){if(!e)return;var t=getFirstIdentifier(e);var r=(e.kind===72?67897832:1920)|2097152;var n=resolveName(t,t.escapedText,r,undefined,undefined,true);if(n&&n.flags&2097152&&symbolIsValue(n)&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(n))){markAliasSymbolAsReferenced(n)}}function markDecoratorMedataDataTypeNodeAsReferenced(t){var r=getEntityNameForDecoratorMetadata(t);if(r&&e.isEntityName(r)){markEntityNameOrEntityExpressionAsReference(r)}}function getEntityNameForDecoratorMetadata(e){if(e){switch(e.kind){case 174:case 173:return getEntityNameForDecoratorMetadataFromTypeList(e.types);case 175:return getEntityNameForDecoratorMetadataFromTypeList([e.trueType,e.falseType]);case 177:return getEntityNameForDecoratorMetadata(e.type);case 164:return e.typeName}}}function getEntityNameForDecoratorMetadataFromTypeList(t){var r;for(var n=0,i=t;n-1&&n0);if(n.length>1){error(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag)}var i=getIdentifierFromEntityNameExpression(t.class.expression);var a=e.getClassExtendsHeritageElement(r);if(a){var o=getIdentifierFromEntityNameExpression(a.expression);if(o&&i.escapedText!==o.escapedText){error(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}}function getIdentifierFromEntityNameExpression(e){switch(e.kind){case 72:return e;case 189:return e.name;default:return undefined}}function checkFunctionOrMethodDeclaration(t){checkDecorators(t);checkSignatureDeclaration(t);var r=e.getFunctionFlags(t);if(t.name&&t.name.kind===149){checkComputedPropertyName(t.name)}if(!hasNonBindableDynamicName(t)){var n=getSymbolOfNode(t);var i=t.localSymbol||n;var o=e.find(i.declarations,function(e){return e.kind===t.kind&&!(e.flags&65536)});if(t===o){checkFunctionOrConstructorSymbol(i)}if(n.parent){if(e.getDeclarationOfKind(n,t.kind)===t){checkFunctionOrConstructorSymbol(n)}}}var s=t.kind===155?undefined:t.body;checkSourceElement(s);if((r&1)===0){var c=getReturnOrPromisedType(t,r);checkAllCodePathsInNonVoidFunctionReturnOrThrow(t,c)}if(a&&!e.getEffectiveReturnTypeNode(t)){if(e.nodeIsMissing(s)&&!isPrivateWithinAmbient(t)){reportImplicitAny(t,X)}if(r&1&&e.nodeIsPresent(s)){getReturnTypeOfSignature(getSignatureFromDeclaration(t))}}if(e.isInJSFile(t)){var u=e.getJSDocTypeTag(t);if(u&&u.typeExpression&&!getContextualCallSignature(getTypeFromTypeNode(u.typeExpression),t)){error(u,e.Diagnostics.The_type_of_a_function_declaration_must_match_the_function_s_signature)}}}function registerForUnusedIdentifiersCheck(t){if(a&&!(t.flags&4194304)){var r=e.getSourceFileOfNode(t);var n=Dt.get(r.path);if(!n){n=[];Dt.set(r.path,n)}n.push(t)}}function checkUnusedIdentifiers(t,r){for(var n=0,i=t;n=2||x.noEmit||!e.hasRestParameter(t)||t.flags&4194304||e.nodeIsMissing(t.body)){return}e.forEach(t.parameters,function(t){if(t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===B.escapedName){error(t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}})}function needCollisionCheckForIdentifier(t,r,n){if(!(r&&r.escapedText===n)){return false}if(t.kind===154||t.kind===153||t.kind===156||t.kind===155||t.kind===158||t.kind===159){return false}if(t.flags&4194304){return false}var i=e.getRootDeclaration(t);if(i.kind===151&&e.nodeIsMissing(i.parent.body)){return false}return true}function checkIfThisIsCapturedInEnclosingScope(t){e.findAncestor(t,function(r){if(getNodeCheckFlags(r)&4){var n=t.kind!==72;if(n){error(e.getNameOfDeclaration(t),e.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference)}else{error(t,e.Diagnostics.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference)}return true}return false})}function checkIfNewTargetIsCapturedInEnclosingScope(t){e.findAncestor(t,function(r){if(getNodeCheckFlags(r)&8){var n=t.kind!==72;if(n){error(e.getNameOfDeclaration(t),e.Diagnostics.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference)}else{error(t,e.Diagnostics.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference)}return true}return false})}function checkCollisionWithRequireExportsInGeneratedCode(t,r){if(E>=e.ModuleKind.ES2015||x.noEmit){return}if(!needCollisionCheckForIdentifier(t,r,"require")&&!needCollisionCheckForIdentifier(t,r,"exports")){return}if(e.isModuleDeclaration(t)&&e.getModuleInstanceState(t)!==1){return}var n=getDeclarationContainer(t);if(n.kind===279&&e.isExternalOrCommonJsModule(n)){error(r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}function checkCollisionWithGlobalPromiseInGeneratedCode(t,r){if(C>=4||x.noEmit||!needCollisionCheckForIdentifier(t,r,"Promise")){return}if(e.isModuleDeclaration(t)&&e.getModuleInstanceState(t)!==1){return}var n=getDeclarationContainer(t);if(n.kind===279&&e.isExternalOrCommonJsModule(n)&&n.flags&1024){error(r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}function checkVarDeclaredNamesNotShadowed(t){if((e.getCombinedNodeFlags(t)&3)!==0||e.isParameterDeclaration(t)){return}if(t.kind===237&&!t.initializer){return}var r=getSymbolOfNode(t);if(r.flags&1){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=resolveName(t,t.name.escapedText,3,undefined,undefined,false);if(n&&n!==r&&n.flags&2){if(getDeclarationNodeFlagsFromSymbol(n)&3){var i=e.getAncestor(n.valueDeclaration,238);var a=i.parent.kind===219&&i.parent.parent?i.parent.parent:undefined;var o=a&&(a.kind===218&&e.isFunctionLike(a.parent)||a.kind===245||a.kind===244||a.kind===279);if(!o){var s=symbolToString(n);error(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,s,s)}}}}}function checkParameterInitializer(t){if(e.getRootDeclaration(t).kind!==151){return}var r=e.getContainingFunction(t);visit(t.initializer);function visit(n){if(e.isTypeNode(n)||e.isDeclarationName(n)){return}if(n.kind===189){return visit(n.expression)}else if(n.kind===72){var i=resolveName(n,n.escapedText,67220415|2097152,undefined,undefined,false);if(!i||i===Q||!i.valueDeclaration){return}if(i.valueDeclaration===t){error(n,e.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer,e.declarationNameToString(t.name));return}var a=e.getEnclosingBlockScopeContainer(i.valueDeclaration);if(a===r){if(i.valueDeclaration.kind===151||i.valueDeclaration.kind===186){if(i.valueDeclaration.pos1){if(e.some(c.declarations,function(r){return r!==t&&e.isVariableLike(r)&&!areDeclarationFlagsIdentical(r,t)})){error(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}}}else{var d=convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(t));if(u!==ee&&d!==ee&&!isTypeIdenticalTo(u,d)&&!(c.flags&67108864)){errorNextVariableOrPropertyDeclarationMustHaveSameType(u,t,d)}if(t.initializer){checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(t.initializer),d,t,t.initializer,undefined)}if(!areDeclarationFlagsIdentical(t,c.valueDeclaration)){error(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}}if(t.kind!==154&&t.kind!==153){checkExportsOnMergedDeclarations(t);if(t.kind===237||t.kind===186){checkVarDeclaredNamesNotShadowed(t)}checkCollisionWithRequireExportsInGeneratedCode(t,t.name);checkCollisionWithGlobalPromiseInGeneratedCode(t,t.name)}}function errorNextVariableOrPropertyDeclarationMustHaveSameType(t,r,n){var i=e.getNameOfDeclaration(r);var a=r.kind===154||r.kind===153?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2;error(i,a,e.declarationNameToString(i),typeToString(t),typeToString(n))}function areDeclarationFlagsIdentical(t,r){if(t.kind===151&&r.kind===237||t.kind===237&&r.kind===151){return true}if(e.hasQuestionToken(t)!==e.hasQuestionToken(r)){return false}var n=8|16|256|128|64|32;return e.getSelectedModifierFlags(t,n)===e.getSelectedModifierFlags(r,n)}function checkVariableDeclaration(e){checkGrammarVariableDeclaration(e);return checkVariableLikeDeclaration(e)}function checkBindingElement(e){checkGrammarBindingElement(e);return checkVariableLikeDeclaration(e)}function checkVariableStatement(t){if(!checkGrammarDecoratorsAndModifiers(t)&&!checkGrammarVariableDeclarationList(t.declarationList))checkGrammarForDisallowedLetOrConstStatement(t);e.forEach(t.declarationList.declarations,checkSourceElement)}function checkExpressionStatement(e){checkGrammarStatementInAmbientContext(e);checkExpression(e.expression)}function checkIfStatement(t){checkGrammarStatementInAmbientContext(t);checkTruthinessExpression(t.expression);checkSourceElement(t.thenStatement);if(t.thenStatement.kind===220){error(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement)}checkSourceElement(t.elseStatement)}function checkDoStatement(e){checkGrammarStatementInAmbientContext(e);checkSourceElement(e.statement);checkTruthinessExpression(e.expression)}function checkWhileStatement(e){checkGrammarStatementInAmbientContext(e);checkTruthinessExpression(e.expression);checkSourceElement(e.statement)}function checkTruthinessExpression(t,r){var n=checkExpression(t,r);if(n.flags&16384){error(t,e.Diagnostics.An_expression_of_type_void_cannot_be_tested_for_truthiness)}return n}function checkForStatement(t){if(!checkGrammarStatementInAmbientContext(t)){if(t.initializer&&t.initializer.kind===238){checkGrammarVariableDeclarationList(t.initializer)}}if(t.initializer){if(t.initializer.kind===238){e.forEach(t.initializer.declarations,checkVariableDeclaration)}else{checkExpression(t.initializer)}}if(t.condition)checkTruthinessExpression(t.condition);if(t.incrementor)checkExpression(t.incrementor);checkSourceElement(t.statement);if(t.locals){registerForUnusedIdentifiersCheck(t)}}function checkForOfStatement(t){checkGrammarForInOrForOfStatement(t);if(t.awaitModifier){var r=e.getFunctionFlags(e.getContainingFunction(t));if((r&(4|2))===2&&C<6){checkExternalEmitHelpers(t,16384)}}else if(x.downlevelIteration&&C<2){checkExternalEmitHelpers(t,256)}if(t.initializer.kind===238){checkForInOrForOfVariableDeclaration(t)}else{var n=t.initializer;var i=checkRightHandSideOfForOf(t.expression,t.awaitModifier);if(n.kind===187||n.kind===188){checkDestructuringAssignment(n,i||ee)}else{var a=checkExpression(n);checkReferenceExpression(n,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access);if(i){checkTypeAssignableToAndOptionallyElaborate(i,a,n,t.expression)}}}checkSourceElement(t.statement);if(t.locals){registerForUnusedIdentifiersCheck(t)}}function checkForInStatement(t){checkGrammarForInOrForOfStatement(t);var r=getNonNullableTypeIfNeeded(checkExpression(t.expression));if(t.initializer.kind===238){var n=t.initializer.declarations[0];if(n&&e.isBindingPattern(n.name)){error(n.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern)}checkForInOrForOfVariableDeclaration(t)}else{var i=t.initializer;var a=checkExpression(i);if(i.kind===187||i.kind===188){error(i,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern)}else if(!isTypeAssignableTo(getIndexTypeOrString(r),a)){error(i,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}else{checkReferenceExpression(i,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access)}}if(r===me||!isTypeAssignableToKind(r,67108864|58982400)){error(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,typeToString(r))}checkSourceElement(t.statement);if(t.locals){registerForUnusedIdentifiersCheck(t)}}function checkForInOrForOfVariableDeclaration(e){var t=e.initializer;if(t.declarations.length>=1){var r=t.declarations[0];checkVariableDeclaration(r)}}function checkRightHandSideOfForOf(e,t){var r=checkNonNullExpression(e);return checkIteratedTypeOrElementType(r,e,true,t!==undefined)}function checkIteratedTypeOrElementType(e,t,r,n){if(isTypeAny(e)){return e}return getIteratedTypeOrElementType(e,t,r,n,true)||X}function getIteratedTypeOrElementType(t,r,n,i,a){if(t===me){reportTypeNotIterableError(r,t,i);return undefined}var o=C>=2;var s=!o&&x.downlevelIteration;if(o||s||i){var c=getIteratedTypeOfIterable(t,o?r:undefined,i,true,a);if(c||o){return c}}var u=t;var l=false;var f=false;if(n){if(u.flags&1048576){var d=t.types;var p=e.filter(d,function(e){return!(e.flags&132)});if(p!==d){u=getUnionType(p,2)}}else if(u.flags&132){u=me}f=u!==t;if(f){if(C<1){if(r){error(r,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher);l=true}}if(u.flags&131072){return oe}}}if(!isArrayLikeType(u)){if(r&&!l){var g=!!getIteratedTypeOfIterable(t,undefined,i,true,a);var _=!n||f?s?e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:g?e.Diagnostics.Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:e.Diagnostics.Type_0_is_not_an_array_type:s?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:g?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type;error(r,_,typeToString(u))}return f?oe:undefined}var m=getIndexTypeOfType(u,1);if(f&&m){if(m.flags&132){return oe}return getUnionType([m,oe],2)}return m}function getIteratedTypeOfIterable(t,r,n,i,a){if(isTypeAny(t)){return undefined}return mapType(t,getIteratedType);function getIteratedType(t){var o=t;if(n){if(o.iteratedTypeOfAsyncIterable){return o.iteratedTypeOfAsyncIterable}if(isReferenceToType(t,getGlobalAsyncIterableType(false))||isReferenceToType(t,getGlobalAsyncIterableIteratorType(false))){return o.iteratedTypeOfAsyncIterable=t.typeArguments[0]}}if(i){if(o.iteratedTypeOfIterable){return n?o.iteratedTypeOfAsyncIterable=getAwaitedType(o.iteratedTypeOfIterable):o.iteratedTypeOfIterable}if(isReferenceToType(t,getGlobalIterableType(false))||isReferenceToType(t,getGlobalIterableIteratorType(false))){return n?o.iteratedTypeOfAsyncIterable=getAwaitedType(t.typeArguments[0]):o.iteratedTypeOfIterable=t.typeArguments[0]}}var s=n&&getTypeOfPropertyOfType(t,e.getPropertyNameForKnownSymbolName("asyncIterator"));var c=s||(i?getTypeOfPropertyOfType(t,e.getPropertyNameForKnownSymbolName("iterator")):undefined);if(isTypeAny(c)){return undefined}var u=c?getSignaturesOfType(c,0):undefined;if(!e.some(u)){if(r){reportTypeNotIterableError(r,t,n);r=undefined}return undefined}var l=getUnionType(e.map(u,getReturnTypeOfSignature),2);var f=getIteratedTypeOfIterator(l,r,!!s);if(a&&r&&f){checkTypeAssignableTo(t,s?createAsyncIterableType(f):createIterableType(f),r)}if(f){return n?o.iteratedTypeOfAsyncIterable=s?f:getAwaitedType(f):o.iteratedTypeOfIterable=f}}}function reportTypeNotIterableError(t,r,n){error(t,n?e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator,typeToString(r))}function getIteratedTypeOfIterator(t,r,n){if(isTypeAny(t)){return undefined}var i=t;if(n?i.iteratedTypeOfAsyncIterator:i.iteratedTypeOfIterator){return n?i.iteratedTypeOfAsyncIterator:i.iteratedTypeOfIterator}var a=n?getGlobalAsyncIteratorType:getGlobalIteratorType;if(isReferenceToType(t,a(false))){return n?i.iteratedTypeOfAsyncIterator=t.typeArguments[0]:i.iteratedTypeOfIterator=t.typeArguments[0]}var o=getTypeOfPropertyOfType(t,"next");if(isTypeAny(o)){return undefined}var s=o?getSignaturesOfType(o,0):e.emptyArray;if(s.length===0){if(r){error(r,n?e.Diagnostics.An_async_iterator_must_have_a_next_method:e.Diagnostics.An_iterator_must_have_a_next_method)}return undefined}var c=getUnionType(e.map(s,getReturnTypeOfSignature),2);if(isTypeAny(c)){return undefined}if(n){c=getAwaitedTypeOfPromise(c,r,e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property);if(isTypeAny(c)){return undefined}}var u=c&&getTypeOfPropertyOfType(c,"value");if(!u){if(r){error(r,n?e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property)}return undefined}return n?i.iteratedTypeOfAsyncIterator=u:i.iteratedTypeOfIterator=u}function getIteratedTypeOfGenerator(e,t){if(isTypeAny(e)){return undefined}return getIteratedTypeOfIterable(e,undefined,t,!t,false)||getIteratedTypeOfIterator(e,undefined,t)}function checkBreakOrContinueStatement(e){if(!checkGrammarStatementInAmbientContext(e))checkGrammarBreakOrContinueStatement(e)}function isUnwrappedReturnTypeVoidOrAny(t,r){var n=(e.getFunctionFlags(t)&3)===2?getPromisedTypeOfPromise(r):r;return!!n&&maybeTypeOfKind(n,16384|3)}function checkReturnStatement(t){if(checkGrammarStatementInAmbientContext(t)){return}var r=e.getContainingFunction(t);if(!r){grammarErrorOnFirstToken(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body);return}var n=getSignatureFromDeclaration(r);var i=getReturnTypeOfSignature(n);var a=e.getFunctionFlags(r);var o=a&1;if(k||t.expression||i.flags&131072){var s=t.expression?checkExpressionCached(t.expression):re;if(o){return}else if(r.kind===159){if(t.expression){error(t,e.Diagnostics.Setters_cannot_return_a_value)}}else if(r.kind===157){if(t.expression&&!checkTypeAssignableToAndOptionallyElaborate(s,i,t,t.expression)){error(t,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class)}}else if(getReturnTypeFromAnnotation(r)){if(a&2){var c=getPromisedTypeOfPromise(i);var u=checkAwaitedType(s,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);if(c){checkTypeAssignableTo(u,c,t)}}else{checkTypeAssignableToAndOptionallyElaborate(s,i,t,t.expression)}}}else if(r.kind!==157&&x.noImplicitReturns&&!isUnwrappedReturnTypeVoidOrAny(r,i)&&!o){error(t,e.Diagnostics.Not_all_code_paths_return_a_value)}}function checkWithStatement(t){if(!checkGrammarStatementInAmbientContext(t)){if(t.flags&16384){grammarErrorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block)}}checkExpression(t.expression);var r=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(r)){var n=e.getSpanOfTokenAtPosition(r,t.pos).start;var i=t.statement.pos;grammarErrorAtPos(r,n,i-n,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}function checkSwitchStatement(t){checkGrammarStatementInAmbientContext(t);var r;var n=false;var i=checkExpression(t.expression);var o=isLiteralType(i);e.forEach(t.caseBlock.clauses,function(s){if(s.kind===272&&!n){if(r===undefined){r=s}else{var c=e.getSourceFileOfNode(t);var u=e.skipTrivia(c.text,s.pos);var l=s.statements.length>0?s.statements[0].pos:s.end;grammarErrorAtPos(c,u,l-u,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement);n=true}}if(a&&s.kind===271){var f=checkExpression(s.expression);var d=isLiteralType(f);var p=i;if(!d||!o){f=d?getBaseTypeOfLiteralType(f):f;p=getBaseTypeOfLiteralType(i)}if(!isTypeEqualityComparableTo(p,f)){checkTypeComparableTo(f,p,s.expression,undefined)}}e.forEach(s.statements,checkSourceElement)});if(t.caseBlock.locals){registerForUnusedIdentifiersCheck(t.caseBlock)}}function checkLabeledStatement(t){if(!checkGrammarStatementInAmbientContext(t)){e.findAncestor(t.parent,function(r){if(e.isFunctionLike(r)){return"quit"}if(r.kind===233&&r.label.escapedText===t.label.escapedText){grammarErrorOnNode(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNode(t.label));return true}return false})}checkSourceElement(t.statement)}function checkThrowStatement(t){if(!checkGrammarStatementInAmbientContext(t)){if(t.expression===undefined){grammarErrorAfterFirstToken(t,e.Diagnostics.Line_break_not_permitted_here)}}if(t.expression){checkExpression(t.expression)}}function checkTryStatement(t){checkGrammarStatementInAmbientContext(t);checkBlock(t.tryBlock);var r=t.catchClause;if(r){if(r.variableDeclaration){if(r.variableDeclaration.type){grammarErrorOnFirstToken(r.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation)}else if(r.variableDeclaration.initializer){grammarErrorOnFirstToken(r.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer)}else{var n=r.block.locals;if(n){e.forEachKey(r.locals,function(t){var r=n.get(t);if(r&&(r.flags&2)!==0){grammarErrorOnNode(r.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,t)}})}}}checkBlock(r.block)}if(t.finallyBlock){checkBlock(t.finallyBlock)}}function checkIndexConstraints(t){var r=getIndexDeclarationOfSymbol(t.symbol,1);var n=getIndexDeclarationOfSymbol(t.symbol,0);var i=getIndexTypeOfType(t,0);var a=getIndexTypeOfType(t,1);if(i||a){e.forEach(getPropertiesOfObjectType(t),function(e){var o=getTypeOfSymbol(e);checkIndexConstraintForProperty(e,o,t,n,i,0);checkIndexConstraintForProperty(e,o,t,r,a,1)});var o=t.symbol.valueDeclaration;if(e.getObjectFlags(t)&1&&e.isClassLike(o)){for(var s=0,c=o.members;sn){return false}for(var l=0;l>a;case 48:return i>>>a;case 46:return i<1){e.forEach(n.declarations,function(t){if(e.isEnumDeclaration(t)&&e.isEnumConst(t)!==r){error(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}})}var o=false;e.forEach(n.declarations,function(t){if(t.kind!==243){return false}var r=t;if(!r.members.length){return false}var n=r.members[0];if(!n.initializer){if(o){error(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element)}else{o=true}}})}}function getFirstNonAmbientClassOrFunctionDeclaration(t){var r=t.declarations;for(var n=0,i=r;n1&&!n&&isInstantiatedModule(t,!!x.preserveConstEnums||!!x.isolatedModules)){var c=getFirstNonAmbientClassOrFunctionDeclaration(s);if(c){if(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(c)){error(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged)}else if(t.pos=e.ModuleKind.ES2015&&!(t.flags&4194304)){grammarErrorOnNode(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}}}}function checkExportDeclaration(t){if(checkGrammarModuleElementContext(t,e.Diagnostics.An_export_declaration_can_only_be_used_in_a_module)){return}if(!checkGrammarDecoratorsAndModifiers(t)&&e.hasModifiers(t)){grammarErrorOnFirstToken(t,e.Diagnostics.An_export_declaration_cannot_have_modifiers)}if(!t.moduleSpecifier||checkExternalImportOrExportDeclaration(t)){if(t.exportClause){e.forEach(t.exportClause.elements,checkExportSpecifier);var r=t.parent.kind===245&&e.isAmbientModule(t.parent.parent);var n=!r&&t.parent.kind===245&&!t.moduleSpecifier&&t.flags&4194304;if(t.parent.kind!==279&&!r&&!n){error(t,e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace)}}else{var i=resolveExternalModuleName(t,t.moduleSpecifier);if(i&&hasExportAssignmentSymbol(i)){error(t.moduleSpecifier,e.Diagnostics.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,symbolToString(i))}if(E!==e.ModuleKind.System&&E!==e.ModuleKind.ES2015&&E!==e.ModuleKind.ESNext){checkExternalEmitHelpers(t,32768)}}}}function checkGrammarModuleElementContext(e,t){var r=e.parent.kind===279||e.parent.kind===245||e.parent.kind===244;if(!r){grammarErrorOnFirstToken(e,t)}return!r}function checkExportSpecifier(t){checkAliasSymbol(t);if(e.getEmitDeclarations(x)){collectLinkedAliases(t.propertyName||t.name,true)}if(!t.parent.parent.moduleSpecifier){var r=t.propertyName||t.name;var n=resolveName(r,r.escapedText,67220415|67897832|1920|2097152,undefined,undefined,true);if(n&&(n===R||isGlobalSourceFile(getDeclarationContainer(n.declarations[0])))){error(r,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,e.idText(r))}else{markExportAsReferenced(t)}}}function checkExportAssignment(t){if(checkGrammarModuleElementContext(t,e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)){return}var r=t.parent.kind===279?t.parent:t.parent.parent;if(r.kind===244&&!e.isAmbientModule(r)){if(t.isExportEquals){error(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace)}else{error(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}return}if(!checkGrammarDecoratorsAndModifiers(t)&&e.hasModifiers(t)){grammarErrorOnFirstToken(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers)}if(t.expression.kind===72){markExportAsReferenced(t);if(e.getEmitDeclarations(x)){collectLinkedAliases(t.expression,true)}}else{checkExpressionCached(t.expression)}checkExternalModuleExports(r);if(t.flags&4194304&&!e.isEntityNameExpression(t.expression)){grammarErrorOnNode(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context)}if(t.isExportEquals&&!(t.flags&4194304)){if(E>=e.ModuleKind.ES2015){grammarErrorOnNode(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead)}else if(E===e.ModuleKind.System){grammarErrorOnNode(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system)}}}function hasExportedMembers(t){return e.forEachEntry(t.exports,function(e,t){return t!=="export="})}function checkExternalModuleExports(t){var r=getSymbolOfNode(t);var n=getSymbolLinks(r);if(!n.exportsChecked){var i=r.exports.get("export=");if(i&&hasExportedMembers(r)){var a=getDeclarationOfAliasSymbol(i)||i.valueDeclaration;if(!isTopLevelInExternalModuleAugmentation(a)&&!e.isInJSFile(a)){error(a,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}}var o=getExportsOfModule(r);if(o){o.forEach(function(t,r){var n=t.declarations,i=t.flags;if(r==="__export"){return}if(i&(1920|64|384)){return}var a=e.countWhere(n,Tr);if(i&524288&&a<=2){return}if(a>1){for(var o=0,s=n;o0){return e.concatenate(o,a)}return a}e.forEach(r.getSourceFiles(),checkSourceFile);return Xt.getDiagnostics()}function getGlobalDiagnostics(){throwIfNonDiagnosticsProducing();return Xt.getGlobalDiagnostics()}function throwIfNonDiagnosticsProducing(){if(!a){throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}}function getSymbolsInScope(t,r){if(t.flags&8388608){return[]}var n=e.createSymbolTable();var i=false;populateSymbols();n.delete("this");return symbolsToArray(n);function populateSymbols(){while(t){if(t.locals&&!isGlobalSourceFile(t)){copySymbols(t.locals,r)}switch(t.kind){case 279:if(!e.isExternalOrCommonJsModule(t))break;case 244:copySymbols(getSymbolOfNode(t).exports,r&2623475);break;case 243:copySymbols(getSymbolOfNode(t).exports,r&8);break;case 209:var n=t.name;if(n){copySymbol(t.symbol,r)}case 240:case 241:if(!i){copySymbols(getMembersOfSymbol(getSymbolOfNode(t)),r&67897832)}break;case 196:var a=t.name;if(a){copySymbol(t.symbol,r)}break}if(e.introducesArgumentsExoticObject(t)){copySymbol(B,r)}i=e.hasModifier(t,32);t=t.parent}copySymbols(We,r)}function copySymbol(t,r){if(e.getCombinedLocalAndExportSymbolFlags(t)&r){var i=t.escapedName;if(!n.has(i)){n.set(i,t)}}}function copySymbols(e,t){if(t){e.forEach(function(e){copySymbol(e,t)})}}}function isTypeDeclarationName(e){return e.kind===72&&isTypeDeclaration(e.parent)&&e.parent.name===e}function isTypeDeclaration(e){switch(e.kind){case 150:case 240:case 241:case 242:case 243:return true;default:return false}}function isTypeReferenceIdentifier(e){while(e.parent.kind===148){e=e.parent}return e.parent.kind===164}function isHeritageClauseElementIdentifier(e){while(e.parent.kind===189){e=e.parent}return e.parent.kind===211}function forEachEnclosingClass(t,r){var n;while(true){t=e.getContainingClass(t);if(!t)break;if(n=r(t))break}return n}function isNodeUsedDuringClassInitialization(t){return!!e.findAncestor(t,function(t){if(e.isConstructorDeclaration(t)&&e.nodeIsPresent(t.body)||e.isPropertyDeclaration(t)){return true}else if(e.isClassLike(t)||e.isFunctionLikeDeclaration(t)){return"quit"}return false})}function isNodeWithinClass(e,t){return!!forEachEnclosingClass(e,function(e){return e===t})}function getLeftSideOfImportEqualsOrExportAssignment(e){while(e.parent.kind===148){e=e.parent}if(e.parent.kind===248){return e.parent.moduleReference===e?e.parent:undefined}if(e.parent.kind===254){return e.parent.expression===e?e.parent:undefined}return undefined}function isInRightSideOfImportOrExportAssignment(e){return getLeftSideOfImportEqualsOrExportAssignment(e)!==undefined}function getSpecialPropertyAssignmentSymbolFromEntityName(t){var r=e.getAssignmentDeclarationKind(t.parent.parent);switch(r){case 1:case 3:return getSymbolOfNode(t.parent);case 4:case 2:case 5:return getSymbolOfNode(t.parent.parent)}}function isImportTypeQualifierPart(t){var r=t.parent;while(e.isQualifiedName(r)){t=r;r=r.parent}if(r&&r.kind===183&&r.qualifier===t){return r}return undefined}function getSymbolOfEntityNameOrPropertyAccessExpression(t){if(e.isDeclarationName(t)){return getSymbolOfNode(t.parent)}if(e.isInJSFile(t)&&t.parent.kind===189&&t.parent===t.parent.parent.left){var r=getSpecialPropertyAssignmentSymbolFromEntityName(t);if(r){return r}}if(t.parent.kind===254&&e.isEntityNameExpression(t)){var n=resolveEntityName(t,67220415|67897832|1920|2097152,true);if(n&&n!==Q){return n}}else if(!e.isPropertyAccessExpression(t)&&isInRightSideOfImportOrExportAssignment(t)){var i=e.getAncestor(t,248);e.Debug.assert(i!==undefined);return getSymbolOfPartOfRightHandSideOfImportEquals(t,true)}if(!e.isPropertyAccessExpression(t)){var a=isImportTypeQualifierPart(t);if(a){getTypeFromTypeNode(a);var o=getNodeLinks(t).resolvedSymbol;return o===Q?undefined:o}}while(e.isRightSideOfQualifiedNameOrPropertyAccess(t)){t=t.parent}if(isHeritageClauseElementIdentifier(t)){var s=0;if(t.parent.kind===211){s=67897832;if(e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)){s|=67220415}}else{s=1920}s|=2097152;var c=e.isEntityNameExpression(t)?resolveEntityName(t,s):undefined;if(c){return c}}if(t.parent.kind===299){return e.getParameterSymbolFromJSDoc(t.parent)}if(t.parent.kind===150&&t.parent.parent.kind===303){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t)){return undefined}if(t.kind===72){if(e.isJSXTagName(t)&&isJsxIntrinsicIdentifier(t)){var l=getIntrinsicTagSymbol(t.parent);return l===Q?undefined:l}return resolveEntityName(t,67220415,false,true)}else if(t.kind===189||t.kind===148){var f=getNodeLinks(t);if(f.resolvedSymbol){return f.resolvedSymbol}if(t.kind===189){checkPropertyAccessExpression(t)}else{checkQualifiedName(t)}return f.resolvedSymbol}}else if(isTypeReferenceIdentifier(t)){var s=t.parent.kind===164?67897832:1920;return resolveEntityName(t,s,false,true)}if(t.parent.kind===163){return resolveEntityName(t,1)}return undefined}function getSymbolAtLocation(t){if(t.kind===279){return e.isExternalModule(t)?getMergedSymbol(t.symbol):undefined}var r=t.parent;var n=r.parent;if(t.flags&8388608){return undefined}if(isDeclarationNameOrImportPropertyName(t)){var i=getSymbolOfNode(r);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?getImmediateAliasedSymbol(i):i}else if(e.isLiteralComputedPropertyDeclarationName(t)){return getSymbolOfNode(r.parent)}if(t.kind===72){if(isInRightSideOfImportOrExportAssignment(t)){return getSymbolOfEntityNameOrPropertyAccessExpression(t)}else if(r.kind===186&&n.kind===184&&t===r.propertyName){var a=getTypeOfNode(n);var o=getPropertyOfType(a,t.escapedText);if(o){return o}}}switch(t.kind){case 72:case 189:case 148:return getSymbolOfEntityNameOrPropertyAccessExpression(t);case 100:var s=e.getThisContainer(t,false);if(e.isFunctionLike(s)){var c=getSignatureFromDeclaration(s);if(c.thisParameter){return c.thisParameter}}if(e.isInExpressionContext(t)){return checkExpression(t).symbol}case 178:return getTypeFromThisTypeNode(t).symbol;case 98:return checkExpression(t).symbol;case 124:var u=t.parent;if(u&&u.kind===157){return u.parent.symbol}return undefined;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(t.parent.kind===249||t.parent.kind===255)&&t.parent.moduleSpecifier===t||(e.isInJSFile(t)&&e.isRequireCall(t.parent,false)||e.isImportCall(t.parent))||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent){return resolveExternalModuleName(t,t)}if(e.isCallExpression(r)&&e.isBindableObjectDefinePropertyCall(r)&&r.arguments[1]===t){return getSymbolOfNode(r)}case 8:var l=e.isElementAccessExpression(r)?r.argumentExpression===t?getTypeOfExpression(r.expression):undefined:e.isLiteralTypeNode(r)&&e.isIndexedAccessTypeNode(n)?getTypeFromTypeNode(n.objectType):undefined;return l&&getPropertyOfType(l,e.escapeLeadingUnderscores(t.text));case 80:case 90:case 37:case 76:return getSymbolOfNode(t.parent);case 183:return e.isLiteralImportTypeNode(t)?getSymbolAtLocation(t.argument.literal):undefined;case 85:return e.isExportAssignment(t.parent)?e.Debug.assertDefined(t.parent.symbol):undefined;default:return undefined}}function getShorthandAssignmentValueSymbol(e){if(e&&e.kind===276){return resolveEntityName(e.name,67220415|2097152)}return undefined}function getExportSpecifierLocalTargetSymbol(e){return e.parent.parent.moduleSpecifier?getExternalModuleMember(e.parent.parent,e):resolveEntityName(e.propertyName||e.name,67220415|67897832|1920|2097152)}function getTypeOfNode(t){if(t.flags&8388608){return ee}var r=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t);var n=r&&getDeclaredTypeOfClassOrInterface(getSymbolOfNode(r.class));if(e.isPartOfTypeNode(t)){var i=getTypeFromTypeNode(t);return n?getTypeWithThisArgument(i,n.thisType):i}if(e.isExpressionNode(t)){return getRegularTypeOfExpression(t)}if(n&&!r.isImplements){var a=e.firstOrUndefined(getBaseTypes(n));return a?getTypeWithThisArgument(a,n.thisType):ee}if(isTypeDeclaration(t)){var o=getSymbolOfNode(t);return getDeclaredTypeOfSymbol(o)}if(isTypeDeclarationName(t)){var o=getSymbolAtLocation(t);return o?getDeclaredTypeOfSymbol(o):ee}if(e.isDeclaration(t)){var o=getSymbolOfNode(t);return getTypeOfSymbol(o)}if(isDeclarationNameOrImportPropertyName(t)){var o=getSymbolAtLocation(t);return o?getTypeOfSymbol(o):ee}if(e.isBindingPattern(t)){return getTypeForVariableLikeDeclaration(t.parent,true)||ee}if(isInRightSideOfImportOrExportAssignment(t)){var o=getSymbolAtLocation(t);if(o){var s=getDeclaredTypeOfSymbol(o);return s!==ee?s:getTypeOfSymbol(o)}}return ee}function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(t){e.Debug.assert(t.kind===188||t.kind===187);if(t.parent.kind===227){var r=checkRightHandSideOfForOf(t.parent.expression,t.parent.awaitModifier);return checkDestructuringAssignment(t,r||ee)}if(t.parent.kind===204){var r=getTypeOfExpression(t.parent.right);return checkDestructuringAssignment(t,r||ee)}if(t.parent.kind===275){var n=getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(t.parent.parent);return checkObjectLiteralDestructuringPropertyAssignment(n||ee,t.parent)}e.Debug.assert(t.parent.kind===187);var i=getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(t.parent);var a=checkIteratedTypeOrElementType(i||ee,t.parent,false,false)||ee;return checkArrayLiteralDestructuringElementAssignment(t.parent,i,t.parent.elements.indexOf(t),a||ee)}function getPropertySymbolOfDestructuringAssignment(e){var t=getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(e.parent.parent);return t&&getPropertyOfType(t,e.escapedText)}function getRegularTypeOfExpression(t){if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)){t=t.parent}return getRegularTypeOfLiteralType(getTypeOfExpression(t))}function getParentTypeOfClassElement(t){var r=getSymbolOfNode(t.parent);return e.hasModifier(t,32)?getTypeOfSymbol(r):getDeclaredTypeOfSymbol(r)}function getClassElementPropertyKeyType(t){var r=t.name;switch(r.kind){case 72:return getLiteralType(e.idText(r));case 8:case 10:return getLiteralType(r.text);case 149:var n=checkComputedPropertyName(r);return isTypeAssignableToKind(n,12288)?n:oe;default:e.Debug.fail("Unsupported property name.");return ee}}function getAugmentedPropertiesOfType(t){t=getApparentType(t);var r=e.createSymbolTable(getPropertiesOfType(t));var n=getSignaturesOfType(t,0).length?He:getSignaturesOfType(t,1).length?Qe:undefined;if(n){e.forEach(getPropertiesOfType(n),function(e){if(!r.has(e.escapedName)){r.set(e.escapedName,e)}})}return getNamedMembers(r)}function typeHasCallOrConstructSignatures(t){return e.typeHasCallOrConstructSignatures(t,W)}function getRootSymbols(t){var r=getImmediateRootSymbols(t);return r?e.flatMap(r,getRootSymbols):[t]}function getImmediateRootSymbols(t){if(e.getCheckFlags(t)&6){return e.mapDefined(getSymbolLinks(t).containingType.types,function(e){return getPropertyOfType(e,t.escapedName)})}else if(t.flags&33554432){var r=t,n=r.leftSpread,i=r.rightSpread,a=r.syntheticOrigin;return n?[n,i]:a?[a]:e.singleElementArray(tryGetAliasTarget(t))}return undefined}function tryGetAliasTarget(e){var t;var r=e;while(r=getSymbolLinks(r).target){t=r}return t}function isArgumentsLocalBinding(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=r.parent.kind===189&&r.parent.name===r;return!n&&getReferencedValueSymbol(r)===B}}return false}function moduleExportsSomeValue(t){var r=resolveExternalModuleName(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r)){return true}var n=hasExportAssignmentSymbol(r);r=resolveExternalModuleSymbol(r);var i=getSymbolLinks(r);if(i.exportsSomeValue===undefined){i.exportsSomeValue=n?!!(r.flags&67220415):e.forEachEntry(getExportsOfModule(r),isValue)}return i.exportsSomeValue;function isValue(e){e=resolveSymbol(e);return e&&!!(e.flags&67220415)}}function isNameOfModuleOrEnumDeclaration(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}function getReferencedExportContainer(t,r){var n=e.getParseTreeNode(t,e.isIdentifier);if(n){var i=getReferencedValueSymbol(n,isNameOfModuleOrEnumDeclaration(n));if(i){if(i.flags&1048576){var a=getMergedSymbol(i.exportSymbol);if(!r&&a.flags&944&&!(a.flags&3)){return undefined}i=a}var o=getParentOfSymbol(i);if(o){if(o.flags&512&&o.valueDeclaration.kind===279){var s=o.valueDeclaration;var c=e.getSourceFileOfNode(n);var u=s!==c;return u?undefined:s}return e.findAncestor(n.parent,function(t){return e.isModuleOrEnumDeclaration(t)&&getSymbolOfNode(t)===o})}}}}function getReferencedImportDeclaration(t){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=getReferencedValueSymbol(r);if(isNonLocalAlias(n,67220415)){return getDeclarationOfAliasSymbol(n)}}return undefined}function isSymbolOfDeclarationWithCollidingName(t){if(t.flags&418){var r=getSymbolLinks(t);if(r.isDeclarationWithCollidingName===undefined){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)){var i=getNodeLinks(t.valueDeclaration);if(resolveName(n.parent,t.escapedName,67220415,undefined,undefined,false)){r.isDeclarationWithCollidingName=true}else if(i.flags&262144){var a=i.flags&524288;var o=e.isIterationStatement(n,false);var s=n.kind===218&&e.isIterationStatement(n.parent,false);r.isDeclarationWithCollidingName=!e.isBlockScopedContainerTopLevel(n)&&(!a||!o&&!s)}else{r.isDeclarationWithCollidingName=false}}}return r.isDeclarationWithCollidingName}return false}function getReferencedDeclarationWithCollidingName(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=getReferencedValueSymbol(r);if(n&&isSymbolOfDeclarationWithCollidingName(n)){return n.valueDeclaration}}}return undefined}function isDeclarationWithCollidingName(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=getSymbolOfNode(r);if(n){return isSymbolOfDeclarationWithCollidingName(n)}}return false}function isValueAliasDeclaration(t){switch(t.kind){case 248:case 250:case 251:case 253:case 257:return isAliasResolvedToValue(getSymbolOfNode(t)||Q);case 255:var r=t.exportClause;return!!r&&e.some(r.elements,isValueAliasDeclaration);case 254:return t.expression&&t.expression.kind===72?isAliasResolvedToValue(getSymbolOfNode(t)||Q):true}return false}function isTopLevelValueImportEqualsWithEntityName(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);if(r===undefined||r.parent.kind!==279||!e.isInternalModuleImportEqualsDeclaration(r)){return false}var n=isAliasResolvedToValue(getSymbolOfNode(r));return n&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference)}function isAliasResolvedToValue(e){var t=resolveAlias(e);if(t===Q){return true}return!!(t.flags&67220415)&&(x.preserveConstEnums||!isConstEnumOrConstEnumOnlyModule(t))}function isConstEnumOrConstEnumOnlyModule(e){return isConstEnumSymbol(e)||!!e.constEnumOnlyModule}function isReferencedAliasDeclaration(t,r){if(e.isAliasSymbolDeclaration(t)){var n=getSymbolOfNode(t);if(n&&getSymbolLinks(n).referenced){return true}var i=getSymbolLinks(n).target;if(i&&e.getModifierFlags(t)&1&&i.flags&67220415&&(x.preserveConstEnums||!isConstEnumOrConstEnumOnlyModule(i))){return true}}if(r){return!!e.forEachChild(t,function(e){return isReferencedAliasDeclaration(e,r)})}return false}function isImplementationOfOverload(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return false;var r=getSymbolOfNode(t);var n=getSignaturesOfSymbol(r);return n.length>1||n.length===1&&n[0].declaration!==t}return false}function isRequiredInitializedParameter(t){return!!k&&!isOptionalParameter(t)&&!e.isJSDocParameterTag(t)&&!!t.initializer&&!e.hasModifier(t,92)}function isOptionalUninitializedParameterProperty(t){return k&&isOptionalParameter(t)&&!t.initializer&&e.hasModifier(t,92)}function isExpandoFunctionDeclaration(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r){return false}var n=getSymbolOfNode(r);if(!n||!(n.flags&16)){return false}return!!e.forEachEntry(getExportsOfSymbol(n),function(t){return t.flags&67220415&&e.isPropertyAccessExpression(t.valueDeclaration)})}function getPropertiesOfContainerFunction(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r){return e.emptyArray}var n=getSymbolOfNode(r);return n&&getPropertiesOfType(getTypeOfSymbol(n))||e.emptyArray}function getNodeCheckFlags(e){return getNodeLinks(e).flags||0}function getEnumMemberValue(e){computeEnumMemberValues(e.parent);return getNodeLinks(e).enumMemberValue}function canHaveConstantValue(e){switch(e.kind){case 278:case 189:case 190:return true}return false}function getConstantValue(t){if(t.kind===278){return getEnumMemberValue(t)}var r=getNodeLinks(t).resolvedSymbol;if(r&&r.flags&8){var n=r.valueDeclaration;if(e.isEnumConst(n.parent)){return getEnumMemberValue(n)}}return undefined}function isFunctionType(e){return!!(e.flags&524288)&&getSignaturesOfType(e,0).length>0}function getTypeReferenceSerializationKind(t,r){var n=e.getParseTreeNode(t,e.isEntityName);if(!n)return e.TypeReferenceSerializationKind.Unknown;if(r){r=e.getParseTreeNode(r);if(!r)return e.TypeReferenceSerializationKind.Unknown}var i=resolveEntityName(n,67220415,true,false,r);var a=resolveEntityName(n,67897832,true,false,r);if(i&&i===a){var o=getGlobalPromiseConstructorSymbol(false);if(o&&i===o){return e.TypeReferenceSerializationKind.Promise}var s=getTypeOfSymbol(i);if(s&&isConstructorType(s)){return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}}if(!a){return e.TypeReferenceSerializationKind.Unknown}var c=getDeclaredTypeOfSymbol(a);if(c===ee){return e.TypeReferenceSerializationKind.Unknown}else if(c.flags&3){return e.TypeReferenceSerializationKind.ObjectType}else if(isTypeAssignableToKind(c,16384|98304|131072)){return e.TypeReferenceSerializationKind.VoidNullableOrNeverType}else if(isTypeAssignableToKind(c,528)){return e.TypeReferenceSerializationKind.BooleanType}else if(isTypeAssignableToKind(c,296)){return e.TypeReferenceSerializationKind.NumberLikeType}else if(isTypeAssignableToKind(c,2112)){return e.TypeReferenceSerializationKind.BigIntLikeType}else if(isTypeAssignableToKind(c,132)){return e.TypeReferenceSerializationKind.StringLikeType}else if(isTupleType(c)){return e.TypeReferenceSerializationKind.ArrayLikeType}else if(isTypeAssignableToKind(c,12288)){return e.TypeReferenceSerializationKind.ESSymbolType}else if(isFunctionType(c)){return e.TypeReferenceSerializationKind.TypeWithCallSignature}else if(isArrayType(c)){return e.TypeReferenceSerializationKind.ArrayLikeType}else{return e.TypeReferenceSerializationKind.ObjectType}}function createTypeOfDeclaration(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o){return e.createToken(120)}var s=getSymbolOfNode(o);var c=s&&!(s.flags&(2048|131072))?getWidenedLiteralType(getTypeOfSymbol(s)):ee;if(c.flags&8192&&c.symbol===s){n|=1048576}if(a){c=getOptionalType(c)}return L.typeToTypeNode(c,r,n|1024,i)}function createReturnTypeOfSignatureDeclaration(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a){return e.createToken(120)}var o=getSignatureFromDeclaration(a);return L.typeToTypeNode(getReturnTypeOfSignature(o),r,n|1024,i)}function createTypeOfExpression(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a){return e.createToken(120)}var o=getWidenedType(getRegularTypeOfExpression(a));return L.typeToTypeNode(o,r,n|1024,i)}function hasGlobalName(t){return We.has(e.escapeLeadingUnderscores(t))}function getReferencedValueSymbol(t,r){var n=getNodeLinks(t).resolvedSymbol;if(n){return n}var i=t;if(r){var a=t.parent;if(e.isDeclaration(a)&&t===a.name){i=getDeclarationContainer(a)}}return resolveName(i,t.escapedText,67220415|1048576|2097152,undefined,undefined,true)}function getReferencedValueDeclaration(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=getReferencedValueSymbol(r);if(n){return getExportSymbolOfValueSymbolIfExported(n).valueDeclaration}}}return undefined}function isLiteralConstDeclaration(t){if(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t)){return isFreshLiteralType(getTypeOfSymbol(getSymbolOfNode(t)))}return false}function literalTypeToNode(t,r,n){var i=t.flags&1024?L.symbolToExpression(t.symbol,67220415,r,undefined,n):t===fe?e.createTrue():t===ue&&e.createFalse();return i||e.createLiteral(t.value)}function createLiteralConstValue(e,t){var r=getTypeOfSymbol(getSymbolOfNode(e));return literalTypeToNode(r,e,t)}function createResolver(){var t=r.getResolvedTypeReferenceDirectives();var n;if(t){n=e.createMap();t.forEach(function(e,t){if(!e||!e.resolvedFileName){return}var i=r.getSourceFile(e.resolvedFileName);n.set(i.path,t)})}return{getReferencedExportContainer:getReferencedExportContainer,getReferencedImportDeclaration:getReferencedImportDeclaration,getReferencedDeclarationWithCollidingName:getReferencedDeclarationWithCollidingName,isDeclarationWithCollidingName:isDeclarationWithCollidingName,isValueAliasDeclaration:function(t){t=e.getParseTreeNode(t);return t?isValueAliasDeclaration(t):true},hasGlobalName:hasGlobalName,isReferencedAliasDeclaration:function(t,r){t=e.getParseTreeNode(t);return t?isReferencedAliasDeclaration(t,r):true},getNodeCheckFlags:function(t){t=e.getParseTreeNode(t);return t?getNodeCheckFlags(t):0},isTopLevelValueImportEqualsWithEntityName:isTopLevelValueImportEqualsWithEntityName,isDeclarationVisible:isDeclarationVisible,isImplementationOfOverload:isImplementationOfOverload,isRequiredInitializedParameter:isRequiredInitializedParameter,isOptionalUninitializedParameterProperty:isOptionalUninitializedParameterProperty,isExpandoFunctionDeclaration:isExpandoFunctionDeclaration,getPropertiesOfContainerFunction:getPropertiesOfContainerFunction,createTypeOfDeclaration:createTypeOfDeclaration,createReturnTypeOfSignatureDeclaration:createReturnTypeOfSignatureDeclaration,createTypeOfExpression:createTypeOfExpression,createLiteralConstValue:createLiteralConstValue,isSymbolAccessible:isSymbolAccessible,isEntityNameVisible:isEntityNameVisible,getConstantValue:function(t){var r=e.getParseTreeNode(t,canHaveConstantValue);return r?getConstantValue(r):undefined},collectLinkedAliases:collectLinkedAliases,getReferencedValueDeclaration:getReferencedValueDeclaration,getTypeReferenceSerializationKind:getTypeReferenceSerializationKind,isOptionalParameter:isOptionalParameter,moduleExportsSomeValue:moduleExportsSomeValue,isArgumentsLocalBinding:isArgumentsLocalBinding,getExternalModuleFileFromDeclaration:getExternalModuleFileFromDeclaration,getTypeReferenceDirectivesForEntityName:getTypeReferenceDirectivesForEntityName,getTypeReferenceDirectivesForSymbol:getTypeReferenceDirectivesForSymbol,isLiteralConstDeclaration:isLiteralConstDeclaration,isLateBound:function(t){var r=e.getParseTreeNode(t,e.isDeclaration);var n=r&&getSymbolOfNode(r);return!!(n&&e.getCheckFlags(n)&1024)},getJsxFactoryEntity:function(t){return t?(getJsxNamespace(t),e.getSourceFileOfNode(t).localJsxFactory||ar):ar},getAllAccessorDeclarations:function(t){t=e.getParseTreeNode(t,e.isGetOrSetAccessorDeclaration);var r=t.kind===159?158:159;var n=e.getDeclarationOfKind(getSymbolOfNode(t),r);var i=n&&n.pos1||e.modifiers[0].kind!==t}function checkGrammarAsyncModifier(t,r){switch(t.kind){case 156:case 239:case 196:case 197:return false}return grammarErrorOnNode(r,e.Diagnostics._0_modifier_cannot_be_used_here,"async")}function checkGrammarForDisallowedTrailingComma(t,r){if(r===void 0){r=e.Diagnostics.Trailing_comma_not_allowed}if(t&&t.hasTrailingComma){return grammarErrorAtPos(t[0],t.end-",".length,",".length,r)}return false}function checkGrammarTypeParameterList(t,r){if(t&&t.length===0){var n=t.pos-"<".length;var i=e.skipTrivia(r.text,t.end)+">".length;return grammarErrorAtPos(r,n,i-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return false}function checkGrammarParameterList(t){var r=false;var n=t.length;for(var i=0;i=3){var r=t.body&&e.isBlock(t.body)&&e.findUseStrictPrologue(t.body.statements);if(r){var n=getNonSimpleParameters(t.parameters);if(e.length(n)){e.forEach(n,function(t){addRelatedInfo(error(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(r,e.Diagnostics.use_strict_directive_used_here))});var i=n.map(function(t,r){return r===0?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)});addRelatedInfo.apply(void 0,[error(r,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)].concat(i));return true}}}return false}function checkGrammarFunctionLikeDeclaration(t){var r=e.getSourceFileOfNode(t);return checkGrammarDecoratorsAndModifiers(t)||checkGrammarTypeParameterList(t.typeParameters,r)||checkGrammarParameterList(t.parameters)||checkGrammarArrowFunction(t,r)||e.isFunctionLikeDeclaration(t)&&checkGrammarForUseStrictSimpleParameterList(t)}function checkGrammarClassLikeDeclaration(t){var r=e.getSourceFileOfNode(t);return checkGrammarClassDeclarationHeritageClauses(t)||checkGrammarTypeParameterList(t.typeParameters,r)}function checkGrammarArrowFunction(t,r){if(!e.isArrowFunction(t)){return false}var n=t.equalsGreaterThanToken;var i=e.getLineAndCharacterOfPosition(r,n.pos).line;var a=e.getLineAndCharacterOfPosition(r,n.end).line;return i!==a&&grammarErrorOnNode(n,e.Diagnostics.Line_terminator_not_permitted_before_arrow)}function checkGrammarIndexSignatureParameters(t){var r=t.parameters[0];if(t.parameters.length!==1){if(r){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_must_have_exactly_one_parameter)}else{return grammarErrorOnNode(t,e.Diagnostics.An_index_signature_must_have_exactly_one_parameter)}}if(r.dotDotDotToken){return grammarErrorOnNode(r.dotDotDotToken,e.Diagnostics.An_index_signature_cannot_have_a_rest_parameter)}if(e.hasModifiers(r)){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier)}if(r.questionToken){return grammarErrorOnNode(r.questionToken,e.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark)}if(r.initializer){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer)}if(!r.type){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation)}if(r.type.kind!==138&&r.type.kind!==135){var n=getTypeFromTypeNode(r.type);if(n.flags&4||n.flags&8){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead,e.getTextOfNode(r.name),typeToString(n),typeToString(getTypeFromTypeNode(t.type)))}if(n.flags&1048576&&allTypesAssignableToKind(n,128,true)){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead)}return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number)}if(!t.type){return grammarErrorOnNode(t,e.Diagnostics.An_index_signature_must_have_a_type_annotation)}return false}function checkGrammarIndexSignature(e){return checkGrammarDecoratorsAndModifiers(e)||checkGrammarIndexSignatureParameters(e)}function checkGrammarForAtLeastOneTypeArgument(t,r){if(r&&r.length===0){var n=e.getSourceFileOfNode(t);var i=r.pos-"<".length;var a=e.skipTrivia(n.text,r.end)+">".length;return grammarErrorAtPos(n,i,a-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return false}function checkGrammarTypeArguments(e,t){return checkGrammarForDisallowedTrailingComma(t)||checkGrammarForAtLeastOneTypeArgument(e,t)}function checkGrammarForOmittedArgument(t){if(t){for(var r=0,n=t;r1){return grammarErrorOnFirstToken(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class)}r=true}else{e.Debug.assert(o.token===109);if(n){return grammarErrorOnFirstToken(o,e.Diagnostics.implements_clause_already_seen)}n=true}checkGrammarHeritageClause(o)}}}function checkGrammarInterfaceDeclaration(t){var r=false;if(t.heritageClauses){for(var n=0,i=t.heritageClauses;n1){var i=t.kind===226?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return grammarErrorOnFirstToken(r.declarations[1],i)}var a=n[0];if(a.initializer){var i=t.kind===226?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return grammarErrorOnNode(a.name,i)}if(a.type){var i=t.kind===226?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return grammarErrorOnNode(a,i)}}}return false}function checkGrammarAccessor(t){var r=t.kind;if(C<1){return grammarErrorOnNode(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher)}else if(t.flags&4194304){return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context)}else if(t.body===undefined&&!e.hasModifier(t,128)){return grammarErrorAtPos(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}else if(t.body&&e.hasModifier(t,128)){return grammarErrorOnNode(t,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation)}else if(t.typeParameters){return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters)}else if(!doesAccessorHaveCorrectParameterCount(t)){return grammarErrorOnNode(t.name,r===158?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter)}else if(r===159){if(t.type){return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation)}else{var n=t.parameters[0];if(n.dotDotDotToken){return grammarErrorOnNode(n.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter)}else if(n.questionToken){return grammarErrorOnNode(n.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter)}else if(n.initializer){return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}}return false}function doesAccessorHaveCorrectParameterCount(e){return getAccessorThisParameter(e)||e.parameters.length===(e.kind===158?0:1)}function getAccessorThisParameter(t){if(t.parameters.length===(t.kind===158?1:2)){return e.getThisParameter(t)}}function checkGrammarTypeOperatorNode(t){if(t.operator===142){if(t.type.kind!==139){return grammarErrorOnNode(t.type,e.Diagnostics._0_expected,e.tokenToString(139))}var r=e.walkUpParenthesizedTypes(t.parent);switch(r.kind){case 237:var n=r;if(n.name.kind!==72){return grammarErrorOnNode(t,e.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name)}if(!e.isVariableDeclarationInVariableStatement(n)){return grammarErrorOnNode(t,e.Diagnostics.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement)}if(!(n.parent.flags&2)){return grammarErrorOnNode(r.name,e.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const)}break;case 154:if(!e.hasModifier(r,32)||!e.hasModifier(r,64)){return grammarErrorOnNode(r.name,e.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly)}break;case 153:if(!e.hasModifier(r,64)){return grammarErrorOnNode(r.name,e.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly)}break;default:return grammarErrorOnNode(t,e.Diagnostics.unique_symbol_types_are_not_allowed_here)}}}function checkGrammarForInvalidDynamicName(e,t){if(isNonBindableDynamicName(e)){return grammarErrorOnNode(e,t)}}function checkGrammarMethod(t){if(checkGrammarFunctionLikeDeclaration(t)){return true}if(t.kind===156){if(t.parent.kind===188){if(t.modifiers&&!(t.modifiers.length===1&&e.first(t.modifiers).kind===121)){return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here)}else if(checkGrammarForInvalidQuestionMark(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional)){return true}else if(checkGrammarForInvalidExclamationToken(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context)){return true}else if(t.body===undefined){return grammarErrorAtPos(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}}if(checkGrammarForGenerator(t)){return true}}if(e.isClassLike(t.parent)){if(t.flags&4194304){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else if(t.kind===156&&!t.body){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}else if(t.parent.kind===241){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else if(t.parent.kind===168){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function checkGrammarBreakOrContinueStatement(t){var r=t;while(r){if(e.isFunctionLike(r)){return grammarErrorOnNode(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary)}switch(r.kind){case 233:if(t.label&&r.label.escapedText===t.label.escapedText){var n=t.kind===228&&!e.isIterationStatement(r.statement,true);if(n){return grammarErrorOnNode(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}return false}break;case 232:if(t.kind===229&&!t.label){return false}break;default:if(e.isIterationStatement(r,false)&&!t.label){return false}break}r=r.parent}if(t.label){var i=t.kind===229?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return grammarErrorOnNode(t,i)}else{var i=t.kind===229?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return grammarErrorOnNode(t,i)}}function checkGrammarBindingElement(t){if(t.dotDotDotToken){var r=t.parent.elements;if(t!==e.last(r)){return grammarErrorOnNode(t,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern)}checkGrammarForDisallowedTrailingComma(r,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);if(t.propertyName){return grammarErrorOnNode(t.name,e.Diagnostics.A_rest_element_cannot_have_a_property_name)}if(t.initializer){return grammarErrorAtPos(t,t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}}function isStringOrNumberLiteralExpression(e){return e.kind===10||e.kind===8||e.kind===202&&e.operator===39&&e.operand.kind===8}function isBigIntLiteralExpression(e){return e.kind===9||e.kind===202&&e.operator===39&&e.operand.kind===9}function isSimpleLiteralEnumReference(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&isStringOrNumberLiteralExpression(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(checkExpressionCached(t).flags&1024)}function checkAmbientInitializer(t){var r=t.initializer;if(r){var n=!(isStringOrNumberLiteralExpression(r)||isSimpleLiteralEnumReference(r)||r.kind===102||r.kind===87||isBigIntLiteralExpression(r));var i=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(i&&!t.type){if(n){return grammarErrorOnNode(r,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference)}}else{return grammarErrorOnNode(r,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}if(!i||n){return grammarErrorOnNode(r,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}}function checkGrammarVariableDeclaration(t){if(t.parent.parent.kind!==226&&t.parent.parent.kind!==227){if(t.flags&4194304){checkAmbientInitializer(t)}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent)){return grammarErrorOnNode(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer)}if(e.isVarConst(t)){return grammarErrorOnNode(t,e.Diagnostics.const_declarations_must_be_initialized)}}}if(t.exclamationToken&&(t.parent.parent.kind!==219||!t.type||t.initializer||t.flags&4194304)){return grammarErrorOnNode(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context)}if(x.module!==e.ModuleKind.ES2015&&x.module!==e.ModuleKind.ESNext&&x.module!==e.ModuleKind.System&&!x.noEmit&&!(t.parent.parent.flags&4194304)&&e.hasModifier(t.parent.parent,1)){checkESModuleMarker(t.name)}var r=e.isLet(t)||e.isVarConst(t);return r&&checkGrammarNameInLetOrConstDeclarations(t.name)}function checkESModuleMarker(t){if(t.kind===72){if(e.idText(t)==="__esModule"){return grammarErrorOnNode(t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}}else{var r=t.elements;for(var n=0,i=r;n0}function grammarErrorOnFirstToken(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Xt.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a));return true}return false}function grammarErrorAtPos(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(c)){Xt.add(e.createFileDiagnostic(c,r,n,i,a,o,s));return true}return false}function grammarErrorOnNode(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){Xt.add(e.createDiagnosticForNode(t,r,n,i,a));return true}return false}function checkGrammarConstructorTypeParameters(t){var r=e.isInJSFile(t)?e.getJSDocTypeParameterDeclarations(t):undefined;var n=t.typeParameters||r&&e.firstOrUndefined(r);if(n){var i=n.pos===n.end?n.pos:e.skipTrivia(e.getSourceFileOfNode(t).text,n.pos);return grammarErrorAtPos(t,i,n.end-i,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}}function checkGrammarConstructorTypeAnnotation(t){var r=e.getEffectiveReturnTypeNode(t);if(r){return grammarErrorOnNode(r,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}}function checkGrammarProperty(t){if(e.isClassLike(t.parent)){if(checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)){return true}}else if(t.parent.kind===241){if(checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)){return true}if(t.initializer){return grammarErrorOnNode(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}}else if(t.parent.kind===168){if(checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)){return true}if(t.initializer){return grammarErrorOnNode(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}}if(t.flags&4194304){checkAmbientInitializer(t)}if(e.isPropertyDeclaration(t)&&t.exclamationToken&&(!e.isClassLike(t.parent)||!t.type||t.initializer||t.flags&4194304||e.hasModifier(t,32|128))){return grammarErrorOnNode(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context)}}function checkGrammarTopLevelElementForRequiredDeclareModifier(t){if(t.kind===241||t.kind===242||t.kind===249||t.kind===248||t.kind===255||t.kind===254||t.kind===247||e.hasModifier(t,2|1|512)){return false}return grammarErrorOnFirstToken(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function checkGrammarTopLevelElementsForRequiredDeclareModifier(t){for(var r=0,n=t.statements;r=1){r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0}else if(e.isChildOfNodeWithKind(t,182)){r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0}else if(e.isChildOfNodeWithKind(t,278)){r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0}if(r){var n=e.isPrefixUnaryExpression(t.parent)&&t.parent.operator===39;var i=(n?"-":"")+"0o"+t.text;return grammarErrorOnNode(n?t.parent:t,r,i)}}return false}function checkGrammarBigIntLiteral(t){var r=e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent);if(!r){if(C<6){if(grammarErrorOnNode(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ESNext)){return true}}}return false}function grammarErrorAfterFirstToken(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Xt.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,r,n,i,a));return true}return false}function getAmbientModules(){if(!Ve){Ve=[];We.forEach(function(e,r){if(t.test(r)){Ve.push(e)}})}return Ve}function checkGrammarImportCallExpression(t){if(E===e.ModuleKind.ES2015){return grammarErrorOnNode(t,e.Diagnostics.Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext)}if(t.typeArguments){return grammarErrorOnNode(t,e.Diagnostics.Dynamic_import_cannot_have_type_arguments)}var r=t.arguments;if(r.length!==1){return grammarErrorOnNode(t,e.Diagnostics.Dynamic_import_must_have_one_specifier_as_an_argument)}if(e.isSpreadElement(r[0])){return grammarErrorOnNode(r[0],e.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element)}return false}}e.createTypeChecker=createTypeChecker;function isDeclarationNameOrImportPropertyName(t){switch(t.parent.kind){case 253:case 257:return e.isIdentifier(t);default:return e.isDeclarationName(t)}}function isSomeImportDeclaration(e){switch(e.kind){case 250:case 248:case 251:case 253:return true;case 72:return e.parent.kind===253;default:return false}}var c;(function(e){e.JSX="JSX";e.IntrinsicElements="IntrinsicElements";e.ElementClass="ElementClass";e.ElementAttributesPropertyNameContainer="ElementAttributesProperty";e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute";e.Element="Element";e.IntrinsicAttributes="IntrinsicAttributes";e.IntrinsicClassAttributes="IntrinsicClassAttributes";e.LibraryManagedAttributes="LibraryManagedAttributes"})(c||(c={}));function typeIsLiteralType(e){return!!(e.flags&2944)}})(s||(s={}));var s;(function(e){function createSynthesizedNode(t){var r=e.createNode(t,-1,-1);r.flags|=8;return r}function updateNode(t,r){if(t!==r){setOriginalNode(t,r);setTextRange(t,r);e.aggregateTransformFlags(t)}return t}e.updateNode=updateNode;function createNodeArray(t,r){if(!t||t===e.emptyArray){t=[]}else if(e.isNodeArray(t)){return t}var n=t;n.pos=-1;n.end=-1;n.hasTrailingComma=r;return n}e.createNodeArray=createNodeArray;function getSynthesizedClone(e){if(e===undefined){return e}var t=createSynthesizedNode(e.kind);t.flags|=e.flags;setOriginalNode(t,e);for(var r in e){if(t.hasOwnProperty(r)||!e.hasOwnProperty(r)){continue}t[r]=e[r]}return t}e.getSynthesizedClone=getSynthesizedClone;function createLiteral(t,r){if(typeof t==="number"){return createNumericLiteral(t+"")}if(typeof t==="object"&&"base10Value"in t){return createBigIntLiteral(e.pseudoBigIntToString(t)+"n")}if(typeof t==="boolean"){return t?createTrue():createFalse()}if(e.isString(t)){var n=createStringLiteral(t);if(r)n.singleQuote=true;return n}return createLiteralFromNode(t)}e.createLiteral=createLiteral;function createNumericLiteral(e){var t=createSynthesizedNode(8);t.text=e;t.numericLiteralFlags=0;return t}e.createNumericLiteral=createNumericLiteral;function createBigIntLiteral(e){var t=createSynthesizedNode(9);t.text=e;return t}e.createBigIntLiteral=createBigIntLiteral;function createStringLiteral(e){var t=createSynthesizedNode(10);t.text=e;return t}e.createStringLiteral=createStringLiteral;function createRegularExpressionLiteral(e){var t=createSynthesizedNode(13);t.text=e;return t}e.createRegularExpressionLiteral=createRegularExpressionLiteral;function createLiteralFromNode(t){var r=createStringLiteral(e.getTextOfIdentifierOrLiteral(t));r.textSourceNode=t;return r}function createIdentifier(t,r){var n=createSynthesizedNode(72);n.escapedText=e.escapeLeadingUnderscores(t);n.originalKeywordKind=t?e.stringToToken(t):0;n.autoGenerateFlags=0;n.autoGenerateId=0;if(r){n.typeArguments=createNodeArray(r)}return n}e.createIdentifier=createIdentifier;function updateIdentifier(t,r){return t.typeArguments!==r?updateNode(createIdentifier(e.idText(t),r),t):t}e.updateIdentifier=updateIdentifier;var t=0;function createTempVariable(e,r){var n=createIdentifier("");n.autoGenerateFlags=1;n.autoGenerateId=t;t++;if(e){e(n)}if(r){n.autoGenerateFlags|=8}return n}e.createTempVariable=createTempVariable;function createLoopVariable(){var e=createIdentifier("");e.autoGenerateFlags=2;e.autoGenerateId=t;t++;return e}e.createLoopVariable=createLoopVariable;function createUniqueName(e){var r=createIdentifier(e);r.autoGenerateFlags=3;r.autoGenerateId=t;t++;return r}e.createUniqueName=createUniqueName;function createOptimisticUniqueName(e){var r=createIdentifier(e);r.autoGenerateFlags=3|16;r.autoGenerateId=t;t++;return r}e.createOptimisticUniqueName=createOptimisticUniqueName;function createFileLevelUniqueName(e){var t=createOptimisticUniqueName(e);t.autoGenerateFlags|=32;return t}e.createFileLevelUniqueName=createFileLevelUniqueName;function getGeneratedNameForNode(r,n){var i=createIdentifier(r&&e.isIdentifier(r)?e.idText(r):"");i.autoGenerateFlags=4|n;i.autoGenerateId=t;i.original=r;t++;return i}e.getGeneratedNameForNode=getGeneratedNameForNode;function createToken(e){return createSynthesizedNode(e)}e.createToken=createToken;function createSuper(){return createSynthesizedNode(98)}e.createSuper=createSuper;function createThis(){return createSynthesizedNode(100)}e.createThis=createThis;function createNull(){return createSynthesizedNode(96)}e.createNull=createNull;function createTrue(){return createSynthesizedNode(102)}e.createTrue=createTrue;function createFalse(){return createSynthesizedNode(87)}e.createFalse=createFalse;function createModifier(e){return createToken(e)}e.createModifier=createModifier;function createModifiersFromModifierFlags(e){var t=[];if(e&1){t.push(createModifier(85))}if(e&2){t.push(createModifier(125))}if(e&512){t.push(createModifier(80))}if(e&2048){t.push(createModifier(77))}if(e&4){t.push(createModifier(115))}if(e&8){t.push(createModifier(113))}if(e&16){t.push(createModifier(114))}if(e&128){t.push(createModifier(118))}if(e&32){t.push(createModifier(116))}if(e&64){t.push(createModifier(133))}if(e&256){t.push(createModifier(121))}return t}e.createModifiersFromModifierFlags=createModifiersFromModifierFlags;function createQualifiedName(e,t){var r=createSynthesizedNode(148);r.left=e;r.right=asName(t);return r}e.createQualifiedName=createQualifiedName;function updateQualifiedName(e,t,r){return e.left!==t||e.right!==r?updateNode(createQualifiedName(t,r),e):e}e.updateQualifiedName=updateQualifiedName;function parenthesizeForComputedName(t){return e.isCommaSequence(t)?createParen(t):t}function createComputedPropertyName(e){var t=createSynthesizedNode(149);t.expression=parenthesizeForComputedName(e);return t}e.createComputedPropertyName=createComputedPropertyName;function updateComputedPropertyName(e,t){return e.expression!==t?updateNode(createComputedPropertyName(t),e):e}e.updateComputedPropertyName=updateComputedPropertyName;function createTypeParameterDeclaration(e,t,r){var n=createSynthesizedNode(150);n.name=asName(e);n.constraint=t;n.default=r;return n}e.createTypeParameterDeclaration=createTypeParameterDeclaration;function updateTypeParameterDeclaration(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?updateNode(createTypeParameterDeclaration(t,r,n),e):e}e.updateTypeParameterDeclaration=updateTypeParameterDeclaration;function createParameter(t,r,n,i,a,o,s){var c=createSynthesizedNode(151);c.decorators=asNodeArray(t);c.modifiers=asNodeArray(r);c.dotDotDotToken=n;c.name=asName(i);c.questionToken=a;c.type=o;c.initializer=s?e.parenthesizeExpressionForList(s):undefined;return c}e.createParameter=createParameter;function updateParameter(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?updateNode(createParameter(t,r,n,i,a,o,s),e):e}e.updateParameter=updateParameter;function createDecorator(t){var r=createSynthesizedNode(152);r.expression=e.parenthesizeForAccess(t);return r}e.createDecorator=createDecorator;function updateDecorator(e,t){return e.expression!==t?updateNode(createDecorator(t),e):e}e.updateDecorator=updateDecorator;function createPropertySignature(e,t,r,n,i){var a=createSynthesizedNode(153);a.modifiers=asNodeArray(e);a.name=asName(t);a.questionToken=r;a.type=n;a.initializer=i;return a}e.createPropertySignature=createPropertySignature;function updatePropertySignature(e,t,r,n,i,a){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i||e.initializer!==a?updateNode(createPropertySignature(t,r,n,i,a),e):e}e.updatePropertySignature=updatePropertySignature;function createProperty(e,t,r,n,i,a){var o=createSynthesizedNode(154);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.questionToken=n!==undefined&&n.kind===56?n:undefined;o.exclamationToken=n!==undefined&&n.kind===52?n:undefined;o.type=i;o.initializer=a;return o}e.createProperty=createProperty;function updateProperty(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.questionToken!==(i!==undefined&&i.kind===56?i:undefined)||e.exclamationToken!==(i!==undefined&&i.kind===52?i:undefined)||e.type!==a||e.initializer!==o?updateNode(createProperty(t,r,n,i,a,o),e):e}e.updateProperty=updateProperty;function createMethodSignature(e,t,r,n,i){var a=createSignatureDeclaration(155,e,t,r);a.name=asName(n);a.questionToken=i;return a}e.createMethodSignature=createMethodSignature;function updateMethodSignature(e,t,r,n,i,a){return e.typeParameters!==t||e.parameters!==r||e.type!==n||e.name!==i||e.questionToken!==a?updateNode(createMethodSignature(t,r,n,i,a),e):e}e.updateMethodSignature=updateMethodSignature;function createMethod(e,t,r,n,i,a,o,s,c){var u=createSynthesizedNode(156);u.decorators=asNodeArray(e);u.modifiers=asNodeArray(t);u.asteriskToken=r;u.name=asName(n);u.questionToken=i;u.typeParameters=asNodeArray(a);u.parameters=createNodeArray(o);u.type=s;u.body=c;return u}e.createMethod=createMethod;function updateMethod(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?updateNode(createMethod(t,r,n,i,a,o,s,c,u),e):e}e.updateMethod=updateMethod;function createConstructor(e,t,r,n){var i=createSynthesizedNode(157);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.typeParameters=undefined;i.parameters=createNodeArray(r);i.type=undefined;i.body=n;return i}e.createConstructor=createConstructor;function updateConstructor(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?updateNode(createConstructor(t,r,n,i),e):e}e.updateConstructor=updateConstructor;function createGetAccessor(e,t,r,n,i,a){var o=createSynthesizedNode(158);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.typeParameters=undefined;o.parameters=createNodeArray(n);o.type=i;o.body=a;return o}e.createGetAccessor=createGetAccessor;function updateGetAccessor(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?updateNode(createGetAccessor(t,r,n,i,a,o),e):e}e.updateGetAccessor=updateGetAccessor;function createSetAccessor(e,t,r,n,i){var a=createSynthesizedNode(159);a.decorators=asNodeArray(e);a.modifiers=asNodeArray(t);a.name=asName(r);a.typeParameters=undefined;a.parameters=createNodeArray(n);a.body=i;return a}e.createSetAccessor=createSetAccessor;function updateSetAccessor(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?updateNode(createSetAccessor(t,r,n,i,a),e):e}e.updateSetAccessor=updateSetAccessor;function createCallSignature(e,t,r){return createSignatureDeclaration(160,e,t,r)}e.createCallSignature=createCallSignature;function updateCallSignature(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateCallSignature=updateCallSignature;function createConstructSignature(e,t,r){return createSignatureDeclaration(161,e,t,r)}e.createConstructSignature=createConstructSignature;function updateConstructSignature(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateConstructSignature=updateConstructSignature;function createIndexSignature(e,t,r,n){var i=createSynthesizedNode(162);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.parameters=createNodeArray(r);i.type=n;return i}e.createIndexSignature=createIndexSignature;function updateIndexSignature(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?updateNode(createIndexSignature(t,r,n,i),e):e}e.updateIndexSignature=updateIndexSignature;function createSignatureDeclaration(e,t,r,n,i){var a=createSynthesizedNode(e);a.typeParameters=asNodeArray(t);a.parameters=asNodeArray(r);a.type=n;a.typeArguments=asNodeArray(i);return a}e.createSignatureDeclaration=createSignatureDeclaration;function updateSignatureDeclaration(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?updateNode(createSignatureDeclaration(e.kind,t,r,n),e):e}function createKeywordTypeNode(e){return createSynthesizedNode(e)}e.createKeywordTypeNode=createKeywordTypeNode;function createTypePredicateNode(e,t){var r=createSynthesizedNode(163);r.parameterName=asName(e);r.type=t;return r}e.createTypePredicateNode=createTypePredicateNode;function updateTypePredicateNode(e,t,r){return e.parameterName!==t||e.type!==r?updateNode(createTypePredicateNode(t,r),e):e}e.updateTypePredicateNode=updateTypePredicateNode;function createTypeReferenceNode(t,r){var n=createSynthesizedNode(164);n.typeName=asName(t);n.typeArguments=r&&e.parenthesizeTypeParameters(r);return n}e.createTypeReferenceNode=createTypeReferenceNode;function updateTypeReferenceNode(e,t,r){return e.typeName!==t||e.typeArguments!==r?updateNode(createTypeReferenceNode(t,r),e):e}e.updateTypeReferenceNode=updateTypeReferenceNode;function createFunctionTypeNode(e,t,r){return createSignatureDeclaration(165,e,t,r)}e.createFunctionTypeNode=createFunctionTypeNode;function updateFunctionTypeNode(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateFunctionTypeNode=updateFunctionTypeNode;function createConstructorTypeNode(e,t,r){return createSignatureDeclaration(166,e,t,r)}e.createConstructorTypeNode=createConstructorTypeNode;function updateConstructorTypeNode(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateConstructorTypeNode=updateConstructorTypeNode;function createTypeQueryNode(e){var t=createSynthesizedNode(167);t.exprName=e;return t}e.createTypeQueryNode=createTypeQueryNode;function updateTypeQueryNode(e,t){return e.exprName!==t?updateNode(createTypeQueryNode(t),e):e}e.updateTypeQueryNode=updateTypeQueryNode;function createTypeLiteralNode(e){var t=createSynthesizedNode(168);t.members=createNodeArray(e);return t}e.createTypeLiteralNode=createTypeLiteralNode;function updateTypeLiteralNode(e,t){return e.members!==t?updateNode(createTypeLiteralNode(t),e):e}e.updateTypeLiteralNode=updateTypeLiteralNode;function createArrayTypeNode(t){var r=createSynthesizedNode(169);r.elementType=e.parenthesizeArrayTypeMember(t);return r}e.createArrayTypeNode=createArrayTypeNode;function updateArrayTypeNode(e,t){return e.elementType!==t?updateNode(createArrayTypeNode(t),e):e}e.updateArrayTypeNode=updateArrayTypeNode;function createTupleTypeNode(e){var t=createSynthesizedNode(170);t.elementTypes=createNodeArray(e);return t}e.createTupleTypeNode=createTupleTypeNode;function updateTupleTypeNode(e,t){return e.elementTypes!==t?updateNode(createTupleTypeNode(t),e):e}e.updateTupleTypeNode=updateTupleTypeNode;function createOptionalTypeNode(t){var r=createSynthesizedNode(171);r.type=e.parenthesizeArrayTypeMember(t);return r}e.createOptionalTypeNode=createOptionalTypeNode;function updateOptionalTypeNode(e,t){return e.type!==t?updateNode(createOptionalTypeNode(t),e):e}e.updateOptionalTypeNode=updateOptionalTypeNode;function createRestTypeNode(e){var t=createSynthesizedNode(172);t.type=e;return t}e.createRestTypeNode=createRestTypeNode;function updateRestTypeNode(e,t){return e.type!==t?updateNode(createRestTypeNode(t),e):e}e.updateRestTypeNode=updateRestTypeNode;function createUnionTypeNode(e){return createUnionOrIntersectionTypeNode(173,e)}e.createUnionTypeNode=createUnionTypeNode;function updateUnionTypeNode(e,t){return updateUnionOrIntersectionTypeNode(e,t)}e.updateUnionTypeNode=updateUnionTypeNode;function createIntersectionTypeNode(e){return createUnionOrIntersectionTypeNode(174,e)}e.createIntersectionTypeNode=createIntersectionTypeNode;function updateIntersectionTypeNode(e,t){return updateUnionOrIntersectionTypeNode(e,t)}e.updateIntersectionTypeNode=updateIntersectionTypeNode;function createUnionOrIntersectionTypeNode(t,r){var n=createSynthesizedNode(t);n.types=e.parenthesizeElementTypeMembers(r);return n}e.createUnionOrIntersectionTypeNode=createUnionOrIntersectionTypeNode;function updateUnionOrIntersectionTypeNode(e,t){return e.types!==t?updateNode(createUnionOrIntersectionTypeNode(e.kind,t),e):e}function createConditionalTypeNode(t,r,n,i){var a=createSynthesizedNode(175);a.checkType=e.parenthesizeConditionalTypeMember(t);a.extendsType=e.parenthesizeConditionalTypeMember(r);a.trueType=n;a.falseType=i;return a}e.createConditionalTypeNode=createConditionalTypeNode;function updateConditionalTypeNode(e,t,r,n,i){return e.checkType!==t||e.extendsType!==r||e.trueType!==n||e.falseType!==i?updateNode(createConditionalTypeNode(t,r,n,i),e):e}e.updateConditionalTypeNode=updateConditionalTypeNode;function createInferTypeNode(e){var t=createSynthesizedNode(176);t.typeParameter=e;return t}e.createInferTypeNode=createInferTypeNode;function updateInferTypeNode(e,t){return e.typeParameter!==t?updateNode(createInferTypeNode(t),e):e}e.updateInferTypeNode=updateInferTypeNode;function createImportTypeNode(e,t,r,n){var i=createSynthesizedNode(183);i.argument=e;i.qualifier=t;i.typeArguments=asNodeArray(r);i.isTypeOf=n;return i}e.createImportTypeNode=createImportTypeNode;function updateImportTypeNode(e,t,r,n,i){return e.argument!==t||e.qualifier!==r||e.typeArguments!==n||e.isTypeOf!==i?updateNode(createImportTypeNode(t,r,n,i),e):e}e.updateImportTypeNode=updateImportTypeNode;function createParenthesizedType(e){var t=createSynthesizedNode(177);t.type=e;return t}e.createParenthesizedType=createParenthesizedType;function updateParenthesizedType(e,t){return e.type!==t?updateNode(createParenthesizedType(t),e):e}e.updateParenthesizedType=updateParenthesizedType;function createThisTypeNode(){return createSynthesizedNode(178)}e.createThisTypeNode=createThisTypeNode;function createTypeOperatorNode(t,r){var n=createSynthesizedNode(179);n.operator=typeof t==="number"?t:129;n.type=e.parenthesizeElementTypeMember(typeof t==="number"?r:t);return n}e.createTypeOperatorNode=createTypeOperatorNode;function updateTypeOperatorNode(e,t){return e.type!==t?updateNode(createTypeOperatorNode(e.operator,t),e):e}e.updateTypeOperatorNode=updateTypeOperatorNode;function createIndexedAccessTypeNode(t,r){var n=createSynthesizedNode(180);n.objectType=e.parenthesizeElementTypeMember(t);n.indexType=r;return n}e.createIndexedAccessTypeNode=createIndexedAccessTypeNode;function updateIndexedAccessTypeNode(e,t,r){return e.objectType!==t||e.indexType!==r?updateNode(createIndexedAccessTypeNode(t,r),e):e}e.updateIndexedAccessTypeNode=updateIndexedAccessTypeNode;function createMappedTypeNode(e,t,r,n){var i=createSynthesizedNode(181);i.readonlyToken=e;i.typeParameter=t;i.questionToken=r;i.type=n;return i}e.createMappedTypeNode=createMappedTypeNode;function updateMappedTypeNode(e,t,r,n,i){return e.readonlyToken!==t||e.typeParameter!==r||e.questionToken!==n||e.type!==i?updateNode(createMappedTypeNode(t,r,n,i),e):e}e.updateMappedTypeNode=updateMappedTypeNode;function createLiteralTypeNode(e){var t=createSynthesizedNode(182);t.literal=e;return t}e.createLiteralTypeNode=createLiteralTypeNode;function updateLiteralTypeNode(e,t){return e.literal!==t?updateNode(createLiteralTypeNode(t),e):e}e.updateLiteralTypeNode=updateLiteralTypeNode;function createObjectBindingPattern(e){var t=createSynthesizedNode(184);t.elements=createNodeArray(e);return t}e.createObjectBindingPattern=createObjectBindingPattern;function updateObjectBindingPattern(e,t){return e.elements!==t?updateNode(createObjectBindingPattern(t),e):e}e.updateObjectBindingPattern=updateObjectBindingPattern;function createArrayBindingPattern(e){var t=createSynthesizedNode(185);t.elements=createNodeArray(e);return t}e.createArrayBindingPattern=createArrayBindingPattern;function updateArrayBindingPattern(e,t){return e.elements!==t?updateNode(createArrayBindingPattern(t),e):e}e.updateArrayBindingPattern=updateArrayBindingPattern;function createBindingElement(e,t,r,n){var i=createSynthesizedNode(186);i.dotDotDotToken=e;i.propertyName=asName(t);i.name=asName(r);i.initializer=n;return i}e.createBindingElement=createBindingElement;function updateBindingElement(e,t,r,n,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==n||e.initializer!==i?updateNode(createBindingElement(t,r,n,i),e):e}e.updateBindingElement=updateBindingElement;function createArrayLiteral(t,r){var n=createSynthesizedNode(187);n.elements=e.parenthesizeListElements(createNodeArray(t));if(r)n.multiLine=true;return n}e.createArrayLiteral=createArrayLiteral;function updateArrayLiteral(e,t){return e.elements!==t?updateNode(createArrayLiteral(t,e.multiLine),e):e}e.updateArrayLiteral=updateArrayLiteral;function createObjectLiteral(e,t){var r=createSynthesizedNode(188);r.properties=createNodeArray(e);if(t)r.multiLine=true;return r}e.createObjectLiteral=createObjectLiteral;function updateObjectLiteral(e,t){return e.properties!==t?updateNode(createObjectLiteral(t,e.multiLine),e):e}e.updateObjectLiteral=updateObjectLiteral;function createPropertyAccess(t,r){var n=createSynthesizedNode(189);n.expression=e.parenthesizeForAccess(t);n.name=asName(r);setEmitFlags(n,131072);return n}e.createPropertyAccess=createPropertyAccess;function updatePropertyAccess(t,r,n){return t.expression!==r||t.name!==n?updateNode(setEmitFlags(createPropertyAccess(r,n),e.getEmitFlags(t)),t):t}e.updatePropertyAccess=updatePropertyAccess;function createElementAccess(t,r){var n=createSynthesizedNode(190);n.expression=e.parenthesizeForAccess(t);n.argumentExpression=asExpression(r);return n}e.createElementAccess=createElementAccess;function updateElementAccess(e,t,r){return e.expression!==t||e.argumentExpression!==r?updateNode(createElementAccess(t,r),e):e}e.updateElementAccess=updateElementAccess;function createCall(t,r,n){var i=createSynthesizedNode(191);i.expression=e.parenthesizeForAccess(t);i.typeArguments=asNodeArray(r);i.arguments=e.parenthesizeListElements(createNodeArray(n));return i}e.createCall=createCall;function updateCall(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?updateNode(createCall(t,r,n),e):e}e.updateCall=updateCall;function createNew(t,r,n){var i=createSynthesizedNode(192);i.expression=e.parenthesizeForNew(t);i.typeArguments=asNodeArray(r);i.arguments=n?e.parenthesizeListElements(createNodeArray(n)):undefined;return i}e.createNew=createNew;function updateNew(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?updateNode(createNew(t,r,n),e):e}e.updateNew=updateNew;function createTaggedTemplate(t,r,n){var i=createSynthesizedNode(193);i.tag=e.parenthesizeForAccess(t);if(n){i.typeArguments=asNodeArray(r);i.template=n}else{i.typeArguments=undefined;i.template=r}return i}e.createTaggedTemplate=createTaggedTemplate;function updateTaggedTemplate(e,t,r,n){return e.tag!==t||(n?e.typeArguments!==r||e.template!==n:e.typeArguments!==undefined||e.template!==r)?updateNode(createTaggedTemplate(t,r,n),e):e}e.updateTaggedTemplate=updateTaggedTemplate;function createTypeAssertion(t,r){var n=createSynthesizedNode(194);n.type=t;n.expression=e.parenthesizePrefixOperand(r);return n}e.createTypeAssertion=createTypeAssertion;function updateTypeAssertion(e,t,r){return e.type!==t||e.expression!==r?updateNode(createTypeAssertion(t,r),e):e}e.updateTypeAssertion=updateTypeAssertion;function createParen(e){var t=createSynthesizedNode(195);t.expression=e;return t}e.createParen=createParen;function updateParen(e,t){return e.expression!==t?updateNode(createParen(t),e):e}e.updateParen=updateParen;function createFunctionExpression(e,t,r,n,i,a,o){var s=createSynthesizedNode(196);s.modifiers=asNodeArray(e);s.asteriskToken=t;s.name=asName(r);s.typeParameters=asNodeArray(n);s.parameters=createNodeArray(i);s.type=a;s.body=o;return s}e.createFunctionExpression=createFunctionExpression;function updateFunctionExpression(e,t,r,n,i,a,o,s){return e.name!==n||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==a||e.type!==o||e.body!==s?updateNode(createFunctionExpression(t,r,n,i,a,o,s),e):e}e.updateFunctionExpression=updateFunctionExpression;function createArrowFunction(t,r,n,i,a,o){var s=createSynthesizedNode(197);s.modifiers=asNodeArray(t);s.typeParameters=asNodeArray(r);s.parameters=createNodeArray(n);s.type=i;s.equalsGreaterThanToken=a||createToken(37);s.body=e.parenthesizeConciseBody(o);return s}e.createArrowFunction=createArrowFunction;function updateArrowFunction(e,t,r,n,i,a,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==n||e.type!==i||e.equalsGreaterThanToken!==a||e.body!==o?updateNode(createArrowFunction(t,r,n,i,a,o),e):e}e.updateArrowFunction=updateArrowFunction;function createDelete(t){var r=createSynthesizedNode(198);r.expression=e.parenthesizePrefixOperand(t);return r}e.createDelete=createDelete;function updateDelete(e,t){return e.expression!==t?updateNode(createDelete(t),e):e}e.updateDelete=updateDelete;function createTypeOf(t){var r=createSynthesizedNode(199);r.expression=e.parenthesizePrefixOperand(t);return r}e.createTypeOf=createTypeOf;function updateTypeOf(e,t){return e.expression!==t?updateNode(createTypeOf(t),e):e}e.updateTypeOf=updateTypeOf;function createVoid(t){var r=createSynthesizedNode(200);r.expression=e.parenthesizePrefixOperand(t);return r}e.createVoid=createVoid;function updateVoid(e,t){return e.expression!==t?updateNode(createVoid(t),e):e}e.updateVoid=updateVoid;function createAwait(t){var r=createSynthesizedNode(201);r.expression=e.parenthesizePrefixOperand(t);return r}e.createAwait=createAwait;function updateAwait(e,t){return e.expression!==t?updateNode(createAwait(t),e):e}e.updateAwait=updateAwait;function createPrefix(t,r){var n=createSynthesizedNode(202);n.operator=t;n.operand=e.parenthesizePrefixOperand(r);return n}e.createPrefix=createPrefix;function updatePrefix(e,t){return e.operand!==t?updateNode(createPrefix(e.operator,t),e):e}e.updatePrefix=updatePrefix;function createPostfix(t,r){var n=createSynthesizedNode(203);n.operand=e.parenthesizePostfixOperand(t);n.operator=r;return n}e.createPostfix=createPostfix;function updatePostfix(e,t){return e.operand!==t?updateNode(createPostfix(t,e.operator),e):e}e.updatePostfix=updatePostfix;function createBinary(t,r,n){var i=createSynthesizedNode(204);var a=asToken(r);var o=a.kind;i.left=e.parenthesizeBinaryOperand(o,t,true,undefined);i.operatorToken=a;i.right=e.parenthesizeBinaryOperand(o,n,false,i.left);return i}e.createBinary=createBinary;function updateBinary(e,t,r,n){return e.left!==t||e.right!==r?updateNode(createBinary(t,n||e.operatorToken,r),e):e}e.updateBinary=updateBinary;function createConditional(t,r,n,i,a){var o=createSynthesizedNode(205);o.condition=e.parenthesizeForConditionalHead(t);o.questionToken=a?r:createToken(56);o.whenTrue=e.parenthesizeSubexpressionOfConditionalExpression(a?n:r);o.colonToken=a?i:createToken(57);o.whenFalse=e.parenthesizeSubexpressionOfConditionalExpression(a?a:n);return o}e.createConditional=createConditional;function updateConditional(e,t,r,n,i,a){return e.condition!==t||e.questionToken!==r||e.whenTrue!==n||e.colonToken!==i||e.whenFalse!==a?updateNode(createConditional(t,r,n,i,a),e):e}e.updateConditional=updateConditional;function createTemplateExpression(e,t){var r=createSynthesizedNode(206);r.head=e;r.templateSpans=createNodeArray(t);return r}e.createTemplateExpression=createTemplateExpression;function updateTemplateExpression(e,t,r){return e.head!==t||e.templateSpans!==r?updateNode(createTemplateExpression(t,r),e):e}e.updateTemplateExpression=updateTemplateExpression;function createTemplateHead(e){var t=createSynthesizedNode(15);t.text=e;return t}e.createTemplateHead=createTemplateHead;function createTemplateMiddle(e){var t=createSynthesizedNode(16);t.text=e;return t}e.createTemplateMiddle=createTemplateMiddle;function createTemplateTail(e){var t=createSynthesizedNode(17);t.text=e;return t}e.createTemplateTail=createTemplateTail;function createNoSubstitutionTemplateLiteral(e){var t=createSynthesizedNode(14);t.text=e;return t}e.createNoSubstitutionTemplateLiteral=createNoSubstitutionTemplateLiteral;function createYield(e,t){var r=createSynthesizedNode(207);r.asteriskToken=e&&e.kind===40?e:undefined;r.expression=e&&e.kind!==40?e:t;return r}e.createYield=createYield;function updateYield(e,t,r){return e.expression!==r||e.asteriskToken!==t?updateNode(createYield(t,r),e):e}e.updateYield=updateYield;function createSpread(t){var r=createSynthesizedNode(208);r.expression=e.parenthesizeExpressionForList(t);return r}e.createSpread=createSpread;function updateSpread(e,t){return e.expression!==t?updateNode(createSpread(t),e):e}e.updateSpread=updateSpread;function createClassExpression(e,t,r,n,i){var a=createSynthesizedNode(209);a.decorators=undefined;a.modifiers=asNodeArray(e);a.name=asName(t);a.typeParameters=asNodeArray(r);a.heritageClauses=asNodeArray(n);a.members=createNodeArray(i);return a}e.createClassExpression=createClassExpression;function updateClassExpression(e,t,r,n,i,a){return e.modifiers!==t||e.name!==r||e.typeParameters!==n||e.heritageClauses!==i||e.members!==a?updateNode(createClassExpression(t,r,n,i,a),e):e}e.updateClassExpression=updateClassExpression;function createOmittedExpression(){return createSynthesizedNode(210)}e.createOmittedExpression=createOmittedExpression;function createExpressionWithTypeArguments(t,r){var n=createSynthesizedNode(211);n.expression=e.parenthesizeForAccess(r);n.typeArguments=asNodeArray(t);return n}e.createExpressionWithTypeArguments=createExpressionWithTypeArguments;function updateExpressionWithTypeArguments(e,t,r){return e.typeArguments!==t||e.expression!==r?updateNode(createExpressionWithTypeArguments(t,r),e):e}e.updateExpressionWithTypeArguments=updateExpressionWithTypeArguments;function createAsExpression(e,t){var r=createSynthesizedNode(212);r.expression=e;r.type=t;return r}e.createAsExpression=createAsExpression;function updateAsExpression(e,t,r){return e.expression!==t||e.type!==r?updateNode(createAsExpression(t,r),e):e}e.updateAsExpression=updateAsExpression;function createNonNullExpression(t){var r=createSynthesizedNode(213);r.expression=e.parenthesizeForAccess(t);return r}e.createNonNullExpression=createNonNullExpression;function updateNonNullExpression(e,t){return e.expression!==t?updateNode(createNonNullExpression(t),e):e}e.updateNonNullExpression=updateNonNullExpression;function createMetaProperty(e,t){var r=createSynthesizedNode(214);r.keywordToken=e;r.name=t;return r}e.createMetaProperty=createMetaProperty;function updateMetaProperty(e,t){return e.name!==t?updateNode(createMetaProperty(e.keywordToken,t),e):e}e.updateMetaProperty=updateMetaProperty;function createTemplateSpan(e,t){var r=createSynthesizedNode(216);r.expression=e;r.literal=t;return r}e.createTemplateSpan=createTemplateSpan;function updateTemplateSpan(e,t,r){return e.expression!==t||e.literal!==r?updateNode(createTemplateSpan(t,r),e):e}e.updateTemplateSpan=updateTemplateSpan;function createSemicolonClassElement(){return createSynthesizedNode(217)}e.createSemicolonClassElement=createSemicolonClassElement;function createBlock(e,t){var r=createSynthesizedNode(218);r.statements=createNodeArray(e);if(t)r.multiLine=t;return r}e.createBlock=createBlock;function updateBlock(e,t){return e.statements!==t?updateNode(createBlock(t,e.multiLine),e):e}e.updateBlock=updateBlock;function createVariableStatement(t,r){var n=createSynthesizedNode(219);n.decorators=undefined;n.modifiers=asNodeArray(t);n.declarationList=e.isArray(r)?createVariableDeclarationList(r):r;return n}e.createVariableStatement=createVariableStatement;function updateVariableStatement(e,t,r){return e.modifiers!==t||e.declarationList!==r?updateNode(createVariableStatement(t,r),e):e}e.updateVariableStatement=updateVariableStatement;function createEmptyStatement(){return createSynthesizedNode(220)}e.createEmptyStatement=createEmptyStatement;function createExpressionStatement(t){var r=createSynthesizedNode(221);r.expression=e.parenthesizeExpressionForExpressionStatement(t);return r}e.createExpressionStatement=createExpressionStatement;function updateExpressionStatement(e,t){return e.expression!==t?updateNode(createExpressionStatement(t),e):e}e.updateExpressionStatement=updateExpressionStatement;e.createStatement=createExpressionStatement;e.updateStatement=updateExpressionStatement;function createIf(e,t,r){var n=createSynthesizedNode(222);n.expression=e;n.thenStatement=t;n.elseStatement=r;return n}e.createIf=createIf;function updateIf(e,t,r,n){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==n?updateNode(createIf(t,r,n),e):e}e.updateIf=updateIf;function createDo(e,t){var r=createSynthesizedNode(223);r.statement=e;r.expression=t;return r}e.createDo=createDo;function updateDo(e,t,r){return e.statement!==t||e.expression!==r?updateNode(createDo(t,r),e):e}e.updateDo=updateDo;function createWhile(e,t){var r=createSynthesizedNode(224);r.expression=e;r.statement=t;return r}e.createWhile=createWhile;function updateWhile(e,t,r){return e.expression!==t||e.statement!==r?updateNode(createWhile(t,r),e):e}e.updateWhile=updateWhile;function createFor(e,t,r,n){var i=createSynthesizedNode(225);i.initializer=e;i.condition=t;i.incrementor=r;i.statement=n;return i}e.createFor=createFor;function updateFor(e,t,r,n,i){return e.initializer!==t||e.condition!==r||e.incrementor!==n||e.statement!==i?updateNode(createFor(t,r,n,i),e):e}e.updateFor=updateFor;function createForIn(e,t,r){var n=createSynthesizedNode(226);n.initializer=e;n.expression=t;n.statement=r;return n}e.createForIn=createForIn;function updateForIn(e,t,r,n){return e.initializer!==t||e.expression!==r||e.statement!==n?updateNode(createForIn(t,r,n),e):e}e.updateForIn=updateForIn;function createForOf(e,t,r,n){var i=createSynthesizedNode(227);i.awaitModifier=e;i.initializer=t;i.expression=r;i.statement=n;return i}e.createForOf=createForOf;function updateForOf(e,t,r,n,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==n||e.statement!==i?updateNode(createForOf(t,r,n,i),e):e}e.updateForOf=updateForOf;function createContinue(e){var t=createSynthesizedNode(228);t.label=asName(e);return t}e.createContinue=createContinue;function updateContinue(e,t){return e.label!==t?updateNode(createContinue(t),e):e}e.updateContinue=updateContinue;function createBreak(e){var t=createSynthesizedNode(229);t.label=asName(e);return t}e.createBreak=createBreak;function updateBreak(e,t){return e.label!==t?updateNode(createBreak(t),e):e}e.updateBreak=updateBreak;function createReturn(e){var t=createSynthesizedNode(230);t.expression=e;return t}e.createReturn=createReturn;function updateReturn(e,t){return e.expression!==t?updateNode(createReturn(t),e):e}e.updateReturn=updateReturn;function createWith(e,t){var r=createSynthesizedNode(231);r.expression=e;r.statement=t;return r}e.createWith=createWith;function updateWith(e,t,r){return e.expression!==t||e.statement!==r?updateNode(createWith(t,r),e):e}e.updateWith=updateWith;function createSwitch(t,r){var n=createSynthesizedNode(232);n.expression=e.parenthesizeExpressionForList(t);n.caseBlock=r;return n}e.createSwitch=createSwitch;function updateSwitch(e,t,r){return e.expression!==t||e.caseBlock!==r?updateNode(createSwitch(t,r),e):e}e.updateSwitch=updateSwitch;function createLabel(e,t){var r=createSynthesizedNode(233);r.label=asName(e);r.statement=t;return r}e.createLabel=createLabel;function updateLabel(e,t,r){return e.label!==t||e.statement!==r?updateNode(createLabel(t,r),e):e}e.updateLabel=updateLabel;function createThrow(e){var t=createSynthesizedNode(234);t.expression=e;return t}e.createThrow=createThrow;function updateThrow(e,t){return e.expression!==t?updateNode(createThrow(t),e):e}e.updateThrow=updateThrow;function createTry(e,t,r){var n=createSynthesizedNode(235);n.tryBlock=e;n.catchClause=t;n.finallyBlock=r;return n}e.createTry=createTry;function updateTry(e,t,r,n){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==n?updateNode(createTry(t,r,n),e):e}e.updateTry=updateTry;function createDebuggerStatement(){return createSynthesizedNode(236)}e.createDebuggerStatement=createDebuggerStatement;function createVariableDeclaration(t,r,n){var i=createSynthesizedNode(237);i.name=asName(t);i.type=r;i.initializer=n!==undefined?e.parenthesizeExpressionForList(n):undefined;return i}e.createVariableDeclaration=createVariableDeclaration;function updateVariableDeclaration(e,t,r,n){return e.name!==t||e.type!==r||e.initializer!==n?updateNode(createVariableDeclaration(t,r,n),e):e}e.updateVariableDeclaration=updateVariableDeclaration;function createVariableDeclarationList(e,t){if(t===void 0){t=0}var r=createSynthesizedNode(238);r.flags|=t&3;r.declarations=createNodeArray(e);return r}e.createVariableDeclarationList=createVariableDeclarationList;function updateVariableDeclarationList(e,t){return e.declarations!==t?updateNode(createVariableDeclarationList(t,e.flags),e):e}e.updateVariableDeclarationList=updateVariableDeclarationList;function createFunctionDeclaration(e,t,r,n,i,a,o,s){var c=createSynthesizedNode(239);c.decorators=asNodeArray(e);c.modifiers=asNodeArray(t);c.asteriskToken=r;c.name=asName(n);c.typeParameters=asNodeArray(i);c.parameters=createNodeArray(a);c.type=o;c.body=s;return c}e.createFunctionDeclaration=createFunctionDeclaration;function updateFunctionDeclaration(e,t,r,n,i,a,o,s,c){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.typeParameters!==a||e.parameters!==o||e.type!==s||e.body!==c?updateNode(createFunctionDeclaration(t,r,n,i,a,o,s,c),e):e}e.updateFunctionDeclaration=updateFunctionDeclaration;function createClassDeclaration(e,t,r,n,i,a){var o=createSynthesizedNode(240);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.typeParameters=asNodeArray(n);o.heritageClauses=asNodeArray(i);o.members=createNodeArray(a);return o}e.createClassDeclaration=createClassDeclaration;function updateClassDeclaration(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.typeParameters!==i||e.heritageClauses!==a||e.members!==o?updateNode(createClassDeclaration(t,r,n,i,a,o),e):e}e.updateClassDeclaration=updateClassDeclaration;function createInterfaceDeclaration(e,t,r,n,i,a){var o=createSynthesizedNode(241);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.typeParameters=asNodeArray(n);o.heritageClauses=asNodeArray(i);o.members=createNodeArray(a);return o}e.createInterfaceDeclaration=createInterfaceDeclaration;function updateInterfaceDeclaration(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.typeParameters!==i||e.heritageClauses!==a||e.members!==o?updateNode(createInterfaceDeclaration(t,r,n,i,a,o),e):e}e.updateInterfaceDeclaration=updateInterfaceDeclaration;function createTypeAliasDeclaration(e,t,r,n,i){var a=createSynthesizedNode(242);a.decorators=asNodeArray(e);a.modifiers=asNodeArray(t);a.name=asName(r);a.typeParameters=asNodeArray(n);a.type=i;return a}e.createTypeAliasDeclaration=createTypeAliasDeclaration;function updateTypeAliasDeclaration(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.typeParameters!==i||e.type!==a?updateNode(createTypeAliasDeclaration(t,r,n,i,a),e):e}e.updateTypeAliasDeclaration=updateTypeAliasDeclaration;function createEnumDeclaration(e,t,r,n){var i=createSynthesizedNode(243);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.name=asName(r);i.members=createNodeArray(n);return i}e.createEnumDeclaration=createEnumDeclaration;function updateEnumDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.members!==i?updateNode(createEnumDeclaration(t,r,n,i),e):e}e.updateEnumDeclaration=updateEnumDeclaration;function createModuleDeclaration(e,t,r,n,i){if(i===void 0){i=0}var a=createSynthesizedNode(244);a.flags|=i&(16|4|512);a.decorators=asNodeArray(e);a.modifiers=asNodeArray(t);a.name=r;a.body=n;return a}e.createModuleDeclaration=createModuleDeclaration;function updateModuleDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.body!==i?updateNode(createModuleDeclaration(t,r,n,i,e.flags),e):e}e.updateModuleDeclaration=updateModuleDeclaration;function createModuleBlock(e){var t=createSynthesizedNode(245);t.statements=createNodeArray(e);return t}e.createModuleBlock=createModuleBlock;function updateModuleBlock(e,t){return e.statements!==t?updateNode(createModuleBlock(t),e):e}e.updateModuleBlock=updateModuleBlock;function createCaseBlock(e){var t=createSynthesizedNode(246);t.clauses=createNodeArray(e);return t}e.createCaseBlock=createCaseBlock;function updateCaseBlock(e,t){return e.clauses!==t?updateNode(createCaseBlock(t),e):e}e.updateCaseBlock=updateCaseBlock;function createNamespaceExportDeclaration(e){var t=createSynthesizedNode(247);t.name=asName(e);return t}e.createNamespaceExportDeclaration=createNamespaceExportDeclaration;function updateNamespaceExportDeclaration(e,t){return e.name!==t?updateNode(createNamespaceExportDeclaration(t),e):e}e.updateNamespaceExportDeclaration=updateNamespaceExportDeclaration;function createImportEqualsDeclaration(e,t,r,n){var i=createSynthesizedNode(248);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.name=asName(r);i.moduleReference=n;return i}e.createImportEqualsDeclaration=createImportEqualsDeclaration;function updateImportEqualsDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.moduleReference!==i?updateNode(createImportEqualsDeclaration(t,r,n,i),e):e}e.updateImportEqualsDeclaration=updateImportEqualsDeclaration;function createImportDeclaration(e,t,r,n){var i=createSynthesizedNode(249);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.importClause=r;i.moduleSpecifier=n;return i}e.createImportDeclaration=createImportDeclaration;function updateImportDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.importClause!==n||e.moduleSpecifier!==i?updateNode(createImportDeclaration(t,r,n,i),e):e}e.updateImportDeclaration=updateImportDeclaration;function createImportClause(e,t){var r=createSynthesizedNode(250);r.name=e;r.namedBindings=t;return r}e.createImportClause=createImportClause;function updateImportClause(e,t,r){return e.name!==t||e.namedBindings!==r?updateNode(createImportClause(t,r),e):e}e.updateImportClause=updateImportClause;function createNamespaceImport(e){var t=createSynthesizedNode(251);t.name=e;return t}e.createNamespaceImport=createNamespaceImport;function updateNamespaceImport(e,t){return e.name!==t?updateNode(createNamespaceImport(t),e):e}e.updateNamespaceImport=updateNamespaceImport;function createNamedImports(e){var t=createSynthesizedNode(252);t.elements=createNodeArray(e);return t}e.createNamedImports=createNamedImports;function updateNamedImports(e,t){return e.elements!==t?updateNode(createNamedImports(t),e):e}e.updateNamedImports=updateNamedImports;function createImportSpecifier(e,t){var r=createSynthesizedNode(253);r.propertyName=e;r.name=t;return r}e.createImportSpecifier=createImportSpecifier;function updateImportSpecifier(e,t,r){return e.propertyName!==t||e.name!==r?updateNode(createImportSpecifier(t,r),e):e}e.updateImportSpecifier=updateImportSpecifier;function createExportAssignment(t,r,n,i){var a=createSynthesizedNode(254);a.decorators=asNodeArray(t);a.modifiers=asNodeArray(r);a.isExportEquals=n;a.expression=n?e.parenthesizeBinaryOperand(59,i,false,undefined):e.parenthesizeDefaultExpression(i);return a}e.createExportAssignment=createExportAssignment;function updateExportAssignment(e,t,r,n){return e.decorators!==t||e.modifiers!==r||e.expression!==n?updateNode(createExportAssignment(t,r,e.isExportEquals,n),e):e}e.updateExportAssignment=updateExportAssignment;function createExportDeclaration(e,t,r,n){var i=createSynthesizedNode(255);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.exportClause=r;i.moduleSpecifier=n;return i}e.createExportDeclaration=createExportDeclaration;function updateExportDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.exportClause!==n||e.moduleSpecifier!==i?updateNode(createExportDeclaration(t,r,n,i),e):e}e.updateExportDeclaration=updateExportDeclaration;function createNamedExports(e){var t=createSynthesizedNode(256);t.elements=createNodeArray(e);return t}e.createNamedExports=createNamedExports;function updateNamedExports(e,t){return e.elements!==t?updateNode(createNamedExports(t),e):e}e.updateNamedExports=updateNamedExports;function createExportSpecifier(e,t){var r=createSynthesizedNode(257);r.propertyName=asName(e);r.name=asName(t);return r}e.createExportSpecifier=createExportSpecifier;function updateExportSpecifier(e,t,r){return e.propertyName!==t||e.name!==r?updateNode(createExportSpecifier(t,r),e):e}e.updateExportSpecifier=updateExportSpecifier;function createExternalModuleReference(e){var t=createSynthesizedNode(259);t.expression=e;return t}e.createExternalModuleReference=createExternalModuleReference;function updateExternalModuleReference(e,t){return e.expression!==t?updateNode(createExternalModuleReference(t),e):e}e.updateExternalModuleReference=updateExternalModuleReference;function createJSDocTypeExpression(e){var t=createSynthesizedNode(283);t.type=e;return t}e.createJSDocTypeExpression=createJSDocTypeExpression;function createJSDocTypeTag(e,t){var r=createJSDocTag(302,"type");r.typeExpression=e;r.comment=t;return r}e.createJSDocTypeTag=createJSDocTypeTag;function createJSDocReturnTag(e,t){var r=createJSDocTag(300,"returns");r.typeExpression=e;r.comment=t;return r}e.createJSDocReturnTag=createJSDocReturnTag;function createJSDocParamTag(e,t,r,n){var i=createJSDocTag(299,"param");i.typeExpression=r;i.name=e;i.isBracketed=t;i.comment=n;return i}e.createJSDocParamTag=createJSDocParamTag;function createJSDocComment(e,t){var r=createSynthesizedNode(291);r.comment=e;r.tags=t;return r}e.createJSDocComment=createJSDocComment;function createJSDocTag(e,t){var r=createSynthesizedNode(e);r.tagName=createIdentifier(t);return r}function createJsxElement(e,t,r){var n=createSynthesizedNode(260);n.openingElement=e;n.children=createNodeArray(t);n.closingElement=r;return n}e.createJsxElement=createJsxElement;function updateJsxElement(e,t,r,n){return e.openingElement!==t||e.children!==r||e.closingElement!==n?updateNode(createJsxElement(t,r,n),e):e}e.updateJsxElement=updateJsxElement;function createJsxSelfClosingElement(e,t,r){var n=createSynthesizedNode(261);n.tagName=e;n.typeArguments=asNodeArray(t);n.attributes=r;return n}e.createJsxSelfClosingElement=createJsxSelfClosingElement;function updateJsxSelfClosingElement(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?updateNode(createJsxSelfClosingElement(t,r,n),e):e}e.updateJsxSelfClosingElement=updateJsxSelfClosingElement;function createJsxOpeningElement(e,t,r){var n=createSynthesizedNode(262);n.tagName=e;n.typeArguments=asNodeArray(t);n.attributes=r;return n}e.createJsxOpeningElement=createJsxOpeningElement;function updateJsxOpeningElement(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?updateNode(createJsxOpeningElement(t,r,n),e):e}e.updateJsxOpeningElement=updateJsxOpeningElement;function createJsxClosingElement(e){var t=createSynthesizedNode(263);t.tagName=e;return t}e.createJsxClosingElement=createJsxClosingElement;function updateJsxClosingElement(e,t){return e.tagName!==t?updateNode(createJsxClosingElement(t),e):e}e.updateJsxClosingElement=updateJsxClosingElement;function createJsxFragment(e,t,r){var n=createSynthesizedNode(264);n.openingFragment=e;n.children=createNodeArray(t);n.closingFragment=r;return n}e.createJsxFragment=createJsxFragment;function updateJsxFragment(e,t,r,n){return e.openingFragment!==t||e.children!==r||e.closingFragment!==n?updateNode(createJsxFragment(t,r,n),e):e}e.updateJsxFragment=updateJsxFragment;function createJsxAttribute(e,t){var r=createSynthesizedNode(267);r.name=e;r.initializer=t;return r}e.createJsxAttribute=createJsxAttribute;function updateJsxAttribute(e,t,r){return e.name!==t||e.initializer!==r?updateNode(createJsxAttribute(t,r),e):e}e.updateJsxAttribute=updateJsxAttribute;function createJsxAttributes(e){var t=createSynthesizedNode(268);t.properties=createNodeArray(e);return t}e.createJsxAttributes=createJsxAttributes;function updateJsxAttributes(e,t){return e.properties!==t?updateNode(createJsxAttributes(t),e):e}e.updateJsxAttributes=updateJsxAttributes;function createJsxSpreadAttribute(e){var t=createSynthesizedNode(269);t.expression=e;return t}e.createJsxSpreadAttribute=createJsxSpreadAttribute;function updateJsxSpreadAttribute(e,t){return e.expression!==t?updateNode(createJsxSpreadAttribute(t),e):e}e.updateJsxSpreadAttribute=updateJsxSpreadAttribute;function createJsxExpression(e,t){var r=createSynthesizedNode(270);r.dotDotDotToken=e;r.expression=t;return r}e.createJsxExpression=createJsxExpression;function updateJsxExpression(e,t){return e.expression!==t?updateNode(createJsxExpression(e.dotDotDotToken,t),e):e}e.updateJsxExpression=updateJsxExpression;function createCaseClause(t,r){var n=createSynthesizedNode(271);n.expression=e.parenthesizeExpressionForList(t);n.statements=createNodeArray(r);return n}e.createCaseClause=createCaseClause;function updateCaseClause(e,t,r){return e.expression!==t||e.statements!==r?updateNode(createCaseClause(t,r),e):e}e.updateCaseClause=updateCaseClause;function createDefaultClause(e){var t=createSynthesizedNode(272);t.statements=createNodeArray(e);return t}e.createDefaultClause=createDefaultClause;function updateDefaultClause(e,t){return e.statements!==t?updateNode(createDefaultClause(t),e):e}e.updateDefaultClause=updateDefaultClause;function createHeritageClause(e,t){var r=createSynthesizedNode(273);r.token=e;r.types=createNodeArray(t);return r}e.createHeritageClause=createHeritageClause;function updateHeritageClause(e,t){return e.types!==t?updateNode(createHeritageClause(e.token,t),e):e}e.updateHeritageClause=updateHeritageClause;function createCatchClause(t,r){var n=createSynthesizedNode(274);n.variableDeclaration=e.isString(t)?createVariableDeclaration(t):t;n.block=r;return n}e.createCatchClause=createCatchClause;function updateCatchClause(e,t,r){return e.variableDeclaration!==t||e.block!==r?updateNode(createCatchClause(t,r),e):e}e.updateCatchClause=updateCatchClause;function createPropertyAssignment(t,r){var n=createSynthesizedNode(275);n.name=asName(t);n.questionToken=undefined;n.initializer=e.parenthesizeExpressionForList(r);return n}e.createPropertyAssignment=createPropertyAssignment;function updatePropertyAssignment(e,t,r){return e.name!==t||e.initializer!==r?updateNode(createPropertyAssignment(t,r),e):e}e.updatePropertyAssignment=updatePropertyAssignment;function createShorthandPropertyAssignment(t,r){var n=createSynthesizedNode(276);n.name=asName(t);n.objectAssignmentInitializer=r!==undefined?e.parenthesizeExpressionForList(r):undefined;return n}e.createShorthandPropertyAssignment=createShorthandPropertyAssignment;function updateShorthandPropertyAssignment(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?updateNode(createShorthandPropertyAssignment(t,r),e):e}e.updateShorthandPropertyAssignment=updateShorthandPropertyAssignment;function createSpreadAssignment(t){var r=createSynthesizedNode(277);r.expression=t!==undefined?e.parenthesizeExpressionForList(t):undefined;return r}e.createSpreadAssignment=createSpreadAssignment;function updateSpreadAssignment(e,t){return e.expression!==t?updateNode(createSpreadAssignment(t),e):e}e.updateSpreadAssignment=updateSpreadAssignment;function createEnumMember(t,r){var n=createSynthesizedNode(278);n.name=asName(t);n.initializer=r&&e.parenthesizeExpressionForList(r);return n}e.createEnumMember=createEnumMember;function updateEnumMember(e,t,r){return e.name!==t||e.initializer!==r?updateNode(createEnumMember(t,r),e):e}e.updateEnumMember=updateEnumMember;function updateSourceFileNode(e,t,r,n,i,a,o){if(e.statements!==t||r!==undefined&&e.isDeclarationFile!==r||n!==undefined&&e.referencedFiles!==n||i!==undefined&&e.typeReferenceDirectives!==i||o!==undefined&&e.libReferenceDirectives!==o||a!==undefined&&e.hasNoDefaultLib!==a){var s=createSynthesizedNode(279);s.flags|=e.flags;s.statements=createNodeArray(t);s.endOfFileToken=e.endOfFileToken;s.fileName=e.fileName;s.path=e.path;s.text=e.text;s.isDeclarationFile=r===undefined?e.isDeclarationFile:r;s.referencedFiles=n===undefined?e.referencedFiles:n;s.typeReferenceDirectives=i===undefined?e.typeReferenceDirectives:i;s.hasNoDefaultLib=a===undefined?e.hasNoDefaultLib:a;s.libReferenceDirectives=o===undefined?e.libReferenceDirectives:o;if(e.amdDependencies!==undefined)s.amdDependencies=e.amdDependencies;if(e.moduleName!==undefined)s.moduleName=e.moduleName;if(e.languageVariant!==undefined)s.languageVariant=e.languageVariant;if(e.renamedDependencies!==undefined)s.renamedDependencies=e.renamedDependencies;if(e.languageVersion!==undefined)s.languageVersion=e.languageVersion;if(e.scriptKind!==undefined)s.scriptKind=e.scriptKind;if(e.externalModuleIndicator!==undefined)s.externalModuleIndicator=e.externalModuleIndicator;if(e.commonJsModuleIndicator!==undefined)s.commonJsModuleIndicator=e.commonJsModuleIndicator;if(e.identifiers!==undefined)s.identifiers=e.identifiers;if(e.nodeCount!==undefined)s.nodeCount=e.nodeCount;if(e.identifierCount!==undefined)s.identifierCount=e.identifierCount;if(e.symbolCount!==undefined)s.symbolCount=e.symbolCount;if(e.parseDiagnostics!==undefined)s.parseDiagnostics=e.parseDiagnostics;if(e.bindDiagnostics!==undefined)s.bindDiagnostics=e.bindDiagnostics;if(e.bindSuggestionDiagnostics!==undefined)s.bindSuggestionDiagnostics=e.bindSuggestionDiagnostics;if(e.lineMap!==undefined)s.lineMap=e.lineMap;if(e.classifiableNames!==undefined)s.classifiableNames=e.classifiableNames;if(e.resolvedModules!==undefined)s.resolvedModules=e.resolvedModules;if(e.resolvedTypeReferenceDirectiveNames!==undefined)s.resolvedTypeReferenceDirectiveNames=e.resolvedTypeReferenceDirectiveNames;if(e.imports!==undefined)s.imports=e.imports;if(e.moduleAugmentations!==undefined)s.moduleAugmentations=e.moduleAugmentations;if(e.pragmas!==undefined)s.pragmas=e.pragmas;if(e.localJsxFactory!==undefined)s.localJsxFactory=e.localJsxFactory;if(e.localJsxNamespace!==undefined)s.localJsxNamespace=e.localJsxNamespace;return updateNode(s,e)}return e}e.updateSourceFileNode=updateSourceFileNode;function getMutableClone(e){var t=getSynthesizedClone(e);t.pos=e.pos;t.end=e.end;t.parent=e.parent;return t}e.getMutableClone=getMutableClone;function createNotEmittedStatement(e){var t=createSynthesizedNode(307);t.original=e;setTextRange(t,e);return t}e.createNotEmittedStatement=createNotEmittedStatement;function createEndOfDeclarationMarker(e){var t=createSynthesizedNode(311);t.emitNode={};t.original=e;return t}e.createEndOfDeclarationMarker=createEndOfDeclarationMarker;function createMergeDeclarationMarker(e){var t=createSynthesizedNode(310);t.emitNode={};t.original=e;return t}e.createMergeDeclarationMarker=createMergeDeclarationMarker;function createPartiallyEmittedExpression(e,t){var r=createSynthesizedNode(308);r.expression=e;r.original=t;setTextRange(r,t);return r}e.createPartiallyEmittedExpression=createPartiallyEmittedExpression;function updatePartiallyEmittedExpression(e,t){if(e.expression!==t){return updateNode(createPartiallyEmittedExpression(t,e.original),e)}return e}e.updatePartiallyEmittedExpression=updatePartiallyEmittedExpression;function flattenCommaElements(t){if(e.nodeIsSynthesized(t)&&!e.isParseTreeNode(t)&&!t.original&&!t.emitNode&&!t.id){if(t.kind===309){return t.elements}if(e.isBinaryExpression(t)&&t.operatorToken.kind===27){return[t.left,t.right]}}return t}function createCommaList(t){var r=createSynthesizedNode(309);r.elements=createNodeArray(e.sameFlatMap(t,flattenCommaElements));return r}e.createCommaList=createCommaList;function updateCommaList(e,t){return e.elements!==t?updateNode(createCommaList(t),e):e}e.updateCommaList=updateCommaList;function createBundle(t,r){if(r===void 0){r=e.emptyArray}var n=e.createNode(280);n.prepends=r;n.sourceFiles=t;return n}e.createBundle=createBundle;function createUnparsedSourceFile(t,r,n){var i=e.createNode(281);i.text=t;i.sourceMapPath=r;i.sourceMapText=n;return i}e.createUnparsedSourceFile=createUnparsedSourceFile;function createInputFiles(t,r,n,i,a,o){var s=e.createNode(282);s.javascriptText=t;s.javascriptMapPath=n;s.javascriptMapText=i;s.declarationText=r;s.declarationMapPath=a;s.declarationMapText=o;return s}e.createInputFiles=createInputFiles;function updateBundle(t,r,n){if(n===void 0){n=e.emptyArray}if(t.sourceFiles!==r||t.prepends!==n){return createBundle(r,n)}return t}e.updateBundle=updateBundle;function createImmediatelyInvokedFunctionExpression(e,t,r){return createCall(createFunctionExpression(undefined,undefined,undefined,undefined,t?[t]:[],undefined,createBlock(e,true)),undefined,r?[r]:[])}e.createImmediatelyInvokedFunctionExpression=createImmediatelyInvokedFunctionExpression;function createImmediatelyInvokedArrowFunction(e,t,r){return createCall(createArrowFunction(undefined,undefined,t?[t]:[],undefined,undefined,createBlock(e,true)),undefined,r?[r]:[])}e.createImmediatelyInvokedArrowFunction=createImmediatelyInvokedArrowFunction;function createComma(e,t){return createBinary(e,27,t)}e.createComma=createComma;function createLessThan(e,t){return createBinary(e,28,t)}e.createLessThan=createLessThan;function createAssignment(e,t){return createBinary(e,59,t)}e.createAssignment=createAssignment;function createStrictEquality(e,t){return createBinary(e,35,t)}e.createStrictEquality=createStrictEquality;function createStrictInequality(e,t){return createBinary(e,36,t)}e.createStrictInequality=createStrictInequality;function createAdd(e,t){return createBinary(e,38,t)}e.createAdd=createAdd;function createSubtract(e,t){return createBinary(e,39,t)}e.createSubtract=createSubtract;function createPostfixIncrement(e){return createPostfix(e,44)}e.createPostfixIncrement=createPostfixIncrement;function createLogicalAnd(e,t){return createBinary(e,54,t)}e.createLogicalAnd=createLogicalAnd;function createLogicalOr(e,t){return createBinary(e,55,t)}e.createLogicalOr=createLogicalOr;function createLogicalNot(e){return createPrefix(52,e)}e.createLogicalNot=createLogicalNot;function createVoidZero(){return createVoid(createLiteral(0))}e.createVoidZero=createVoidZero;function createExportDefault(e){return createExportAssignment(undefined,undefined,false,e)}e.createExportDefault=createExportDefault;function createExternalModuleExport(e){return createExportDeclaration(undefined,undefined,createNamedExports([createExportSpecifier(undefined,e)]))}e.createExternalModuleExport=createExternalModuleExport;function asName(t){return e.isString(t)?createIdentifier(t):t}function asExpression(t){return e.isString(t)||typeof t==="number"?createLiteral(t):t}function asNodeArray(e){return e?createNodeArray(e):undefined}function asToken(e){return typeof e==="number"?createToken(e):e}function disposeEmitNodes(t){t=e.getSourceFileOfNode(e.getParseTreeNode(t));var r=t&&t.emitNode;var n=r&&r.annotatedNodes;if(n){for(var i=0,a=n;i0){a[c-s]=u}}if(s>0){a.length-=s}}e.moveEmitHelpers=moveEmitHelpers;function compareEmitHelpers(t,r){if(t===r)return 0;if(t.priority===r.priority)return 0;if(t.priority===undefined)return 1;if(r.priority===undefined)return-1;return e.compareValues(t.priority,r.priority)}e.compareEmitHelpers=compareEmitHelpers;function setOriginalNode(e,t){e.original=t;if(t){var r=t.emitNode;if(r)e.emitNode=mergeEmitNode(r,e.emitNode)}return e}e.setOriginalNode=setOriginalNode;function mergeEmitNode(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,f=t.startsOnNewLine;if(!r)r={};if(i)r.leadingComments=e.addRange(i.slice(),r.leadingComments);if(a)r.trailingComments=e.addRange(a.slice(),r.trailingComments);if(n)r.flags=n;if(o)r.commentRange=o;if(s)r.sourceMapRange=s;if(c)r.tokenSourceMapRanges=mergeTokenSourceMapRanges(c,r.tokenSourceMapRanges);if(u!==undefined)r.constantValue=u;if(l)r.helpers=e.addRange(r.helpers,l);if(f!==undefined)r.startsOnNewLine=f;return r}function mergeTokenSourceMapRanges(e,t){if(!t)t=[];for(var r in e){t[r]=e[r]}return t}})(s||(s={}));(function(e){e.nullTransformationContext={enableEmitNotification:e.noop,enableSubstitution:e.noop,endLexicalEnvironment:function(){return undefined},getCompilerOptions:e.notImplemented,getEmitHost:e.notImplemented,getEmitResolver:e.notImplemented,hoistFunctionDeclaration:e.noop,hoistVariableDeclaration:e.noop,isEmitNotificationEnabled:e.notImplemented,isSubstitutionEnabled:e.notImplemented,onEmitNode:e.noop,onSubstituteNode:e.notImplemented,readEmitHelpers:e.notImplemented,requestEmitHelper:e.noop,resumeLexicalEnvironment:e.noop,startLexicalEnvironment:e.noop,suspendLexicalEnvironment:e.noop,addDiagnostic:e.noop};function createTypeCheck(t,r){return r==="undefined"?e.createStrictEquality(t,e.createVoidZero()):e.createStrictEquality(e.createTypeOf(t),e.createLiteral(r))}e.createTypeCheck=createTypeCheck;function createMemberAccessForPropertyName(t,r,n){if(e.isComputedPropertyName(r)){return e.setTextRange(e.createElementAccess(t,r.expression),n)}else{var i=e.setTextRange(e.isIdentifier(r)?e.createPropertyAccess(t,r):e.createElementAccess(t,r),r);e.getOrCreateEmitNode(i).flags|=64;return i}}e.createMemberAccessForPropertyName=createMemberAccessForPropertyName;function createFunctionCall(t,r,n,i){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"call"),undefined,[r].concat(n)),i)}e.createFunctionCall=createFunctionCall;function createFunctionApply(t,r,n,i){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"apply"),undefined,[r,n]),i)}e.createFunctionApply=createFunctionApply;function createArraySlice(t,r){var n=[];if(r!==undefined){n.push(typeof r==="number"?e.createLiteral(r):r)}return e.createCall(e.createPropertyAccess(t,"slice"),undefined,n)}e.createArraySlice=createArraySlice;function createArrayConcat(t,r){return e.createCall(e.createPropertyAccess(t,"concat"),undefined,r)}e.createArrayConcat=createArrayConcat;function createMathPow(t,r,n){return e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Math"),"pow"),undefined,[t,r]),n)}e.createMathPow=createMathPow;function createReactNamespace(t,r){var n=e.createIdentifier(t||"React");n.flags&=~8;n.parent=e.getParseTreeNode(r);return n}function createJsxFactoryExpressionFromEntityName(t,r){if(e.isQualifiedName(t)){var n=createJsxFactoryExpressionFromEntityName(t.left,r);var i=e.createIdentifier(e.idText(t.right));i.escapedText=t.right.escapedText;return e.createPropertyAccess(n,i)}else{return createReactNamespace(e.idText(t),r)}}function createJsxFactoryExpression(t,r,n){return t?createJsxFactoryExpressionFromEntityName(t,n):e.createPropertyAccess(createReactNamespace(r,n),"createElement")}function createExpressionForJsxElement(t,r,n,i,a,o,s){var c=[n];if(i){c.push(i)}if(a&&a.length>0){if(!i){c.push(e.createNull())}if(a.length>1){for(var u=0,l=a;u0){if(n.length>1){for(var c=0,u=n;c= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };'};function createValuesHelper(r,n,i){r.requestEmitHelper(t);return e.setTextRange(e.createCall(getHelperName("__values"),undefined,[n]),i)}e.createValuesHelper=createValuesHelper;var r={name:"typescript:read",scoped:false,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };'};function createReadHelper(t,n,i,a){t.requestEmitHelper(r);return e.setTextRange(e.createCall(getHelperName("__read"),undefined,i!==undefined?[n,e.createLiteral(i)]:[n]),a)}e.createReadHelper=createReadHelper;var n={name:"typescript:spread",scoped:false,text:"\n var __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };"};function createSpreadHelper(t,i,a){t.requestEmitHelper(r);t.requestEmitHelper(n);return e.setTextRange(e.createCall(getHelperName("__spread"),undefined,i),a)}e.createSpreadHelper=createSpreadHelper;function createForOfBindingStatement(t,r){if(e.isVariableDeclarationList(t)){var n=e.first(t.declarations);var i=e.updateVariableDeclaration(n,n.name,undefined,r);return e.setTextRange(e.createVariableStatement(undefined,e.updateVariableDeclarationList(t,[i])),t)}else{var a=e.setTextRange(e.createAssignment(t,r),t);return e.setTextRange(e.createStatement(a),t)}}e.createForOfBindingStatement=createForOfBindingStatement;function insertLeadingStatement(t,r){if(e.isBlock(t)){return e.updateBlock(t,e.setTextRange(e.createNodeArray([r].concat(t.statements)),t.statements))}else{return e.createBlock(e.createNodeArray([t,r]),true)}}e.insertLeadingStatement=insertLeadingStatement;function restoreEnclosingLabel(t,r,n){if(!r){return t}var i=e.updateLabel(r,r.label,r.statement.kind===233?restoreEnclosingLabel(t,r.statement):t);if(n){n(r)}return i}e.restoreEnclosingLabel=restoreEnclosingLabel;function shouldBeCapturedInTempVariable(t,r){var n=e.skipParentheses(t);switch(n.kind){case 72:return r;case 100:case 8:case 9:case 10:return false;case 187:var i=n.elements;if(i.length===0){return false}return true;case 188:return n.properties.length>0;default:return true}}function createCallBinding(t,r,n,i){if(i===void 0){i=false}var a=skipOuterExpressions(t,7);var o;var s;if(e.isSuperProperty(a)){o=e.createThis();s=a}else if(a.kind===98){o=e.createThis();s=n<2?e.setTextRange(e.createIdentifier("_super"),a):a}else if(e.getEmitFlags(a)&4096){o=e.createVoidZero();s=parenthesizeForAccess(a)}else{switch(a.kind){case 189:{if(shouldBeCapturedInTempVariable(a.expression,i)){o=e.createTempVariable(r);s=e.createPropertyAccess(e.setTextRange(e.createAssignment(o,a.expression),a.expression),a.name);e.setTextRange(s,a)}else{o=a.expression;s=a}break}case 190:{if(shouldBeCapturedInTempVariable(a.expression,i)){o=e.createTempVariable(r);s=e.createElementAccess(e.setTextRange(e.createAssignment(o,a.expression),a.expression),a.argumentExpression);e.setTextRange(s,a)}else{o=a.expression;s=a}break}default:{o=e.createVoidZero();s=parenthesizeForAccess(t);break}}}return{target:s,thisArg:o}}e.createCallBinding=createCallBinding;function inlineExpressions(t){return t.length>10?e.createCommaList(t):e.reduceLeft(t,e.createComma)}e.inlineExpressions=inlineExpressions;function createExpressionFromEntityName(t){if(e.isQualifiedName(t)){var r=createExpressionFromEntityName(t.left);var n=e.getMutableClone(t.right);return e.setTextRange(e.createPropertyAccess(r,n),t)}else{return e.getMutableClone(t)}}e.createExpressionFromEntityName=createExpressionFromEntityName;function createExpressionForPropertyName(t){if(e.isIdentifier(t)){return e.createLiteral(t)}else if(e.isComputedPropertyName(t)){return e.getMutableClone(t.expression)}else{return e.getMutableClone(t)}}e.createExpressionForPropertyName=createExpressionForPropertyName;function createExpressionForObjectLiteralElementLike(e,t,r){switch(t.kind){case 158:case 159:return createExpressionForAccessorDeclaration(e.properties,t,r,!!e.multiLine);case 275:return createExpressionForPropertyAssignment(t,r);case 276:return createExpressionForShorthandPropertyAssignment(t,r);case 156:return createExpressionForMethodDeclaration(t,r)}}e.createExpressionForObjectLiteralElementLike=createExpressionForObjectLiteralElementLike;function createExpressionForAccessorDeclaration(t,r,n,i){var a=e.getAllAccessorDeclarations(t,r),o=a.firstAccessor,s=a.getAccessor,c=a.setAccessor;if(r===o){var u=[];if(s){var l=e.createFunctionExpression(s.modifiers,undefined,undefined,undefined,s.parameters,undefined,s.body);e.setTextRange(l,s);e.setOriginalNode(l,s);var f=e.createPropertyAssignment("get",l);u.push(f)}if(c){var d=e.createFunctionExpression(c.modifiers,undefined,undefined,undefined,c.parameters,undefined,c.body);e.setTextRange(d,c);e.setOriginalNode(d,c);var p=e.createPropertyAssignment("set",d);u.push(p)}u.push(e.createPropertyAssignment("enumerable",e.createTrue()));u.push(e.createPropertyAssignment("configurable",e.createTrue()));var g=e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"defineProperty"),undefined,[n,createExpressionForPropertyName(r.name),e.createObjectLiteral(u,i)]),o);return e.aggregateTransformFlags(g)}return undefined}function createExpressionForPropertyAssignment(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(createMemberAccessForPropertyName(r,t.name,t.name),t.initializer),t),t))}function createExpressionForShorthandPropertyAssignment(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(createMemberAccessForPropertyName(r,t.name,t.name),e.getSynthesizedClone(t.name)),t),t))}function createExpressionForMethodDeclaration(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(createMemberAccessForPropertyName(r,t.name,t.name),e.setOriginalNode(e.setTextRange(e.createFunctionExpression(t.modifiers,t.asteriskToken,undefined,undefined,t.parameters,undefined,t.body),t),t)),t),t))}function getInternalName(e,t,r){return getName(e,t,r,16384|32768)}e.getInternalName=getInternalName;function isInternalName(t){return(e.getEmitFlags(t)&32768)!==0}e.isInternalName=isInternalName;function getLocalName(e,t,r){return getName(e,t,r,16384)}e.getLocalName=getLocalName;function isLocalName(t){return(e.getEmitFlags(t)&16384)!==0}e.isLocalName=isLocalName;function getExportName(e,t,r){return getName(e,t,r,8192)}e.getExportName=getExportName;function isExportName(t){return(e.getEmitFlags(t)&8192)!==0}e.isExportName=isExportName;function getDeclarationName(e,t,r){return getName(e,t,r)}e.getDeclarationName=getDeclarationName;function getName(t,r,n,i){if(i===void 0){i=0}var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.getMutableClone(a);i|=e.getEmitFlags(a);if(!n)i|=48;if(!r)i|=1536;if(i)e.setEmitFlags(o,i);return o}return e.getGeneratedNameForNode(t)}function getExternalModuleOrNamespaceExportName(t,r,n,i){if(t&&e.hasModifier(r,1)){return getNamespaceMemberName(t,getName(r),n,i)}return getExportName(r,n,i)}e.getExternalModuleOrNamespaceExportName=getExternalModuleOrNamespaceExportName;function getNamespaceMemberName(t,r,n,i){var a=e.createPropertyAccess(t,e.nodeIsSynthesized(r)?r:e.getSynthesizedClone(r));e.setTextRange(a,r);var o=0;if(!i)o|=48;if(!n)o|=1536;if(o)e.setEmitFlags(a,o);return a}e.getNamespaceMemberName=getNamespaceMemberName;function convertToFunctionBody(t,r){return e.isBlock(t)?t:e.setTextRange(e.createBlock([e.setTextRange(e.createReturn(t),t)],r),t)}e.convertToFunctionBody=convertToFunctionBody;function convertFunctionDeclarationToExpression(t){if(!t.body)return e.Debug.fail();var r=e.createFunctionExpression(t.modifiers,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body);e.setOriginalNode(r,t);e.setTextRange(r,t);if(e.getStartsOnNewLine(t)){e.setStartsOnNewLine(r,true)}e.aggregateTransformFlags(r);return r}e.convertFunctionDeclarationToExpression=convertFunctionDeclarationToExpression;function isUseStrictPrologue(t){return e.isStringLiteral(t.expression)&&t.expression.text==="use strict"}function addPrologue(e,t,r,n){var i=addStandardPrologue(e,t,r);return addCustomPrologue(e,t,i,n)}e.addPrologue=addPrologue;function addStandardPrologue(t,r,n){e.Debug.assert(t.length===0,"Prologue directives should be at the first statement in the target statements array");var i=false;var a=0;var o=r.length;while(a4){return true}var c=e.getExpressionPrecedence(s);switch(e.compareValues(c,a)){case-1:if(!n&&o===1&&r.kind===207){return false}return true;case 1:return false;case 0:if(n){return o===1}else{if(e.isBinaryExpression(s)&&s.operatorToken.kind===t){if(operatorHasAssociativeProperty(t)){return false}if(t===38){var u=i?getLiteralKindOfBinaryPlusOperand(i):0;if(e.isLiteralKind(u)&&u===getLiteralKindOfBinaryPlusOperand(s)){return false}}}var l=e.getExpressionAssociativity(s);return l===0}}}function operatorHasAssociativeProperty(e){return e===40||e===50||e===49||e===51}function getLiteralKindOfBinaryPlusOperand(t){t=e.skipPartiallyEmittedExpressions(t);if(e.isLiteralKind(t.kind)){return t.kind}if(t.kind===204&&t.operatorToken.kind===38){if(t.cachedLiteralKind!==undefined){return t.cachedLiteralKind}var r=getLiteralKindOfBinaryPlusOperand(t.left);var n=e.isLiteralKind(r)&&r===getLiteralKindOfBinaryPlusOperand(t.right)?r:0;t.cachedLiteralKind=n;return n}return 0}function parenthesizeForConditionalHead(t){var r=e.getOperatorPrecedence(205,56);var n=e.skipPartiallyEmittedExpressions(t);var i=e.getExpressionPrecedence(n);if(e.compareValues(i,r)===-1){return e.createParen(t)}return t}e.parenthesizeForConditionalHead=parenthesizeForConditionalHead;function parenthesizeSubexpressionOfConditionalExpression(t){var r=e.skipPartiallyEmittedExpressions(t);return isCommaSequence(r)?e.createParen(t):t}e.parenthesizeSubexpressionOfConditionalExpression=parenthesizeSubexpressionOfConditionalExpression;function parenthesizeDefaultExpression(t){var r=e.skipPartiallyEmittedExpressions(t);var n=isCommaSequence(r);if(!n){switch(getLeftmostExpression(r,false).kind){case 209:case 196:n=true}}return n?e.createParen(t):t}e.parenthesizeDefaultExpression=parenthesizeDefaultExpression;function parenthesizeForNew(t){var r=getLeftmostExpression(t,true);switch(r.kind){case 191:return e.createParen(t);case 192:return!r.arguments?e.createParen(t):t}return parenthesizeForAccess(t)}e.parenthesizeForNew=parenthesizeForNew;function parenthesizeForAccess(t){var r=e.skipPartiallyEmittedExpressions(t);if(e.isLeftHandSideExpression(r)&&(r.kind!==192||r.arguments)){return t}return e.setTextRange(e.createParen(t),t)}e.parenthesizeForAccess=parenthesizeForAccess;function parenthesizePostfixOperand(t){return e.isLeftHandSideExpression(t)?t:e.setTextRange(e.createParen(t),t)}e.parenthesizePostfixOperand=parenthesizePostfixOperand;function parenthesizePrefixOperand(t){return e.isUnaryExpression(t)?t:e.setTextRange(e.createParen(t),t)}e.parenthesizePrefixOperand=parenthesizePrefixOperand;function parenthesizeListElements(t){var r;for(var n=0;ni?t:e.setTextRange(e.createParen(t),t)}e.parenthesizeExpressionForList=parenthesizeExpressionForList;function parenthesizeExpressionForExpressionStatement(t){var r=e.skipPartiallyEmittedExpressions(t);if(e.isCallExpression(r)){var n=r.expression;var i=e.skipPartiallyEmittedExpressions(n).kind;if(i===196||i===197){var a=e.getMutableClone(r);a.expression=e.setTextRange(e.createParen(n),n);return recreateOuterExpressions(t,a,4)}}var o=getLeftmostExpression(r,false).kind;if(o===188||o===196){return e.setTextRange(e.createParen(t),t)}return t}e.parenthesizeExpressionForExpressionStatement=parenthesizeExpressionForExpressionStatement;function parenthesizeConditionalTypeMember(t){return t.kind===175?e.createParenthesizedType(t):t}e.parenthesizeConditionalTypeMember=parenthesizeConditionalTypeMember;function parenthesizeElementTypeMember(t){switch(t.kind){case 173:case 174:case 165:case 166:return e.createParenthesizedType(t)}return parenthesizeConditionalTypeMember(t)}e.parenthesizeElementTypeMember=parenthesizeElementTypeMember;function parenthesizeArrayTypeMember(t){switch(t.kind){case 167:case 179:case 176:return e.createParenthesizedType(t)}return parenthesizeElementTypeMember(t)}e.parenthesizeArrayTypeMember=parenthesizeArrayTypeMember;function parenthesizeElementTypeMembers(t){return e.createNodeArray(e.sameMap(t,parenthesizeElementTypeMember))}e.parenthesizeElementTypeMembers=parenthesizeElementTypeMembers;function parenthesizeTypeParameters(t){if(e.some(t)){var r=[];for(var n=0;ns-i){a=s-i}if(i>0||a0&&s<=147||s===178){return r}switch(s){case 72:return e.updateIdentifier(r,a(r.typeArguments,n,t));case 148:return e.updateQualifiedName(r,visitNode(r.left,n,e.isEntityName),visitNode(r.right,n,e.isIdentifier));case 149:return e.updateComputedPropertyName(r,visitNode(r.expression,n,e.isExpression));case 150:return e.updateTypeParameterDeclaration(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.constraint,n,e.isTypeNode),visitNode(r.default,n,e.isTypeNode));case 151:return e.updateParameter(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.dotDotDotToken,o,e.isToken),visitNode(r.name,n,e.isBindingName),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 152:return e.updateDecorator(r,visitNode(r.expression,n,e.isExpression));case 153:return e.updatePropertySignature(r,a(r.modifiers,n,e.isToken),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 154:return e.updateProperty(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 155:return e.updateMethodSignature(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken));case 156:return e.updateMethod(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.asteriskToken,o,e.isToken),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 157:return e.updateConstructor(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitParameterList(r.parameters,n,i,a),visitFunctionBody(r.body,n,i));case 158:return e.updateGetAccessor(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isPropertyName),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 159:return e.updateSetAccessor(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isPropertyName),visitParameterList(r.parameters,n,i,a),visitFunctionBody(r.body,n,i));case 160:return e.updateCallSignature(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 161:return e.updateConstructSignature(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 162:return e.updateIndexSignature(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 163:return e.updateTypePredicateNode(r,visitNode(r.parameterName,n),visitNode(r.type,n,e.isTypeNode));case 164:return e.updateTypeReferenceNode(r,visitNode(r.typeName,n,e.isEntityName),a(r.typeArguments,n,e.isTypeNode));case 165:return e.updateFunctionTypeNode(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 166:return e.updateConstructorTypeNode(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 167:return e.updateTypeQueryNode(r,visitNode(r.exprName,n,e.isEntityName));case 168:return e.updateTypeLiteralNode(r,a(r.members,n,e.isTypeElement));case 169:return e.updateArrayTypeNode(r,visitNode(r.elementType,n,e.isTypeNode));case 170:return e.updateTupleTypeNode(r,a(r.elementTypes,n,e.isTypeNode));case 171:return e.updateOptionalTypeNode(r,visitNode(r.type,n,e.isTypeNode));case 172:return e.updateRestTypeNode(r,visitNode(r.type,n,e.isTypeNode));case 173:return e.updateUnionTypeNode(r,a(r.types,n,e.isTypeNode));case 174:return e.updateIntersectionTypeNode(r,a(r.types,n,e.isTypeNode));case 175:return e.updateConditionalTypeNode(r,visitNode(r.checkType,n,e.isTypeNode),visitNode(r.extendsType,n,e.isTypeNode),visitNode(r.trueType,n,e.isTypeNode),visitNode(r.falseType,n,e.isTypeNode));case 176:return e.updateInferTypeNode(r,visitNode(r.typeParameter,n,e.isTypeParameterDeclaration));case 183:return e.updateImportTypeNode(r,visitNode(r.argument,n,e.isTypeNode),visitNode(r.qualifier,n,e.isEntityName),visitNodes(r.typeArguments,n,e.isTypeNode),r.isTypeOf);case 177:return e.updateParenthesizedType(r,visitNode(r.type,n,e.isTypeNode));case 179:return e.updateTypeOperatorNode(r,visitNode(r.type,n,e.isTypeNode));case 180:return e.updateIndexedAccessTypeNode(r,visitNode(r.objectType,n,e.isTypeNode),visitNode(r.indexType,n,e.isTypeNode));case 181:return e.updateMappedTypeNode(r,visitNode(r.readonlyToken,o,e.isToken),visitNode(r.typeParameter,n,e.isTypeParameterDeclaration),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode));case 182:return e.updateLiteralTypeNode(r,visitNode(r.literal,n,e.isExpression));case 184:return e.updateObjectBindingPattern(r,a(r.elements,n,e.isBindingElement));case 185:return e.updateArrayBindingPattern(r,a(r.elements,n,e.isArrayBindingElement));case 186:return e.updateBindingElement(r,visitNode(r.dotDotDotToken,o,e.isToken),visitNode(r.propertyName,n,e.isPropertyName),visitNode(r.name,n,e.isBindingName),visitNode(r.initializer,n,e.isExpression));case 187:return e.updateArrayLiteral(r,a(r.elements,n,e.isExpression));case 188:return e.updateObjectLiteral(r,a(r.properties,n,e.isObjectLiteralElementLike));case 189:return e.updatePropertyAccess(r,visitNode(r.expression,n,e.isExpression),visitNode(r.name,n,e.isIdentifier));case 190:return e.updateElementAccess(r,visitNode(r.expression,n,e.isExpression),visitNode(r.argumentExpression,n,e.isExpression));case 191:return e.updateCall(r,visitNode(r.expression,n,e.isExpression),a(r.typeArguments,n,e.isTypeNode),a(r.arguments,n,e.isExpression));case 192:return e.updateNew(r,visitNode(r.expression,n,e.isExpression),a(r.typeArguments,n,e.isTypeNode),a(r.arguments,n,e.isExpression));case 193:return e.updateTaggedTemplate(r,visitNode(r.tag,n,e.isExpression),visitNodes(r.typeArguments,n,e.isExpression),visitNode(r.template,n,e.isTemplateLiteral));case 194:return e.updateTypeAssertion(r,visitNode(r.type,n,e.isTypeNode),visitNode(r.expression,n,e.isExpression));case 195:return e.updateParen(r,visitNode(r.expression,n,e.isExpression));case 196:return e.updateFunctionExpression(r,a(r.modifiers,n,e.isModifier),visitNode(r.asteriskToken,o,e.isToken),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 197:return e.updateArrowFunction(r,a(r.modifiers,n,e.isModifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitNode(r.equalsGreaterThanToken,n,e.isToken),visitFunctionBody(r.body,n,i));case 198:return e.updateDelete(r,visitNode(r.expression,n,e.isExpression));case 199:return e.updateTypeOf(r,visitNode(r.expression,n,e.isExpression));case 200:return e.updateVoid(r,visitNode(r.expression,n,e.isExpression));case 201:return e.updateAwait(r,visitNode(r.expression,n,e.isExpression));case 202:return e.updatePrefix(r,visitNode(r.operand,n,e.isExpression));case 203:return e.updatePostfix(r,visitNode(r.operand,n,e.isExpression));case 204:return e.updateBinary(r,visitNode(r.left,n,e.isExpression),visitNode(r.right,n,e.isExpression),visitNode(r.operatorToken,n,e.isToken));case 205:return e.updateConditional(r,visitNode(r.condition,n,e.isExpression),visitNode(r.questionToken,n,e.isToken),visitNode(r.whenTrue,n,e.isExpression),visitNode(r.colonToken,n,e.isToken),visitNode(r.whenFalse,n,e.isExpression));case 206:return e.updateTemplateExpression(r,visitNode(r.head,n,e.isTemplateHead),a(r.templateSpans,n,e.isTemplateSpan));case 207:return e.updateYield(r,visitNode(r.asteriskToken,o,e.isToken),visitNode(r.expression,n,e.isExpression));case 208:return e.updateSpread(r,visitNode(r.expression,n,e.isExpression));case 209:return e.updateClassExpression(r,a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.heritageClauses,n,e.isHeritageClause),a(r.members,n,e.isClassElement));case 211:return e.updateExpressionWithTypeArguments(r,a(r.typeArguments,n,e.isTypeNode),visitNode(r.expression,n,e.isExpression));case 212:return e.updateAsExpression(r,visitNode(r.expression,n,e.isExpression),visitNode(r.type,n,e.isTypeNode));case 213:return e.updateNonNullExpression(r,visitNode(r.expression,n,e.isExpression));case 214:return e.updateMetaProperty(r,visitNode(r.name,n,e.isIdentifier));case 216:return e.updateTemplateSpan(r,visitNode(r.expression,n,e.isExpression),visitNode(r.literal,n,e.isTemplateMiddleOrTemplateTail));case 218:return e.updateBlock(r,a(r.statements,n,e.isStatement));case 219:return e.updateVariableStatement(r,a(r.modifiers,n,e.isModifier),visitNode(r.declarationList,n,e.isVariableDeclarationList));case 221:return e.updateExpressionStatement(r,visitNode(r.expression,n,e.isExpression));case 222:return e.updateIf(r,visitNode(r.expression,n,e.isExpression),visitNode(r.thenStatement,n,e.isStatement,e.liftToBlock),visitNode(r.elseStatement,n,e.isStatement,e.liftToBlock));case 223:return e.updateDo(r,visitNode(r.statement,n,e.isStatement,e.liftToBlock),visitNode(r.expression,n,e.isExpression));case 224:return e.updateWhile(r,visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 225:return e.updateFor(r,visitNode(r.initializer,n,e.isForInitializer),visitNode(r.condition,n,e.isExpression),visitNode(r.incrementor,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 226:return e.updateForIn(r,visitNode(r.initializer,n,e.isForInitializer),visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 227:return e.updateForOf(r,visitNode(r.awaitModifier,n,e.isToken),visitNode(r.initializer,n,e.isForInitializer),visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 228:return e.updateContinue(r,visitNode(r.label,n,e.isIdentifier));case 229:return e.updateBreak(r,visitNode(r.label,n,e.isIdentifier));case 230:return e.updateReturn(r,visitNode(r.expression,n,e.isExpression));case 231:return e.updateWith(r,visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 232:return e.updateSwitch(r,visitNode(r.expression,n,e.isExpression),visitNode(r.caseBlock,n,e.isCaseBlock));case 233:return e.updateLabel(r,visitNode(r.label,n,e.isIdentifier),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 234:return e.updateThrow(r,visitNode(r.expression,n,e.isExpression));case 235:return e.updateTry(r,visitNode(r.tryBlock,n,e.isBlock),visitNode(r.catchClause,n,e.isCatchClause),visitNode(r.finallyBlock,n,e.isBlock));case 237:return e.updateVariableDeclaration(r,visitNode(r.name,n,e.isBindingName),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 238:return e.updateVariableDeclarationList(r,a(r.declarations,n,e.isVariableDeclaration));case 239:return e.updateFunctionDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.asteriskToken,o,e.isToken),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 240:return e.updateClassDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.heritageClauses,n,e.isHeritageClause),a(r.members,n,e.isClassElement));case 241:return e.updateInterfaceDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.heritageClauses,n,e.isHeritageClause),a(r.members,n,e.isTypeElement));case 242:return e.updateTypeAliasDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 243:return e.updateEnumDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.members,n,e.isEnumMember));case 244:return e.updateModuleDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),visitNode(r.body,n,e.isModuleBody));case 245:return e.updateModuleBlock(r,a(r.statements,n,e.isStatement));case 246:return e.updateCaseBlock(r,a(r.clauses,n,e.isCaseOrDefaultClause));case 247:return e.updateNamespaceExportDeclaration(r,visitNode(r.name,n,e.isIdentifier));case 248:return e.updateImportEqualsDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),visitNode(r.moduleReference,n,e.isModuleReference));case 249:return e.updateImportDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.importClause,n,e.isImportClause),visitNode(r.moduleSpecifier,n,e.isExpression));case 250:return e.updateImportClause(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.namedBindings,n,e.isNamedImportBindings));case 251:return e.updateNamespaceImport(r,visitNode(r.name,n,e.isIdentifier));case 252:return e.updateNamedImports(r,a(r.elements,n,e.isImportSpecifier));case 253:return e.updateImportSpecifier(r,visitNode(r.propertyName,n,e.isIdentifier),visitNode(r.name,n,e.isIdentifier));case 254:return e.updateExportAssignment(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.expression,n,e.isExpression));case 255:return e.updateExportDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.exportClause,n,e.isNamedExports),visitNode(r.moduleSpecifier,n,e.isExpression));case 256:return e.updateNamedExports(r,a(r.elements,n,e.isExportSpecifier));case 257:return e.updateExportSpecifier(r,visitNode(r.propertyName,n,e.isIdentifier),visitNode(r.name,n,e.isIdentifier));case 259:return e.updateExternalModuleReference(r,visitNode(r.expression,n,e.isExpression));case 260:return e.updateJsxElement(r,visitNode(r.openingElement,n,e.isJsxOpeningElement),a(r.children,n,e.isJsxChild),visitNode(r.closingElement,n,e.isJsxClosingElement));case 261:return e.updateJsxSelfClosingElement(r,visitNode(r.tagName,n,e.isJsxTagNameExpression),a(r.typeArguments,n,e.isTypeNode),visitNode(r.attributes,n,e.isJsxAttributes));case 262:return e.updateJsxOpeningElement(r,visitNode(r.tagName,n,e.isJsxTagNameExpression),a(r.typeArguments,n,e.isTypeNode),visitNode(r.attributes,n,e.isJsxAttributes));case 263:return e.updateJsxClosingElement(r,visitNode(r.tagName,n,e.isJsxTagNameExpression));case 264:return e.updateJsxFragment(r,visitNode(r.openingFragment,n,e.isJsxOpeningFragment),a(r.children,n,e.isJsxChild),visitNode(r.closingFragment,n,e.isJsxClosingFragment));case 267:return e.updateJsxAttribute(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.initializer,n,e.isStringLiteralOrJsxExpression));case 268:return e.updateJsxAttributes(r,a(r.properties,n,e.isJsxAttributeLike));case 269:return e.updateJsxSpreadAttribute(r,visitNode(r.expression,n,e.isExpression));case 270:return e.updateJsxExpression(r,visitNode(r.expression,n,e.isExpression));case 271:return e.updateCaseClause(r,visitNode(r.expression,n,e.isExpression),a(r.statements,n,e.isStatement));case 272:return e.updateDefaultClause(r,a(r.statements,n,e.isStatement));case 273:return e.updateHeritageClause(r,a(r.types,n,e.isExpressionWithTypeArguments));case 274:return e.updateCatchClause(r,visitNode(r.variableDeclaration,n,e.isVariableDeclaration),visitNode(r.block,n,e.isBlock));case 275:return e.updatePropertyAssignment(r,visitNode(r.name,n,e.isPropertyName),visitNode(r.initializer,n,e.isExpression));case 276:return e.updateShorthandPropertyAssignment(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.objectAssignmentInitializer,n,e.isExpression));case 277:return e.updateSpreadAssignment(r,visitNode(r.expression,n,e.isExpression));case 278:return e.updateEnumMember(r,visitNode(r.name,n,e.isPropertyName),visitNode(r.initializer,n,e.isExpression));case 279:return e.updateSourceFileNode(r,visitLexicalEnvironment(r.statements,n,i));case 308:return e.updatePartiallyEmittedExpression(r,visitNode(r.expression,n,e.isExpression));case 309:return e.updateCommaList(r,a(r.elements,n,e.isExpression));default:return r}}e.visitEachChild=visitEachChild;function extractSingleNode(t){e.Debug.assert(t.length<=1,"Too many nodes written to output.");return e.singleOrUndefined(t)}})(s||(s={}));(function(e){function reduceNode(e,t,r){return e?t(r,e):r}function reduceNodeArray(e,t,r){return e?t(r,e):r}function reduceEachChild(t,r,n,i){if(t===undefined){return r}var a=i?reduceNodeArray:e.reduceLeft;var o=i||n;var s=t.kind;if(s>0&&s<=147){return r}if(s>=163&&s<=182){return r}var c=r;switch(t.kind){case 217:case 220:case 210:case 236:case 307:break;case 148:c=reduceNode(t.left,n,c);c=reduceNode(t.right,n,c);break;case 149:c=reduceNode(t.expression,n,c);break;case 151:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 152:c=reduceNode(t.expression,n,c);break;case 153:c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.questionToken,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 154:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 156:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 157:c=a(t.modifiers,o,c);c=a(t.parameters,o,c);c=reduceNode(t.body,n,c);break;case 158:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 159:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.parameters,o,c);c=reduceNode(t.body,n,c);break;case 184:case 185:c=a(t.elements,o,c);break;case 186:c=reduceNode(t.propertyName,n,c);c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 187:c=a(t.elements,o,c);break;case 188:c=a(t.properties,o,c);break;case 189:c=reduceNode(t.expression,n,c);c=reduceNode(t.name,n,c);break;case 190:c=reduceNode(t.expression,n,c);c=reduceNode(t.argumentExpression,n,c);break;case 191:c=reduceNode(t.expression,n,c);c=a(t.typeArguments,o,c);c=a(t.arguments,o,c);break;case 192:c=reduceNode(t.expression,n,c);c=a(t.typeArguments,o,c);c=a(t.arguments,o,c);break;case 193:c=reduceNode(t.tag,n,c);c=a(t.typeArguments,o,c);c=reduceNode(t.template,n,c);break;case 194:c=reduceNode(t.type,n,c);c=reduceNode(t.expression,n,c);break;case 196:c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 197:c=a(t.modifiers,o,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 195:case 198:case 199:case 200:case 201:case 207:case 208:case 213:c=reduceNode(t.expression,n,c);break;case 202:case 203:c=reduceNode(t.operand,n,c);break;case 204:c=reduceNode(t.left,n,c);c=reduceNode(t.right,n,c);break;case 205:c=reduceNode(t.condition,n,c);c=reduceNode(t.whenTrue,n,c);c=reduceNode(t.whenFalse,n,c);break;case 206:c=reduceNode(t.head,n,c);c=a(t.templateSpans,o,c);break;case 209:c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.heritageClauses,o,c);c=a(t.members,o,c);break;case 211:c=reduceNode(t.expression,n,c);c=a(t.typeArguments,o,c);break;case 212:c=reduceNode(t.expression,n,c);c=reduceNode(t.type,n,c);break;case 216:c=reduceNode(t.expression,n,c);c=reduceNode(t.literal,n,c);break;case 218:c=a(t.statements,o,c);break;case 219:c=a(t.modifiers,o,c);c=reduceNode(t.declarationList,n,c);break;case 221:c=reduceNode(t.expression,n,c);break;case 222:c=reduceNode(t.expression,n,c);c=reduceNode(t.thenStatement,n,c);c=reduceNode(t.elseStatement,n,c);break;case 223:c=reduceNode(t.statement,n,c);c=reduceNode(t.expression,n,c);break;case 224:case 231:c=reduceNode(t.expression,n,c);c=reduceNode(t.statement,n,c);break;case 225:c=reduceNode(t.initializer,n,c);c=reduceNode(t.condition,n,c);c=reduceNode(t.incrementor,n,c);c=reduceNode(t.statement,n,c);break;case 226:case 227:c=reduceNode(t.initializer,n,c);c=reduceNode(t.expression,n,c);c=reduceNode(t.statement,n,c);break;case 230:case 234:c=reduceNode(t.expression,n,c);break;case 232:c=reduceNode(t.expression,n,c);c=reduceNode(t.caseBlock,n,c);break;case 233:c=reduceNode(t.label,n,c);c=reduceNode(t.statement,n,c);break;case 235:c=reduceNode(t.tryBlock,n,c);c=reduceNode(t.catchClause,n,c);c=reduceNode(t.finallyBlock,n,c);break;case 237:c=reduceNode(t.name,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 238:c=a(t.declarations,o,c);break;case 239:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 240:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.heritageClauses,o,c);c=a(t.members,o,c);break;case 243:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.members,o,c);break;case 244:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.body,n,c);break;case 245:c=a(t.statements,o,c);break;case 246:c=a(t.clauses,o,c);break;case 248:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.moduleReference,n,c);break;case 249:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.importClause,n,c);c=reduceNode(t.moduleSpecifier,n,c);break;case 250:c=reduceNode(t.name,n,c);c=reduceNode(t.namedBindings,n,c);break;case 251:c=reduceNode(t.name,n,c);break;case 252:case 256:c=a(t.elements,o,c);break;case 253:case 257:c=reduceNode(t.propertyName,n,c);c=reduceNode(t.name,n,c);break;case 254:c=e.reduceLeft(t.decorators,n,c);c=e.reduceLeft(t.modifiers,n,c);c=reduceNode(t.expression,n,c);break;case 255:c=e.reduceLeft(t.decorators,n,c);c=e.reduceLeft(t.modifiers,n,c);c=reduceNode(t.exportClause,n,c);c=reduceNode(t.moduleSpecifier,n,c);break;case 259:c=reduceNode(t.expression,n,c);break;case 260:c=reduceNode(t.openingElement,n,c);c=e.reduceLeft(t.children,n,c);c=reduceNode(t.closingElement,n,c);break;case 264:c=reduceNode(t.openingFragment,n,c);c=e.reduceLeft(t.children,n,c);c=reduceNode(t.closingFragment,n,c);break;case 261:case 262:c=reduceNode(t.tagName,n,c);c=a(t.typeArguments,n,c);c=reduceNode(t.attributes,n,c);break;case 268:c=a(t.properties,o,c);break;case 263:c=reduceNode(t.tagName,n,c);break;case 267:c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 269:c=reduceNode(t.expression,n,c);break;case 270:c=reduceNode(t.expression,n,c);break;case 271:c=reduceNode(t.expression,n,c);case 272:c=a(t.statements,o,c);break;case 273:c=a(t.types,o,c);break;case 274:c=reduceNode(t.variableDeclaration,n,c);c=reduceNode(t.block,n,c);break;case 275:c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 276:c=reduceNode(t.name,n,c);c=reduceNode(t.objectAssignmentInitializer,n,c);break;case 277:c=reduceNode(t.expression,n,c);break;case 278:c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 279:c=a(t.statements,o,c);break;case 308:c=reduceNode(t.expression,n,c);break;case 309:c=a(t.elements,o,c);break;default:break}return c}e.reduceEachChild=reduceEachChild;function mergeLexicalEnvironment(t,r){if(!e.some(r)){return t}return e.isNodeArray(t)?e.setTextRange(e.createNodeArray(e.addStatementsAfterPrologue(t.slice(),r)),t):e.addStatementsAfterPrologue(t,r)}e.mergeLexicalEnvironment=mergeLexicalEnvironment;function liftToBlock(r){t.assert(e.every(r,e.isStatement),"Cannot lift nodes to a Block.");return e.singleOrUndefined(r)||e.createBlock(r)}e.liftToBlock=liftToBlock;function aggregateTransformFlags(e){aggregateTransformFlagsForNode(e);return e}e.aggregateTransformFlags=aggregateTransformFlags;function aggregateTransformFlagsForNode(t){if(t===undefined){return 0}if(t.transformFlags&536870912){return t.transformFlags&~e.getTransformFlagsSubtreeExclusions(t.kind)}var r=aggregateTransformFlagsForSubtree(t);return e.computeTransformFlagsForNode(t,r)}function aggregateTransformFlagsForNodeArray(e){if(e===undefined){return 0}var t=0;var r=0;for(var n=0,i=e;nt||D===t&&k>r)}function addMapping(t,r,n,i,a,o){e.Debug.assert(t>=x,"generatedLine cannot backtrack");e.Debug.assert(r>=0,"generatedCharacter cannot be negative");e.Debug.assert(n===undefined||n>=0,"sourceIndex cannot be negative");e.Debug.assert(i===undefined||i>=0,"sourceLine cannot be negative");e.Debug.assert(a===undefined||a>=0,"sourceCharacter cannot be negative");s();if(isNewGeneratedPosition(t,r)||isBacktrackingSourcePosition(n,i,a)){commitPendingMapping();x=t;C=r;O=false;F=false;A=true}if(n!==undefined&&i!==undefined&&a!==undefined){E=n;D=i;k=a;O=true;if(o!==undefined){N=o;F=true}}c()}function appendSourceMap(t,r,n,i){var a;e.Debug.assert(t>=x,"generatedLine cannot backtrack");e.Debug.assert(r>=0,"generatedCharacter cannot be negative");s();var o=[];var u;var l=decodeMappings(n.mappings);for(var f=l.next(),d=f.value,p=f.done;!p;a=l.next(),d=a.value,p=a.done,a){var g=void 0;var _=void 0;var m=void 0;var y=void 0;if(d.sourceIndex!==undefined){g=o[d.sourceIndex];if(g===undefined){var h=n.sources[d.sourceIndex];var v=n.sourceRoot?e.combinePaths(n.sourceRoot,h):h;var T=e.combinePaths(e.getDirectoryPath(i),v);o[d.sourceIndex]=g=addSource(T);if(n.sourcesContent&&typeof n.sourcesContent[d.sourceIndex]==="string"){setSourceContent(g,n.sourcesContent[d.sourceIndex])}}_=d.sourceLine;m=d.sourceCharacter;if(n.names&&d.nameIndex!==undefined){if(!u)u=[];y=u[d.nameIndex];if(y===undefined){u[d.nameIndex]=y=addName(n.names[d.nameIndex])}}}var S=d.generatedLine+t;var b=d.generatedLine===0?d.generatedCharacter+r:d.generatedCharacter;addMapping(S,b,g,_,m,y)}c()}function shouldCommitMapping(){return!b||m!==x||y!==C||h!==E||v!==D||T!==k||S!==N}function commitPendingMapping(){if(!A||!shouldCommitMapping()){return}s();if(m=0;a--){var o=n.substring(i[a],i[a+1]);var s=t.exec(o);if(s){return s[1]}else if(!o.match(r)){break}}}e.tryGetSourceMappingURL=tryGetSourceMappingURL;function isStringOrNull(e){return typeof e==="string"||e===null}function isRawSourceMap(t){return t!==null&&typeof t==="object"&&t.version===3&&typeof t.file==="string"&&typeof t.mappings==="string"&&e.isArray(t.sources)&&e.every(t.sources,e.isString)&&(t.sourceRoot===undefined||t.sourceRoot===null||typeof t.sourceRoot==="string")&&(t.sourcesContent===undefined||t.sourcesContent===null||e.isArray(t.sourcesContent)&&e.every(t.sourcesContent,isStringOrNull))&&(t.names===undefined||t.names===null||e.isArray(t.names)&&e.every(t.names,e.isString))}e.isRawSourceMap=isRawSourceMap;function tryParseRawSourceMap(e){try{var t=JSON.parse(e);if(isRawSourceMap(t)){return t}}catch(e){}return undefined}e.tryParseRawSourceMap=tryParseRawSourceMap;function decodeMappings(e){var t=false;var r=0;var n=0;var i=0;var a=0;var o=0;var s=0;var c=0;var u;return{get pos(){return r},get error(){return u},get state(){return captureMapping(true,true)},next:function(){while(!t&&r=e.length)return setError("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var a=base64FormatDecode(e.charCodeAt(r));if(a===-1)return setError("Invalid character in VLQ"),-1;t=(a&32)!==0;i=i|(a&31)<>1}else{i=i>>1;i=-i}return i}}e.decodeMappings=decodeMappings;function sameMapping(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex}e.sameMapping=sameMapping;function isSourceMapping(e){return e.sourceIndex!==undefined&&e.sourceLine!==undefined&&e.sourceCharacter!==undefined}e.isSourceMapping=isSourceMapping;function base64FormatEncode(t){return t>=0&&t<26?65+t:t>=26&&t<52?97+t-26:t>=52&&t<62?48+t-52:t===62?43:t===63?47:e.Debug.fail(t+": not a base64 value")}function base64FormatDecode(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:e===43?62:e===47?63:-1}function base64VLQFormatEncode(e){if(e<0){e=(-e<<1)+1}else{e=e<<1}var t="";do{var r=e&31;e=e>>5;if(e>0){r=r|32}t=t+String.fromCharCode(base64FormatEncode(r))}while(e>0);return t}function isSourceMappedPosition(e){return e.sourceIndex!==undefined&&e.sourcePosition!==undefined}function sameMappedPosition(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function compareSourcePositions(t,r){return e.compareValues(t.sourceIndex,r.sourceIndex)}function compareGeneratedPositions(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function getSourcePositionOfMapping(e){return e.sourcePosition}function getGeneratedPositionOfMapping(e){return e.generatedPosition}function createDocumentPositionMapper(t,r,n){var i=e.getDirectoryPath(n);var a=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,i):i;var o=e.getNormalizedAbsolutePath(r.file,i);var s=t.getCanonicalFileName(o);var c=t.getSourceFileLike(s);var u=r.sources.map(function(t){return e.getNormalizedAbsolutePath(t,a)});var l=u.map(function(e){return t.getCanonicalFileName(e)});var f=e.createMapFromEntries(l.map(function(e,t){return[e,t]}));var d;var p;var g;return{getSourcePosition:getSourcePosition,getGeneratedPosition:getGeneratedPosition};function processMapping(n){var i=c!==undefined?e.getPositionOfLineAndCharacterWithEdits(c,n.generatedLine,n.generatedCharacter):-1;var a;var o;if(isSourceMapping(n)){var s=l[n.sourceIndex];var u=t.getSourceFileLike(s);a=r.sources[n.sourceIndex];o=u!==undefined?e.getPositionOfLineAndCharacterWithEdits(u,n.sourceLine,n.sourceCharacter):-1}return{generatedPosition:i,source:a,sourceIndex:n.sourceIndex,sourcePosition:o,nameIndex:n.nameIndex}}function getDecodedMappings(){if(d===undefined){var n=decodeMappings(r.mappings);var i=e.arrayFrom(n,processMapping);if(n.error!==undefined){if(t.log){t.log("Encountered error while decoding sourcemap: "+n.error)}d=e.emptyArray}else{d=i}}return d}function getSourceMappings(t){if(g===undefined){var r=[];for(var n=0,i=getDecodedMappings();n0&&n!==r.elements.length||!!(r.elements.length-n)&&e.isDefaultImport(t)}e.getImportNeedsImportStarHelper=getImportNeedsImportStarHelper;function getImportNeedsImportDefaultHelper(t){return!getImportNeedsImportStarHelper(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&containsDefaultReference(t.importClause.namedBindings))}e.getImportNeedsImportDefaultHelper=getImportNeedsImportDefaultHelper;function collectExternalModuleInfo(t,r,n){var i=[];var a=e.createMultiMap();var o=[];var s=e.createMap();var c;var u=false;var l;var f=false;var d=false;for(var p=0,g=t.statements;p=1&&!(d.transformFlags&(131072|262144))&&!(e.getTargetOfBindingOrAssignmentElement(d).transformFlags&(131072|262144))&&!e.isComputedPropertyName(p)){u=e.append(u,d)}else{if(u){t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),i,a,n);u=undefined}var g=createDestructuringPropertyAccess(t,i,p);if(e.isComputedPropertyName(p)){l=e.append(l,g.argumentExpression)}flattenBindingOrAssignmentElement(t,d,g,d)}}else if(f===s-1){if(u){t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),i,a,n);u=undefined}var g=createRestCall(t.context,i,o,l,n);flattenBindingOrAssignmentElement(t,d,g,d)}}if(u){t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),i,a,n)}}function flattenArrayBindingOrAssignmentPattern(t,r,n,i,a){var o=e.getElementsOfBindingOrAssignmentPattern(n);var s=o.length;if(t.level<1&&t.downlevelIteration){i=ensureIdentifier(t,e.createReadHelper(t.context,i,s>0&&e.getRestIndicatorOfBindingOrAssignmentElement(o[s-1])?undefined:s,a),false,a)}else if(s!==1&&(t.level<1||s===0)||e.every(o,e.isOmittedExpression)){var c=!e.isDeclarationBindingElement(r)||s!==0;i=ensureIdentifier(t,i,c,a)}var u;var l;for(var f=0;f=1){if(d.transformFlags&262144){var p=e.createTempVariable(undefined);if(t.hoistTempVariables){t.context.hoistVariableDeclaration(p)}l=e.append(l,[p,d]);u=e.append(u,t.createArrayBindingOrAssignmentElement(p))}else{u=e.append(u,d)}}else if(e.isOmittedExpression(d)){continue}else if(!e.getRestIndicatorOfBindingOrAssignmentElement(d)){var g=e.createElementAccess(i,f);flattenBindingOrAssignmentElement(t,d,g,d)}else if(f===s-1){var g=e.createArraySlice(i,f);flattenBindingOrAssignmentElement(t,d,g,d)}}if(u){t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),i,a,n)}if(l){for(var _=0,m=l;_=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(t);return e.updateSourceFileNode(t,e.visitLexicalEnvironment(t.statements,sourceElementVisitor,r,0,n))}function shouldEmitDecorateCallForClass(t){if(t.decorators&&t.decorators.length>0){return true}var r=e.getFirstConstructorWithBody(t);if(r){return e.forEach(r.parameters,shouldEmitDecorateCallForParameter)}return false}function shouldEmitDecorateCallForParameter(e){return e.decorators!==undefined&&e.decorators.length>0}function getClassFacts(t,r){var n=0;if(e.some(r))n|=1;var i=e.getEffectiveBaseTypeNode(t);if(i&&e.skipOuterExpressions(i.expression).kind!==96)n|=64;if(shouldEmitDecorateCallForClass(t))n|=2;if(e.childIsDecorated(t))n|=4;if(isExportOfNamespace(t))n|=8;else if(isDefaultExternalModuleExport(t))n|=32;else if(isNamedExternalModuleExport(t))n|=16;if(l<=1&&n&7)n|=128;return n}function visitClassDeclaration(t){var n=x;x=undefined;var i=getInitializedProperties(t,true);var a=getClassFacts(t,i);if(a&128){r.startLexicalEnvironment()}var o=t.name||(a&5?e.getGeneratedNameForNode(t):undefined);var s=a&2?createClassDeclarationHeadWithDecorators(t,o,a):createClassDeclarationHeadWithoutDecorators(t,o,a);var c=[s];if(e.some(x)){c.push(e.createExpressionStatement(e.inlineExpressions(x)))}x=n;if(a&1){addInitializedPropertyStatements(c,i,a&128?e.getInternalName(t):e.getLocalName(t))}addClassElementDecorationStatements(c,t,false);addClassElementDecorationStatements(c,t,true);addConstructorDecorationStatement(c,t);if(a&128){var u=e.createTokenRange(e.skipTrivia(g.text,t.members.end),19);var l=e.getInternalName(t);var f=e.createPartiallyEmittedExpression(l);f.end=u.end;e.setEmitFlags(f,1536);var d=e.createReturn(f);d.pos=u.pos;e.setEmitFlags(d,1536|384);c.push(d);e.addStatementsAfterPrologue(c,r.endLexicalEnvironment());var p=e.createImmediatelyInvokedArrowFunction(c);e.setEmitFlags(p,33554432);var _=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.getLocalName(t,false,false),undefined,p)]));e.setOriginalNode(_,t);e.setCommentRange(_,t);e.setSourceMapRange(_,e.moveRangePastDecorators(t));e.startOnNewLine(_);c=[_]}if(a&8){addExportMemberAssignment(c,t)}else if(a&128||a&2){if(a&32){c.push(e.createExportDefault(e.getLocalName(t,false,true)))}else if(a&16){c.push(e.createExternalModuleExport(e.getLocalName(t,false,true)))}}if(c.length>1){c.push(e.createEndOfDeclarationMarker(t));e.setEmitFlags(s,e.getEmitFlags(s)|4194304)}return e.singleOrMany(c)}function createClassDeclarationHeadWithoutDecorators(t,r,n){var i=!(n&128)?e.visitNodes(t.modifiers,modifierVisitor,e.isModifier):undefined;var a=e.createClassDeclaration(undefined,i,r,undefined,e.visitNodes(t.heritageClauses,visitor,e.isHeritageClause),transformClassMembers(t,(n&64)!==0));var o=e.getEmitFlags(t);if(n&1){o|=32}e.setTextRange(a,t);e.setOriginalNode(a,t);e.setEmitFlags(a,o);return a}function createClassDeclarationHeadWithDecorators(t,r,n){var i=e.moveRangePastDecorators(t);var a=getClassAliasIfNeeded(t);var o=e.getLocalName(t,false,true);var s=e.visitNodes(t.heritageClauses,visitor,e.isHeritageClause);var c=transformClassMembers(t,(n&64)!==0);var u=e.createClassExpression(undefined,r,undefined,s,c);e.setOriginalNode(u,t);e.setTextRange(u,i);var l=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(o,undefined,a?e.createAssignment(a,u):u)],1));e.setOriginalNode(l,t);e.setTextRange(l,i);e.setCommentRange(l,t);return l}function visitClassExpression(t){var r=x;x=undefined;var n=getInitializedProperties(t,true);var i=e.visitNodes(t.heritageClauses,visitor,e.isHeritageClause);var a=transformClassMembers(t,e.some(i,function(e){return e.token===86}));var c=e.createClassExpression(undefined,t.name,undefined,i,a);e.setOriginalNode(c,t);e.setTextRange(c,t);if(e.some(n)||e.some(x)){var u=[];var l=s.getNodeCheckFlags(t)&16777216;var f=e.createTempVariable(o,!!l);if(l){enableSubstitutionForClassAliases();var d=e.getSynthesizedClone(f);d.autoGenerateFlags&=~8;S[e.getOriginalNodeId(t)]=d}e.setEmitFlags(c,65536|e.getEmitFlags(c));u.push(e.startOnNewLine(e.createAssignment(f,c)));e.addRange(u,e.map(x,e.startOnNewLine));x=r;e.addRange(u,generateInitializedPropertyExpressions(n,f));u.push(e.startOnNewLine(f));return e.inlineExpressions(u)}x=r;return c}function transformClassMembers(t,r){var n=[];var i=transformConstructor(t,r);if(i){n.push(i)}e.addRange(n,e.visitNodes(t.members,classElementVisitor,e.isClassElement));return e.setTextRange(e.createNodeArray(n),t.members)}function transformConstructor(t,n){var i=e.getFirstConstructorWithBody(t);var a=e.forEach(t.members,isInstanceInitializedProperty);var o=i&&i.transformFlags&4096&&e.forEach(i.parameters,isParameterWithPropertyAssignment);if(!a&&!o){return e.visitEachChild(i,visitor,r)}var s=transformConstructorParameters(i);var c=transformConstructorBody(t,i,n);return e.startOnNewLine(e.setOriginalNode(e.setTextRange(e.createConstructor(undefined,undefined,s,c),i||t),i))}function transformConstructorParameters(t){return e.visitParameterList(t&&t.parameters,visitor,r)||[]}function transformConstructorBody(t,r,n){var o=[];var s=0;i();if(r){s=addPrologueDirectivesAndInitialSuperCall(r,o);var c=getParametersWithPropertyAssignments(r);e.addRange(o,e.map(c,transformParameterWithPropertyAssignment))}else if(n){o.push(e.createExpressionStatement(e.createCall(e.createSuper(),undefined,[e.createSpread(e.createIdentifier("arguments"))])))}var u=getInitializedProperties(t,false);addInitializedPropertyStatements(o,u,e.createThis());if(r){e.addRange(o,e.visitNodes(r.body.statements,visitor,e.isStatement,s))}o=e.mergeLexicalEnvironment(o,a());return e.setTextRange(e.createBlock(e.setTextRange(e.createNodeArray(o),r?r.body.statements:t.members),true),r?r.body:undefined)}function addPrologueDirectivesAndInitialSuperCall(t,r){if(t.body){var n=t.body.statements;var i=e.addPrologue(r,n,false,visitor);if(i===n.length){return i}var a=n[i];if(a.kind===221&&e.isSuperCall(a.expression)){r.push(e.visitNode(a,visitor,e.isStatement));return i+1}return i}return 0}function getParametersWithPropertyAssignments(t){return e.filter(t.parameters,isParameterWithPropertyAssignment)}function isParameterWithPropertyAssignment(t){return e.hasModifier(t,92)&&e.isIdentifier(t.name)}function transformParameterWithPropertyAssignment(t){e.Debug.assert(e.isIdentifier(t.name));var r=t.name;var n=e.getMutableClone(r);e.setEmitFlags(n,1536|48);var i=e.getMutableClone(r);e.setEmitFlags(i,1536);return e.startOnNewLine(e.setEmitFlags(e.setTextRange(e.createExpressionStatement(e.createAssignment(e.setTextRange(e.createPropertyAccess(e.createThis(),n),t.name),i)),e.moveRangePos(t,-1)),1536))}function getInitializedProperties(t,r){return e.filter(t.members,r?isStaticInitializedProperty:isInstanceInitializedProperty)}function isStaticInitializedProperty(e){return isInitializedProperty(e,true)}function isInstanceInitializedProperty(e){return isInitializedProperty(e,false)}function isInitializedProperty(t,r){return t.kind===154&&r===e.hasModifier(t,32)&&t.initializer!==undefined}function addInitializedPropertyStatements(t,r,n){for(var i=0,a=r;i0?n.kind===154?e.createVoidZero():e.createNull():undefined;var u=createDecorateHelper(r,a,o,s,c,e.moveRangePastDecorators(n));e.setEmitFlags(u,1536);return u}function addConstructorDecorationStatement(t,r){var n=generateConstructorDecorationExpression(r);if(n){t.push(e.setOriginalNode(e.createExpressionStatement(n),r))}}function generateConstructorDecorationExpression(t){var n=getAllDecoratorsOfConstructor(t);var i=transformAllDecoratorsOfDeclaration(t,t,n);if(!i){return undefined}var a=S&&S[e.getOriginalNodeId(t)];var o=e.getLocalName(t,false,true);var s=createDecorateHelper(r,i,o);var c=e.createAssignment(o,a?e.createAssignment(a,s):s);e.setEmitFlags(c,1536);e.setSourceMapRange(c,e.moveRangePastDecorators(t));return c}function transformDecorator(t){return e.visitNode(t.expression,visitor,e.isExpression)}function transformDecoratorsOfParameter(t,n){var i;if(t){i=[];for(var a=0,o=t;a= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'};function createMetadataHelper(t,r,n){t.requestEmitHelper(a);return e.createCall(e.getHelperName("__metadata"),undefined,[e.createLiteral(r),n])}var a={name:"typescript:metadata",scoped:false,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'};function createParamHelper(t,r,n,i){t.requestEmitHelper(o);return e.setTextRange(e.createCall(e.getHelperName("__param"),undefined,[e.createLiteral(n),r]),i)}var o={name:"typescript:param",scoped:false,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["AsyncMethodsWithSuper"]=1]="AsyncMethodsWithSuper"})(t||(t={}));function transformES2017(t){var r=t.resumeLexicalEnvironment,n=t.endLexicalEnvironment,i=t.hoistVariableDeclaration;var a=t.getEmitResolver();var o=t.getCompilerOptions();var s=e.getEmitScriptTarget(o);var c;var u=0;var l;var f;var d;var p=[];var g=t.onEmitNode;var _=t.onSubstituteNode;t.onEmitNode=onEmitNode;t.onSubstituteNode=onSubstituteNode;return e.chainBundle(transformSourceFile);function transformSourceFile(r){if(r.isDeclarationFile){return r}var n=e.visitEachChild(r,visitor,t);e.addEmitHelpers(n,t.readEmitHelpers());return n}function visitor(r){if((r.transformFlags&16)===0){return r}switch(r.kind){case 121:return undefined;case 201:return visitAwaitExpression(r);case 156:return visitMethodDeclaration(r);case 239:return visitFunctionDeclaration(r);case 196:return visitFunctionExpression(r);case 197:return visitArrowFunction(r);case 189:if(f&&e.isPropertyAccessExpression(r)&&r.expression.kind===98){f.set(r.name.escapedText,true)}return e.visitEachChild(r,visitor,t);case 190:if(f&&r.expression.kind===98){d=true}return e.visitEachChild(r,visitor,t);default:return e.visitEachChild(r,visitor,t)}}function asyncBodyVisitor(r){if(e.isNodeWithPossibleHoistedDeclaration(r)){switch(r.kind){case 219:return visitVariableStatementInAsyncBody(r);case 225:return visitForStatementInAsyncBody(r);case 226:return visitForInStatementInAsyncBody(r);case 227:return visitForOfStatementInAsyncBody(r);case 274:return visitCatchClauseInAsyncBody(r);case 218:case 232:case 246:case 271:case 272:case 235:case 223:case 224:case 222:case 231:case 233:return e.visitEachChild(r,asyncBodyVisitor,t);default:return e.Debug.assertNever(r,"Unhandled node.")}}return visitor(r)}function visitCatchClauseInAsyncBody(r){var n=e.createUnderscoreEscapedMap();recordDeclarationName(r.variableDeclaration,n);var i;n.forEach(function(t,r){if(l.has(r)){if(!i){i=e.cloneMap(l)}i.delete(r)}});if(i){var a=l;l=i;var o=e.visitEachChild(r,asyncBodyVisitor,t);l=a;return o}else{return e.visitEachChild(r,asyncBodyVisitor,t)}}function visitVariableStatementInAsyncBody(r){if(isVariableDeclarationListWithCollidingName(r.declarationList)){var n=visitVariableDeclarationListWithCollidingNames(r.declarationList,false);return n?e.createExpressionStatement(n):undefined}return e.visitEachChild(r,visitor,t)}function visitForInStatementInAsyncBody(t){return e.updateForIn(t,isVariableDeclarationListWithCollidingName(t.initializer)?visitVariableDeclarationListWithCollidingNames(t.initializer,true):e.visitNode(t.initializer,visitor,e.isForInitializer),e.visitNode(t.expression,visitor,e.isExpression),e.visitNode(t.statement,asyncBodyVisitor,e.isStatement,e.liftToBlock))}function visitForOfStatementInAsyncBody(t){return e.updateForOf(t,e.visitNode(t.awaitModifier,visitor,e.isToken),isVariableDeclarationListWithCollidingName(t.initializer)?visitVariableDeclarationListWithCollidingNames(t.initializer,true):e.visitNode(t.initializer,visitor,e.isForInitializer),e.visitNode(t.expression,visitor,e.isExpression),e.visitNode(t.statement,asyncBodyVisitor,e.isStatement,e.liftToBlock))}function visitForStatementInAsyncBody(t){var r=t.initializer;return e.updateFor(t,isVariableDeclarationListWithCollidingName(r)?visitVariableDeclarationListWithCollidingNames(r,false):e.visitNode(t.initializer,visitor,e.isForInitializer),e.visitNode(t.condition,visitor,e.isExpression),e.visitNode(t.incrementor,visitor,e.isExpression),e.visitNode(t.statement,asyncBodyVisitor,e.isStatement,e.liftToBlock))}function visitAwaitExpression(t){return e.setOriginalNode(e.setTextRange(e.createYield(undefined,e.visitNode(t.expression,visitor,e.isExpression)),t),t)}function visitMethodDeclaration(r){return e.updateMethod(r,undefined,e.visitNodes(r.modifiers,visitor,e.isModifier),r.asteriskToken,r.name,undefined,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function visitFunctionDeclaration(r){return e.updateFunctionDeclaration(r,undefined,e.visitNodes(r.modifiers,visitor,e.isModifier),r.asteriskToken,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function visitFunctionExpression(r){return e.updateFunctionExpression(r,e.visitNodes(r.modifiers,visitor,e.isModifier),r.asteriskToken,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function visitArrowFunction(r){return e.updateArrowFunction(r,e.visitNodes(r.modifiers,visitor,e.isModifier),undefined,e.visitParameterList(r.parameters,visitor,t),undefined,r.equalsGreaterThanToken,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function recordDeclarationName(t,r){var n=t.name;if(e.isIdentifier(n)){r.set(n.escapedText,true)}else{for(var i=0,a=n.elements;i=2&&a.getNodeCheckFlags(i)&(4096|2048);if(E){enableSubstitutionForAsyncMethodsWithSuper();var D=createSuperAccessVariableStatement(a,i,f);p[e.getNodeId(D)]=true;e.addStatementsAfterPrologue(x,[D])}var k=e.createBlock(x,true);e.setTextRange(k,i.body);if(E&&d){if(a.getNodeCheckFlags(i)&4096){e.addEmitHelper(k,e.advancedAsyncSuperHelper)}else if(a.getNodeCheckFlags(i)&2048){e.addEmitHelper(k,e.asyncSuperHelper)}}b=k}else{var N=createAwaiterHelper(t,_,u,transformAsyncFunctionBodyWorker(i.body));var A=n();if(e.some(A)){var k=e.convertToFunctionBody(N);b=e.updateBlock(k,e.setTextRange(e.createNodeArray(e.concatenate(A,k.statements)),k.statements))}else{b=N}}l=m;f=T;d=S;return b}function transformAsyncFunctionBodyWorker(t,r){if(e.isBlock(t)){return e.updateBlock(t,e.visitNodes(t.statements,asyncBodyVisitor,e.isStatement,r))}else{return e.convertToFunctionBody(e.visitNode(t,asyncBodyVisitor,e.isConciseBody))}}function getPromiseConstructor(t){var r=t&&e.getEntityNameFromTypeNode(t);if(r&&e.isEntityName(r)){var n=a.getTypeReferenceSerializationKind(r);if(n===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||n===e.TypeReferenceSerializationKind.Unknown){return r}}return undefined}function enableSubstitutionForAsyncMethodsWithSuper(){if((c&1)===0){c|=1;t.enableSubstitution(191);t.enableSubstitution(189);t.enableSubstitution(190);t.enableEmitNotification(240);t.enableEmitNotification(156);t.enableEmitNotification(158);t.enableEmitNotification(159);t.enableEmitNotification(157);t.enableEmitNotification(219)}}function onEmitNode(t,r,n){if(c&1&&isSuperContainer(r)){var i=a.getNodeCheckFlags(r)&(2048|4096);if(i!==u){var o=u;u=i;g(t,r,n);u=o;return}}else if(c&&p[e.getNodeId(r)]){var o=u;u=0;g(t,r,n);u=o;return}g(t,r,n)}function onSubstituteNode(e,t){t=_(e,t);if(e===1&&u){return substituteExpression(t)}return t}function substituteExpression(e){switch(e.kind){case 189:return substitutePropertyAccessExpression(e);case 190:return substituteElementAccessExpression(e);case 191:return substituteCallExpression(e)}return e}function substitutePropertyAccessExpression(t){if(t.expression.kind===98){return e.setTextRange(e.createPropertyAccess(e.createFileLevelUniqueName("_super"),t.name),t)}return t}function substituteElementAccessExpression(e){if(e.expression.kind===98){return createSuperElementAccessInAsyncMethod(e.argumentExpression,e)}return e}function substituteCallExpression(t){var r=t.expression;if(e.isSuperProperty(r)){var n=e.isPropertyAccessExpression(r)?substitutePropertyAccessExpression(r):substituteElementAccessExpression(r);return e.createCall(e.createPropertyAccess(n,"call"),undefined,[e.createThis()].concat(t.arguments))}return t}function isSuperContainer(e){var t=e.kind;return t===240||t===157||t===156||t===158||t===159}function createSuperElementAccessInAsyncMethod(t,r){if(u&4096){return e.setTextRange(e.createPropertyAccess(e.createCall(e.createFileLevelUniqueName("_superIndex"),undefined,[t]),"value"),r)}else{return e.setTextRange(e.createCall(e.createFileLevelUniqueName("_superIndex"),undefined,[t]),r)}}}e.transformES2017=transformES2017;function createSuperAccessVariableStatement(t,r,n){var i=(t.getNodeCheckFlags(r)&4096)!==0;var a=[];n.forEach(function(t,r){var n=e.unescapeLeadingUnderscores(r);var o=[];o.push(e.createPropertyAssignment("get",e.createArrowFunction(undefined,undefined,[],undefined,undefined,e.createPropertyAccess(e.createSuper(),n))));if(i){o.push(e.createPropertyAssignment("set",e.createArrowFunction(undefined,undefined,[e.createParameter(undefined,undefined,undefined,"v",undefined,undefined,undefined)],undefined,undefined,e.createAssignment(e.createPropertyAccess(e.createSuper(),n),e.createIdentifier("v")))))}a.push(e.createPropertyAssignment(n,e.createObjectLiteral(o)))});return e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.createFileLevelUniqueName("_super"),undefined,e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"create"),undefined,[e.createNull(),e.createObjectLiteral(a,true)]))],2))}e.createSuperAccessVariableStatement=createSuperAccessVariableStatement;var r={name:"typescript:awaiter",scoped:false,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'};function createAwaiterHelper(t,n,i,a){t.requestEmitHelper(r);var o=e.createFunctionExpression(undefined,e.createToken(40),undefined,undefined,[],undefined,a);(o.emitNode||(o.emitNode={})).flags|=262144|524288;return e.createCall(e.getHelperName("__awaiter"),undefined,[e.createThis(),n?e.createIdentifier("arguments"):e.createVoidZero(),i?e.createExpressionFromEntityName(i):e.createVoidZero(),o])}e.asyncSuperHelper={name:"typescript:async-super",scoped:true,text:e.helperString(a(["\n const "," = name => super[name];"],["\n const "," = name => super[name];"]),"_superIndex")};e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:true,text:e.helperString(a(["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"],["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"]),"_superIndex")}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["AsyncMethodsWithSuper"]=1]="AsyncMethodsWithSuper"})(t||(t={}));function transformESNext(t){var r=t.resumeLexicalEnvironment,n=t.endLexicalEnvironment,i=t.hoistVariableDeclaration;var a=t.getEmitResolver();var o=t.getCompilerOptions();var s=e.getEmitScriptTarget(o);var c=t.onEmitNode;t.onEmitNode=onEmitNode;var u=t.onSubstituteNode;t.onSubstituteNode=onSubstituteNode;var l;var f;var d=0;var p;var g;var _=[];return e.chainBundle(transformSourceFile);function transformSourceFile(r){if(r.isDeclarationFile){return r}var n=e.visitEachChild(r,visitor,t);e.addEmitHelpers(n,t.readEmitHelpers());return n}function visitor(e){return visitorWorker(e,false)}function visitorNoDestructuringValue(e){return visitorWorker(e,true)}function visitorNoAsyncModifier(e){if(e.kind===121){return undefined}return e}function visitorWorker(r,n){if((r.transformFlags&8)===0){return r}switch(r.kind){case 201:return visitAwaitExpression(r);case 207:return visitYieldExpression(r);case 230:return visitReturnStatement(r);case 233:return visitLabeledStatement(r);case 188:return visitObjectLiteralExpression(r);case 204:return visitBinaryExpression(r,n);case 237:return visitVariableDeclaration(r);case 227:return visitForOfStatement(r,undefined);case 225:return visitForStatement(r);case 200:return visitVoidExpression(r);case 157:return visitConstructorDeclaration(r);case 156:return visitMethodDeclaration(r);case 158:return visitGetAccessorDeclaration(r);case 159:return visitSetAccessorDeclaration(r);case 239:return visitFunctionDeclaration(r);case 196:return visitFunctionExpression(r);case 197:return visitArrowFunction(r);case 151:return visitParameter(r);case 221:return visitExpressionStatement(r);case 195:return visitParenthesizedExpression(r,n);case 274:return visitCatchClause(r);case 189:if(p&&e.isPropertyAccessExpression(r)&&r.expression.kind===98){p.set(r.name.escapedText,true)}return e.visitEachChild(r,visitor,t);case 190:if(p&&r.expression.kind===98){g=true}return e.visitEachChild(r,visitor,t);default:return e.visitEachChild(r,visitor,t)}}function visitAwaitExpression(r){if(f&2&&f&1){return e.setOriginalNode(e.setTextRange(e.createYield(createAwaitHelper(t,e.visitNode(r.expression,visitor,e.isExpression))),r),r)}return e.visitEachChild(r,visitor,t)}function visitYieldExpression(r){if(f&2&&f&1){if(r.asteriskToken){var n=e.visitNode(r.expression,visitor,e.isExpression);return e.setOriginalNode(e.setTextRange(e.createYield(createAwaitHelper(t,e.updateYield(r,r.asteriskToken,createAsyncDelegatorHelper(t,createAsyncValuesHelper(t,n,n),n)))),r),r)}return e.setOriginalNode(e.setTextRange(e.createYield(createDownlevelAwait(r.expression?e.visitNode(r.expression,visitor,e.isExpression):e.createVoidZero())),r),r)}return e.visitEachChild(r,visitor,t)}function visitReturnStatement(r){if(f&2&&f&1){return e.updateReturn(r,createDownlevelAwait(r.expression?e.visitNode(r.expression,visitor,e.isExpression):e.createVoidZero()))}return e.visitEachChild(r,visitor,t)}function visitLabeledStatement(r){if(f&2){var n=e.unwrapInnermostStatementOfLabel(r);if(n.kind===227&&n.awaitModifier){return visitForOfStatement(n,r)}return e.restoreEnclosingLabel(e.visitEachChild(n,visitor,t),r)}return e.visitEachChild(r,visitor,t)}function chunkObjectLiteralElements(t){var r;var n=[];for(var i=0,a=t;i=2&&a.getNodeCheckFlags(i)&(4096|2048);if(d){enableSubstitutionForAsyncMethodsWithSuper();var m=e.createSuperAccessVariableStatement(a,i,p);_[e.getNodeId(m)]=true;e.addStatementsAfterPrologue(o,[m])}o.push(f);e.addStatementsAfterPrologue(o,n());var y=e.updateBlock(i.body,o);if(d&&g){if(a.getNodeCheckFlags(i)&4096){e.addEmitHelper(y,e.advancedAsyncSuperHelper)}else if(a.getNodeCheckFlags(i)&2048){e.addEmitHelper(y,e.asyncSuperHelper)}}p=u;g=l;return y}function transformFunctionBody(t){r();var i=0;var a=[];var o=e.visitNode(t.body,visitor,e.isConciseBody);if(e.isBlock(o)){i=e.addPrologue(a,o.statements,false,visitor)}e.addRange(a,appendObjectRestAssignmentsIfNeeded(undefined,t));var s=n();if(i>0||e.some(a)||e.some(s)){var c=e.convertToFunctionBody(o,true);e.addStatementsAfterPrologue(a,s);e.addRange(a,c.statements.slice(i));return e.updateBlock(c,e.setTextRange(e.createNodeArray(a),c.statements))}return o}function appendObjectRestAssignmentsIfNeeded(r,n){for(var i=0,a=n.parameters;i=2){return e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"assign"),undefined,n)}t.requestEmitHelper(r);return e.createCall(e.getHelperName("__assign"),undefined,n)}e.createAssignHelper=createAssignHelper;var n={name:"typescript:await",scoped:false,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"};function createAwaitHelper(t,r){t.requestEmitHelper(n);return e.createCall(e.getHelperName("__await"),undefined,[r])}var i={name:"typescript:asyncGenerator",scoped:false,text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\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); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };'};function createAsyncGeneratorHelper(t,r){t.requestEmitHelper(n);t.requestEmitHelper(i);(r.emitNode||(r.emitNode={})).flags|=262144;return e.createCall(e.getHelperName("__asyncGenerator"),undefined,[e.createThis(),e.createIdentifier("arguments"),r])}var a={name:"typescript:asyncDelegator",scoped:false,text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n };'};function createAsyncDelegatorHelper(t,r,i){t.requestEmitHelper(n);t.requestEmitHelper(a);return e.setTextRange(e.createCall(e.getHelperName("__asyncDelegator"),undefined,[r]),i)}var o={name:"typescript:asyncValues",scoped:false,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'};function createAsyncValuesHelper(t,r,n){t.requestEmitHelper(o);return e.setTextRange(e.createCall(e.getHelperName("__asyncValues"),undefined,[r]),n)}})(s||(s={}));var s;(function(e){function transformJsx(r){var n=r.getCompilerOptions();var i;return e.chainBundle(transformSourceFile);function transformSourceFile(t){if(t.isDeclarationFile){return t}i=t;var n=e.visitEachChild(t,visitor,r);e.addEmitHelpers(n,r.readEmitHelpers());return n}function visitor(e){if(e.transformFlags&4){return visitorWorker(e)}else{return e}}function visitorWorker(t){switch(t.kind){case 260:return visitJsxElement(t,false);case 261:return visitJsxSelfClosingElement(t,false);case 264:return visitJsxFragment(t,false);case 270:return visitJsxExpression(t);default:return e.visitEachChild(t,visitor,r)}}function transformJsxChildToExpression(t){switch(t.kind){case 11:return visitJsxText(t);case 270:return visitJsxExpression(t);case 260:return visitJsxElement(t,true);case 261:return visitJsxSelfClosingElement(t,true);case 264:return visitJsxFragment(t,true);default:return e.Debug.failBadSyntaxKind(t)}}function visitJsxElement(e,t){return visitJsxOpeningLikeElement(e.openingElement,e.children,t,e)}function visitJsxSelfClosingElement(e,t){return visitJsxOpeningLikeElement(e,undefined,t,e)}function visitJsxFragment(e,t){return visitJsxOpeningFragment(e.openingFragment,e.children,t,e)}function visitJsxOpeningLikeElement(t,a,o,s){var c=getTagName(t);var u;var l=t.attributes.properties;if(l.length===0){u=e.createNull()}else{var f=e.flatten(e.spanMap(l,e.isJsxSpreadAttribute,function(t,r){return r?e.map(t,transformJsxSpreadAttributeToExpression):e.createObjectLiteral(e.map(t,transformJsxAttributeToObjectLiteralElement))}));if(e.isJsxSpreadAttribute(l[0])){f.unshift(e.createObjectLiteral())}u=e.singleOrUndefined(f);if(!u){u=e.createAssignHelper(r,f)}}var d=e.createExpressionForJsxElement(r.getEmitResolver().getJsxFactoryEntity(i),n.reactNamespace,c,u,e.mapDefined(a,transformJsxChildToExpression),t,s);if(o){e.startOnNewLine(d)}return d}function visitJsxOpeningFragment(t,a,o,s){var c=e.createExpressionForJsxFragment(r.getEmitResolver().getJsxFactoryEntity(i),n.reactNamespace,e.mapDefined(a,transformJsxChildToExpression),t,s);if(o){e.startOnNewLine(c)}return c}function transformJsxSpreadAttributeToExpression(t){return e.visitNode(t.expression,visitor,e.isExpression)}function transformJsxAttributeToObjectLiteralElement(t){var r=getAttributeName(t);var n=transformJsxAttributeInitializer(t.initializer);return e.createPropertyAssignment(r,n)}function transformJsxAttributeInitializer(t){if(t===undefined){return e.createTrue()}else if(t.kind===10){var r=e.createLiteral(tryDecodeEntities(t.text)||t.text);r.singleQuote=t.singleQuote!==undefined?t.singleQuote:!e.isStringDoubleQuoted(t,i);return e.setTextRange(r,t)}else if(t.kind===270){if(t.expression===undefined){return e.createTrue()}return visitJsxExpression(t)}else{return e.Debug.failBadSyntaxKind(t)}}function visitJsxText(t){var r=fixupWhitespaceAndDecodeEntities(e.getTextOfNode(t,true));return r===undefined?undefined:e.createLiteral(r)}function fixupWhitespaceAndDecodeEntities(t){var r;var n=0;var i=-1;for(var a=0;a=0,"statementOffset not initialized correctly!")}var u=!!a&&e.skipOuterExpressions(a.expression).kind!==96;var l=declareOrCaptureOrReturnThisForConstructorIfNeeded(s,t,u,o,c);if(l===1||l===2){c++}if(t){if(l===1){d|=4096}e.addRange(s,e.visitNodes(t.body.statements,visitor,e.isStatement,c))}if(u&&l!==2&&!(t&&isSufficientlyCoveredByReturnStatements(t.body))){s.push(e.createReturn(e.createFileLevelUniqueName("_this")))}e.addStatementsAfterPrologue(s,i());if(t){prependCaptureNewTargetIfNeeded(s,t,false)}var f=e.createBlock(e.setTextRange(e.createNodeArray(s),t?t.body.statements:r.members),true);e.setTextRange(f,t?t.body:r);if(!t){e.setEmitFlags(f,1536)}return f}function isSufficientlyCoveredByReturnStatements(t){if(t.kind===230){return true}else if(t.kind===222){var r=t;if(r.elseStatement){return isSufficientlyCoveredByReturnStatements(r.thenStatement)&&isSufficientlyCoveredByReturnStatements(r.elseStatement)}}else if(t.kind===218){var n=e.lastOrUndefined(t.statements);if(n&&isSufficientlyCoveredByReturnStatements(n)){return true}}return false}function declareOrCaptureOrReturnThisForConstructorIfNeeded(t,r,n,i,a){if(!n){if(r){addCaptureThisForNodeIfNeeded(t,r)}return 0}if(!r){t.push(e.createReturn(createDefaultSuperCallOrThis()));return 2}if(i){captureThisForNode(t,r,createDefaultSuperCallOrThis());enableSubstitutionsForCapturedThis();return 1}var o;var s;var c=r.body.statements;if(a0){r.push(e.setEmitFlags(e.createVariableStatement(undefined,e.createVariableDeclarationList(e.flattenDestructuringBinding(n,visitor,t,0,o))),1048576))}else if(a){r.push(e.setEmitFlags(e.createExpressionStatement(e.createAssignment(o,e.visitNode(a,visitor,e.isExpression))),1048576))}}function addDefaultValueAssignmentForInitializer(t,r,n,i){i=e.visitNode(i,visitor,e.isExpression);var a=e.createIf(e.createTypeCheck(e.getSynthesizedClone(n),"undefined"),e.setEmitFlags(e.setTextRange(e.createBlock([e.createExpressionStatement(e.setEmitFlags(e.setTextRange(e.createAssignment(e.setEmitFlags(e.getMutableClone(n),48),e.setEmitFlags(i,48|e.getEmitFlags(i)|1536)),r),1536))]),r),1|32|384|1536));e.startOnNewLine(a);e.setTextRange(a,r);e.setEmitFlags(a,384|32|1048576|1536);t.push(a)}function shouldAddRestParameter(e,t){return e&&e.dotDotDotToken&&e.name.kind===72&&!t}function addRestParameterIfNeeded(t,r,n){var i=e.lastOrUndefined(r.parameters);if(!shouldAddRestParameter(i,n)){return}var a=e.getMutableClone(i.name);e.setEmitFlags(a,48);var o=e.getSynthesizedClone(i.name);var s=r.parameters.length-1;var c=e.createLoopVariable();t.push(e.setEmitFlags(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(a,undefined,e.createArrayLiteral([]))])),i),1048576));var u=e.createFor(e.setTextRange(e.createVariableDeclarationList([e.createVariableDeclaration(c,undefined,e.createLiteral(s))]),i),e.setTextRange(e.createLessThan(c,e.createPropertyAccess(e.createIdentifier("arguments"),"length")),i),e.setTextRange(e.createPostfixIncrement(c),i),e.createBlock([e.startOnNewLine(e.setTextRange(e.createExpressionStatement(e.createAssignment(e.createElementAccess(o,s===0?c:e.createSubtract(c,e.createLiteral(s))),e.createElementAccess(e.createIdentifier("arguments"),c))),i))]));e.setEmitFlags(u,1048576);e.startOnNewLine(u);t.push(u)}function addCaptureThisForNodeIfNeeded(t,r){if(r.transformFlags&16384&&r.kind!==197){captureThisForNode(t,r,e.createThis())}}function captureThisForNode(t,r,n){enableSubstitutionsForCapturedThis();var i=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.createFileLevelUniqueName("_this"),undefined,n)]));e.setEmitFlags(i,1536|1048576);e.setSourceMapRange(i,r);t.push(i)}function prependCaptureNewTargetIfNeeded(t,r,n){if(d&16384){var i=void 0;switch(r.kind){case 197:return t;case 156:case 158:case 159:i=e.createVoidZero();break;case 157:i=e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor");break;case 239:case 196:i=e.createConditional(e.createLogicalAnd(e.setEmitFlags(e.createThis(),4),e.createBinary(e.setEmitFlags(e.createThis(),4),94,e.getLocalName(r))),e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor"),e.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var a=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.createFileLevelUniqueName("_newTarget"),undefined,i)]));if(n){return[a].concat(t)}t.unshift(a)}return t}function addClassMembers(t,r){for(var n=0,i=r.members;n=t.end){return false}var i=e.getEnclosingBlockScopeContainer(t);while(n){if(n===i||n===t){return false}if(e.isClassElement(n)&&n.parent===t){return true}n=n.parent}return false}function substituteThisKeyword(t){if(_&1&&d&16){return e.setTextRange(e.createFileLevelUniqueName("_this"),t)}return t}function getClassMemberPrefix(t,r){return e.hasModifier(r,32)?e.getInternalName(t):e.createPropertyAccess(e.getInternalName(t),"prototype")}function hasSynthesizedDefaultSuperCall(t,r){if(!t||!r){return false}if(e.some(t.parameters)){return false}var n=e.firstOrUndefined(t.body.statements);if(!n||!e.nodeIsSynthesized(n)||n.kind!==221){return false}var i=n.expression;if(!e.nodeIsSynthesized(i)||i.kind!==191){return false}var a=i.expression;if(!e.nodeIsSynthesized(a)||a.kind!==98){return false}var o=e.singleOrUndefined(i.arguments);if(!o||!e.nodeIsSynthesized(o)||o.kind!==208){return false}var s=o.expression;return e.isIdentifier(s)&&s.escapedText==="arguments"}}e.transformES2015=transformES2015;function createExtendsHelper(t,r){t.requestEmitHelper(s);return e.createCall(e.getHelperName("__extends"),undefined,[r,e.createFileLevelUniqueName("_super")])}function createTemplateObjectHelper(t,r,n){t.requestEmitHelper(c);return e.createCall(e.getHelperName("__makeTemplateObject"),undefined,[r,n])}var s={name:"typescript:extends",scoped:false,priority:0,text:"\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();"};var c={name:"typescript:makeTemplateObject",scoped:false,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'}})(s||(s={}));var s;(function(e){function transformES5(t){var r=t.getCompilerOptions();var n;var i;if(r.jsx===1||r.jsx===3){n=t.onEmitNode;t.onEmitNode=onEmitNode;t.enableEmitNotification(262);t.enableEmitNotification(263);t.enableEmitNotification(261);i=[]}var a=t.onSubstituteNode;t.onSubstituteNode=onSubstituteNode;t.enableSubstitution(189);t.enableSubstitution(275);return e.chainBundle(transformSourceFile);function transformSourceFile(e){return e}function onEmitNode(t,r,a){switch(r.kind){case 262:case 263:case 261:var o=r.tagName;i[e.getOriginalNodeId(o)]=true;break}n(t,r,a)}function onSubstituteNode(t,r){if(r.id&&i&&i[r.id]){return a(t,r)}r=a(t,r);if(e.isPropertyAccessExpression(r)){return substitutePropertyAccessExpression(r)}else if(e.isPropertyAssignment(r)){return substitutePropertyAssignment(r)}return r}function substitutePropertyAccessExpression(t){var r=trySubstituteReservedName(t.name);if(r){return e.setTextRange(e.createElementAccess(t.expression,r),t)}return t}function substitutePropertyAssignment(t){var r=e.isIdentifier(t.name)&&trySubstituteReservedName(t.name);if(r){return e.updatePropertyAssignment(t,r,t.initializer)}return t}function trySubstituteReservedName(t){var r=t.originalKeywordKind||(e.nodeIsSynthesized(t)?e.stringToToken(e.idText(t)):undefined);if(r!==undefined&&r>=73&&r<=108){return e.setTextRange(e.createLiteral(t),t)}return undefined}}e.transformES5=transformES5})(s||(s={}));var s;(function(e){var t;(function(e){e[e["Nop"]=0]="Nop";e[e["Statement"]=1]="Statement";e[e["Assign"]=2]="Assign";e[e["Break"]=3]="Break";e[e["BreakWhenTrue"]=4]="BreakWhenTrue";e[e["BreakWhenFalse"]=5]="BreakWhenFalse";e[e["Yield"]=6]="Yield";e[e["YieldStar"]=7]="YieldStar";e[e["Return"]=8]="Return";e[e["Throw"]=9]="Throw";e[e["Endfinally"]=10]="Endfinally"})(t||(t={}));var r;(function(e){e[e["Open"]=0]="Open";e[e["Close"]=1]="Close"})(r||(r={}));var n;(function(e){e[e["Exception"]=0]="Exception";e[e["With"]=1]="With";e[e["Switch"]=2]="Switch";e[e["Loop"]=3]="Loop";e[e["Labeled"]=4]="Labeled"})(n||(n={}));var i;(function(e){e[e["Try"]=0]="Try";e[e["Catch"]=1]="Catch";e[e["Finally"]=2]="Finally";e[e["Done"]=3]="Done"})(i||(i={}));var a;(function(e){e[e["Next"]=0]="Next";e[e["Throw"]=1]="Throw";e[e["Return"]=2]="Return";e[e["Break"]=3]="Break";e[e["Yield"]=4]="Yield";e[e["YieldStar"]=5]="YieldStar";e[e["Catch"]=6]="Catch";e[e["Endfinally"]=7]="Endfinally"})(a||(a={}));function getInstructionName(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return undefined}}function transformGenerators(t){var r=t.resumeLexicalEnvironment,n=t.endLexicalEnvironment,i=t.hoistFunctionDeclaration,a=t.hoistVariableDeclaration;var o=t.getCompilerOptions();var s=e.getEmitScriptTarget(o);var c=t.getEmitResolver();var u=t.onSubstituteNode;t.onSubstituteNode=onSubstituteNode;var l;var f;var d;var p;var g;var _;var m;var y;var h;var v;var T=1;var S;var b;var x;var C;var E=0;var D=0;var k;var N;var A;var O;var F;var P;var I;var w;return e.chainBundle(transformSourceFile);function transformSourceFile(r){if(r.isDeclarationFile||(r.transformFlags&512)===0){return r}var n=e.visitEachChild(r,visitor,t);e.addEmitHelpers(n,t.readEmitHelpers());return n}function visitor(r){var n=r.transformFlags;if(p){return visitJavaScriptInStatementContainingYield(r)}else if(d){return visitJavaScriptInGeneratorFunctionBody(r)}else if(n&256){return visitGenerator(r)}else if(n&512){return e.visitEachChild(r,visitor,t)}else{return r}}function visitJavaScriptInStatementContainingYield(e){switch(e.kind){case 223:return visitDoStatement(e);case 224:return visitWhileStatement(e);case 232:return visitSwitchStatement(e);case 233:return visitLabeledStatement(e);default:return visitJavaScriptInGeneratorFunctionBody(e)}}function visitJavaScriptInGeneratorFunctionBody(r){switch(r.kind){case 239:return visitFunctionDeclaration(r);case 196:return visitFunctionExpression(r);case 158:case 159:return visitAccessorDeclaration(r);case 219:return visitVariableStatement(r);case 225:return visitForStatement(r);case 226:return visitForInStatement(r);case 229:return visitBreakStatement(r);case 228:return visitContinueStatement(r);case 230:return visitReturnStatement(r);default:if(r.transformFlags&4194304){return visitJavaScriptContainingYield(r)}else if(r.transformFlags&(512|8388608)){return e.visitEachChild(r,visitor,t)}else{return r}}}function visitJavaScriptContainingYield(r){switch(r.kind){case 204:return visitBinaryExpression(r);case 205:return visitConditionalExpression(r);case 207:return visitYieldExpression(r);case 187:return visitArrayLiteralExpression(r);case 188:return visitObjectLiteralExpression(r);case 190:return visitElementAccessExpression(r);case 191:return visitCallExpression(r);case 192:return visitNewExpression(r);default:return e.visitEachChild(r,visitor,t)}}function visitGenerator(t){switch(t.kind){case 239:return visitFunctionDeclaration(t);case 196:return visitFunctionExpression(t);default:return e.Debug.failBadSyntaxKind(t)}}function visitFunctionDeclaration(r){if(r.asteriskToken){r=e.setOriginalNode(e.setTextRange(e.createFunctionDeclaration(undefined,r.modifiers,undefined,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,transformGeneratorFunctionBody(r.body)),r),r)}else{var n=d;var a=p;d=false;p=false;r=e.visitEachChild(r,visitor,t);d=n;p=a}if(d){i(r);return undefined}else{return r}}function visitFunctionExpression(r){if(r.asteriskToken){r=e.setOriginalNode(e.setTextRange(e.createFunctionExpression(undefined,undefined,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,transformGeneratorFunctionBody(r.body)),r),r)}else{var n=d;var i=p;d=false;p=false;r=e.visitEachChild(r,visitor,t);d=n;p=i}return r}function visitAccessorDeclaration(r){var n=d;var i=p;d=false;p=false;r=e.visitEachChild(r,visitor,t);d=n;p=i;return r}function transformGeneratorFunctionBody(t){var i=[];var a=d;var o=p;var s=g;var c=_;var u=m;var l=y;var f=h;var E=v;var D=T;var k=S;var N=b;var A=x;var O=C;d=true;p=false;g=undefined;_=undefined;m=undefined;y=undefined;h=undefined;v=undefined;T=1;S=undefined;b=undefined;x=undefined;C=e.createTempVariable(undefined);r();var F=e.addPrologue(i,t.statements,false,visitor);transformAndEmitStatements(t.statements,F);var P=build();e.addStatementsAfterPrologue(i,n());i.push(e.createReturn(P));d=a;p=o;g=s;_=c;m=u;y=l;h=f;v=E;T=D;S=k;b=N;x=A;C=O;return e.setTextRange(e.createBlock(i,t.multiLine),t)}function visitVariableStatement(t){if(t.transformFlags&4194304){transformAndEmitVariableDeclarationList(t.declarationList);return undefined}else{if(e.getEmitFlags(t)&1048576){return t}for(var r=0,n=t.declarationList.declarations;r=60&&e<=71}function getOperatorForCompoundAssignment(e){switch(e){case 60:return 38;case 61:return 39;case 62:return 40;case 63:return 41;case 64:return 42;case 65:return 43;case 66:return 46;case 67:return 47;case 68:return 48;case 69:return 49;case 70:return 50;case 71:return 51}}function visitRightAssociativeBinaryExpression(r){var n=r.left,i=r.right;if(containsYield(i)){var a=void 0;switch(n.kind){case 189:a=e.updatePropertyAccess(n,cacheExpression(e.visitNode(n.expression,visitor,e.isLeftHandSideExpression)),n.name);break;case 190:a=e.updateElementAccess(n,cacheExpression(e.visitNode(n.expression,visitor,e.isLeftHandSideExpression)),cacheExpression(e.visitNode(n.argumentExpression,visitor,e.isExpression)));break;default:a=e.visitNode(n,visitor,e.isExpression);break}var o=r.operatorToken.kind;if(isCompoundAssignment(o)){return e.setTextRange(e.createAssignment(a,e.setTextRange(e.createBinary(cacheExpression(a),getOperatorForCompoundAssignment(o),e.visitNode(i,visitor,e.isExpression)),r)),r)}else{return e.updateBinary(r,a,e.visitNode(i,visitor,e.isExpression))}}return e.visitEachChild(r,visitor,t)}function visitLeftAssociativeBinaryExpression(r){if(containsYield(r.right)){if(e.isLogicalOperator(r.operatorToken.kind)){return visitLogicalBinaryExpression(r)}else if(r.operatorToken.kind===27){return visitCommaExpression(r)}var n=e.getMutableClone(r);n.left=cacheExpression(e.visitNode(r.left,visitor,e.isExpression));n.right=e.visitNode(r.right,visitor,e.isExpression);return n}return e.visitEachChild(r,visitor,t)}function visitLogicalBinaryExpression(t){var r=defineLabel();var n=declareLocal();emitAssignment(n,e.visitNode(t.left,visitor,e.isExpression),t.left);if(t.operatorToken.kind===54){emitBreakWhenFalse(r,n,t.left)}else{emitBreakWhenTrue(r,n,t.left)}emitAssignment(n,e.visitNode(t.right,visitor,e.isExpression),t.right);markLabel(r);return n}function visitCommaExpression(t){var r=[];visit(t.left);visit(t.right);return e.inlineExpressions(r);function visit(t){if(e.isBinaryExpression(t)&&t.operatorToken.kind===27){visit(t.left);visit(t.right)}else{if(containsYield(t)&&r.length>0){emitWorker(1,[e.createExpressionStatement(e.inlineExpressions(r))]);r=[]}r.push(e.visitNode(t,visitor,e.isExpression))}}}function visitConditionalExpression(r){if(containsYield(r.whenTrue)||containsYield(r.whenFalse)){var n=defineLabel();var i=defineLabel();var a=declareLocal();emitBreakWhenFalse(n,e.visitNode(r.condition,visitor,e.isExpression),r.condition);emitAssignment(a,e.visitNode(r.whenTrue,visitor,e.isExpression),r.whenTrue);emitBreak(i);markLabel(n);emitAssignment(a,e.visitNode(r.whenFalse,visitor,e.isExpression),r.whenFalse);markLabel(i);return a}return e.visitEachChild(r,visitor,t)}function visitYieldExpression(r){var n=defineLabel();var i=e.visitNode(r.expression,visitor,e.isExpression);if(r.asteriskToken){var a=(e.getEmitFlags(r.expression)&8388608)===0?e.createValuesHelper(t,i,r):i;emitYieldStar(a,r)}else{emitYield(i,r)}markLabel(n);return createGeneratorResume(r)}function visitArrayLiteralExpression(e){return visitElements(e.elements,undefined,undefined,e.multiLine)}function visitElements(t,r,n,i){var a=countInitialNodesWithoutYield(t);var o;if(a>0){o=declareLocal();var s=e.visitNodes(t,visitor,e.isExpression,0,a);emitAssignment(o,e.createArrayLiteral(r?[r].concat(s):s));r=undefined}var c=e.reduceLeft(t,reduceElement,[],a);return o?e.createArrayConcat(o,[e.createArrayLiteral(c,i)]):e.setTextRange(e.createArrayLiteral(r?[r].concat(c):c,i),n);function reduceElement(t,n){if(containsYield(n)&&t.length>0){var a=o!==undefined;if(!o){o=declareLocal()}emitAssignment(o,a?e.createArrayConcat(o,[e.createArrayLiteral(t,i)]):e.createArrayLiteral(r?[r].concat(t):t,i));r=undefined;t=[]}t.push(e.visitNode(n,visitor,e.isExpression));return t}}function visitObjectLiteralExpression(t){var r=t.properties;var n=t.multiLine;var i=countInitialNodesWithoutYield(r);var a=declareLocal();emitAssignment(a,e.createObjectLiteral(e.visitNodes(r,visitor,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,reduceProperty,[],i);o.push(n?e.startOnNewLine(e.getMutableClone(a)):a);return e.inlineExpressions(o);function reduceProperty(r,i){if(containsYield(i)&&r.length>0){emitStatement(e.createExpressionStatement(e.inlineExpressions(r)));r=[]}var o=e.createExpressionForObjectLiteralElementLike(t,i,a);var s=e.visitNode(o,visitor,e.isExpression);if(s){if(n){e.startOnNewLine(s)}r.push(s)}return r}}function visitElementAccessExpression(r){if(containsYield(r.argumentExpression)){var n=e.getMutableClone(r);n.expression=cacheExpression(e.visitNode(r.expression,visitor,e.isLeftHandSideExpression));n.argumentExpression=e.visitNode(r.argumentExpression,visitor,e.isExpression);return n}return e.visitEachChild(r,visitor,t)}function visitCallExpression(r){if(!e.isImportCall(r)&&e.forEach(r.arguments,containsYield)){var n=e.createCallBinding(r.expression,a,s,true),i=n.target,o=n.thisArg;return e.setOriginalNode(e.createFunctionApply(cacheExpression(e.visitNode(i,visitor,e.isLeftHandSideExpression)),o,visitElements(r.arguments),r),r)}return e.visitEachChild(r,visitor,t)}function visitNewExpression(r){if(e.forEach(r.arguments,containsYield)){var n=e.createCallBinding(e.createPropertyAccess(r.expression,"bind"),a),i=n.target,o=n.thisArg;return e.setOriginalNode(e.setTextRange(e.createNew(e.createFunctionApply(cacheExpression(e.visitNode(i,visitor,e.isExpression)),o,visitElements(r.arguments,e.createVoidZero())),undefined,[]),r),r)}return e.visitEachChild(r,visitor,t)}function transformAndEmitStatements(e,t){if(t===void 0){t=0}var r=e.length;for(var n=t;n0){break}l.push(transformInitializedVariable(i))}if(l.length){emitStatement(e.createExpressionStatement(e.inlineExpressions(l)));u+=l.length;l=[]}}return undefined}function transformInitializedVariable(t){return e.setSourceMapRange(e.createAssignment(e.setSourceMapRange(e.getSynthesizedClone(t.name),t.name),e.visitNode(t.initializer,visitor,e.isExpression)),t)}function transformAndEmitIfStatement(t){if(containsYield(t)){if(containsYield(t.thenStatement)||containsYield(t.elseStatement)){var r=defineLabel();var n=t.elseStatement?defineLabel():undefined;emitBreakWhenFalse(t.elseStatement?n:r,e.visitNode(t.expression,visitor,e.isExpression),t.expression);transformAndEmitEmbeddedStatement(t.thenStatement);if(t.elseStatement){emitBreak(r);markLabel(n);transformAndEmitEmbeddedStatement(t.elseStatement)}markLabel(r)}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function transformAndEmitDoStatement(t){if(containsYield(t)){var r=defineLabel();var n=defineLabel();beginLoopBlock(r);markLabel(n);transformAndEmitEmbeddedStatement(t.statement);markLabel(r);emitBreakWhenTrue(n,e.visitNode(t.expression,visitor,e.isExpression));endLoopBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function visitDoStatement(r){if(p){beginScriptLoopBlock();r=e.visitEachChild(r,visitor,t);endLoopBlock();return r}else{return e.visitEachChild(r,visitor,t)}}function transformAndEmitWhileStatement(t){if(containsYield(t)){var r=defineLabel();var n=beginLoopBlock(r);markLabel(r);emitBreakWhenFalse(n,e.visitNode(t.expression,visitor,e.isExpression));transformAndEmitEmbeddedStatement(t.statement);emitBreak(r);endLoopBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function visitWhileStatement(r){if(p){beginScriptLoopBlock();r=e.visitEachChild(r,visitor,t);endLoopBlock();return r}else{return e.visitEachChild(r,visitor,t)}}function transformAndEmitForStatement(t){if(containsYield(t)){var r=defineLabel();var n=defineLabel();var i=beginLoopBlock(n);if(t.initializer){var a=t.initializer;if(e.isVariableDeclarationList(a)){transformAndEmitVariableDeclarationList(a)}else{emitStatement(e.setTextRange(e.createExpressionStatement(e.visitNode(a,visitor,e.isExpression)),a))}}markLabel(r);if(t.condition){emitBreakWhenFalse(i,e.visitNode(t.condition,visitor,e.isExpression))}transformAndEmitEmbeddedStatement(t.statement);markLabel(n);if(t.incrementor){emitStatement(e.setTextRange(e.createExpressionStatement(e.visitNode(t.incrementor,visitor,e.isExpression)),t.incrementor))}emitBreak(r);endLoopBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function visitForStatement(r){if(p){beginScriptLoopBlock()}var n=r.initializer;if(n&&e.isVariableDeclarationList(n)){for(var i=0,o=n.declarations;i0?e.inlineExpressions(e.map(c,transformInitializedVariable)):undefined,e.visitNode(r.condition,visitor,e.isExpression),e.visitNode(r.incrementor,visitor,e.isExpression),e.visitNode(r.statement,visitor,e.isStatement,e.liftToBlock))}else{r=e.visitEachChild(r,visitor,t)}if(p){endLoopBlock()}return r}function transformAndEmitForInStatement(t){if(containsYield(t)){var r=declareLocal();var n=declareLocal();var i=e.createLoopVariable();var o=t.initializer;a(i);emitAssignment(r,e.createArrayLiteral());emitStatement(e.createForIn(n,e.visitNode(t.expression,visitor,e.isExpression),e.createExpressionStatement(e.createCall(e.createPropertyAccess(r,"push"),undefined,[n]))));emitAssignment(i,e.createLiteral(0));var s=defineLabel();var c=defineLabel();var u=beginLoopBlock(c);markLabel(s);emitBreakWhenFalse(u,e.createLessThan(i,e.createPropertyAccess(r,"length")));var l=void 0;if(e.isVariableDeclarationList(o)){for(var f=0,d=o.declarations;f0){emitBreak(r,t)}else{emitStatement(t)}}function visitContinueStatement(r){if(p){var n=findContinueTarget(r.label&&e.idText(r.label));if(n>0){return createInlineBreak(n,r)}}return e.visitEachChild(r,visitor,t)}function transformAndEmitBreakStatement(t){var r=findBreakTarget(t.label?e.idText(t.label):undefined);if(r>0){emitBreak(r,t)}else{emitStatement(t)}}function visitBreakStatement(r){if(p){var n=findBreakTarget(r.label&&e.idText(r.label));if(n>0){return createInlineBreak(n,r)}}return e.visitEachChild(r,visitor,t)}function transformAndEmitReturnStatement(t){emitReturn(e.visitNode(t.expression,visitor,e.isExpression),t)}function visitReturnStatement(t){return createInlineReturn(e.visitNode(t.expression,visitor,e.isExpression),t)}function transformAndEmitWithStatement(t){if(containsYield(t)){beginWithBlock(cacheExpression(e.visitNode(t.expression,visitor,e.isExpression)));transformAndEmitEmbeddedStatement(t.statement);endWithBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function transformAndEmitSwitchStatement(t){if(containsYield(t.caseBlock)){var r=t.caseBlock;var n=r.clauses.length;var i=beginSwitchBlock();var a=cacheExpression(e.visitNode(t.expression,visitor,e.isExpression));var o=[];var s=-1;for(var c=0;c0){break}f.push(e.createCaseClause(e.visitNode(u.expression,visitor,e.isExpression),[createInlineBreak(o[c],u.expression)]))}else{d++}}if(f.length){emitStatement(e.createSwitch(a,e.createCaseBlock(f)));l+=f.length;f=[]}if(d>0){l+=d;d=0}}if(s>=0){emitBreak(o[s])}else{emitBreak(i)}for(var c=0;c=0;r--){var n=y[r];if(supportsLabeledBreakOrContinue(n)){if(n.labelText===e){return true}}else{break}}return false}function findBreakTarget(e){if(y){if(e){for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsLabeledBreakOrContinue(r)&&r.labelText===e){return r.breakLabel}else if(supportsUnlabeledBreak(r)&&hasImmediateContainingLabeledBlock(e,t-1)){return r.breakLabel}}}else{for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsUnlabeledBreak(r)){return r.breakLabel}}}}return 0}function findContinueTarget(e){if(y){if(e){for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsUnlabeledContinue(r)&&hasImmediateContainingLabeledBlock(e,t-1)){return r.continueLabel}}}else{for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsUnlabeledContinue(r)){return r.continueLabel}}}}return 0}function createLabel(t){if(t!==undefined&&t>0){if(v===undefined){v=[]}var r=e.createLiteral(-1);if(v[t]===undefined){v[t]=[r]}else{v[t].push(r)}return r}return e.createOmittedExpression()}function createInstruction(t){var r=e.createLiteral(t);e.addSyntheticTrailingComment(r,3,getInstructionName(t));return r}function createInlineBreak(t,r){e.Debug.assertLessThan(0,t,"Invalid label");return e.setTextRange(e.createReturn(e.createArrayLiteral([createInstruction(3),createLabel(t)])),r)}function createInlineReturn(t,r){return e.setTextRange(e.createReturn(e.createArrayLiteral(t?[createInstruction(2),t]:[createInstruction(2)])),r)}function createGeneratorResume(t){return e.setTextRange(e.createCall(e.createPropertyAccess(C,"sent"),undefined,[]),t)}function emitNop(){emitWorker(0)}function emitStatement(e){if(e){emitWorker(1,[e])}else{emitNop()}}function emitAssignment(e,t,r){emitWorker(2,[e,t],r)}function emitBreak(e,t){emitWorker(3,[e],t)}function emitBreakWhenTrue(e,t,r){emitWorker(4,[e,t],r)}function emitBreakWhenFalse(e,t,r){emitWorker(5,[e,t],r)}function emitYieldStar(e,t){emitWorker(7,[e],t)}function emitYield(e,t){emitWorker(6,[e],t)}function emitReturn(e,t){emitWorker(8,[e],t)}function emitThrow(e,t){emitWorker(9,[e],t)}function emitEndfinally(){emitWorker(10)}function emitWorker(e,t,r){if(S===undefined){S=[];b=[];x=[]}if(h===undefined){markLabel(defineLabel())}var n=S.length;S[n]=e;b[n]=t;x[n]=r}function build(){E=0;D=0;k=undefined;N=false;A=false;O=undefined;F=undefined;P=undefined;I=undefined;w=undefined;var r=buildStatements();return createGeneratorHelper(t,e.setEmitFlags(e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,C)],undefined,e.createBlock(r,r.length>0)),524288))}function buildStatements(){if(S){for(var t=0;t=0;r--){var n=w[r];F=[e.createWith(n.expression,e.createBlock(F))]}}if(I){var i=I.startLabel,a=I.catchLabel,o=I.finallyLabel,s=I.endLabel;F.unshift(e.createExpressionStatement(e.createCall(e.createPropertyAccess(e.createPropertyAccess(C,"trys"),"push"),undefined,[e.createArrayLiteral([createLabel(i),createLabel(a),createLabel(o),createLabel(s)])])));I=undefined}if(t){F.push(e.createExpressionStatement(e.createAssignment(e.createPropertyAccess(C,"label"),e.createLiteral(D+1))))}}O.push(e.createCaseClause(e.createLiteral(D),F||[]));F=undefined}function tryEnterLabel(e){if(!h){return}for(var t=0;t 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'}})(s||(s={}));var s;(function(e){function transformModule(a){function getTransformModuleDelegate(t){switch(t){case e.ModuleKind.AMD:return transformAMDModule;case e.ModuleKind.UMD:return transformUMDModule;default:return transformCommonJSModule}}var o=a.startLexicalEnvironment,s=a.endLexicalEnvironment,c=a.hoistVariableDeclaration;var u=a.getCompilerOptions();var l=a.getEmitResolver();var f=a.getEmitHost();var d=e.getEmitScriptTarget(u);var p=e.getEmitModuleKind(u);var g=a.onSubstituteNode;var _=a.onEmitNode;a.onSubstituteNode=onSubstituteNode;a.onEmitNode=onEmitNode;a.enableSubstitution(72);a.enableSubstitution(204);a.enableSubstitution(202);a.enableSubstitution(203);a.enableSubstitution(276);a.enableEmitNotification(279);var m=[];var y=[];var h;var v;var T;var S;return e.chainBundle(transformSourceFile);function transformSourceFile(t){if(t.isDeclarationFile||!(e.isEffectiveExternalModule(t,u)||t.transformFlags&16777216||e.isJsonSourceFile(t)&&e.hasJsonModuleEmitEnabled(u)&&(u.out||u.outFile))){return t}h=t;v=e.collectExternalModuleInfo(t,l,u);m[e.getOriginalNodeId(t)]=v;var r=getTransformModuleDelegate(p);var n=r(t);h=undefined;v=undefined;S=false;return e.aggregateTransformFlags(n)}function shouldEmitUnderscoreUnderscoreESModule(){if(!v.exportEquals&&e.isExternalModule(h)){return true}return false}function transformCommonJSModule(r){o();var n=[];var i=e.getStrictOptionValue(u,"alwaysStrict")||!u.noImplicitUseStrict&&e.isExternalModule(h);var c=e.addPrologue(n,r.statements,i,sourceElementVisitor);if(shouldEmitUnderscoreUnderscoreESModule()){e.append(n,createUnderscoreUnderscoreESModule())}e.append(n,e.visitNode(v.externalHelpersImportDeclaration,sourceElementVisitor,e.isStatement));e.addRange(n,e.visitNodes(r.statements,sourceElementVisitor,e.isStatement,c));addExportEqualsIfNeeded(n,false);e.addStatementsAfterPrologue(n,s());var l=e.updateSourceFileNode(r,e.setTextRange(e.createNodeArray(n),r.statements));if(v.hasExportStarsToExportValues&&!u.importHelpers){e.addEmitHelper(l,t)}e.addEmitHelpers(l,a.readEmitHelpers());return l}function transformAMDModule(t){var r=e.createIdentifier("define");var n=e.tryGetModuleNameFromFile(t,f,u);var i=e.isJsonSourceFile(t)&&t;var o=collectAsynchronousDependencies(t,true),s=o.aliasedModuleNames,c=o.unaliasedModuleNames,l=o.importAliasNames;var d=e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createExpressionStatement(e.createCall(r,undefined,(n?[n]:[]).concat([e.createArrayLiteral(i?e.emptyArray:[e.createLiteral("require"),e.createLiteral("exports")].concat(s,c)),i?i.statements.length?i.statements[0].expression:e.createObjectLiteral():e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,"require"),e.createParameter(undefined,undefined,undefined,"exports")].concat(l),undefined,transformAsynchronousModuleBody(t))])))]),t.statements));e.addEmitHelpers(d,a.readEmitHelpers());return d}function transformUMDModule(t){var r=collectAsynchronousDependencies(t,false),n=r.aliasedModuleNames,i=r.unaliasedModuleNames,o=r.importAliasNames;var s=e.tryGetModuleNameFromFile(t,f,u);var c=e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,"factory")],undefined,e.setTextRange(e.createBlock([e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("module"),"object"),e.createTypeCheck(e.createPropertyAccess(e.createIdentifier("module"),"exports"),"object")),e.createBlock([e.createVariableStatement(undefined,[e.createVariableDeclaration("v",undefined,e.createCall(e.createIdentifier("factory"),undefined,[e.createIdentifier("require"),e.createIdentifier("exports")]))]),e.setEmitFlags(e.createIf(e.createStrictInequality(e.createIdentifier("v"),e.createIdentifier("undefined")),e.createExpressionStatement(e.createAssignment(e.createPropertyAccess(e.createIdentifier("module"),"exports"),e.createIdentifier("v")))),1)]),e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("define"),"function"),e.createPropertyAccess(e.createIdentifier("define"),"amd")),e.createBlock([e.createExpressionStatement(e.createCall(e.createIdentifier("define"),undefined,(s?[s]:[]).concat([e.createArrayLiteral([e.createLiteral("require"),e.createLiteral("exports")].concat(n,i)),e.createIdentifier("factory")])))])))],true),undefined));var l=e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createExpressionStatement(e.createCall(c,undefined,[e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,"require"),e.createParameter(undefined,undefined,undefined,"exports")].concat(o),undefined,transformAsynchronousModuleBody(t))]))]),t.statements));e.addEmitHelpers(l,a.readEmitHelpers());return l}function collectAsynchronousDependencies(t,r){var n=[];var i=[];var a=[];for(var o=0,s=t.amdDependencies;o(e.isExportName(t)?1:0)}return false}function visitDestructuringAssignment(t){if(destructuringNeedsFlattening(t.left)){return e.flattenDestructuringAssignment(t,moduleExpressionElementVisitor,a,0,false,createAllExportExpressions)}return e.visitEachChild(t,moduleExpressionElementVisitor,a)}function visitImportCallExpression(t){var r=e.visitNode(e.firstOrUndefined(t.arguments),moduleExpressionElementVisitor);var n=!!(t.transformFlags&8192);switch(u.module){case e.ModuleKind.AMD:return createImportCallExpressionAMD(r,n);case e.ModuleKind.UMD:return createImportCallExpressionUMD(r,n);case e.ModuleKind.CommonJS:default:return createImportCallExpressionCommonJS(r,n)}}function createImportCallExpressionUMD(t,r){S=true;if(e.isSimpleCopiableExpression(t)){var n=e.isGeneratedIdentifier(t)?t:e.isStringLiteral(t)?e.createLiteral(t):e.setEmitFlags(e.setTextRange(e.getSynthesizedClone(t),t),1536);return e.createConditional(e.createIdentifier("__syncRequire"),createImportCallExpressionCommonJS(t,r),createImportCallExpressionAMD(n,r))}else{var i=e.createTempVariable(c);return e.createComma(e.createAssignment(i,t),e.createConditional(e.createIdentifier("__syncRequire"),createImportCallExpressionCommonJS(i,r),createImportCallExpressionAMD(i,r)))}}function createImportCallExpressionAMD(t,r){var i=e.createUniqueName("resolve");var o=e.createUniqueName("reject");var s=[e.createParameter(undefined,undefined,undefined,i),e.createParameter(undefined,undefined,undefined,o)];var c=e.createBlock([e.createExpressionStatement(e.createCall(e.createIdentifier("require"),undefined,[e.createArrayLiteral([t||e.createOmittedExpression()]),i,o]))]);var l;if(d>=2){l=e.createArrowFunction(undefined,undefined,s,undefined,undefined,c)}else{l=e.createFunctionExpression(undefined,undefined,undefined,undefined,s,undefined,c);if(r){e.setEmitFlags(l,8)}}var f=e.createNew(e.createIdentifier("Promise"),undefined,[l]);if(u.esModuleInterop){a.requestEmitHelper(n);return e.createCall(e.createPropertyAccess(f,e.createIdentifier("then")),undefined,[e.getHelperName("__importStar")])}return f}function createImportCallExpressionCommonJS(t,r){var i=e.createCall(e.createPropertyAccess(e.createIdentifier("Promise"),"resolve"),undefined,[]);var o=e.createCall(e.createIdentifier("require"),undefined,t?[t]:[]);if(u.esModuleInterop){a.requestEmitHelper(n);o=e.createCall(e.getHelperName("__importStar"),undefined,[o])}var s;if(d>=2){s=e.createArrowFunction(undefined,undefined,[],undefined,undefined,o)}else{s=e.createFunctionExpression(undefined,undefined,undefined,undefined,[],undefined,e.createBlock([e.createReturn(o)]));if(r){e.setEmitFlags(s,8)}}return e.createCall(e.createPropertyAccess(i,"then"),undefined,[s])}function getHelperExpressionForImport(t,r){if(!u.esModuleInterop||e.getEmitFlags(t)&67108864){return r}if(e.getImportNeedsImportStarHelper(t)){a.requestEmitHelper(n);return e.createCall(e.getHelperName("__importStar"),undefined,[r])}if(e.getImportNeedsImportDefaultHelper(t)){a.requestEmitHelper(i);return e.createCall(e.getHelperName("__importDefault"),undefined,[r])}return r}function visitImportDeclaration(t){var r;var n=e.getNamespaceDeclarationNode(t);if(p!==e.ModuleKind.AMD){if(!t.importClause){return e.setOriginalNode(e.setTextRange(e.createExpressionStatement(createRequireCall(t)),t),t)}else{var i=[];if(n&&!e.isDefaultImport(t)){i.push(e.createVariableDeclaration(e.getSynthesizedClone(n.name),undefined,getHelperExpressionForImport(t,createRequireCall(t))))}else{i.push(e.createVariableDeclaration(e.getGeneratedNameForNode(t),undefined,getHelperExpressionForImport(t,createRequireCall(t))));if(n&&e.isDefaultImport(t)){i.push(e.createVariableDeclaration(e.getSynthesizedClone(n.name),undefined,e.getGeneratedNameForNode(t)))}}r=e.append(r,e.setOriginalNode(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList(i,d>=2?2:0)),t),t))}}else if(n&&e.isDefaultImport(t)){r=e.append(r,e.createVariableStatement(undefined,e.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(e.createVariableDeclaration(e.getSynthesizedClone(n.name),undefined,e.getGeneratedNameForNode(t)),t),t)],d>=2?2:0)))}if(hasAssociatedEndOfDeclarationMarker(t)){var a=e.getOriginalNodeId(t);y[a]=appendExportsOfImportDeclaration(y[a],t)}else{r=appendExportsOfImportDeclaration(r,t)}return e.singleOrMany(r)}function createRequireCall(t){var r=e.getExternalModuleNameLiteral(t,h,f,l,u);var n=[];if(r){n.push(r)}return e.createCall(e.createIdentifier("require"),undefined,n)}function visitImportEqualsDeclaration(t){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer.");var r;if(p!==e.ModuleKind.AMD){if(e.hasModifier(t,1)){r=e.append(r,e.setOriginalNode(e.setTextRange(e.createExpressionStatement(createExportExpression(t.name,createRequireCall(t))),t),t))}else{r=e.append(r,e.setOriginalNode(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(t.name),undefined,createRequireCall(t))],d>=2?2:0)),t),t))}}else{if(e.hasModifier(t,1)){r=e.append(r,e.setOriginalNode(e.setTextRange(e.createExpressionStatement(createExportExpression(e.getExportName(t),e.getLocalName(t))),t),t))}}if(hasAssociatedEndOfDeclarationMarker(t)){var n=e.getOriginalNodeId(t);y[n]=appendExportsOfImportEqualsDeclaration(y[n],t)}else{r=appendExportsOfImportEqualsDeclaration(r,t)}return e.singleOrMany(r)}function visitExportDeclaration(t){if(!t.moduleSpecifier){return undefined}var r=e.getGeneratedNameForNode(t);if(t.exportClause){var n=[];if(p!==e.ModuleKind.AMD){n.push(e.setOriginalNode(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(r,undefined,createRequireCall(t))])),t),t))}for(var i=0,o=t.exportClause.elements;i1){var i=n.slice(1);var o=e.guessIndentation(i);r=[n[0]].concat(e.map(i,function(e){return e.slice(o)})).join(C)}e.addSyntheticLeadingComment(a,t.kind,r,t.hasTrailingNewLine)}};for(var c=0,u=o;c0?e.parameters[0].type:undefined}}function canHaveLiteralInitializer(t){switch(t.kind){case 154:case 153:return!e.hasModifier(t,8);case 151:case 237:return true}return false}function isPreservedDeclarationStatement(e){switch(e.kind){case 239:case 244:case 248:case 241:case 240:case 242:case 243:case 219:case 249:case 255:case 254:return true}return false}function isProcessedComponent(e){switch(e.kind){case 161:case 157:case 156:case 158:case 159:case 154:case 153:case 155:case 160:case 162:case 237:case 150:case 211:case 164:case 175:case 165:case 166:case 183:return true}return false}})(s||(s={}));var s;(function(e){function getModuleTransformer(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2015:return e.transformES2015Module;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}var t;(function(e){e[e["Uninitialized"]=0]="Uninitialized";e[e["Initialized"]=1]="Initialized";e[e["Completed"]=2]="Completed";e[e["Disposed"]=3]="Disposed"})(t||(t={}));var r;(function(e){e[e["Substitution"]=1]="Substitution";e[e["EmitNotifications"]=2]="EmitNotifications"})(r||(r={}));function getTransformers(t,r){var n=t.jsx;var i=e.getEmitScriptTarget(t);var a=e.getEmitModuleKind(t);var o=[];e.addRange(o,r&&r.before);o.push(e.transformTypeScript);if(n===2){o.push(e.transformJsx)}if(i<6){o.push(e.transformESNext)}if(i<4){o.push(e.transformES2017)}if(i<3){o.push(e.transformES2016)}if(i<2){o.push(e.transformES2015);o.push(e.transformGenerators)}o.push(getModuleTransformer(a));if(i<1){o.push(e.transformES5)}e.addRange(o,r&&r.after);return o}e.getTransformers=getTransformers;function noEmitSubstitution(e,t){return t}e.noEmitSubstitution=noEmitSubstitution;function noEmitNotification(e,t,r){r(e,t)}e.noEmitNotification=noEmitNotification;function transformNodes(t,r,n,i,a,o){var s=new Array(312);var c;var u;var l=[];var f=[];var d=0;var p=false;var g;var _=noEmitSubstitution;var m=noEmitNotification;var y=0;var h=[];var v={getCompilerOptions:function(){return n},getEmitResolver:function(){return t},getEmitHost:function(){return r},startLexicalEnvironment:startLexicalEnvironment,suspendLexicalEnvironment:suspendLexicalEnvironment,resumeLexicalEnvironment:resumeLexicalEnvironment,endLexicalEnvironment:endLexicalEnvironment,hoistVariableDeclaration:hoistVariableDeclaration,hoistFunctionDeclaration:hoistFunctionDeclaration,requestEmitHelper:requestEmitHelper,readEmitHelpers:readEmitHelpers,enableSubstitution:enableSubstitution,enableEmitNotification:enableEmitNotification,isSubstitutionEnabled:isSubstitutionEnabled,isEmitNotificationEnabled:isEmitNotificationEnabled,get onSubstituteNode(){return _},set onSubstituteNode(t){e.Debug.assert(y<1,"Cannot modify transformation hooks after initialization has completed.");e.Debug.assert(t!==undefined,"Value must not be 'undefined'");_=t},get onEmitNode(){return m},set onEmitNode(t){e.Debug.assert(y<1,"Cannot modify transformation hooks after initialization has completed.");e.Debug.assert(t!==undefined,"Value must not be 'undefined'");m=t},addDiagnostic:function(e){h.push(e)}};for(var T=0,S=i;T0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");var r=e.setEmitFlags(e.createVariableDeclaration(t),64);if(!c){c=[r]}else{c.push(r)}}function hoistFunctionDeclaration(t){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");if(!u){u=[t]}else{u.push(t)}}function startLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(!p,"Lexical environment is suspended.");l[d]=c;f[d]=u;d++;c=undefined;u=undefined}function suspendLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(!p,"Lexical environment is already suspended.");p=true}function resumeLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(p,"Lexical environment is not suspended.");p=false}function endLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(!p,"Lexical environment is suspended.");var t;if(c||u){if(u){t=u.slice()}if(c){var r=e.createVariableStatement(undefined,e.createVariableDeclarationList(c));if(!t){t=[r]}else{t.push(r)}}}d--;c=l[d];u=f[d];if(d===0){l=[];f=[]}return t}function requestEmitHelper(t){e.Debug.assert(y>0,"Cannot modify the transformation context during initialization.");e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed.");e.Debug.assert(!t.scoped,"Cannot request a scoped emit helper.");g=e.append(g,t)}function readEmitHelpers(){e.Debug.assert(y>0,"Cannot modify the transformation context during initialization.");e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed.");var t=g;g=undefined;return t}function dispose(){if(y<3){for(var t=0,r=i;t");writeSpace();emit(e.type);popNameGenerationScope(e)}function emitJSDocFunctionType(e){writeKeyword("function");emitParameters(e,e.parameters);writePunctuation(":");emit(e.type)}function emitJSDocNullableType(e){writePunctuation("?");emit(e.type)}function emitJSDocNonNullableType(e){writePunctuation("!");emit(e.type)}function emitJSDocOptionalType(e){emit(e.type);writePunctuation("=")}function emitConstructorType(e){pushNameGenerationScope(e);writeKeyword("new");writeSpace();emitTypeParameters(e,e.typeParameters);emitParameters(e,e.parameters);writeSpace();writePunctuation("=>");writeSpace();emit(e.type);popNameGenerationScope(e)}function emitTypeQuery(e){writeKeyword("typeof");writeSpace();emit(e.exprName)}function emitTypeLiteral(t){writePunctuation("{");var r=e.getEmitFlags(t)&1?768:32897;emitList(t,t.members,r|524288);writePunctuation("}")}function emitArrayType(e){emit(e.elementType);writePunctuation("[");writePunctuation("]")}function emitRestOrJSDocVariadicType(e){writePunctuation("...");emit(e.type)}function emitTupleType(e){writePunctuation("[");emitList(e,e.elementTypes,528);writePunctuation("]")}function emitOptionalType(e){emit(e.type);writePunctuation("?")}function emitUnionType(e){emitList(e,e.types,516)}function emitIntersectionType(e){emitList(e,e.types,520)}function emitConditionalType(e){emit(e.checkType);writeSpace();writeKeyword("extends");writeSpace();emit(e.extendsType);writeSpace();writePunctuation("?");writeSpace();emit(e.trueType);writeSpace();writePunctuation(":");writeSpace();emit(e.falseType)}function emitInferType(e){writeKeyword("infer");writeSpace();emit(e.typeParameter)}function emitParenthesizedType(e){writePunctuation("(");emit(e.type);writePunctuation(")")}function emitThisType(){writeKeyword("this")}function emitTypeOperator(e){writeTokenText(e.operator,writeKeyword);writeSpace();emit(e.type)}function emitIndexedAccessType(e){emit(e.objectType);writePunctuation("[");emit(e.indexType);writePunctuation("]")}function emitMappedType(t){var r=e.getEmitFlags(t);writePunctuation("{");if(r&1){writeSpace()}else{writeLine();increaseIndent()}if(t.readonlyToken){emit(t.readonlyToken);if(t.readonlyToken.kind!==133){writeKeyword("readonly")}writeSpace()}writePunctuation("[");var n=getPipelinePhase(0,t.typeParameter);n(3,t.typeParameter);writePunctuation("]");if(t.questionToken){emit(t.questionToken);if(t.questionToken.kind!==56){writePunctuation("?")}}writePunctuation(":");writeSpace();emit(t.type);writeTrailingSemicolon();if(r&1){writeSpace()}else{writeLine();decreaseIndent()}writePunctuation("}")}function emitLiteralType(e){emitExpression(e.literal)}function emitImportTypeNode(e){if(e.isTypeOf){writeKeyword("typeof");writeSpace()}writeKeyword("import");writePunctuation("(");emit(e.argument);writePunctuation(")");if(e.qualifier){writePunctuation(".");emit(e.qualifier)}emitTypeArguments(e,e.typeArguments)}function emitObjectBindingPattern(e){writePunctuation("{");emitList(e,e.elements,525136);writePunctuation("}")}function emitArrayBindingPattern(e){writePunctuation("[");emitList(e,e.elements,524880);writePunctuation("]")}function emitBindingElement(e){emit(e.dotDotDotToken);if(e.propertyName){emit(e.propertyName);writePunctuation(":");writeSpace()}emit(e.name);emitInitializer(e.initializer,e.name.end,e)}function emitArrayLiteralExpression(e){var t=e.elements;var r=e.multiLine?65536:0;emitExpressionList(e,t,8914|r)}function emitObjectLiteralExpression(t){e.forEach(t.properties,generateMemberNames);var r=e.getEmitFlags(t)&65536;if(r){increaseIndent()}var n=t.multiLine?65536:0;var i=y.languageVersion>=1&&!e.isJsonSourceFile(y)?64:0;emitList(t,t.properties,526226|i|n);if(r){decreaseIndent()}}function emitPropertyAccessExpression(t){var r=false;var n=false;if(!(e.getEmitFlags(t)&131072)){var i=t.expression.end;var a=e.skipTrivia(y.text,t.expression.end)+1;var o=e.createToken(24);o.pos=i;o.end=a;r=needsIndentation(t,t.expression,o);n=needsIndentation(t,o,t.name)}emitExpression(t.expression);increaseIndentIf(r,false);var s=!r&&needsDotDotForPropertyAccess(t.expression);if(s){writePunctuation(".")}emitTokenWithComment(24,t.expression.end,writePunctuation,t);increaseIndentIf(n,false);emit(t.name);decreaseIndentIf(r,n)}function needsDotDotForPropertyAccess(r){r=e.skipPartiallyEmittedExpressions(r);if(e.isNumericLiteral(r)){var n=getLiteralTextOfNode(r,true);return!r.numericLiteralFlags&&!e.stringContains(n,e.tokenToString(24))}else if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)){var i=e.getConstantValue(r);return typeof i==="number"&&isFinite(i)&&Math.floor(i)===i&&t.removeComments}}function emitElementAccessExpression(e){emitExpression(e.expression);emitTokenWithComment(22,e.expression.end,writePunctuation,e);emitExpression(e.argumentExpression);emitTokenWithComment(23,e.argumentExpression.end,writePunctuation,e)}function emitCallExpression(e){emitExpression(e.expression);emitTypeArguments(e,e.typeArguments);emitExpressionList(e,e.arguments,2576)}function emitNewExpression(e){emitTokenWithComment(95,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression);emitTypeArguments(e,e.typeArguments);emitExpressionList(e,e.arguments,18960)}function emitTaggedTemplateExpression(e){emitExpression(e.tag);emitTypeArguments(e,e.typeArguments);writeSpace();emitExpression(e.template)}function emitTypeAssertionExpression(e){writePunctuation("<");emit(e.type);writePunctuation(">");emitExpression(e.expression)}function emitParenthesizedExpression(e){var t=emitTokenWithComment(20,e.pos,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression?e.expression.end:t,writePunctuation,e)}function emitFunctionExpression(e){generateNameIfNeeded(e.name);emitFunctionDeclarationOrExpression(e)}function emitArrowFunction(e){emitDecorators(e,e.decorators);emitModifiers(e,e.modifiers);emitSignatureAndBody(e,emitArrowFunctionHead)}function emitArrowFunctionHead(e){emitTypeParameters(e,e.typeParameters);emitParametersForArrow(e,e.parameters);emitTypeAnnotation(e.type);writeSpace();emit(e.equalsGreaterThanToken)}function emitDeleteExpression(e){emitTokenWithComment(81,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitTypeOfExpression(e){emitTokenWithComment(104,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitVoidExpression(e){emitTokenWithComment(106,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitAwaitExpression(e){emitTokenWithComment(122,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitPrefixUnaryExpression(e){writeTokenText(e.operator,writeOperator);if(shouldEmitWhitespaceBeforeOperand(e)){writeSpace()}emitExpression(e.operand)}function shouldEmitWhitespaceBeforeOperand(e){var t=e.operand;return t.kind===202&&(e.operator===38&&(t.operator===38||t.operator===44)||e.operator===39&&(t.operator===39||t.operator===45))}function emitPostfixUnaryExpression(e){emitExpression(e.operand);writeTokenText(e.operator,writeOperator)}function emitBinaryExpression(e){var t=e.operatorToken.kind!==27;var r=needsIndentation(e,e.left,e.operatorToken);var n=needsIndentation(e,e.operatorToken,e.right);emitExpression(e.left);increaseIndentIf(r,t);emitLeadingCommentsOfPosition(e.operatorToken.pos);writeTokenNode(e.operatorToken,e.operatorToken.kind===93?writeKeyword:writeOperator);emitTrailingCommentsOfPosition(e.operatorToken.end,true);increaseIndentIf(n,true);emitExpression(e.right);decreaseIndentIf(r,n)}function emitConditionalExpression(e){var t=needsIndentation(e,e.condition,e.questionToken);var r=needsIndentation(e,e.questionToken,e.whenTrue);var n=needsIndentation(e,e.whenTrue,e.colonToken);var i=needsIndentation(e,e.colonToken,e.whenFalse);emitExpression(e.condition);increaseIndentIf(t,true);emit(e.questionToken);increaseIndentIf(r,true);emitExpression(e.whenTrue);decreaseIndentIf(t,r);increaseIndentIf(n,true);emit(e.colonToken);increaseIndentIf(i,true);emitExpression(e.whenFalse);decreaseIndentIf(n,i)}function emitTemplateExpression(e){emit(e.head);emitList(e,e.templateSpans,262144)}function emitYieldExpression(e){emitTokenWithComment(117,e.pos,writeKeyword,e);emit(e.asteriskToken);emitExpressionWithLeadingSpace(e.expression)}function emitSpreadExpression(e){emitTokenWithComment(25,e.pos,writePunctuation,e);emitExpression(e.expression)}function emitClassExpression(e){generateNameIfNeeded(e.name);emitClassDeclarationOrExpression(e)}function emitExpressionWithTypeArguments(e){emitExpression(e.expression);emitTypeArguments(e,e.typeArguments)}function emitAsExpression(e){emitExpression(e.expression);if(e.type){writeSpace();writeKeyword("as");writeSpace();emit(e.type)}}function emitNonNullExpression(e){emitExpression(e.expression);writeOperator("!")}function emitMetaProperty(e){writeToken(e.keywordToken,e.pos,writePunctuation);writePunctuation(".");emit(e.name)}function emitTemplateSpan(e){emitExpression(e.expression);emit(e.literal)}function emitBlock(e){emitBlockStatements(e,!e.multiLine&&isEmptyBlock(e))}function emitBlockStatements(t,r){emitTokenWithComment(18,t.pos,writePunctuation,t);var n=r||e.getEmitFlags(t)&1?768:129;emitList(t,t.statements,n);emitTokenWithComment(19,t.statements.end,writePunctuation,t,!!(n&1))}function emitVariableStatement(e){emitModifiers(e,e.modifiers);emit(e.declarationList);writeTrailingSemicolon()}function emitEmptyStatement(e){if(e){writePunctuation(";")}else{writeTrailingSemicolon()}}function emitExpressionStatement(t){emitExpression(t.expression);if(!e.isJsonSourceFile(y)||e.nodeIsSynthesized(t.expression)){writeTrailingSemicolon()}}function emitIfStatement(e){var t=emitTokenWithComment(91,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.thenStatement);if(e.elseStatement){writeLineOrSpace(e);emitTokenWithComment(83,e.thenStatement.end,writeKeyword,e);if(e.elseStatement.kind===222){writeSpace();emit(e.elseStatement)}else{emitEmbeddedStatement(e,e.elseStatement)}}}function emitWhileClause(e,t){var r=emitTokenWithComment(107,t,writeKeyword,e);writeSpace();emitTokenWithComment(20,r,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e)}function emitDoStatement(t){emitTokenWithComment(82,t.pos,writeKeyword,t);emitEmbeddedStatement(t,t.statement);if(e.isBlock(t.statement)){writeSpace()}else{writeLineOrSpace(t)}emitWhileClause(t,t.statement.end);writePunctuation(";")}function emitWhileStatement(e){emitWhileClause(e,e.pos);emitEmbeddedStatement(e,e.statement)}function emitForStatement(e){var t=emitTokenWithComment(89,e.pos,writeKeyword,e);writeSpace();var r=emitTokenWithComment(20,t,writePunctuation,e);emitForBinding(e.initializer);r=emitTokenWithComment(26,e.initializer?e.initializer.end:r,writePunctuation,e);emitExpressionWithLeadingSpace(e.condition);r=emitTokenWithComment(26,e.condition?e.condition.end:r,writePunctuation,e);emitExpressionWithLeadingSpace(e.incrementor);emitTokenWithComment(21,e.incrementor?e.incrementor.end:r,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitForInStatement(e){var t=emitTokenWithComment(89,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitForBinding(e.initializer);writeSpace();emitTokenWithComment(93,e.initializer.end,writeKeyword,e);writeSpace();emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitForOfStatement(e){var t=emitTokenWithComment(89,e.pos,writeKeyword,e);writeSpace();emitWithTrailingSpace(e.awaitModifier);emitTokenWithComment(20,t,writePunctuation,e);emitForBinding(e.initializer);writeSpace();emitTokenWithComment(147,e.initializer.end,writeKeyword,e);writeSpace();emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitForBinding(e){if(e!==undefined){if(e.kind===238){emit(e)}else{emitExpression(e)}}}function emitContinueStatement(e){emitTokenWithComment(78,e.pos,writeKeyword,e);emitWithLeadingSpace(e.label);writeTrailingSemicolon()}function emitBreakStatement(e){emitTokenWithComment(73,e.pos,writeKeyword,e);emitWithLeadingSpace(e.label);writeTrailingSemicolon()}function emitTokenWithComment(t,r,n,i,a){var o=e.getParseTreeNode(i);var s=o&&o.kind===i.kind;var c=r;if(s){r=e.skipTrivia(y.text,r)}if(emitLeadingCommentsOfPosition&&s&&i.pos!==c){var u=a&&!e.positionsAreOnSameLine(c,r,y);if(u){increaseIndent()}emitLeadingCommentsOfPosition(c);if(u){decreaseIndent()}}r=writeTokenText(t,n,r);if(emitTrailingCommentsOfPosition&&s&&i.end!==r){emitTrailingCommentsOfPosition(r,true)}return r}function emitReturnStatement(e){emitTokenWithComment(97,e.pos,writeKeyword,e);emitExpressionWithLeadingSpace(e.expression);writeTrailingSemicolon()}function emitWithStatement(e){var t=emitTokenWithComment(108,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitSwitchStatement(e){var t=emitTokenWithComment(99,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);writeSpace();emit(e.caseBlock)}function emitLabeledStatement(e){emit(e.label);emitTokenWithComment(57,e.label.end,writePunctuation,e);writeSpace();emit(e.statement)}function emitThrowStatement(e){emitTokenWithComment(101,e.pos,writeKeyword,e);emitExpressionWithLeadingSpace(e.expression);writeTrailingSemicolon()}function emitTryStatement(e){emitTokenWithComment(103,e.pos,writeKeyword,e);writeSpace();emit(e.tryBlock);if(e.catchClause){writeLineOrSpace(e);emit(e.catchClause)}if(e.finallyBlock){writeLineOrSpace(e);emitTokenWithComment(88,(e.catchClause||e.tryBlock).end,writeKeyword,e);writeSpace();emit(e.finallyBlock)}}function emitDebuggerStatement(e){writeToken(79,e.pos,writeKeyword);writeTrailingSemicolon()}function emitVariableDeclaration(e){emit(e.name);emitTypeAnnotation(e.type);emitInitializer(e.initializer,e.type?e.type.end:e.name.end,e)}function emitVariableDeclarationList(t){writeKeyword(e.isLet(t)?"let":e.isVarConst(t)?"const":"var");writeSpace();emitList(t,t.declarations,528)}function emitFunctionDeclaration(e){emitFunctionDeclarationOrExpression(e)}function emitFunctionDeclarationOrExpression(e){emitDecorators(e,e.decorators);emitModifiers(e,e.modifiers);writeKeyword("function");emit(e.asteriskToken);writeSpace();emitIdentifierName(e.name);emitSignatureAndBody(e,emitSignatureHead)}function emitBlockCallback(e,t){emitBlockFunctionBody(t)}function emitSignatureAndBody(t,r){var n=t.body;if(n){if(e.isBlock(n)){var i=e.getEmitFlags(t)&65536;if(i){increaseIndent()}pushNameGenerationScope(t);e.forEach(t.parameters,generateNames);generateNames(t.body);r(t);if(o){o(4,n,emitBlockCallback)}else{emitBlockFunctionBody(n)}popNameGenerationScope(t);if(i){decreaseIndent()}}else{r(t);writeSpace();emitExpression(n)}}else{r(t);writeTrailingSemicolon()}}function emitSignatureHead(e){emitTypeParameters(e,e.typeParameters);emitParameters(e,e.parameters);emitTypeAnnotation(e.type)}function shouldEmitBlockFunctionBodyOnSingleLine(t){if(e.getEmitFlags(t)&1){return true}if(t.multiLine){return false}if(!e.nodeIsSynthesized(t)&&!e.rangeIsOnSingleLine(t,y)){return false}if(shouldWriteLeadingLineTerminator(t,t.statements,2)||shouldWriteClosingLineTerminator(t,t.statements,2)){return false}var r;for(var n=0,i=t.statements;n")}function emitJsxFragment(e){emit(e.openingFragment);emitList(e,e.children,262144);emit(e.closingFragment)}function emitJsxOpeningElementOrFragment(t){writePunctuation("<");if(e.isJsxOpeningElement(t)){emitJsxTagName(t.tagName);if(t.attributes.properties&&t.attributes.properties.length>0){writeSpace()}emit(t.attributes)}writePunctuation(">")}function emitJsxText(e){E.writeLiteral(getTextOfNode(e,true))}function emitJsxClosingElementOrFragment(t){writePunctuation("")}function emitJsxAttributes(e){emitList(e,e.properties,262656)}function emitJsxAttribute(e){emit(e.name);emitNodeWithPrefix("=",writePunctuation,e.initializer,emit)}function emitJsxSpreadAttribute(e){writePunctuation("{...");emitExpression(e.expression);writePunctuation("}")}function emitJsxExpression(e){if(e.expression){writePunctuation("{");emit(e.dotDotDotToken);emitExpression(e.expression);writePunctuation("}")}}function emitJsxTagName(e){if(e.kind===72){emitExpression(e)}else{emit(e)}}function emitCaseClause(e){emitTokenWithComment(74,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression);emitCaseOrDefaultClauseRest(e,e.statements,e.expression.end)}function emitDefaultClause(e){var t=emitTokenWithComment(80,e.pos,writeKeyword,e);emitCaseOrDefaultClauseRest(e,e.statements,t)}function emitCaseOrDefaultClauseRest(t,r,n){var i=r.length===1&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],y));var a=163969;if(i){writeToken(57,n,writePunctuation,t);writeSpace();a&=~(1|128)}else{emitTokenWithComment(57,n,writePunctuation,t)}emitList(t,r,a)}function emitHeritageClause(e){writeSpace();writeTokenText(e.token,writeKeyword);writeSpace();emitList(e,e.types,528)}function emitCatchClause(e){var t=emitTokenWithComment(75,e.pos,writeKeyword,e);writeSpace();if(e.variableDeclaration){emitTokenWithComment(20,t,writePunctuation,e);emit(e.variableDeclaration);emitTokenWithComment(21,e.variableDeclaration.end,writePunctuation,e);writeSpace()}emit(e.block)}function emitPropertyAssignment(t){emit(t.name);writePunctuation(":");writeSpace();var r=t.initializer;if(emitTrailingCommentsOfPosition&&(e.getEmitFlags(r)&512)===0){var n=e.getCommentRange(r);emitTrailingCommentsOfPosition(n.pos)}emitExpression(r)}function emitShorthandPropertyAssignment(e){emit(e.name);if(e.objectAssignmentInitializer){writeSpace();writePunctuation("=");writeSpace();emitExpression(e.objectAssignmentInitializer)}}function emitSpreadAssignment(e){if(e.expression){emitTokenWithComment(25,e.pos,writePunctuation,e);emitExpression(e.expression)}}function emitEnumMember(e){emit(e.name);emitInitializer(e.initializer,e.name.end,e)}function emitJSDoc(e){k("/**");if(e.comment){var t=e.comment.split(/\r\n?|\n/g);for(var r=0,n=t;r');writeLine()}if(y&&y.moduleName){writeComment('/// ');writeLine()}if(y&&y.amdDependencies){for(var i=0,a=y.amdDependencies;i')}else{writeComment('/// ')}writeLine()}}for(var s=0,c=t;s');writeLine()}for(var l=0,f=r;l');writeLine()}for(var d=0,p=n;d');writeLine()}}function emitSourceFileWorker(t){var r=t.statements;pushNameGenerationScope(t);e.forEach(t.statements,generateNames);emitHelpers(t);var n=e.findIndex(r,function(t){return!e.isPrologueDirective(t)});emitTripleSlashDirectivesIfNeeded(t);emitList(t,r,1,n===-1?r.length:n);popNameGenerationScope(t)}function emitPartiallyEmittedExpression(e){emitExpression(e.expression)}function emitCommaList(e){emitExpressionList(e,e.elements,528)}function emitPrologueDirectives(t,r,n){for(var i=0;i0){writeLine()}emit(a);if(n){n.set(a.expression.text,true)}}}else{return i}}return t.length}function emitPrologueDirectivesIfNeeded(t){if(e.isSourceFile(t)){setSourceFile(t);emitPrologueDirectives(t.statements)}else{var r=e.createMap();for(var n=0,i=t.sourceFiles;n=n.length||o===0;if(c&&i&32768){if(u){u(n)}if(l){l(n)}return}if(i&15360){writePunctuation(getOpeningBracket(i));if(c&&!s){emitTrailingCommentsOfPosition(n.pos,true)}}if(u){u(n)}if(c){if(i&1){writeLine()}else if(i&256&&!(i&524288)){writeSpace()}}else{var f=(i&262144)===0;var d=f;if(shouldWriteLeadingLineTerminator(r,n,i)){writeLine();d=false}else if(i&256){writeSpace()}if(i&128){increaseIndent()}var p=void 0;var g=false;for(var _=0;_0||o>0)&&a!==o){if(!c){emitLeadingComments(a,s)}if(!c||a>=0&&(n&512)!==0){I=a}if(!u||o>=0&&(n&1024)!==0){w=o;if(r.kind===238){M=o}}}e.forEach(e.getSyntheticLeadingComments(r),emitLeadingSynthesizedComment);U();var p=getNextPipelinePhase(2,r);if(n&2048){j=true;p(t,r);j=false}else{p(t,r)}W();e.forEach(e.getSyntheticTrailingComments(r),emitTrailingSynthesizedComment);if((a>0||o>0)&&a!==o){I=l;w=f;M=d;if(!u&&s){emitTrailingComments(o)}}U()}function emitLeadingSynthesizedComment(e){if(e.kind===2){E.writeLine()}writeSynthesizedComment(e);if(e.hasTrailingNewLine||e.kind===2){E.writeLine()}else{E.writeSpace(" ")}}function emitTrailingSynthesizedComment(e){if(!E.isAtStartOfLine()){E.writeSpace(" ")}writeSynthesizedComment(e);if(e.hasTrailingNewLine){E.writeLine()}}function writeSynthesizedComment(t){var r=formatSynthesizedComment(t);var n=t.kind===3?e.computeLineStarts(r):undefined;e.writeCommentRange(r,n,E,0,r.length,g)}function formatSynthesizedComment(e){return e.kind===3?"/*"+e.text+"*/":"//"+e.text}function emitBodyWithDetachedComments(t,r,n){W();var i=r.pos,a=r.end;var o=e.getEmitFlags(t);var s=i<0||(o&512)!==0;var c=j||a<0||(o&1024)!==0;if(!s){emitDetachedCommentsAndUpdateCommentsInfo(r)}U();if(o&2048&&!j){j=true;n(t);j=false}else{n(t)}W();if(!c){emitLeadingComments(r.end,true);if(B&&!E.isAtStartOfLine()){E.writeLine()}}U()}function emitLeadingComments(e,t){B=false;if(t){forEachLeadingCommentToEmit(e,emitLeadingComment)}else if(e===0){forEachLeadingCommentToEmit(e,emitTripleSlashLeadingComment)}}function emitTripleSlashLeadingComment(e,t,r,n,i){if(isTripleSlashComment(e,t)){emitLeadingComment(e,t,r,n,i)}}function shouldWriteComment(r,n){if(t.onlyPrintJsDocStyle){return e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n)}return true}function emitLeadingComment(t,r,n,i,a){if(!shouldWriteComment(y.text,t))return;if(!B){e.emitNewLineBeforeLeadingCommentOfPosition(getCurrentLineMap(),E,a,t);B=true}emitPos(t);e.writeCommentRange(y.text,getCurrentLineMap(),E,t,r,g);emitPos(r);if(i){E.writeLine()}else if(n===3){E.writeSpace(" ")}}function emitLeadingCommentsOfPosition(e){if(j||e===-1){return}emitLeadingComments(e,true)}function emitTrailingComments(e){forEachTrailingCommentToEmit(e,emitTrailingComment)}function emitTrailingComment(t,r,n,i){if(!shouldWriteComment(y.text,t))return;if(!E.isAtStartOfLine()){E.writeSpace(" ")}emitPos(t);e.writeCommentRange(y.text,getCurrentLineMap(),E,t,r,g);emitPos(r);if(i){E.writeLine()}}function emitTrailingCommentsOfPosition(e,t){if(j){return}W();forEachTrailingCommentToEmit(e,t?emitTrailingComment:emitTrailingCommentOfPosition);U()}function emitTrailingCommentOfPosition(t,r,n,i){emitPos(t);e.writeCommentRange(y.text,getCurrentLineMap(),E,t,r,g);emitPos(r);if(i){E.writeLine()}else{E.writeSpace(" ")}}function forEachLeadingCommentToEmit(t,r){if(y&&(I===-1||t!==I)){if(hasDetachedComments(t)){forEachLeadingCommentWithoutDetachedComments(r)}else{e.forEachLeadingCommentRange(y.text,t,r,t)}}}function forEachTrailingCommentToEmit(t,r){if(y&&(w===-1||t!==w&&t!==M)){e.forEachTrailingCommentRange(y.text,t,r)}}function hasDetachedComments(t){return R!==undefined&&e.last(R).nodePos===t}function forEachLeadingCommentWithoutDetachedComments(t){var r=e.last(R).detachedCommentEndPos;if(R.length-1){R.pop()}else{R=undefined}e.forEachLeadingCommentRange(y.text,r,t,r)}function emitDetachedCommentsAndUpdateCommentsInfo(t){var r=e.emitDetachedComments(y.text,getCurrentLineMap(),E,emitComment,t,g,j);if(r){if(R){R.push(r)}else{R=[r]}}}function emitComment(t,r,n,i,a,o){if(!shouldWriteComment(y.text,i))return;emitPos(i);e.writeCommentRange(t,r,n,i,a,o);emitPos(a)}function isTripleSlashComment(t,r){return e.isRecognizedTripleSlashComment(y.text,t,r)}function pipelineEmitWithSourceMap(t,r){var n=getNextPipelinePhase(3,r);if(e.isUnparsedSource(r)&&r.sourceMapText!==undefined){var i=e.tryParseRawSourceMap(r.sourceMapText);if(i){O.appendSourceMap(E.getLine(),E.getColumn(),i,r.sourceMapPath)}n(t,r)}else{var a=e.getSourceMapRange(r),o=a.pos,s=a.end,c=a.source,u=c===void 0?F:c;var l=e.getEmitFlags(r);if(r.kind!==307&&(l&16)===0&&o>=0){emitSourcePos(u,skipSourceTrivia(u,o))}if(l&64){A=true;n(t,r);A=false}else{n(t,r)}if(r.kind!==307&&(l&32)===0&&s>=0){emitSourcePos(u,s)}}}function skipSourceTrivia(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(F.text,r)}function emitPos(t){if(A||e.positionIsSynthesized(t)||isJsonSourceMapSource(F)){return}var r=e.getLineAndCharacterOfPosition(y,t),n=r.line,i=r.character;O.addMapping(E.getLine(),E.getColumn(),P,n,i,undefined)}function emitSourcePos(e,t){if(e!==F){var r=F;setSourceMapSource(e);emitPos(t);setSourceMapSource(r)}else{emitPos(t)}}function emitTokenWithSourceMap(t,r,n,i,a){if(A||t&&e.isInJsonFile(t)){return a(r,n,i)}var o=t&&t.emitNode;var s=o&&o.flags||0;var c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r];var u=c&&c.source||F;i=skipSourceTrivia(u,c?c.pos:i);if((s&128)===0&&i>=0){emitSourcePos(u,i)}i=a(r,n,i);if(c)i=c.end;if((s&256)===0&&i>=0){emitSourcePos(u,i)}return i}function setSourceMapSource(e){if(A){return}F=e;if(isJsonSourceMapSource(e)){return}P=O.addSource(e.fileName);if(t.inlineSources){O.setSourceContent(P,e.text)}}function isJsonSourceMapSource(t){return e.fileExtensionIs(t.fileName,".json")}}e.createPrinter=createPrinter;function createBracketsMap(){var e=[];e[1024]=["{","}"];e[2048]=["(",")"];e[4096]=["<",">"];e[8192]=["[","]"];return e}function getOpeningBracket(e){return r[e&15360][0]}function getClosingBracket(e){return r[e&15360][1]}var a;(function(e){e[e["Auto"]=0]="Auto";e[e["CountMask"]=268435455]="CountMask";e[e["_i"]=268435456]="_i"})(a||(a={}))})(s||(s={}));var s;(function(e){function createCachedDirectoryStructureHost(t,r,n){if(!t.getDirectories||!t.readDirectory){return undefined}var i=e.createMap();var a=e.createGetCanonicalFileName(n);return{useCaseSensitiveFileNames:n,fileExists:fileExists,readFile:function(e,r){return t.readFile(e,r)},directoryExists:t.directoryExists&&directoryExists,getDirectories:getDirectories,readDirectory:readDirectory,createDirectory:t.createDirectory&&createDirectory,writeFile:t.writeFile&&writeFile,addOrDeleteFileOrDirectory:addOrDeleteFileOrDirectory,addOrDeleteFile:addOrDeleteFile,clearCache:clearCache};function toPath(t){return e.toPath(t,r,a)}function getCachedFileSystemEntries(t){return i.get(e.ensureTrailingDirectorySeparator(t))}function getCachedFileSystemEntriesForBaseDir(t){return getCachedFileSystemEntries(e.getDirectoryPath(t))}function getBaseNameOfFileName(t){return e.getBaseFileName(e.normalizePath(t))}function createCachedFileSystemEntries(r,n){var a={files:e.map(t.readDirectory(r,undefined,undefined,["*.*"]),getBaseNameOfFileName)||[],directories:t.getDirectories(r)||[]};i.set(e.ensureTrailingDirectorySeparator(n),a);return a}function tryReadDirectory(t,r){r=e.ensureTrailingDirectorySeparator(r);var n=getCachedFileSystemEntries(r);if(n){return n}try{return createCachedFileSystemEntries(t,r)}catch(t){e.Debug.assert(!i.has(e.ensureTrailingDirectorySeparator(r)));return undefined}}function fileNameEqual(e,t){return a(e)===a(t)}function hasEntry(t,r){return e.some(t,function(e){return fileNameEqual(e,r)})}function updateFileSystemEntry(t,r,n){if(hasEntry(t,r)){if(!n){return e.filterMutate(t,function(e){return!fileNameEqual(e,r)})}}else if(n){return t.push(r)}}function writeFile(e,r,n){var i=toPath(e);var a=getCachedFileSystemEntriesForBaseDir(i);if(a){updateFilesOfFileSystemEntry(a,getBaseNameOfFileName(e),true)}return t.writeFile(e,r,n)}function fileExists(e){var r=toPath(e);var n=getCachedFileSystemEntriesForBaseDir(r);return n&&hasEntry(n.files,getBaseNameOfFileName(e))||t.fileExists(e)}function directoryExists(r){var n=toPath(r);return i.has(e.ensureTrailingDirectorySeparator(n))||t.directoryExists(r)}function createDirectory(e){var r=toPath(e);var n=getCachedFileSystemEntriesForBaseDir(r);var i=getBaseNameOfFileName(e);if(n){updateFileSystemEntry(n.directories,i,true)}t.createDirectory(e)}function getDirectories(e){var r=toPath(e);var n=tryReadDirectory(e,r);if(n){return n.directories.slice()}return t.getDirectories(e)}function readDirectory(i,a,o,s,c){var u=toPath(i);var l=tryReadDirectory(i,u);if(l){return e.matchFiles(i,a,o,s,n,r,c,getFileSystemEntries)}return t.readDirectory(i,a,o,s,c);function getFileSystemEntries(t){var r=toPath(t);if(r===u){return l}return tryReadDirectory(t,r)||e.emptyFileSystemEntries}}function addOrDeleteFileOrDirectory(e,r){var n=getCachedFileSystemEntries(r);if(n){clearCache();return undefined}var i=getCachedFileSystemEntriesForBaseDir(r);if(!i){return undefined}if(!t.directoryExists){clearCache();return undefined}var a=getBaseNameOfFileName(e);var o={fileExists:t.fileExists(r),directoryExists:t.directoryExists(r)};if(o.directoryExists||hasEntry(i.directories,a)){clearCache()}else{updateFilesOfFileSystemEntry(i,a,o.fileExists)}return o}function addOrDeleteFile(t,r,n){if(n===e.FileWatcherEventKind.Changed){return}var i=getCachedFileSystemEntriesForBaseDir(r);if(i){updateFilesOfFileSystemEntry(i,getBaseNameOfFileName(t),n===e.FileWatcherEventKind.Created)}}function updateFilesOfFileSystemEntry(e,t,r){updateFileSystemEntry(e.files,t,r)}function clearCache(){i.clear()}}e.createCachedDirectoryStructureHost=createCachedDirectoryStructureHost;var t;(function(e){e[e["None"]=0]="None";e[e["Partial"]=1]="Partial";e[e["Full"]=2]="Full"})(t=e.ConfigFileProgramReloadLevel||(e.ConfigFileProgramReloadLevel={}));function updateMissingFilePathsWatch(t,r,n){var i=t.getMissingFilePaths();var a=e.arrayToSet(i);e.mutateMap(r,a,{createNewValue:n,onDeleteValue:e.closeFileWatcher})}e.updateMissingFilePathsWatch=updateMissingFilePathsWatch;function updateWatchingWildcardDirectories(t,r,n){e.mutateMap(t,r,{createNewValue:createWildcardDirectoryWatcher,onDeleteValue:closeFileWatcherOf,onExistingValue:updateWildcardDirectoryWatcher});function createWildcardDirectoryWatcher(e,t){return{watcher:n(e,t),flags:t}}function updateWildcardDirectoryWatcher(e,r,n){if(e.flags===r){return}e.watcher.close();t.set(n,createWildcardDirectoryWatcher(n,r))}}e.updateWatchingWildcardDirectories=updateWatchingWildcardDirectories;function isEmittedFileOfProgram(e,t){if(!e){return false}return e.isEmittedFile(t)}e.isEmittedFileOfProgram=isEmittedFileOfProgram;var r;(function(e){e[e["None"]=0]="None";e[e["TriggerOnly"]=1]="TriggerOnly";e[e["Verbose"]=2]="Verbose"})(r=e.WatchLogLevel||(e.WatchLogLevel={}));function getWatchFactory(e,t,r){return getWatchFactoryWith(e,t,r,watchFile,watchDirectory)}e.getWatchFactory=getWatchFactory;function getWatchFactoryWith(e,t,n,i,a){var o=getCreateFileWatcher(e,i);var s=e===r.None?watchFilePath:o;var c=getCreateFileWatcher(e,a);return{watchFile:function(e,r,a,s,c,u){return o(e,r,a,s,undefined,c,u,i,t,"FileWatcher",n)},watchFilePath:function(e,r,a,o,c,u,l){return s(e,r,a,o,c,u,l,i,t,"FileWatcher",n)},watchDirectory:function(e,r,i,o,s,u){return c(e,r,i,o,undefined,s,u,a,t,"DirectoryWatcher",n)}};function watchFilePath(e,t,r,n,a){return i(e,t,function(e,t){return r(e,t,a)},n)}}function watchFile(e,t,r,n){return e.watchFile(t,r,n)}function watchDirectory(e,t,r,n){return e.watchDirectory(t,r,(n&1)!==0)}function getCreateFileWatcher(e,t){switch(e){case r.None:return t;case r.TriggerOnly:return createFileWatcherWithTriggerLogging;case r.Verbose:return t===watchDirectory?createDirectoryWatcherWithLogging:createFileWatcherWithLogging}}function createFileWatcherWithLogging(e,t,r,n,i,a,o,s,c,u,l){c(u+":: Added:: "+getWatchInfo(t,n,a,o,l));var f=createFileWatcherWithTriggerLogging(e,t,r,n,i,a,o,s,c,u,l);return{close:function(){c(u+":: Close:: "+getWatchInfo(t,n,a,o,l));f.close()}}}function createDirectoryWatcherWithLogging(t,r,n,i,a,o,s,c,u,l,f){var d=l+":: Added:: "+getWatchInfo(r,i,o,s,f);u(d);var p=e.timestamp();var g=createFileWatcherWithTriggerLogging(t,r,n,i,a,o,s,c,u,l,f);var _=e.timestamp()-p;u("Elapsed:: "+_+"ms "+d);return{close:function(){var t=l+":: Close:: "+getWatchInfo(r,i,o,s,f);u(t);var n=e.timestamp();g.close();var a=e.timestamp()-n;u("Elapsed:: "+a+"ms "+t)}}}function createFileWatcherWithTriggerLogging(t,r,n,i,a,o,s,c,u,l,f){return c(t,r,function(t,c){var d=l+":: Triggered with "+t+" "+(c!==undefined?c:"")+":: "+getWatchInfo(r,i,o,s,f);u(d);var p=e.timestamp();n(t,c,a);var g=e.timestamp()-p;u("Elapsed:: "+g+"ms "+d)},i)}function getWatchInfo(e,t,r,n,i){return"WatchInfo: "+e+" "+t+" "+(i?i(r,n):r)}function closeFileWatcherOf(e){e.watcher.close()}e.closeFileWatcherOf=closeFileWatcherOf})(s||(s={}));var s;(function(e){var t=/(^\s*$)|(^\s*\/\/\/?\s*(@ts-ignore)?)/;function findConfigFile(t,r,n){if(n===void 0){n="tsconfig.json"}return e.forEachAncestorDirectory(t,function(t){var i=e.combinePaths(t,n);return r(i)?i:undefined})}e.findConfigFile=findConfigFile;function resolveTripleslashReference(t,r){var n=e.getDirectoryPath(r);var i=e.isRootedDiskPath(t)?t:e.combinePaths(n,t);return e.normalizePath(i)}e.resolveTripleslashReference=resolveTripleslashReference;function computeCommonSourceDirectoryOfFilenames(t,r,n){var i;var a=e.forEach(t,function(t){var a=e.getNormalizedPathComponents(t,r);a.pop();if(!i){i=a;return}var o=Math.min(i.length,a.length);for(var s=0;se.getRootLength(t)&&!directoryExists(t)){var r=e.getDirectoryPath(t);ensureDirectoriesExist(r);if(c.createDirectory){c.createDirectory(t)}else{n.createDirectory(t)}}}var a;function writeFileIfUpdated(t,r,i){if(!a){a=e.createMap()}var o=n.createHash(r);var s=n.getModifiedTime(t);if(s){var c=a.get(t);if(c&&c.byteOrderMark===i&&c.hash===o&&c.mtime.getTime()===s.getTime()){return}}n.writeFile(t,r,i);var u=n.getModifiedTime(t)||e.missingFileModifiedTime;a.set(t,{hash:o,byteOrderMark:i,mtime:u})}function writeFile(r,i,a,o){try{e.performance.mark("beforeIOWrite");ensureDirectoriesExist(e.getDirectoryPath(e.normalizePath(r)));if(e.isWatchSet(t)&&n.createHash&&n.getModifiedTime){writeFileIfUpdated(r,i,a)}else{n.writeFile(r,i,a)}e.performance.mark("afterIOWrite");e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){if(o){o(e.message)}}}function getDefaultLibLocation(){return e.getDirectoryPath(e.normalizePath(n.getExecutingFilePath()))}var o=e.getNewLineCharacter(t,function(){return n.newLine});var s=n.realpath&&function(e){return n.realpath(e)};var c={getSourceFile:getSourceFile,getDefaultLibLocation:getDefaultLibLocation,getDefaultLibFileName:function(t){return e.combinePaths(getDefaultLibLocation(),e.getDefaultLibFileName(t))},writeFile:writeFile,getCurrentDirectory:e.memoize(function(){return n.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return n.useCaseSensitiveFileNames},getCanonicalFileName:getCanonicalFileName,getNewLine:function(){return o},fileExists:function(e){return n.fileExists(e)},readFile:function(e){return n.readFile(e)},trace:function(e){return n.write(e+o)},directoryExists:function(e){return n.directoryExists(e)},getEnvironmentVariable:function(e){return n.getEnvironmentVariable?n.getEnvironmentVariable(e):""},getDirectories:function(e){return n.getDirectories(e)},realpath:s,readDirectory:function(e,t,r,i,a){return n.readDirectory(e,t,r,i,a)},createDirectory:function(e){return n.createDirectory(e)}};return c}e.createCompilerHostWorker=createCompilerHostWorker;function changeCompilerHostToUseCache(t,r,n){var i=t.readFile;var a=t.fileExists;var o=t.directoryExists;var s=t.createDirectory;var c=t.writeFile;var u=t.getSourceFile;var l=e.createMap();var f=e.createMap();var d=e.createMap();var p=e.createMap();var g=function(e){var t=r(e);var n=l.get(t);if(n!==undefined)return n||undefined;return _(t,e)};var _=function(e,r){var n=i.call(t,r);l.set(e,n||false);return n};t.readFile=function(n){var a=r(n);var o=l.get(a);if(o!==undefined)return o;if(!e.fileExtensionIs(n,".json")){return i.call(t,n)}return _(a,n)};if(n){t.getSourceFile=function(n,i,a,o){var s=r(n);var c=p.get(s);if(c)return c;var l=u.call(t,n,i,a,o);if(l&&(e.isDeclarationFileName(n)||e.fileExtensionIs(n,".json"))){p.set(s,l)}return l}}t.fileExists=function(e){var n=r(e);var i=f.get(n);if(i!==undefined)return i;var o=a.call(t,e);f.set(n,!!o);return o};t.writeFile=function(e,i,a,o,s){var u=r(e);f.delete(u);var d=l.get(u);if(d&&d!==i){l.delete(u);p.delete(u)}else if(n){var g=p.get(u);if(g&&g.text!==i){p.delete(u)}}c.call(t,e,i,a,o,s)};if(o&&s){t.directoryExists=function(e){var n=r(e);var i=d.get(n);if(i!==undefined)return i;var a=o.call(t,e);d.set(n,!!a);return a};t.createDirectory=function(e){var n=r(e);d.delete(n);s.call(t,e)}}return{originalReadFile:i,originalFileExists:a,originalDirectoryExists:o,originalCreateDirectory:s,originalWriteFile:c,originalGetSourceFile:u,readFileWithCache:g}}e.changeCompilerHostToUseCache=changeCompilerHostToUseCache;function getPreEmitDiagnostics(t,r,n){var i=t.getConfigFileParsingDiagnostics().concat(t.getOptionsDiagnostics(n),t.getSyntacticDiagnostics(r,n),t.getGlobalDiagnostics(n),t.getSemanticDiagnostics(r,n));if(e.getEmitDeclarations(t.getCompilerOptions())){e.addRange(i,t.getDeclarationDiagnostics(r,n))}return e.sortAndDeduplicateDiagnostics(i)}e.getPreEmitDiagnostics=getPreEmitDiagnostics;function formatDiagnostics(e,t){var r="";for(var n=0,i=e;n=4;var v=(_+1+"").length;if(h){v=Math.max(s.length,v)}var T="";for(var S=d;S<=_;S++){T+=l.getNewLine();if(h&&d+10||s.length>0){return{diagnostics:e.concatenate(c,s),sourceMaps:undefined,emittedFiles:undefined,emitSkipped:true}}}}var u=getDiagnosticsProducingTypeChecker().getEmitResolver(l.outFile||l.out?undefined:r,i);e.performance.mark("beforeEmit");var f=a?[]:e.getTransformers(l,o);var d=e.emitFiles(u,getEmitHost(n),r,a,f,o&&o.afterDeclarations);e.performance.mark("afterEmit");e.performance.measure("Emit","beforeEmit","afterEmit");return d}function getSourceFile(e){return getSourceFileByPath(toPath(e))}function getSourceFileByPath(e){return X.get(e)}function getDiagnosticsHelper(t,r,n){if(t){return r(t,n)}return e.sortAndDeduplicateDiagnostics(e.flatMap(g.getSourceFiles(),function(e){if(n){n.throwIfCancellationRequested()}return r(e,n)}))}function getSyntacticDiagnostics(e,t){return getDiagnosticsHelper(e,getSyntacticDiagnosticsForFile,t)}function getSemanticDiagnostics(e,t){return getDiagnosticsHelper(e,getSemanticDiagnosticsForFile,t)}function getDeclarationDiagnostics(e,t){var r=g.getCompilerOptions();if(!e||r.out||r.outFile){return getDeclarationDiagnosticsWorker(e,t)}else{return getDiagnosticsHelper(e,getDeclarationDiagnosticsForFile,t)}}function getSyntacticDiagnosticsForFile(t){if(e.isSourceFileJS(t)){if(!t.additionalSyntacticDiagnostics){t.additionalSyntacticDiagnostics=getJSSyntacticDiagnosticsForFile(t)}return e.concatenate(t.additionalSyntacticDiagnostics,t.parseDiagnostics)}return t.parseDiagnostics}function runWithCancellationToken(t){try{return t()}catch(t){if(t instanceof e.OperationCanceledException){T=undefined;v=undefined}throw t}}function getSemanticDiagnosticsForFile(e,t){return getAndCacheDiagnostics(e,t,x,getSemanticDiagnosticsForFileNoCache)}function getSemanticDiagnosticsForFileNoCache(t,r){return runWithCancellationToken(function(){if(e.skipTypeChecking(t,l)){return e.emptyArray}var n=getDiagnosticsProducingTypeChecker();e.Debug.assert(!!t.bindDiagnostics);var i=e.isCheckJsEnabledForFile(t,l);var a=t.scriptKind===3||t.scriptKind===4||t.scriptKind===5||i||t.scriptKind===7;var o=a?t.bindDiagnostics:e.emptyArray;var s=a?n.getDiagnostics(t,r):e.emptyArray;var c=D.getDiagnostics(t.fileName);var u=L.getDiagnostics(t.fileName);var f;for(var d=0,p=[o,s,c,u,i?t.jsDocDiagnostics:undefined];d0){var s=n.text.slice(a[o-1],a[o]);var c=t.exec(s);if(!c){return true}if(c[3]){return false}o--}}return true}function getJSSyntacticDiagnosticsForFile(t){return runWithCancellationToken(function(){var r=[];var n=t;walk(t);return r;function walk(t){switch(n.kind){case 151:case 154:if(n.questionToken===t){r.push(createDiagnosticForNode(t,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));return}case 156:case 155:case 157:case 158:case 159:case 196:case 239:case 197:case 237:if(n.type===t){r.push(createDiagnosticForNode(t,e.Diagnostics.types_can_only_be_used_in_a_ts_file));return}}switch(t.kind){case 248:r.push(createDiagnosticForNode(t,e.Diagnostics.import_can_only_be_used_in_a_ts_file));return;case 254:if(t.isExportEquals){r.push(createDiagnosticForNode(t,e.Diagnostics.export_can_only_be_used_in_a_ts_file));return}break;case 273:var i=t;if(i.token===109){r.push(createDiagnosticForNode(t,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));return}break;case 241:r.push(createDiagnosticForNode(t,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));return;case 244:r.push(createDiagnosticForNode(t,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));return;case 242:r.push(createDiagnosticForNode(t,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));return;case 243:r.push(createDiagnosticForNode(t,e.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file));return;case 213:r.push(createDiagnosticForNode(t,e.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file));return;case 212:r.push(createDiagnosticForNode(t.type,e.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file));return;case 194:e.Debug.fail()}var a=n;n=t;e.forEachChild(t,walk,walkArray);n=a}function walkArray(t){if(n.decorators===t&&!l.experimentalDecorators){r.push(createDiagnosticForNode(n,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning))}switch(n.kind){case 240:case 156:case 155:case 157:case 158:case 159:case 196:case 239:case 197:if(t===n.typeParameters){r.push(createDiagnosticForNodeArray(t,e.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file));return}case 219:if(t===n.modifiers){return checkModifiers(t,n.kind===219)}break;case 154:if(t===n.modifiers){for(var i=0,a=t;i0);Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}});return o}function findSourceFile(t,r,n,i,a,o,s,c){var u=t;if(X.has(r)){var f=X.get(r);if(f&&l.forceConsistentCasingInFileNames){var d=t;var p=f.fileName;var g=toPath(p)!==toPath(d);if(g){d=getProjectReferenceRedirect(t)||t}if(e.getNormalizedAbsolutePath(p,R)!==e.getNormalizedAbsolutePath(d,R)){reportFileNamesDifferOnlyInCasingError(d,p,a,o,s)}}if(f&&O.get(f.path)&&N===0){O.set(f.path,false);if(!l.noResolve){processReferencedFiles(f,n);processTypeReferenceDirectives(f)}processLibReferenceDirectives(f);A.set(f.path,false);processImportedModules(f)}else if(f&&A.get(f.path)){if(N0);v.path=r;v.resolvedPath=toPath(t);v.originalFileName=u;if(F.useCaseSensitiveFileNames()){var x=r.toLowerCase();var C=Z.get(x);if(C){reportFileNamesDifferOnlyInCasingError(t,C.fileName,a,o,s)}else{Z.set(x,v)}}I=I||v.hasNoDefaultLib&&!i;if(!l.noResolve){processReferencedFiles(v,n);processTypeReferenceDirectives(v)}processLibReferenceDirectives(v);processImportedModules(v);if(n){_.push(v)}else{m.push(v)}}return v}function addFileToFilesByName(e,t,r){X.set(t,e);if(r){X.set(r,e)}}function getProjectReferenceRedirect(t){if(!ee||!ee.length||e.fileExtensionIs(t,".d.ts")||!e.fileExtensionIsOneOf(t,e.supportedTSExtensions)){return undefined}var r=getResolvedProjectReferenceToRedirect(t);if(!r){return undefined}var n=r.commandLine.options.outFile||r.commandLine.options.out;return n?e.changeExtension(n,".d.ts"):e.getOutputDeclarationFileName(t,r.commandLine)}function getResolvedProjectReferenceToRedirect(t){if(re===undefined){re=e.createMap();forEachResolvedProjectReference(function(e,t){if(e&&toPath(l.configFilePath)!==t){e.commandLine.fileNames.forEach(function(e){return re.set(toPath(e),t)})}})}var r=re.get(toPath(t));return r&&getResolvedProjectReferenceByPath(r)}function forEachResolvedProjectReference(e){return forEachProjectReference(d,ee,function(t,r,n){var i=(n?n.commandLine.projectReferences:d)[r];var a=toPath(resolveProjectReferencePath(i));return e(t,a)})}function forEachProjectReference(t,r,n,i){var a;return worker(t,r,undefined,n,i);function worker(t,r,n,i,o){if(o){var s=o(t,n);if(s){return s}}return e.forEach(r,function(t,r){if(e.contains(a,t)){return undefined}var s=i(t,r,n);if(s){return s}if(!t)return undefined;(a||(a=[])).push(t);return worker(t.commandLine.projectReferences,t.references,t,i,o)})}}function getResolvedProjectReferenceByPath(e){if(!te){return undefined}return te.get(e)||undefined}function processReferencedFiles(t,r){e.forEach(t.referencedFiles,function(e){var n=resolveTripleslashReference(e.fileName,t.originalFileName);processSourceFile(n,r,false,undefined,t,e.pos,e.end)})}function processTypeReferenceDirectives(t){var r=e.map(t.typeReferenceDirectives,function(e){return e.fileName.toLocaleLowerCase()});if(!r){return}var n=q(r,t.originalFileName,getResolvedProjectReferenceToRedirect(t.originalFileName));for(var i=0;ik;var d=u&&!getResolutionDiagnostic(l,a)&&!l.noResolve&&i1})){createDiagnosticForOptionName(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}}if(!l.noEmit&&l.allowJs&&e.getEmitDeclarations(l)){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs",getEmitDeclarationOptionName(l))}if(l.checkJs&&!l.allowJs){L.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs"))}if(l.emitDeclarationOnly){if(!e.getEmitDeclarations(l)){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite")}if(l.noEmit){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit")}}if(l.emitDecoratorMetadata&&!l.experimentalDecorators){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators")}if(l.jsxFactory){if(l.reactNamespace){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory")}if(!e.parseIsolatedEntityName(l.jsxFactory,p)){createOptionValueDiagnostic("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,l.jsxFactory)}}else if(l.reactNamespace&&!e.isIdentifierText(l.reactNamespace,p)){createOptionValueDiagnostic("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,l.reactNamespace)}if(!l.noEmit&&!l.suppressOutputPathCheck){var T=getEmitHost();var S=e.createMap();e.forEachEmittedFile(T,function(e){if(!l.emitDeclarationOnly){verifyEmitFilePath(e.jsFilePath,S)}verifyEmitFilePath(e.declarationFilePath,S)})}function verifyEmitFilePath(t,r){if(t){var n=toPath(t);if(X.has(n)){var i;if(!l.configFilePath){i=e.chainDiagnosticMessages(undefined,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)}i=e.chainDiagnosticMessages(i,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t);blockEmittingOfFile(t,e.createCompilerDiagnosticFromMessageChain(i))}var a=!F.useCaseSensitiveFileNames()?n.toLocaleLowerCase():n;if(r.has(a)){blockEmittingOfFile(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t))}else{r.set(a,true)}}}}function verifyProjectReferences(){forEachProjectReference(d,ee,function(t,r,n){var i=(n?n.commandLine.projectReferences:d)[r];var a=n&&n.sourceFile;if(!t){createDiagnosticForReference(a,r,e.Diagnostics.File_0_not_found,i.path);return}var o=t.commandLine.options;if(!o.composite){var s=n?n.commandLine.fileNames:u;if(s.length){createDiagnosticForReference(a,r,e.Diagnostics.Referenced_project_0_must_have_setting_composite_Colon_true,i.path)}}if(i.prepend){var c=o.outFile||o.out;if(c){if(!F.fileExists(c)){createDiagnosticForReference(a,r,e.Diagnostics.Output_file_0_from_project_1_does_not_exist,c,i.path)}}else{createDiagnosticForReference(a,r,e.Diagnostics.Cannot_prepend_project_0_because_it_does_not_have_outFile_set,i.path)}}})}function createDiagnosticForOptionPathKeyValue(t,r,n,i,a,o){var s=true;var c=getOptionPathsSyntax();for(var u=0,f=c;ur){L.add(e.createDiagnosticForNodeInSourceFile(l.configFile,m.elements[r],n,i,a,o));s=false}}}}if(s){L.add(e.createCompilerDiagnostic(n,i,a,o))}}function createDiagnosticForOptionPaths(t,r,n,i){var a=true;var o=getOptionPathsSyntax();for(var s=0,c=o;sr){L.add(e.createDiagnosticForNodeInSourceFile(t||l.configFile,o.elements[r],n,i,a))}else{L.add(e.createCompilerDiagnostic(n,i,a))}}function createDiagnosticForOption(t,r,n,i,a,o,s){var c=getCompilerOptionsObjectLiteralSyntax();var u=!c||!createOptionDiagnosticInObjectLiteralSyntax(c,t,r,n,i,a,o,s);if(u){L.add(e.createCompilerDiagnostic(i,a,o,s))}}function getCompilerOptionsObjectLiteralSyntax(){if(W===undefined){W=null;var t=e.getTsConfigObjectLiteralExpression(l.configFile);if(t){for(var r=0,n=e.getPropertyAssignment(t,"compilerOptions");r0){var a=t.getTypeChecker();for(var o=0,s=r.imports;o0){for(var f=0,d=r.referencedFiles;f1){addReferenceFromAmbientModule(S)}}return i;function addReferenceFromAmbientModule(t){for(var n=0,i=t.declarations;n0){l=o(d.outputFiles[0].text);if(s&&l!==u){updateExportedModules(n,d.exportedModulesFromDeclarationEmit,s)}}else{l=u}}i.set(n.path,l);return!u||l!==u}function updateExportedModules(t,r,n){if(!r){n.set(t.path,false);return}var i;r.forEach(function(e){return addExportedModule(getReferencedFileFromImportedModuleSymbol(e))});n.set(t.path,i||false);function addExportedModule(t){if(t){if(!i){i=e.createMap()}i.set(t,true)}}}function updateExportedFilesMapFromCache(t,r){if(r){e.Debug.assert(!!t.exportedModulesMap);r.forEach(function(e,r){if(e){t.exportedModulesMap.set(r,e)}else{t.exportedModulesMap.delete(r)}})}}t.updateExportedFilesMapFromCache=updateExportedFilesMapFromCache;function getAllDependencies(t,r,n){var i;var a=r.getCompilerOptions();if(a.outFile||a.out){return getAllFileNames(t,r)}if(!t.referencedMap||isFileAffectingGlobalScope(n)){return getAllFileNames(t,r)}var o=e.createMap();var s=[n.path];while(s.length){var c=s.pop();if(!o.has(c)){o.set(c,true);var u=t.referencedMap.get(c);if(u){var l=u.keys();for(var f=l.next(),d=f.value,p=f.done;!p;i=l.next(),d=i.value,p=i.done,i){s.push(d)}}}}return e.arrayFrom(e.mapDefinedIterator(o.keys(),function(e){var t=r.getSourceFileByPath(e);return t?t.fileName:e}))}t.getAllDependencies=getAllDependencies;function getAllFileNames(t,r){if(!t.allFileNames){var n=r.getSourceFiles();t.allFileNames=n===e.emptyArray?e.emptyArray:n.map(function(e){return e.fileName})}return t.allFileNames}function getReferencedByPaths(t,r){return e.arrayFrom(e.mapDefinedIterator(t.referencedMap.entries(),function(e){var t=e[0],n=e[1];return n.has(r)?t:undefined}))}function containsOnlyAmbientModules(t){for(var r=0,n=t.statements;r0){var f=l.pop();if(!u.has(f)){var d=r.getSourceFileByPath(f);u.set(f,d);if(d&&updateShapeSignature(t,r,d,i,a,o,s)){l.push.apply(l,getReferencedByPaths(t,f))}}}return e.arrayFrom(e.mapDefinedIterator(u.values(),function(e){return e}))}})(t=e.BuilderState||(e.BuilderState={}))})(s||(s={}));var s;(function(e){function hasSameKeys(t,r){return t===r||t!==undefined&&r!==undefined&&t.size===r.size&&!e.forEachKey(t,function(e){return!r.has(e)})}function createBuilderProgramState(t,r,n){var i=e.BuilderState.create(t,r,n);i.program=t;var a=t.getCompilerOptions();if(!a.outFile&&!a.out){i.semanticDiagnosticsPerFile=e.createMap()}i.changedFilesSet=e.createMap();var o=e.BuilderState.canReuseOldState(i.referencedMap,n);var s=o?n.program.getCompilerOptions():undefined;var c=o&&n.semanticDiagnosticsPerFile&&!!i.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics(a,s);if(o){if(!n.currentChangedFilePath){e.Debug.assert(!n.affectedFiles&&(!n.currentAffectedFilesSignatures||!n.currentAffectedFilesSignatures.size),"Cannot reuse if only few affected files of currentChangedFile were iterated")}if(c){e.Debug.assert(!e.forEachKey(n.changedFilesSet,function(e){return n.semanticDiagnosticsPerFile.has(e)}),"Semantic diagnostics shouldnt be available for changed files")}e.copyEntries(n.changedFilesSet,i.changedFilesSet)}var u=i.referencedMap;var l=o?n.referencedMap:undefined;var f=c&&!a.skipLibCheck===!s.skipLibCheck;var d=f&&!a.skipDefaultLibCheck===!s.skipDefaultLibCheck;i.fileInfos.forEach(function(t,r){var a;var s;if(!o||!(a=n.fileInfos.get(r))||a.version!==t.version||!hasSameKeys(s=u&&u.get(r),l&&l.get(r))||s&&e.forEachKey(s,function(e){return!i.fileInfos.has(e)&&n.fileInfos.has(e)})){i.changedFilesSet.set(r,true)}else if(c){var p=i.program.getSourceFileByPath(r);if(p.isDeclarationFile&&!f){return}if(p.hasNoDefaultLib&&!d){return}var g=n.semanticDiagnosticsPerFile.get(r);if(g){i.semanticDiagnosticsPerFile.set(r,g);if(!i.semanticDiagnosticsFromOldState){i.semanticDiagnosticsFromOldState=e.createMap()}i.semanticDiagnosticsFromOldState.set(r,true)}}});return i}function assertSourceFileOkWithoutNextAffectedCall(t,r){e.Debug.assert(!r||!t.affectedFiles||t.affectedFiles[t.affectedFilesIndex-1]!==r||!t.semanticDiagnosticsPerFile.has(r.path))}function getNextAffectedFile(t,r,n){while(true){var i=t.affectedFiles;if(i){var a=t.seenAffectedFiles;var o=t.affectedFilesIndex;while(o0;a--){i=t.indexOf(e.directorySeparator,i)+1;if(i===0){return false}}return true}function getDirectoryToWatchFailedLookupLocation(t,r){if(isInDirectoryPath(S,r)){t=e.isRootedDiskPath(t)?e.normalizePath(t):e.getNormalizedAbsolutePath(t,u());e.Debug.assert(t.length===r.length,"FailedLookup: "+t+" failedLookupLocationPath: "+r);var n=r.indexOf(e.directorySeparator,S.length+1);if(n!==-1){return{dir:t.substr(0,n),dirPath:r.substr(0,n)}}else{return{dir:T,dirPath:S,nonRecursive:false}}}return getDirectoryToWatchFromFailedLookupLocationDirectory(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,u())),e.getDirectoryPath(r))}function getDirectoryToWatchFromFailedLookupLocationDirectory(t,r){while(e.pathContainsNodeModules(r)){t=e.getDirectoryPath(t);r=e.getDirectoryPath(r)}if(isNodeModulesDirectory(r)){return canWatchDirectory(e.getDirectoryPath(r))?{dir:t,dirPath:r}:undefined}var n=true;var i,a;if(S!==undefined){while(!isInDirectoryPath(r,S)){var o=e.getDirectoryPath(r);if(o===r){break}n=false;i=r;a=t;r=o;t=e.getDirectoryPath(t)}}return canWatchDirectory(r)?{dir:a||t,dirPath:i||r,nonRecursive:n}:undefined}function isPathWithDefaultFailedLookupExtension(t){return e.fileExtensionIsOneOf(t,y)}function watchFailedLookupLocationsOfExternalModuleResolutions(t,r){if(r.failedLookupLocations&&r.failedLookupLocations.length){if(r.refCount){r.refCount++}else{r.refCount=1;if(e.isExternalModuleNameRelative(t)){watchFailedLookupLocationOfResolution(r)}else{c.add(t,r)}}}}function watchFailedLookupLocationOfResolution(r){e.Debug.assert(!!r.refCount);var n=r.failedLookupLocations;var i=false;for(var a=0,o=n;a1);h.set(c,f-1)}}if(l===S){i=true}else{removeDirectoryWatcher(l)}}}if(i){removeDirectoryWatcher(S)}}function removeDirectoryWatcher(e){var t=v.get(e);t.refCount--}function createDirectoryWatcher(e,r,n){return t.watchDirectoryOfFailedLookupLocation(e,function(e){var n=t.toPath(e);if(l){l.addOrDeleteFileOrDirectory(e,n)}if(!s&&invalidateResolutionOfFailedLookupLocation(n,r===n)){t.onInvalidatedResolution()}},n?0:1)}function removeResolutionsOfFileFromCache(e,t){var r=e.get(t);if(r){r.forEach(stopWatchFailedLookupLocationOfResolution);e.delete(t)}}function removeResolutionsFromProjectReferenceRedirects(r){if(!e.fileExtensionIs(r,".json")){return}var n=t.getCurrentProgram();if(!n){return}var i=n.getResolvedProjectReferenceByPath(r);if(!i){return}i.commandLine.fileNames.forEach(function(e){return removeResolutionsOfFile(t.toPath(e))})}function removeResolutionsOfFile(e){removeResolutionsOfFileFromCache(f,e);removeResolutionsOfFileFromCache(_,e)}function invalidateResolutionCache(t,r,n){var i=e.createMap();t.forEach(function(t,o){var s=e.getDirectoryPath(o);var c=i.get(s);if(!c){c=e.createMap();i.set(s,c)}t.forEach(function(t,i){if(c.has(i)){return}c.set(i,true);if(!t.isInvalidated&&r(t,n)){t.isInvalidated=true;(a||(a=e.createMap())).set(o,true)}})})}function hasReachedResolutionIterationLimit(){var r=t.maxNumberOfFilesToIterateForInvalidation||e.maxNumberOfFilesToIterateForInvalidation;return f.size>r||_.size>r}function invalidateResolutions(e){if(hasReachedResolutionIterationLimit()){s=true;return}invalidateResolutionCache(f,e,getResolvedModule);invalidateResolutionCache(_,e,getResolvedTypeReferenceDirective)}function invalidateResolutionOfFile(e){removeResolutionsOfFile(e);invalidateResolutions(function(r,n){var i=n(r);return!!i&&t.toPath(i.resolvedFileName)===e})}function setFilesWithInvalidatedNonRelativeUnresolvedImports(t){e.Debug.assert(o===t||o===undefined);o=t}function invalidateResolutionOfFailedLookupLocation(r,n){var i;if(n){i=function(e){return isInDirectoryPath(r,t.toPath(e))}}else{if(isPathInNodeModulesStartingWithDot(r))return false;var o=e.getDirectoryPath(r);if(isNodeModulesAtTypesDirectory(r)||isNodeModulesDirectory(r)||isNodeModulesAtTypesDirectory(o)||isNodeModulesDirectory(o)){i=function(n){var i=t.toPath(n);return i===r||e.startsWith(t.toPath(n),r)}}else{if(!isPathWithDefaultFailedLookupExtension(r)&&!h.has(r)){return false}if(e.isEmittedFileOfProgram(t.getCurrentProgram(),r)){return false}i=function(e){return t.toPath(e)===r}}}var c=function(t){return e.some(t.failedLookupLocations,i)};var u=a&&a.size;invalidateResolutions(c);return s||a&&a.size!==u}function closeTypeRootsWatch(){e.clearMap(b,e.closeFileWatcher)}function getDirectoryToWatchFailedLookupLocationFromTypeRoot(e,t){if(s){return undefined}if(isInDirectoryPath(S,t)){return S}var r=getDirectoryToWatchFromFailedLookupLocationDirectory(e,t);return r&&v.has(r.dirPath)?r.dirPath:undefined}function createTypeRootsWatch(e,r){return t.watchTypeRootsDirectory(r,function(n){var i=t.toPath(n);if(l){l.addOrDeleteFileOrDirectory(n,i)}t.onChangedAutomaticTypeDirectiveNames();var a=getDirectoryToWatchFailedLookupLocationFromTypeRoot(r,e);if(a&&invalidateResolutionOfFailedLookupLocation(i,a===i)){t.onInvalidatedResolution()}},1)}function updateTypeRootsWatch(){var r=t.getCompilationSettings();if(r.types){closeTypeRootsWatch();return}var n=e.getEffectiveTypeRoots(r,{directoryExists:directoryExistsForTypeRootWatch,getCurrentDirectory:u});if(n){e.mutateMap(b,e.arrayToMap(n,function(e){return t.toPath(e)}),{createNewValue:createTypeRootsWatch,onDeleteValue:e.closeFileWatcher})}else{closeTypeRootsWatch()}}function directoryExistsForTypeRootWatch(r){var n=e.getDirectoryPath(e.getDirectoryPath(r));var i=t.toPath(n);return i===S||canWatchDirectory(i)}}e.createResolutionCache=createResolutionCache})(s||(s={}));var s;(function(e){var t;(function(t){var r;(function(e){e[e["Relative"]=0]="Relative";e[e["NonRelative"]=1]="NonRelative";e[e["Auto"]=2]="Auto"})(r||(r={}));var n;(function(e){e[e["Minimal"]=0]="Minimal";e[e["Index"]=1]="Index";e[e["JsExtension"]=2]="JsExtension"})(n||(n={}));function getPreferences(t,r,n){var i=t.importModuleSpecifierPreference,a=t.importModuleSpecifierEnding;return{relativePreference:i==="relative"?0:i==="non-relative"?1:2,ending:getEnding()};function getEnding(){switch(a){case"minimal":return 0;case"index":return 1;case"js":return 2;default:return usesJsExtensionOnImports(n)?2:e.getEmitModuleResolutionKind(r)!==e.ModuleResolutionKind.NodeJs?1:0}}}function getPreferencesForUpdate(t,r){return{relativePreference:e.isExternalModuleNameRelative(r)?0:1,ending:e.hasJSOrJsonFileExtension(r)?2:e.getEmitModuleResolutionKind(t)!==e.ModuleResolutionKind.NodeJs||e.endsWith(r,"index")?1:0}}function updateModuleSpecifier(e,t,r,n,i,a,o){var s=getModuleSpecifierWorker(e,t,r,n,i,a,getPreferencesForUpdate(e,o));if(s===o)return undefined;return s}t.updateModuleSpecifier=updateModuleSpecifier;function getModuleSpecifier(e,t,r,n,i,a,o,s){if(o===void 0){o={}}return getModuleSpecifierWorker(e,r,n,i,a,s,getPreferences(o,e,t))}t.getModuleSpecifier=getModuleSpecifier;function getModuleSpecifierWorker(t,r,n,i,a,o,s){var c=getInfo(r,i);var u=getAllModulePaths(a,r,n,c.getCanonicalFileName,i,o);return e.firstDefined(u,function(e){return tryGetModuleNameAsNodeModule(e,c,i,t)})||getLocalModuleSpecifier(n,c,t,s)}function getModuleSpecifiers(t,r,n,i,a,o,s){var c=tryGetModuleNameFromAmbientModule(t);if(c)return[c];var u=getInfo(n.path,i);var l=e.getSourceFileOfNode(t.valueDeclaration||e.getNonAugmentationDeclaration(t));var f=getAllModulePaths(a,n.path,l.fileName,u.getCanonicalFileName,i,s);var d=getPreferences(o,r,n);var p=e.mapDefined(f,function(e){return tryGetModuleNameAsNodeModule(e,u,i,r)});return p.length?p:f.map(function(e){return getLocalModuleSpecifier(e,u,r,d)})}t.getModuleSpecifiers=getModuleSpecifiers;function getInfo(t,r){var n=e.createGetCanonicalFileName(r.useCaseSensitiveFileNames?r.useCaseSensitiveFileNames():true);var i=e.getDirectoryPath(t);return{getCanonicalFileName:n,sourceDirectory:i}}function getLocalModuleSpecifier(t,r,n,i){var a=r.getCanonicalFileName,o=r.sourceDirectory;var s=i.ending,c=i.relativePreference;var u=n.baseUrl,l=n.paths,f=n.rootDirs;var d=f&&tryGetModuleNameFromRootDirs(f,t,o,a)||removeExtensionAndIndexPostFix(e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(o,t,a)),s,n);if(!u||c===0){return d}var p=getRelativePathIfInDirectory(t,u,a);if(!p){return d}var g=removeExtensionAndIndexPostFix(p,s,n);var _=l&&tryGetModuleNameFromPaths(e.removeFileExtension(p),g,l);var m=_===undefined?g:_;if(c===1){return m}if(c!==2)e.Debug.assertNever(c);return isPathRelativeToParent(m)||countPathComponents(d)=l.length+f.length&&e.startsWith(r,l)&&e.endsWith(r,f)||!f&&r===e.removeTrailingDirectorySeparator(l)){var d=r.substr(l.length,r.length-f.length);return i.replace("*",d)}}else if(c===r||c===t){return i}}}}function tryGetModuleNameFromRootDirs(t,r,n,i){var a=getPathRelativeToRootDirs(r,t,i);if(a===undefined){return undefined}var o=getPathRelativeToRootDirs(n,t,i);var s=o!==undefined?e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(o,a,i)):a;return e.removeFileExtension(s)}function tryGetModuleNameAsNodeModule(t,r,n,i){var a=r.getCanonicalFileName,o=r.sourceDirectory;if(!n.fileExists||!n.readFile){return undefined}var s=getNodeModulePathParts(t);if(!s){return undefined}var c=t.substring(0,s.packageRootIndex);var u=e.combinePaths(c,"package.json");var l=n.fileExists(u)?JSON.parse(n.readFile(u)):undefined;var f=l&&l.typesVersions?e.getPackageJsonTypesVersionsPaths(l.typesVersions):undefined;if(f){var d=t.slice(s.packageRootIndex+1);var p=tryGetModuleNameFromPaths(e.removeFileExtension(d),removeExtensionAndIndexPostFix(d,0,i),f.paths);if(p!==undefined){t=e.combinePaths(t.slice(0,s.packageRootIndex),p)}}var g=getDirectoryOrExtensionlessFileName(t);if(!e.startsWith(o,a(g.substring(0,s.topLevelNodeModulesIndex))))return undefined;var _=g.substring(s.topLevelPackageNameIndex+1);var m=e.getPackageNameFromTypesPackageName(_);return e.getEmitModuleResolutionKind(i)!==e.ModuleResolutionKind.NodeJs&&m===_?undefined:m;function getDirectoryOrExtensionlessFileName(t){if(l){var r=l.typings||l.types||l.main;if(r){var i=e.toPath(r,c,a);if(e.removeFileExtension(i)===e.removeFileExtension(a(t))){return c}}}var o=e.removeFileExtension(t);if(a(o.substring(s.fileNameIndex))==="/index"&&!tryGetAnyFileFromPath(n,o.substring(0,s.fileNameIndex))){return o.substring(0,s.fileNameIndex)}return o}}function tryGetAnyFileFromPath(t,r){if(!t.fileExists)return;var n=e.getSupportedExtensions({allowJs:true},[{extension:"node",isMixedContent:false},{extension:"json",isMixedContent:false,scriptKind:6}]);for(var i=0,a=n;i=0){s=c;c=t.indexOf("/",s+1);switch(u){case 0:if(t.indexOf(e.nodeModulesPathPart,s)===s){r=s;n=c;u=1}break;case 1:case 2:if(u===1&&t.charAt(s+1)==="@"){u=2}else{i=c;u=3}break;case 3:if(t.indexOf(e.nodeModulesPathPart,s)===s){u=1}else{u=3}break}}a=s;return u>1?{topLevelNodeModulesIndex:r,topLevelPackageNameIndex:n,packageRootIndex:i,fileNameIndex:a}:undefined}function getPathRelativeToRootDirs(t,r,n){return e.firstDefined(r,function(e){var r=getRelativePathIfInDirectory(t,e,n);return isPathRelativeToParent(r)?undefined:r})}function removeExtensionAndIndexPostFix(t,r,n){if(e.fileExtensionIs(t,".json"))return t;var i=e.removeFileExtension(t);switch(r){case 0:return e.removeSuffix(i,"/index");case 1:return i;case 2:return i+getJSExtensionForFile(t,n);default:return e.Debug.assertNever(r)}}function getJSExtensionForFile(t,r){var n=e.extensionFromPath(t);switch(n){case".ts":case".d.ts":return".js";case".tsx":return r.jsx===1?".jsx":".js";case".js":case".jsx":case".json":return n;default:return e.Debug.assertNever(n)}}function getRelativePathIfInDirectory(t,r,n){var i=e.getRelativePathToDirectoryOrUrl(r,t,r,n,false);return e.isRootedDiskPath(i)?undefined:i}function isPathRelativeToParent(t){return e.startsWith(t,"..")}})(t=e.moduleSpecifiers||(e.moduleSpecifiers={}))})(s||(s={}));var s;(function(e){var t=e.sys?{getCurrentDirectory:function(){return e.sys.getCurrentDirectory()},getNewLine:function(){return e.sys.newLine},getCanonicalFileName:e.createGetCanonicalFileName(e.sys.useCaseSensitiveFileNames)}:undefined;function createDiagnosticReporter(r,n){var i=r===e.sys?t:{getCurrentDirectory:function(){return r.getCurrentDirectory()},getNewLine:function(){return r.newLine},getCanonicalFileName:e.createGetCanonicalFileName(r.useCaseSensitiveFileNames)};if(!n){return function(t){return r.write(e.formatDiagnostic(t,i))}}var a=new Array(1);return function(t){a[0]=t;r.write(e.formatDiagnosticsWithColorAndContext(a,i)+i.getNewLine());a[0]=undefined}}e.createDiagnosticReporter=createDiagnosticReporter;function clearScreenIfNotWatchingForFileChanges(t,r,n){if(t.clearScreen&&!n.preserveWatchOutput&&!n.extendedDiagnostics&&!n.diagnostics&&e.contains(e.screenStartingMessageCodes,r.code)){t.clearScreen();return true}return false}e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code];function getPlainDiagnosticFollowingNewLines(t,r){return e.contains(e.screenStartingMessageCodes,t.code)?r+r:r}function createWatchStatusReporter(t,r){return r?function(r,n,i){clearScreenIfNotWatchingForFileChanges(t,r,i);var a="["+e.formatColorAndReset((new Date).toLocaleTimeString(),e.ForegroundColorEscapeSequences.Grey)+"] ";a+=""+e.flattenDiagnosticMessageText(r.messageText,t.newLine)+(n+n);t.write(a)}:function(r,n,i){var a="";if(!clearScreenIfNotWatchingForFileChanges(t,r,i)){a+=n}a+=(new Date).toLocaleTimeString()+" - ";a+=""+e.flattenDiagnosticMessageText(r.messageText,t.newLine)+getPlainDiagnosticFollowingNewLines(r,n);t.write(a)}}e.createWatchStatusReporter=createWatchStatusReporter;function parseConfigFileWithSystem(t,r,n,i){var a=n;a.onUnRecoverableConfigFileDiagnostic=function(t){return reportUnrecoverableDiagnostic(e.sys,i,t)};var o=e.getParsedCommandLineOfConfigFile(t,r,a);a.onUnRecoverableConfigFileDiagnostic=undefined;return o}e.parseConfigFileWithSystem=parseConfigFileWithSystem;function getErrorCountForSummary(t){return e.countWhere(t,function(t){return t.category===e.DiagnosticCategory.Error})}e.getErrorCountForSummary=getErrorCountForSummary;function getWatchErrorSummaryDiagnosticMessage(t){return t===1?e.Diagnostics.Found_1_error_Watching_for_file_changes:e.Diagnostics.Found_0_errors_Watching_for_file_changes}e.getWatchErrorSummaryDiagnosticMessage=getWatchErrorSummaryDiagnosticMessage;function getErrorSummaryText(t,r){if(t===0)return"";var n=e.createCompilerDiagnostic(t===1?e.Diagnostics.Found_1_error:e.Diagnostics.Found_0_errors,t);return""+r+e.flattenDiagnosticMessageText(n.messageText,r)+r+r}e.getErrorSummaryText=getErrorSummaryText;function emitFilesAndReportErrors(t,r,n,i,a){var o=t.getConfigFileParsingDiagnostics().slice();var s=o.length;e.addRange(o,t.getSyntacticDiagnostics());var c=false;if(o.length===s){e.addRange(o,t.getOptionsDiagnostics());e.addRange(o,t.getGlobalDiagnostics());if(o.length===s){c=true}}var u=t.emit(undefined,a),l=u.emittedFiles,f=u.emitSkipped,d=u.diagnostics;e.addRange(o,d);if(c){e.addRange(o,t.getSemanticDiagnostics())}e.sortAndDeduplicateDiagnostics(o).forEach(r);if(n){var p=t.getCurrentDirectory();e.forEach(l,function(t){var r=e.getNormalizedAbsolutePath(t,p);n("TSFILE: "+r)});if(t.getCompilerOptions().listFiles){e.forEach(t.getSourceFiles(),function(e){n(e.fileName)})}}if(i){i(getErrorCountForSummary(o))}if(f&&o.length>0){return e.ExitStatus.DiagnosticsPresent_OutputsSkipped}else if(o.length>0){return e.ExitStatus.DiagnosticsPresent_OutputsGenerated}return e.ExitStatus.Success}e.emitFilesAndReportErrors=emitFilesAndReportErrors;var r={close:e.noop};function createWatchHost(t,n){if(t===void 0){t=e.sys}var i=n||createWatchStatusReporter(t);return{onWatchStatusChange:i,watchFile:t.watchFile?function(e,r,n){return t.watchFile(e,r,n)}:function(){return r},watchDirectory:t.watchDirectory?function(e,r,n){return t.watchDirectory(e,r,n)}:function(){return r},setTimeout:t.setTimeout?function(e,r){var n=[];for(var i=2;ie.getRootLength(t)&&!r.directoryExists(t)){var n=e.getDirectoryPath(t);ensureDirectoriesExist(n);r.createDirectory(t)}}function writeFile(t,n,i,a){try{e.performance.mark("beforeIOWrite");ensureDirectoriesExist(e.getDirectoryPath(e.normalizePath(t)));r.writeFile(t,n,i);e.performance.mark("afterIOWrite");e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){if(a){a(e.message)}}}}e.createWatchProgram=createWatchProgram})(s||(s={}));var s;(function(e){var t=new Date(-864e13);var r=new Date(864e13);var n;(function(e){e[e["None"]=0]="None";e[e["Success"]=1]="Success";e[e["DeclarationOutputUnchanged"]=2]="DeclarationOutputUnchanged";e[e["ConfigFileErrors"]=4]="ConfigFileErrors";e[e["SyntaxErrors"]=8]="SyntaxErrors";e[e["TypeErrors"]=16]="TypeErrors";e[e["DeclarationEmitErrors"]=32]="DeclarationEmitErrors";e[e["EmitErrors"]=64]="EmitErrors";e[e["AnyErrors"]=124]="AnyErrors"})(n||(n={}));var i;(function(e){e[e["Unbuildable"]=0]="Unbuildable";e[e["UpToDate"]=1]="UpToDate";e[e["UpToDateWithUpstreamTypes"]=2]="UpToDateWithUpstreamTypes";e[e["OutputMissing"]=3]="OutputMissing";e[e["OutOfDateWithSelf"]=4]="OutOfDateWithSelf";e[e["OutOfDateWithUpstream"]=5]="OutOfDateWithUpstream";e[e["UpstreamOutOfDate"]=6]="UpstreamOutOfDate";e[e["UpstreamBlocked"]=7]="UpstreamBlocked";e[e["ComputingUpstream"]=8]="ComputingUpstream";e[e["ContainerOnly"]=9]="ContainerOnly"})(i=e.UpToDateStatusType||(e.UpToDateStatusType={}));function createFileMap(t){var r=e.createMap();return{setValue:setValue,getValue:getValue,removeKey:removeKey,forEach:forEach,hasKey:hasKey,getSize:getSize,clear:clear};function forEach(e){r.forEach(e)}function hasKey(e){return r.has(t(e))}function removeKey(e){r.delete(t(e))}function setValue(e,n){r.set(t(e),n)}function getValue(e){return r.get(t(e))}function getSize(){return r.size}function clear(){r.clear()}}function getOrCreateValueFromConfigFileMap(e,t,r){var n=e.getValue(t);var i;if(!n){i=r();e.setValue(t,i)}return n||i}function getOrCreateValueMapFromConfigFileMap(t,r){return getOrCreateValueFromConfigFileMap(t,r,e.createMap)}function getOutputDeclarationFileName(t,r){var n=e.getRelativePathFromDirectory(rootDirOfOptions(r.options,r.options.configFilePath),t,true);var i=e.resolvePath(r.options.declarationDir||r.options.outDir||e.getDirectoryPath(r.options.configFilePath),n);return e.changeExtension(i,".d.ts")}e.getOutputDeclarationFileName=getOutputDeclarationFileName;function getOutputJSFileName(t,r){var n=e.getRelativePathFromDirectory(rootDirOfOptions(r.options,r.options.configFilePath),t,true);var i=e.resolvePath(r.options.outDir||e.getDirectoryPath(r.options.configFilePath),n);var a=e.fileExtensionIs(t,".json")?".json":e.fileExtensionIs(t,".tsx")&&r.options.jsx===1?".jsx":".js";return e.changeExtension(i,a)}function getOutputFileNames(t,r){if(r.options.outFile||r.options.out||e.fileExtensionIs(t,".d.ts")){return e.emptyArray}var n=[];var i=getOutputJSFileName(t,r);n.push(i);if(r.options.sourceMap){n.push(i+".map")}if(e.getEmitDeclarations(r.options)&&!e.fileExtensionIs(t,".json")){var a=getOutputDeclarationFileName(t,r);n.push(a);if(r.options.declarationMap){n.push(a+".map")}}return n}function getOutFileOutputs(t){var r=t.options.outFile||t.options.out;if(!r){return e.Debug.fail("outFile must be set")}var n=[];n.push(r);if(t.options.sourceMap){n.push(r+".map")}if(e.getEmitDeclarations(t.options)){var i=e.changeExtension(r,".d.ts");n.push(i);if(t.options.declarationMap){n.push(i+".map")}}return n}function rootDirOfOptions(t,r){return t.rootDir||e.getDirectoryPath(r)}function newer(e,t){return t>e?t:e}function isDeclarationFile(t){return e.fileExtensionIs(t,".d.ts")}function createBuilderStatusReporter(t,r){return function(n){var i=r?"["+e.formatColorAndReset((new Date).toLocaleTimeString(),e.ForegroundColorEscapeSequences.Grey)+"] ":(new Date).toLocaleTimeString()+" - ";i+=""+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(t.newLine+t.newLine);t.write(i)}}e.createBuilderStatusReporter=createBuilderStatusReporter;function createSolutionBuilderHostBase(t,r,n){if(t===void 0){t=e.sys}var i=e.createCompilerHostWorker({},undefined,t);i.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:function(){return undefined};i.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop;i.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop;i.reportDiagnostic=r||e.createDiagnosticReporter(t);i.reportSolutionBuilderStatus=n||createBuilderStatusReporter(t);return i}function createSolutionBuilderHost(t,r,n,i){if(t===void 0){t=e.sys}var a=createSolutionBuilderHostBase(t,r,n);a.reportErrorSummary=i;return a}e.createSolutionBuilderHost=createSolutionBuilderHost;function createSolutionBuilderWithWatchHost(t,r,n,i){var a=createSolutionBuilderHostBase(t,r,n);var o=e.createWatchHost(t,i);a.onWatchStatusChange=o.onWatchStatusChange;a.watchFile=o.watchFile;a.watchDirectory=o.watchDirectory;a.setTimeout=o.setTimeout;a.clearTimeout=o.clearTimeout;return a}e.createSolutionBuilderWithWatchHost=createSolutionBuilderWithWatchHost;function getCompilerOptionsOfBuildOptions(t){var r={};e.commonOptionsWithBuild.forEach(function(e){r[e.name]=t[e.name]});return r}function createSolutionBuilder(a,o,s){var c=a;var u=a.getCurrentDirectory();var l=e.createGetCanonicalFileName(a.useCaseSensitiveFileNames());var f=e.parseConfigHostFromCompilerHost(a);var d=s;var p=getCompilerOptionsOfBuildOptions(d);var g=createFileMap(toPath);var _=createFileMap(toPath);var m=createFileMap(toPath);var y=e.createMap();var h;var v=function(e){return a.trace&&a.trace(e)};var T=function(e){return a.readFile(e)};var S=createFileMap(toPath);var b=createFileMap(toPath);var x=createFileMap(toPath);var C=[];var E=0;var D;var k=false;var N=createFileMap(toPath);var A=createFileMap(toPath);var O=createFileMap(toPath);return{buildAllProjects:buildAllProjects,getUpToDateStatusOfFile:getUpToDateStatusOfFile,cleanAllProjects:cleanAllProjects,resetBuildContext:resetBuildContext,getBuildGraph:getBuildGraph,invalidateProject:invalidateProject,buildInvalidatedProject:buildInvalidatedProject,resolveProjectName:resolveProjectName,startWatching:startWatching};function toPath(t){return e.toPath(t,u,l)}function resetBuildContext(t){if(t===void 0){t=s}d=t;p=getCompilerOptionsOfBuildOptions(d);g.clear();_.clear();m.clear();y.clear();h=undefined;S.clear();b.clear();x.clear();C.length=0;E=0;if(D){clearTimeout(D);D=undefined}k=false;e.clearMap(N,function(t){return e.clearMap(t,e.closeFileWatcherOf)});e.clearMap(A,function(t){return e.clearMap(t,e.closeFileWatcher)});e.clearMap(O,e.closeFileWatcher)}function isParsedCommandLine(e){return!!e.options}function parseConfigFile(t){var r=g.getValue(t);if(r){return isParsedCommandLine(r)?r:undefined}var n;f.onUnRecoverableConfigFileDiagnostic=function(e){return n=e};var i=e.getParsedCommandLineOfConfigFile(t,p,f);f.onUnRecoverableConfigFileDiagnostic=e.noop;g.setValue(t,i||n);return i}function reportStatus(t){var r=[];for(var n=1;ns){o=l;s=f}}var d=getAllProjectOutputs(n);if(d.length===0){return{type:i.ContainerOnly}}var p="(none)";var g=r;var y="(none)";var h=t;var v;var T=t;var S=false;for(var b=0,x=d;bh){h=E;y=C}if(isDeclarationFile(C)){var D=_.getValue(C);if(D!==undefined){T=newer(D,T)}else{var k=a.getModifiedTime(C)||e.missingFileModifiedTime;T=newer(T,k)}}}var N=false;var A=false;var O;if(n.projectReferences){m.setValue(n.options.configFilePath,{type:i.ComputingUpstream});for(var F=0,P=n.projectReferences;F4){return a(e.has(r),t)}e.add(r);t.push(n);var o=i();t.pop();e.delete(r);return o}}function getValueInfo(t,r,n){return n(r,t,function(){if(typeof r==="function")return getFunctionOrClassInfo(r,t,n);if(typeof r==="object"){var i=getBuiltinType(t,r,n);if(i!==undefined)return i;var a=getEntriesOfObject(r);var o=Object.getPrototypeOf(r)!==Object.prototype;var s=e.flatMap(a,function(e){var t=e.key,r=e.value;return getValueInfo(t,r,n)});return{kind:3,name:t,hasNontrivialPrototype:o,members:s}}return{kind:0,name:t,typeName:isNullOrUndefined(r)?"any":typeof r}},function(e,r){return anyValue(t," "+(e?"Circular reference":"Too-deep object hierarchy")+" from "+r.join("."))})}function getFunctionOrClassInfo(t,r,n){var i=getPrototypeMembers(t,n);var a=e.flatMap(getEntriesOfObject(t),function(e){var t=e.key,r=e.value;return getValueInfo(t,r,n)});var o=e.cast(Function.prototype.toString.call(t),e.isString);var s=e.stringContains(o,"{ [native code] }")?getFunctionLength(t):o;return{kind:2,name:r,source:s,namespaceMembers:a,prototypeMembers:i}}var r=e.memoize(function(){var t=e.createMap();for(var r=0,n=getEntriesOfObject(global);r=0}t.hasArgument=hasArgument;function findArgument(t){var r=e.sys.args.indexOf(t);return r>=0&&rn){return 3}if(e.charCodeAt(0)===46){return 4}if(e.charCodeAt(0)===95){return 5}if(/^@[^/]+\/[^/]+$/.test(e)){return 1}if(encodeURIComponent(e)!==e){return 6}return 0}t.validatePackageName=validatePackageName;function renderPackageNameValidationFailure(t,r){switch(t){case 2:return"Package name '"+r+"' cannot be empty";case 3:return"Package name '"+r+"' should be less than "+n+" characters";case 4:return"Package name '"+r+"' cannot start with '.'";case 5:return"Package name '"+r+"' cannot start with '_'";case 1:return"Package '"+r+"' is scoped and currently is not supported";case 6:return"Package name '"+r+"' contains non URI safe characters";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(t)}}t.renderPackageNameValidationFailure=renderPackageNameValidationFailure})(t=e.JsTyping||(e.JsTyping={}))})(s||(s={}));var s;(function(e){var t;(function(e){var t=function(){function StringScriptSnapshot(e){this.text=e}StringScriptSnapshot.prototype.getText=function(e,t){return e===0&&t===this.text.length?this.text:this.text.substring(e,t)};StringScriptSnapshot.prototype.getLength=function(){return this.text.length};StringScriptSnapshot.prototype.getChangeRange=function(){return undefined};return StringScriptSnapshot}();function fromString(e){return new t(e)}e.fromString=fromString})(t=e.ScriptSnapshot||(e.ScriptSnapshot={}));e.emptyOptions={};var r;(function(e){e["none"]="none";e["definition"]="definition";e["reference"]="reference";e["writtenReference"]="writtenReference"})(r=e.HighlightSpanKind||(e.HighlightSpanKind={}));var n;(function(e){e[e["None"]=0]="None";e[e["Block"]=1]="Block";e[e["Smart"]=2]="Smart"})(n=e.IndentStyle||(e.IndentStyle={}));function getDefaultFormatCodeSettings(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:true,indentStyle:n.Smart,insertSpaceAfterConstructor:false,insertSpaceAfterCommaDelimiter:true,insertSpaceAfterSemicolonInForStatements:true,insertSpaceBeforeAndAfterBinaryOperators:true,insertSpaceAfterKeywordsInControlFlowStatements:true,insertSpaceAfterFunctionKeywordForAnonymousFunctions:false,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:false,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:false,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:true,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:false,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:false,insertSpaceBeforeFunctionParenthesis:false,placeOpenBraceOnNewLineForFunctions:false,placeOpenBraceOnNewLineForControlBlocks:false}}e.getDefaultFormatCodeSettings=getDefaultFormatCodeSettings;e.testFormatSettings=getDefaultFormatCodeSettings("\n");var i;(function(e){e[e["aliasName"]=0]="aliasName";e[e["className"]=1]="className";e[e["enumName"]=2]="enumName";e[e["fieldName"]=3]="fieldName";e[e["interfaceName"]=4]="interfaceName";e[e["keyword"]=5]="keyword";e[e["lineBreak"]=6]="lineBreak";e[e["numericLiteral"]=7]="numericLiteral";e[e["stringLiteral"]=8]="stringLiteral";e[e["localName"]=9]="localName";e[e["methodName"]=10]="methodName";e[e["moduleName"]=11]="moduleName";e[e["operator"]=12]="operator";e[e["parameterName"]=13]="parameterName";e[e["propertyName"]=14]="propertyName";e[e["punctuation"]=15]="punctuation";e[e["space"]=16]="space";e[e["text"]=17]="text";e[e["typeParameterName"]=18]="typeParameterName";e[e["enumMemberName"]=19]="enumMemberName";e[e["functionName"]=20]="functionName";e[e["regularExpressionLiteral"]=21]="regularExpressionLiteral"})(i=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}));var a;(function(e){e["Comment"]="comment";e["Region"]="region";e["Code"]="code";e["Imports"]="imports"})(a=e.OutliningSpanKind||(e.OutliningSpanKind={}));var o;(function(e){e[e["JavaScript"]=0]="JavaScript";e[e["SourceMap"]=1]="SourceMap";e[e["Declaration"]=2]="Declaration"})(o=e.OutputFileType||(e.OutputFileType={}));var s;(function(e){e[e["None"]=0]="None";e[e["InMultiLineCommentTrivia"]=1]="InMultiLineCommentTrivia";e[e["InSingleQuoteStringLiteral"]=2]="InSingleQuoteStringLiteral";e[e["InDoubleQuoteStringLiteral"]=3]="InDoubleQuoteStringLiteral";e[e["InTemplateHeadOrNoSubstitutionTemplate"]=4]="InTemplateHeadOrNoSubstitutionTemplate";e[e["InTemplateMiddleOrTail"]=5]="InTemplateMiddleOrTail";e[e["InTemplateSubstitutionPosition"]=6]="InTemplateSubstitutionPosition"})(s=e.EndOfLineState||(e.EndOfLineState={}));var c;(function(e){e[e["Punctuation"]=0]="Punctuation";e[e["Keyword"]=1]="Keyword";e[e["Operator"]=2]="Operator";e[e["Comment"]=3]="Comment";e[e["Whitespace"]=4]="Whitespace";e[e["Identifier"]=5]="Identifier";e[e["NumberLiteral"]=6]="NumberLiteral";e[e["BigIntLiteral"]=7]="BigIntLiteral";e[e["StringLiteral"]=8]="StringLiteral";e[e["RegExpLiteral"]=9]="RegExpLiteral"})(c=e.TokenClass||(e.TokenClass={}));var u;(function(e){e["unknown"]="";e["warning"]="warning";e["keyword"]="keyword";e["scriptElement"]="script";e["moduleElement"]="module";e["classElement"]="class";e["localClassElement"]="local class";e["interfaceElement"]="interface";e["typeElement"]="type";e["enumElement"]="enum";e["enumMemberElement"]="enum member";e["variableElement"]="var";e["localVariableElement"]="local var";e["functionElement"]="function";e["localFunctionElement"]="local function";e["memberFunctionElement"]="method";e["memberGetAccessorElement"]="getter";e["memberSetAccessorElement"]="setter";e["memberVariableElement"]="property";e["constructorImplementationElement"]="constructor";e["callSignatureElement"]="call";e["indexSignatureElement"]="index";e["constructSignatureElement"]="construct";e["parameterElement"]="parameter";e["typeParameterElement"]="type parameter";e["primitiveType"]="primitive type";e["label"]="label";e["alias"]="alias";e["constElement"]="const";e["letElement"]="let";e["directory"]="directory";e["externalModuleName"]="external module name";e["jsxAttribute"]="JSX attribute";e["string"]="string"})(u=e.ScriptElementKind||(e.ScriptElementKind={}));var l;(function(e){e["none"]="";e["publicMemberModifier"]="public";e["privateMemberModifier"]="private";e["protectedMemberModifier"]="protected";e["exportedModifier"]="export";e["ambientModifier"]="declare";e["staticModifier"]="static";e["abstractModifier"]="abstract";e["optionalModifier"]="optional";e["dtsModifier"]=".d.ts";e["tsModifier"]=".ts";e["tsxModifier"]=".tsx";e["jsModifier"]=".js";e["jsxModifier"]=".jsx";e["jsonModifier"]=".json"})(l=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={}));var f;(function(e){e["comment"]="comment";e["identifier"]="identifier";e["keyword"]="keyword";e["numericLiteral"]="number";e["bigintLiteral"]="bigint";e["operator"]="operator";e["stringLiteral"]="string";e["whiteSpace"]="whitespace";e["text"]="text";e["punctuation"]="punctuation";e["className"]="class name";e["enumName"]="enum name";e["interfaceName"]="interface name";e["moduleName"]="module name";e["typeParameterName"]="type parameter name";e["typeAliasName"]="type alias name";e["parameterName"]="parameter name";e["docCommentTagName"]="doc comment tag name";e["jsxOpenTagName"]="jsx open tag name";e["jsxCloseTagName"]="jsx close tag name";e["jsxSelfClosingTagName"]="jsx self closing tag name";e["jsxAttribute"]="jsx attribute";e["jsxText"]="jsx text";e["jsxAttributeStringLiteralValue"]="jsx attribute string literal value"})(f=e.ClassificationTypeNames||(e.ClassificationTypeNames={}));var d;(function(e){e[e["comment"]=1]="comment";e[e["identifier"]=2]="identifier";e[e["keyword"]=3]="keyword";e[e["numericLiteral"]=4]="numericLiteral";e[e["operator"]=5]="operator";e[e["stringLiteral"]=6]="stringLiteral";e[e["regularExpressionLiteral"]=7]="regularExpressionLiteral";e[e["whiteSpace"]=8]="whiteSpace";e[e["text"]=9]="text";e[e["punctuation"]=10]="punctuation";e[e["className"]=11]="className";e[e["enumName"]=12]="enumName";e[e["interfaceName"]=13]="interfaceName";e[e["moduleName"]=14]="moduleName";e[e["typeParameterName"]=15]="typeParameterName";e[e["typeAliasName"]=16]="typeAliasName";e[e["parameterName"]=17]="parameterName";e[e["docCommentTagName"]=18]="docCommentTagName";e[e["jsxOpenTagName"]=19]="jsxOpenTagName";e[e["jsxCloseTagName"]=20]="jsxCloseTagName";e[e["jsxSelfClosingTagName"]=21]="jsxSelfClosingTagName";e[e["jsxAttribute"]=22]="jsxAttribute";e[e["jsxText"]=23]="jsxText";e[e["jsxAttributeStringLiteralValue"]=24]="jsxAttributeStringLiteralValue";e[e["bigintLiteral"]=25]="bigintLiteral"})(d=e.ClassificationType||(e.ClassificationType={}))})(s||(s={}));var s;(function(e){e.scanner=e.createScanner(6,true);var t;(function(e){e[e["None"]=0]="None";e[e["Value"]=1]="Value";e[e["Type"]=2]="Type";e[e["Namespace"]=4]="Namespace";e[e["All"]=7]="All"})(t=e.SemanticMeaning||(e.SemanticMeaning={}));function getMeaningFromDeclaration(t){switch(t.kind){case 237:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 151:case 186:case 154:case 153:case 275:case 276:case 156:case 155:case 157:case 158:case 159:case 239:case 196:case 197:case 274:case 267:return 1;case 150:case 241:case 242:case 168:return 2;case 304:return t.name===undefined?1|2:2;case 278:case 240:return 1|2;case 244:if(e.isAmbientModule(t)){return 4|1}else if(e.getModuleInstanceState(t)===1){return 4|1}else{return 4}case 243:case 252:case 253:case 248:case 249:case 254:case 255:return 7;case 279:return 4|1}return 7}e.getMeaningFromDeclaration=getMeaningFromDeclaration;function getMeaningFromLocation(t){if(t.kind===279){return 1}else if(t.parent.kind===254||t.parent.kind===259){return 7}else if(isInRightSideOfInternalImportEqualsDeclaration(t)){return getMeaningFromRightHandSideOfImportEquals(t)}else if(e.isDeclarationName(t)){return getMeaningFromDeclaration(t.parent)}else if(isTypeReference(t)){return 2}else if(isNamespaceReference(t)){return 4}else if(e.isTypeParameterDeclaration(t.parent)){e.Debug.assert(e.isJSDocTemplateTag(t.parent.parent));return 2}else if(e.isLiteralTypeNode(t.parent)){return 2|1}else{return 1}}e.getMeaningFromLocation=getMeaningFromLocation;function getMeaningFromRightHandSideOfImportEquals(t){var r=t.kind===148?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:undefined;return r&&r.parent.kind===248?7:4}function isInRightSideOfInternalImportEqualsDeclaration(t){while(t.parent.kind===148){t=t.parent}return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}e.isInRightSideOfInternalImportEqualsDeclaration=isInRightSideOfInternalImportEqualsDeclaration;function isNamespaceReference(e){return isQualifiedNameNamespaceReference(e)||isPropertyAccessNamespaceReference(e)}function isQualifiedNameNamespaceReference(e){var t=e;var r=true;if(t.parent.kind===148){while(t.parent&&t.parent.kind===148){t=t.parent}r=t.right===e}return t.parent.kind===164&&!r}function isPropertyAccessNamespaceReference(e){var t=e;var r=true;if(t.parent.kind===189){while(t.parent&&t.parent.kind===189){t=t.parent}r=t.name===e}if(!r&&t.parent.kind===211&&t.parent.parent.kind===273){var n=t.parent.parent.parent;return n.kind===240&&t.parent.parent.token===109||n.kind===241&&t.parent.parent.token===86}return false}function isTypeReference(t){if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)){t=t.parent}switch(t.kind){case 100:return!e.isExpressionNode(t);case 178:return true}switch(t.parent.kind){case 164:return true;case 183:return!t.parent.isTypeOf;case 211:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return false}function isCallExpressionTarget(t){return isCallOrNewExpressionTargetWorker(t,e.isCallExpression)}e.isCallExpressionTarget=isCallExpressionTarget;function isNewExpressionTarget(t){return isCallOrNewExpressionTargetWorker(t,e.isNewExpression)}e.isNewExpressionTarget=isNewExpressionTarget;function isCallOrNewExpressionTarget(t){return isCallOrNewExpressionTargetWorker(t,e.isCallOrNewExpression)}e.isCallOrNewExpressionTarget=isCallOrNewExpressionTarget;function isCallOrNewExpressionTargetWorker(e,t){var r=climbPastPropertyAccess(e);return!!r&&!!r.parent&&t(r.parent)&&r.parent.expression===r}function climbPastPropertyAccess(e){return isRightSideOfPropertyAccess(e)?e.parent:e}e.climbPastPropertyAccess=climbPastPropertyAccess;function getTargetLabel(e,t){while(e){if(e.kind===233&&e.label.escapedText===t){return e.label}e=e.parent}return undefined}e.getTargetLabel=getTargetLabel;function hasPropertyAccessExpressionWithName(t,r){if(!e.isPropertyAccessExpression(t.expression)){return false}return t.expression.name.text===r}e.hasPropertyAccessExpressionWithName=hasPropertyAccessExpressionWithName;function isJumpStatementTarget(t){return t.kind===72&&e.isBreakOrContinueStatement(t.parent)&&t.parent.label===t}e.isJumpStatementTarget=isJumpStatementTarget;function isLabelOfLabeledStatement(t){return t.kind===72&&e.isLabeledStatement(t.parent)&&t.parent.label===t}e.isLabelOfLabeledStatement=isLabelOfLabeledStatement;function isLabelName(e){return isLabelOfLabeledStatement(e)||isJumpStatementTarget(e)}e.isLabelName=isLabelName;function isTagName(t){return e.isJSDocTag(t.parent)&&t.parent.tagName===t}e.isTagName=isTagName;function isRightSideOfQualifiedName(e){return e.parent.kind===148&&e.parent.right===e}e.isRightSideOfQualifiedName=isRightSideOfQualifiedName;function isRightSideOfPropertyAccess(e){return e&&e.parent&&e.parent.kind===189&&e.parent.name===e}e.isRightSideOfPropertyAccess=isRightSideOfPropertyAccess;function isNameOfModuleDeclaration(e){return e.parent.kind===244&&e.parent.name===e}e.isNameOfModuleDeclaration=isNameOfModuleDeclaration;function isNameOfFunctionDeclaration(t){return t.kind===72&&e.isFunctionLike(t.parent)&&t.parent.name===t}e.isNameOfFunctionDeclaration=isNameOfFunctionDeclaration;function isLiteralNameOfPropertyDeclarationOrIndexAccess(t){switch(t.parent.kind){case 154:case 153:case 275:case 278:case 156:case 155:case 158:case 159:case 244:return e.getNameOfDeclaration(t.parent)===t;case 190:return t.parent.argumentExpression===t;case 149:return true;case 182:return t.parent.parent.kind===180;default:return false}}e.isLiteralNameOfPropertyDeclarationOrIndexAccess=isLiteralNameOfPropertyDeclarationOrIndexAccess;function isExpressionOfExternalModuleImportEqualsDeclaration(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t}e.isExpressionOfExternalModuleImportEqualsDeclaration=isExpressionOfExternalModuleImportEqualsDeclaration;function getContainerNode(t){if(e.isJSDocTypeAlias(t)){t=t.parent.parent}while(true){t=t.parent;if(!t){return undefined}switch(t.kind){case 279:case 156:case 155:case 239:case 196:case 158:case 159:case 240:case 241:case 243:case 244:return t}}}e.getContainerNode=getContainerNode;function getNodeKind(t){switch(t.kind){case 279:return e.isExternalModule(t)?"module":"script";case 244:return"module";case 240:case 209:return"class";case 241:return"interface";case 242:case 297:case 304:return"type";case 243:return"enum";case 237:return getKindOfVariableDeclaration(t);case 186:return getKindOfVariableDeclaration(e.getRootDeclaration(t));case 197:case 239:case 196:return"function";case 158:return"getter";case 159:return"setter";case 156:case 155:return"method";case 154:case 153:return"property";case 162:return"index";case 161:return"construct";case 160:return"call";case 157:return"constructor";case 150:return"type parameter";case 278:return"enum member";case 151:return e.hasModifier(t,92)?"property":"parameter";case 248:case 253:case 257:case 251:return"alias";case 204:var r=e.getAssignmentDeclarationKind(t);var n=t.right;switch(r){case 7:case 8:case 9:case 0:return"";case 1:case 2:var i=getNodeKind(n);return i===""?"const":i;case 3:return e.isFunctionExpression(n)?"method":"property";case 4:return"property";case 5:return e.isFunctionExpression(n)?"method":"property";case 6:return"local class";default:{e.assertType(r);return""}}case 72:return e.isImportClause(t.parent)?"alias":"";default:return""}function getKindOfVariableDeclaration(t){return e.isVarConst(t)?"const":e.isLet(t)?"let":"var"}}e.getNodeKind=getNodeKind;function isThis(t){switch(t.kind){case 100:return true;case 72:return e.identifierIsThisKeyword(t)&&t.parent.kind===151;default:return false}}e.isThis=isThis;var r=/^\/\/\/\s*=r.end}e.startEndContainsRange=startEndContainsRange;function rangeContainsStartEnd(e,t,r){return e.pos<=t&&e.end>=r}e.rangeContainsStartEnd=rangeContainsStartEnd;function rangeOverlapsWithStartEnd(e,t,r){return startEndOverlapsWithStartEnd(e.pos,e.end,t,r)}e.rangeOverlapsWithStartEnd=rangeOverlapsWithStartEnd;function nodeOverlapsWithStartEnd(e,t,r,n){return startEndOverlapsWithStartEnd(e.getStart(t),e.end,r,n)}e.nodeOverlapsWithStartEnd=nodeOverlapsWithStartEnd;function startEndOverlapsWithStartEnd(e,t,r,n){var i=Math.max(e,r);var a=Math.min(t,n);return it){break}var l=c.getEnd();if(tn.getStart(t)&&rt.end||e.pos===t.end;return r&&nodeHasTokens(e,n)?find(e):undefined})}}e.findNextToken=findNextToken;function findPrecedingToken(t,r,n,i){var a=find(n||r);e.Debug.assert(!(a&&isWhiteSpaceOnlyJsxText(a)));return a;function find(a){if(isNonWhitespaceToken(a)&&a.kind!==1){return a}var o=a.getChildren(r);for(var s=0;s=t||!nodeHasTokens(c,r)||isWhiteSpaceOnlyJsxText(c);if(l){var f=findRightmostChildNodeWithTokens(o,s,r);return f&&findRightmostToken(f,r)}else{return find(c)}}}e.Debug.assert(n!==undefined||a.kind===279||a.kind===1||e.isJSDocCommentContainingNode(a));var d=findRightmostChildNodeWithTokens(o,o.length,r);return d&&findRightmostToken(d,r)}}e.findPrecedingToken=findPrecedingToken;function isNonWhitespaceToken(t){return e.isToken(t)&&!isWhiteSpaceOnlyJsxText(t)}function findRightmostToken(e,t){if(isNonWhitespaceToken(e)){return e}var r=e.getChildren(t);var n=findRightmostChildNodeWithTokens(r,r.length,t);return n&&findRightmostToken(n,t)}function findRightmostChildNodeWithTokens(t,r,n){for(var i=r-1;i>=0;i--){var a=t[i];if(isWhiteSpaceOnlyJsxText(a)){e.Debug.assert(i>0,"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`")}else if(nodeHasTokens(t[i],n)){return t[i]}}}function isInString(t,r,n){if(n===void 0){n=findPrecedingToken(r,t)}if(n&&e.isStringTextContainingNode(n)){var i=n.getStart(t);var a=n.getEnd();if(in.getStart(t)}e.isInTemplateString=isInTemplateString;function isInJSXText(t,r){var n=getTokenAtPosition(t,r);if(e.isJsxText(n)){return true}if(n.kind===18&&e.isJsxExpression(n.parent)&&e.isJsxElement(n.parent.parent)){return true}if(n.kind===28&&e.isJsxOpeningLikeElement(n.parent)&&e.isJsxElement(n.parent.parent)){return true}return false}e.isInJSXText=isInJSXText;function findPrecedingMatchingToken(e,t,r){var n=e.kind;var i=0;while(true){var a=findPrecedingToken(e.getFullStart(),r);if(!a){return undefined}e=a;if(e.kind===t){if(i===0){return e}i--}else if(e.kind===n){i++}}}e.findPrecedingMatchingToken=findPrecedingMatchingToken;function isPossiblyTypeArgumentPosition(t,r,n){var i=getPossibleTypeArgumentsInfo(t,r);return i!==undefined&&(e.isPartOfTypeNode(i.called)||getPossibleGenericSignatures(i.called,i.nTypeArguments,n).length!==0||isPossiblyTypeArgumentPosition(i.called,r,n))}e.isPossiblyTypeArgumentPosition=isPossiblyTypeArgumentPosition;function getPossibleGenericSignatures(t,r,n){var i=n.getTypeAtLocation(t);var a=e.isNewExpression(t.parent)?i.getConstructSignatures():i.getCallSignatures();return a.filter(function(e){return!!e.typeParameters&&e.typeParameters.length>=r})}e.getPossibleGenericSignatures=getPossibleGenericSignatures;function getPossibleTypeArgumentsInfo(t,r){var n=t;var i=0;var a=0;while(n){switch(n.kind){case 28:n=findPrecedingToken(n.getFullStart(),r);if(!n||!e.isIdentifier(n))return undefined;if(!i){return e.isDeclarationName(n)?undefined:{called:n,nTypeArguments:a}}i--;break;case 48:i=+3;break;case 47:i=+2;break;case 30:i++;break;case 19:n=findPrecedingMatchingToken(n,18,r);if(!n)return undefined;break;case 21:n=findPrecedingMatchingToken(n,20,r);if(!n)return undefined;break;case 23:n=findPrecedingMatchingToken(n,22,r);if(!n)return undefined;break;case 27:a++;break;case 37:case 72:case 10:case 8:case 9:case 102:case 87:case 104:case 86:case 129:case 24:case 50:case 56:case 57:break;default:if(e.isTypeNode(n)){break}return undefined}n=findPrecedingToken(n.getFullStart(),r)}return undefined}e.getPossibleTypeArgumentsInfo=getPossibleTypeArgumentsInfo;function isInComment(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,undefined,n)}e.isInComment=isInComment;function hasDocComment(t,r){var n=getTokenAtPosition(t,r);return!!e.findAncestor(n,e.isJSDoc)}e.hasDocComment=hasDocComment;function nodeHasTokens(e,t){return e.kind===1?!!e.jsDoc:e.getWidth(t)!==0}function getNodeModifiers(t){var r=e.isDeclaration(t)?e.getCombinedModifierFlags(t):0;var n=[];if(r&8)n.push("private");if(r&16)n.push("protected");if(r&4)n.push("public");if(r&32)n.push("static");if(r&128)n.push("abstract");if(r&1)n.push("export");if(t.flags&4194304)n.push("declare");return n.length>0?n.join(","):""}e.getNodeModifiers=getNodeModifiers;function getTypeArgumentOrTypeParameterList(t){if(t.kind===164||t.kind===191){return t.typeArguments}if(e.isFunctionLike(t)||t.kind===240||t.kind===241){return t.typeParameters}return undefined}e.getTypeArgumentOrTypeParameterList=getTypeArgumentOrTypeParameterList;function isComment(e){return e===2||e===3}e.isComment=isComment;function isStringOrRegularExpressionOrTemplateLiteral(t){if(t===10||t===13||e.isTemplateLiteralKind(t)){return true}return false}e.isStringOrRegularExpressionOrTemplateLiteral=isStringOrRegularExpressionOrTemplateLiteral;function isPunctuation(e){return 18<=e&&e<=71}e.isPunctuation=isPunctuation;function isInsideTemplateLiteral(t,r,n){return e.isTemplateLiteralKind(t.kind)&&(t.getStart(n)=2||!!e.noEmit}e.compilerOptionsIndicateEs6Modules=compilerOptionsIndicateEs6Modules;function hostUsesCaseSensitiveFileNames(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():false}e.hostUsesCaseSensitiveFileNames=hostUsesCaseSensitiveFileNames;function hostGetCanonicalFileName(t){return e.createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(t))}e.hostGetCanonicalFileName=hostGetCanonicalFileName;function makeImportIfNecessary(e,t,r,n){return e||t&&t.length?makeImport(e,t,r,n):undefined}e.makeImportIfNecessary=makeImportIfNecessary;function makeImport(t,r,n,i){return e.createImportDeclaration(undefined,undefined,t||r?e.createImportClause(t,r&&r.length?e.createNamedImports(r):undefined):undefined,typeof n==="string"?makeStringLiteral(n,i):n)}e.makeImport=makeImport;function makeStringLiteral(t,r){return e.createLiteral(t,r===0)}e.makeStringLiteral=makeStringLiteral;var n;(function(e){e[e["Single"]=0]="Single";e[e["Double"]=1]="Double"})(n=e.QuotePreference||(e.QuotePreference={}));function quotePreferenceFromString(t,r){return e.isStringDoubleQuoted(t,r)?1:0}e.quotePreferenceFromString=quotePreferenceFromString;function getQuotePreference(t,r){if(r.quotePreference){return r.quotePreference==="single"?0:1}else{var n=t.imports&&e.find(t.imports,e.isStringLiteral);return n?quotePreferenceFromString(n,t):1}}e.getQuotePreference=getQuotePreference;function getQuoteFromPreference(t){switch(t){case 0:return"'";case 1:return'"';default:return e.Debug.assertNever(t)}}e.getQuoteFromPreference=getQuoteFromPreference;function symbolNameNoDefault(t){var r=symbolEscapedNameNoDefault(t);return r===undefined?undefined:e.unescapeLeadingUnderscores(r)}e.symbolNameNoDefault=symbolNameNoDefault;function symbolEscapedNameNoDefault(t){if(t.escapedName!=="default"){return t.escapedName}return e.firstDefined(t.declarations,function(t){var r=e.getNameOfDeclaration(t);return r&&r.kind===72?r.escapedText:undefined})}e.symbolEscapedNameNoDefault=symbolEscapedNameNoDefault;function isObjectBindingElementWithoutPropertyName(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName}e.isObjectBindingElementWithoutPropertyName=isObjectBindingElementWithoutPropertyName;function getPropertySymbolFromBindingElement(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)}e.getPropertySymbolFromBindingElement=getPropertySymbolFromBindingElement;function getPropertySymbolsFromBaseTypes(t,r,n,i){var a=e.createMap();return recur(t);function recur(t){if(!(t.flags&(32|64))||!e.addToSeen(a,e.getSymbolId(t)))return;return e.firstDefined(t.declarations,function(t){return e.firstDefined(e.getAllSuperTypeNodes(t),function(t){var a=n.getTypeAtLocation(t);var o=a&&a.symbol&&n.getPropertyOfType(a,r);return a&&o&&(e.firstDefined(n.getRootSymbols(o),i)||recur(a.symbol))})})}}e.getPropertySymbolsFromBaseTypes=getPropertySymbolsFromBaseTypes;function isMemberSymbolInBaseType(e,t){return getPropertySymbolsFromBaseTypes(e.parent,e.name,t,function(e){return true})||false}e.isMemberSymbolInBaseType=isMemberSymbolInBaseType;function getParentNodeInSpan(t,r,n){if(!t)return undefined;while(t.parent){if(e.isSourceFile(t.parent)||!spanContainsNode(n,t.parent,r)){return t}t=t.parent}}e.getParentNodeInSpan=getParentNodeInSpan;function spanContainsNode(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function findModifier(t,r){return t.modifiers&&e.find(t.modifiers,function(e){return e.kind===r})}e.findModifier=findModifier;function insertImport(t,r,n){var i=e.findLast(r.statements,e.isAnyImportSyntax);if(i){t.insertNodeAfter(r,i,n)}else{t.insertNodeAtTopOfFile(r,n,true)}}e.insertImport=insertImport;function textSpansEqual(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}e.textSpansEqual=textSpansEqual;function documentSpansEqual(e,t){return e.fileName===t.fileName&&textSpansEqual(e.textSpan,t.textSpan)}e.documentSpansEqual=documentSpansEqual})(s||(s={}));(function(e){function isFirstDeclarationOfSymbolParameter(e){return e.declarations&&e.declarations.length>0&&e.declarations[0].kind===151}e.isFirstDeclarationOfSymbolParameter=isFirstDeclarationOfSymbolParameter;var t=getDisplayPartWriter();function getDisplayPartWriter(){var t=e.defaultMaximumTruncationLength*10;var r;var n;var i;var a;resetWriter();var o=function(t){return writeKind(t,e.SymbolDisplayPartKind.text)};return{displayParts:function(){var n=r.length&&r[r.length-1].text;if(a>t&&n&&n!=="..."){if(!e.isWhiteSpaceLike(n.charCodeAt(n.length-1))){r.push(displayPart(" ",e.SymbolDisplayPartKind.space))}r.push(displayPart("...",e.SymbolDisplayPartKind.punctuation))}return r},writeKeyword:function(t){return writeKind(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return writeKind(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return writeKind(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return writeKind(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return writeKind(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return writeKind(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return writeKind(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return writeKind(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return writeKind(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:writeSymbol,writeLine:writeLine,write:o,writeComment:o,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return false},rawWrite:e.notImplemented,getIndent:function(){return i},increaseIndent:function(){i++},decreaseIndent:function(){i--},clear:resetWriter,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function writeIndent(){if(a>t)return;if(n){var o=e.getIndentString(i);if(o){a+=o.length;r.push(displayPart(o,e.SymbolDisplayPartKind.space))}n=false}}function writeKind(e,n){if(a>t)return;writeIndent();a+=e.length;r.push(displayPart(e,n))}function writeSymbol(e,n){if(a>t)return;writeIndent();a+=e.length;r.push(symbolPart(e,n))}function writeLine(){if(a>t)return;a+=1;r.push(lineBreakPart());n=true}function resetWriter(){r=[];n=true;i=0;a=0}}function symbolPart(t,r){return displayPart(t,displayPartKind(r));function displayPartKind(t){var r=t.flags;if(r&3){return isFirstDeclarationOfSymbolParameter(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName}else if(r&4){return e.SymbolDisplayPartKind.propertyName}else if(r&32768){return e.SymbolDisplayPartKind.propertyName}else if(r&65536){return e.SymbolDisplayPartKind.propertyName}else if(r&8){return e.SymbolDisplayPartKind.enumMemberName}else if(r&16){return e.SymbolDisplayPartKind.functionName}else if(r&32){return e.SymbolDisplayPartKind.className}else if(r&64){return e.SymbolDisplayPartKind.interfaceName}else if(r&384){return e.SymbolDisplayPartKind.enumName}else if(r&1536){return e.SymbolDisplayPartKind.moduleName}else if(r&8192){return e.SymbolDisplayPartKind.methodName}else if(r&262144){return e.SymbolDisplayPartKind.typeParameterName}else if(r&524288){return e.SymbolDisplayPartKind.aliasName}else if(r&2097152){return e.SymbolDisplayPartKind.aliasName}return e.SymbolDisplayPartKind.text}}e.symbolPart=symbolPart;function displayPart(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}e.displayPart=displayPart;function spacePart(){return displayPart(" ",e.SymbolDisplayPartKind.space)}e.spacePart=spacePart;function keywordPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}e.keywordPart=keywordPart;function punctuationPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}e.punctuationPart=punctuationPart;function operatorPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}e.operatorPart=operatorPart;function textOrKeywordPart(t){var r=e.stringToToken(t);return r===undefined?textPart(t):keywordPart(r)}e.textOrKeywordPart=textOrKeywordPart;function textPart(t){return displayPart(t,e.SymbolDisplayPartKind.text)}e.textPart=textPart;var r="\r\n";function getNewLineOrDefaultFromHost(e,t){return t&&t.newLineCharacter||e.getNewLine&&e.getNewLine()||r}e.getNewLineOrDefaultFromHost=getNewLineOrDefaultFromHost;function lineBreakPart(){return displayPart("\n",e.SymbolDisplayPartKind.lineBreak)}e.lineBreakPart=lineBreakPart;function mapToDisplayParts(e){try{e(t);return t.displayParts()}finally{t.clear()}}e.mapToDisplayParts=mapToDisplayParts;function typeToDisplayParts(e,t,r,n){if(n===void 0){n=0}return mapToDisplayParts(function(i){e.writeType(t,r,n|1024|16384,i)})}e.typeToDisplayParts=typeToDisplayParts;function symbolToDisplayParts(e,t,r,n,i){if(i===void 0){i=0}return mapToDisplayParts(function(a){e.writeSymbol(t,r,n,i|8,a)})}e.symbolToDisplayParts=symbolToDisplayParts;function signatureToDisplayParts(e,t,r,n){if(n===void 0){n=0}n|=16384|1024|32|8192;return mapToDisplayParts(function(i){e.writeSignature(t,r,n,undefined,i)})}e.signatureToDisplayParts=signatureToDisplayParts;function isImportOrExportSpecifierName(t){return!!t.parent&&e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t}e.isImportOrExportSpecifierName=isImportOrExportSpecifierName;function stripQuotes(e){var t=e.length;if(t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&startsWithQuote(e)){return e.substring(1,t-1)}return e}e.stripQuotes=stripQuotes;function startsWithQuote(t){return e.isSingleOrDoubleQuote(t.charCodeAt(0))}e.startsWithQuote=startsWithQuote;function scriptKindIs(t,r){var n=[];for(var i=2;i-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r))){r-=1}return r+1}e.getPrecedingNonSpaceCharacterPosition=getPrecedingNonSpaceCharacterPosition;function getSynthesizedDeepClone(e,t){if(t===void 0){t=true}var r=e&&getSynthesizedDeepCloneWorker(e);if(r&&!t)suppressLeadingAndTrailingTrivia(r);return r}e.getSynthesizedDeepClone=getSynthesizedDeepClone;function getSynthesizedDeepCloneWithRenames(t,r,n,i,a){if(r===void 0){r=true}var o;if(e.isIdentifier(t)&&n&&i){var s=i.getSymbolAtLocation(t);var c=s&&n.get(String(e.getSymbolId(s)));if(c){o=e.createIdentifier(c.text)}}if(!o){o=getSynthesizedDeepCloneWorker(t,n,i,a)}if(o&&!r)suppressLeadingAndTrailingTrivia(o);if(a&&o)a(t,o);return o}e.getSynthesizedDeepCloneWithRenames=getSynthesizedDeepCloneWithRenames;function getSynthesizedDeepCloneWorker(t,r,n,i){var a=r||n||i?e.visitEachChild(t,wrapper,e.nullTransformationContext):e.visitEachChild(t,getSynthesizedDeepClone,e.nullTransformationContext);if(a===t){var o=e.getSynthesizedClone(t);if(e.isStringLiteral(o)){o.textSourceNode=t}else if(e.isNumericLiteral(o)){o.numericLiteralFlags=t.numericLiteralFlags}return e.setTextRange(o,t)}a.parent=undefined;return a;function wrapper(e){return getSynthesizedDeepCloneWithRenames(e,true,r,n,i)}}function getSynthesizedDeepClones(t,r){if(r===void 0){r=true}return t&&e.createNodeArray(t.map(function(e){return getSynthesizedDeepClone(e,r)}),t.hasTrailingComma)}e.getSynthesizedDeepClones=getSynthesizedDeepClones;function suppressLeadingAndTrailingTrivia(e){suppressLeadingTrivia(e);suppressTrailingTrivia(e)}e.suppressLeadingAndTrailingTrivia=suppressLeadingAndTrailingTrivia;function suppressLeadingTrivia(e){addEmitFlagsRecursively(e,512,getFirstChild)}e.suppressLeadingTrivia=suppressLeadingTrivia;function suppressTrailingTrivia(t){addEmitFlagsRecursively(t,1024,e.getLastChild)}e.suppressTrailingTrivia=suppressTrailingTrivia;function addEmitFlagsRecursively(t,r,n){e.addEmitFlags(t,r);var i=n(t);if(i)addEmitFlagsRecursively(i,r,n)}function getFirstChild(e){return e.forEachChild(function(e){return e})}function getUniqueName(t,r){var n=t;for(var i=1;!e.isFileLevelUniqueName(r,n);i++){n=t+"_"+i}return n}e.getUniqueName=getUniqueName;function getRenameLocation(t,r,n,i){var a=0;var o=-1;for(var s=0,c=t;s=0);return o}e.getRenameLocation=getRenameLocation;function copyComments(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,function(t,o,s,c){if(s===3){t+=2;o-=2}else{t+=2}e.addSyntheticLeadingComment(r,i||s,n.text.slice(t,o),a!==undefined?a:c)})}e.copyComments=copyComments;function indexInTextChange(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(" "+r);if(n===-1)n=t.indexOf("."+r);if(n===-1)n=t.indexOf('"'+r);return n===-1?-1:n+1}function getContextualTypeFromParent(e,t){var r=e.parent;switch(r.kind){case 192:return t.getContextualType(r);case 204:{var n=r,i=n.left,a=n.operatorToken,o=n.right;return isEqualityOperatorKind(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e)}case 271:return r.expression===e?getSwitchedType(r,t):undefined;default:return t.getContextualType(e)}}e.getContextualTypeFromParent=getContextualTypeFromParent;function quote(t,r){if(/^\d+$/.test(t)){return t}var n=JSON.stringify(t);switch(r.quotePreference){case undefined:case"double":return n;case"single":return"'"+stripQuotes(n).replace("'","\\'").replace('\\"','"')+"'";default:return e.Debug.assertNever(r.quotePreference)}}e.quote=quote;function isEqualityOperatorKind(e){switch(e){case 35:case 33:case 36:case 34:return true;default:return false}}e.isEqualityOperatorKind=isEqualityOperatorKind;function isStringLiteralOrTemplate(e){switch(e.kind){case 10:case 14:case 206:case 193:return true;default:return false}}e.isStringLiteralOrTemplate=isStringLiteralOrTemplate;function hasIndexSignature(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()}e.hasIndexSignature=hasIndexSignature;function getSwitchedType(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}e.getSwitchedType=getSwitchedType})(s||(s={}));var s;(function(e){function createClassifier(){var r=e.createScanner(6,false);function getClassificationsForLine(e,t,r){return convertClassificationsToResult(getEncodedLexicalClassifications(e,t,r),e)}function getEncodedLexicalClassifications(n,i,a){var o=0;var s=0;var c=[];var u=getPrefixFromLexState(i),l=u.prefix,f=u.pushTemplate;n=l+n;var d=l.length;if(f){c.push(15)}r.setText(n);var p=0;var g=[];var _=0;do{o=r.scan();if(!e.isTrivia(o)){handleToken();s=o}var m=r.getTextPos();pushEncodedClassification(r.getTokenPos(),m,d,classFromKind(o),g);if(m>=n.length){var y=getNewEndOfLineState(r,o,e.lastOrUndefined(c));if(y!==undefined){p=y}}}while(o!==1);function handleToken(){switch(o){case 42:case 64:if(!t[s]&&r.reScanSlashToken()===13){o=13}break;case 28:if(s===72){_++}break;case 30:if(_>0){_--}break;case 120:case 138:case 135:case 123:case 139:if(_>0&&!a){o=72}break;case 15:c.push(o);break;case 18:if(c.length>0){c.push(o)}break;case 19:if(c.length>0){var n=e.lastOrUndefined(c);if(n===15){o=r.reScanTemplateToken();if(o===17){c.pop()}else{e.Debug.assertEqual(o,16,"Should have been a template middle.")}}else{e.Debug.assertEqual(n,18,"Should have been an open brace");c.pop()}}break;default:if(!e.isKeyword(o)){break}if(s===24){o=72}else if(e.isKeyword(s)&&e.isKeyword(o)&&!canFollow(s,o)){o=72}}}return{endOfLineState:p,spans:g}}return{getClassificationsForLine:getClassificationsForLine,getEncodedLexicalClassifications:getEncodedLexicalClassifications}}e.createClassifier=createClassifier;var t=e.arrayToNumericMap([72,10,8,9,13,100,44,45,21,23,19,102,87],function(e){return e},function(){return true});function getNewEndOfLineState(t,r,n){switch(r){case 10:{if(!t.isUnterminated())return undefined;var i=t.getTokenText();var a=i.length-1;var o=0;while(i.charCodeAt(a-o)===92){o++}if((o&1)===0)return undefined;return i.charCodeAt(0)===34?3:2}case 3:return t.isUnterminated()?1:undefined;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated()){return undefined}switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+r)}}return n===15?6:undefined}}function pushEncodedClassification(e,t,r,n,i){if(n===8){return}if(e===0&&r>0){e+=r}var a=t-e;if(a>0){i.push(e-r,a,n)}}function convertClassificationsToResult(t,r){var n=[];var i=t.spans;var a=0;for(var o=0;o=0){var l=s-a;if(l>0){n.push({length:l,classification:e.TokenClass.Whitespace})}}n.push({length:c,classification:convertClassification(u)});a=s+c}var f=r.length-a;if(f>0){n.push({length:f,classification:e.TokenClass.Whitespace})}return{entries:n,finalLexState:t.endOfLineState}}function convertClassification(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return undefined}}function canFollow(t,r){if(!e.isAccessibilityModifier(t)){return true}switch(r){case 126:case 137:case 124:case 116:return true;default:return false}}function getPrefixFromLexState(t){switch(t){case 3:return{prefix:'"\\\n'};case 2:return{prefix:"'\\\n"};case 1:return{prefix:"/*\n"};case 4:return{prefix:"`\n"};case 5:return{prefix:"}\n",pushTemplate:true};case 6:return{prefix:"",pushTemplate:true};case 0:return{prefix:""};default:return e.Debug.assertNever(t)}}function isBinaryExpressionOperatorToken(e){switch(e){case 40:case 42:case 43:case 38:case 39:case 46:case 47:case 48:case 28:case 30:case 31:case 32:case 94:case 93:case 119:case 33:case 34:case 35:case 36:case 49:case 51:case 50:case 54:case 55:case 70:case 69:case 71:case 66:case 67:case 68:case 60:case 61:case 62:case 64:case 65:case 59:case 27:return true;default:return false}}function isPrefixUnaryExpressionOperatorToken(e){switch(e){case 38:case 39:case 53:case 52:case 44:case 45:return true;default:return false}}function classFromKind(t){if(e.isKeyword(t)){return 3}else if(isBinaryExpressionOperatorToken(t)||isPrefixUnaryExpressionOperatorToken(t)){return 5}else if(t>=18&&t<=71){return 10}switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 72:default:if(e.isTemplateLiteralKind(t)){return 6}return 2}}function getSemanticClassifications(e,t,r,n,i){return convertClassificationsToSpans(getEncodedSemanticClassifications(e,t,r,n,i))}e.getSemanticClassifications=getSemanticClassifications;function checkForClassificationCancellation(e,t){switch(t){case 244:case 240:case 241:case 239:e.throwIfCancellationRequested()}}function getEncodedSemanticClassifications(t,r,n,i,a){var o=[];n.forEachChild(function cb(o){if(!o||!e.textSpanIntersectsWith(a,o.pos,o.getFullWidth())){return}checkForClassificationCancellation(r,o.kind);if(e.isIdentifier(o)&&!e.nodeIsMissing(o)&&i.has(o.escapedText)){var s=t.getSymbolAtLocation(o);var c=s&&classifySymbol(s,e.getMeaningFromLocation(o),t);if(c){pushClassification(o.getStart(n),o.getEnd(),c)}}o.forEachChild(cb)});return{spans:o,endOfLineState:0};function pushClassification(e,t,r){o.push(e);o.push(t-e);o.push(r)}}e.getEncodedSemanticClassifications=getEncodedSemanticClassifications;function classifySymbol(e,t,r){var n=e.getFlags();if((n&2885600)===0){return undefined}else if(n&32){return 11}else if(n&384){return 12}else if(n&524288){return 16}else if(n&1536){return t&4||t&1&&hasValueSideModule(e)?14:undefined}else if(n&2097152){return classifySymbol(r.getAliasedSymbol(e),t,r)}else if(t&2){return n&64?13:n&262144?15:undefined}else{return undefined}}function hasValueSideModule(t){return e.some(t.declarations,function(t){return e.isModuleDeclaration(t)&&e.getModuleInstanceState(t)===1})}function getClassificationTypeName(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return undefined}}function convertClassificationsToSpans(t){e.Debug.assert(t.spans.length%3===0);var r=t.spans;var n=[];for(var i=0;i=0);if(i>0){var a=r||classifyTokenType(t.kind,t);if(a){pushClassification(n,i,a)}}return true}function tryClassifyJsxElementName(e){switch(e.parent&&e.parent.kind){case 262:if(e.parent.tagName===e){return 19}break;case 263:if(e.parent.tagName===e){return 20}break;case 261:if(e.parent.tagName===e){return 21}break;case 267:if(e.parent.name===e){return 22}break}return undefined}function classifyTokenType(t,r){if(e.isKeyword(t)){return 3}if(t===28||t===30){if(r&&e.getTypeArgumentOrTypeParameterList(r.parent)){return 10}}if(e.isPunctuation(t)){if(r){var n=r.parent;if(t===59){if(n.kind===237||n.kind===154||n.kind===151||n.kind===267){return 5}}if(n.kind===204||n.kind===202||n.kind===203||n.kind===205){return 5}}return 10}else if(t===8){return 4}else if(t===9){return 25}else if(t===10){return r.parent.kind===267?24:6}else if(t===13){return 6}else if(e.isTemplateLiteralKind(t)){return 6}else if(t===11){return 23}else if(t===72){if(r){switch(r.parent.kind){case 240:if(r.parent.name===r){return 11}return;case 150:if(r.parent.name===r){return 15}return;case 241:if(r.parent.name===r){return 13}return;case 243:if(r.parent.name===r){return 12}return;case 244:if(r.parent.name===r){return 14}return;case 151:if(r.parent.name===r){return e.isThisIdentifier(r)?3:17}return}}return 2}}function processElement(n){if(!n){return}if(e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){checkForClassificationCancellation(t,n.kind);for(var o=0,s=n.getChildren(r);oe.parameters.length)return;var a=r.getParameterType(e,t.argumentIndex);n=n||!!(a.flags&4);return getStringLiteralTypes(a,i)});return{kind:2,types:o,isNewIdentifier:n}}function stringLiteralCompletionsFromProperties(t){return t&&{kind:1,symbols:t.getApparentProperties(),hasIndexSignature:e.hasIndexSignature(t)}}function getStringLiteralTypes(t,r){if(r===void 0){r=e.createMap()}if(!t)return e.emptyArray;t=e.skipConstraint(t);return t.isUnion()?e.flatMap(t.types,function(e){return getStringLiteralTypes(e,r)}):t.isStringLiteral()&&!(t.flags&1024)&&e.addToSeen(r,t.value)?[t]:e.emptyArray}function nameAndKind(e,t,r){return{name:e,kind:t,extension:r}}function directoryResult(e){return nameAndKind(e,"directory",undefined)}function addReplacementSpans(e,t,r){var n=getDirectoryFragmentTextSpan(e,t);return r.map(function(e){var t=e.name,r=e.kind,i=e.extension;return{name:t,kind:r,extension:i,span:n}})}function getStringLiteralCompletionsFromModuleNames(e,t,r,n,i){return addReplacementSpans(t.text,t.getStart(e)+1,getStringLiteralCompletionsFromModuleNamesWorker(e,t,r,n,i))}function getStringLiteralCompletionsFromModuleNamesWorker(t,r,n,i,a){var o=e.normalizeSlashes(r.text);var s=t.path;var c=e.getDirectoryPath(s);return isPathRelativeToScript(o)||!n.baseUrl&&(e.isRootedDiskPath(o)||e.isUrl(o))?getCompletionEntriesForRelativeModules(o,c,n,i,s):getCompletionEntriesForNonRelativeModules(o,c,n,i,a)}function getExtensionOptions(e,t){if(t===void 0){t=false}return{extensions:getSupportedExtensionsForModuleResolution(e),includeExtensions:t}}function getCompletionEntriesForRelativeModules(e,t,r,n,i){var a=getExtensionOptions(r);if(r.rootDirs){return getCompletionEntriesForDirectoryFragmentWithRootDirs(r.rootDirs,e,t,a,r,n,i)}else{return getCompletionEntriesForDirectoryFragment(e,t,a,n,i)}}function getSupportedExtensionsForModuleResolution(t){var r=e.getSupportedExtensions(t);return t.resolveJsonModule&&e.getEmitModuleResolutionKind(t)===e.ModuleResolutionKind.NodeJs?r.concat(".json"):r}function getBaseDirectoriesFromRootDirs(t,r,n,i){t=t.map(function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(r,t))});var a=e.firstDefined(t,function(t){return e.containsPath(t,n,r,i)?n.substr(t.length):undefined});return e.deduplicate(t.map(function(t){return e.combinePaths(t,a)}).concat([n]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}function getCompletionEntriesForDirectoryFragmentWithRootDirs(t,r,n,i,a,o,s){var c=a.project||o.getCurrentDirectory();var u=!(o.useCaseSensitiveFileNames&&o.useCaseSensitiveFileNames());var l=getBaseDirectoriesFromRootDirs(t,c,n,u);return e.flatMap(l,function(e){return getCompletionEntriesForDirectoryFragment(r,e,i,o,s)})}function getCompletionEntriesForDirectoryFragment(t,r,n,i,a,o){var s=n.extensions,c=n.includeExtensions;if(o===void 0){o=[]}if(t===undefined){t=""}t=e.normalizeSlashes(t);if(!e.hasTrailingDirectorySeparator(t)){t=e.getDirectoryPath(t)}if(t===""){t="."+e.directorySeparator}t=e.ensureTrailingDirectorySeparator(t);var u=e.resolvePath(r,t);var l=e.hasTrailingDirectorySeparator(u)?u:e.getDirectoryPath(u);var f=!(i.useCaseSensitiveFileNames&&i.useCaseSensitiveFileNames());if(!tryDirectoryExists(i,l))return o;var d=tryReadDirectory(i,l,s,undefined,["./*"]);if(d){var p=e.createMap();for(var g=0,_=d;g<_.length;g++){var m=_[g];m=e.normalizePath(m);if(a&&e.comparePaths(m,a,r,f)===0){continue}var y=c||e.fileExtensionIs(m,".json")?e.getBaseFileName(m):e.removeFileExtension(e.getBaseFileName(m));p.set(y,e.tryGetExtensionFromPath(m))}p.forEach(function(e,t){o.push(nameAndKind(t,"script",e))})}var h=tryGetDirectories(i,l);if(h){for(var v=0,T=h;v=e.pos&&r<=e.end});if(!c){return undefined}var u=t.text.slice(c.pos,r);var l=i.exec(u);if(!l){return undefined}var f=l[1],d=l[2],p=l[3];var g=e.getDirectoryPath(t.path);var _=d==="path"?getCompletionEntriesForDirectoryFragment(p,g,getExtensionOptions(n,true),a,t.path):d==="types"?getCompletionEntriesFromTypings(a,n,g,getFragmentDirectory(p),getExtensionOptions(n)):e.Debug.fail();return addReplacementSpans(p,c.pos+f.length,_)}function getCompletionEntriesFromTypings(t,r,n,i,a,o){if(o===void 0){o=[]}var s=e.createMap();var c=tryAndIgnoreErrors(function(){return e.getEffectiveTypeRoots(r,t)})||e.emptyArray;for(var u=0,l=c;u=2&&e.charCodeAt(0)===46){var t=e.length>=3&&e.charCodeAt(1)===46?2:1;var r=e.charCodeAt(t);return r===47||r===92}return false}var i=/^(\/\/\/\s*"),kind:"class",kindModifiers:undefined,sortText:"0"};return{isGlobalCompletion:false,isMemberCompletion:true,isNewIdentifierLocation:false,entries:[T]}}var S=[];if(isUncheckedFile(t,n)){var b=getCompletionEntriesFromSymbols(s,S,f,t,r,n.target,i,c,o,d,y,m,_);getJSCompletionEntries(t,f.pos,b,n.target,S)}else{if((!s||s.length===0)&&p===0){return undefined}getCompletionEntriesFromSymbols(s,S,f,t,r,n.target,i,c,o,d,y,m,_)}if(p!==0){var x=e.arrayToSet(S,function(e){return e.name});for(var C=0,E=getKeywordCompletions(p);C0){F=filterObjectMembersList(r,e.Debug.assertDefined(n))}return 1}function tryGetImportOrExportClauseCompletionSymbols(){var t=y&&(y.kind===18||y.kind===27)?e.tryCast(y.parent,e.isNamedImportsOrExports):undefined;if(!t)return 0;var r=(t.kind===252?t.parent.parent:t.parent).moduleSpecifier;var n=c.getSymbolAtLocation(r);if(!n)return 2;N=3;A=false;var i=c.getExportsAndPropertiesOfModule(n);var a=e.arrayToSet(t.elements,function(e){return isCurrentlyEditingNode(e)?undefined:(e.propertyName||e.name).escapedText});F=i.filter(function(e){return e.escapedName!=="default"&&!a.get(e.escapedName)});return 1}function tryGetClassLikeCompletionSymbols(){var t=tryGetObjectTypeDeclarationCompletionContainer(n,y,E);if(!t)return 0;N=3;A=true;O=y.kind===40?0:e.isClassLike(t)?2:3;if(!e.isClassLike(t))return 1;var r=y.parent;var i=e.isClassElement(r)?e.getModifierFlags(r):0;if(y.kind===72&&!isCurrentlyEditingNode(y)){switch(y.getText()){case"private":i=i|8;break;case"static":i=i|32;break}}if(!(i&8)){var a=e.flatMap(e.getAllSuperTypeNodes(t),function(e){var r=c.getTypeAtLocation(e);return r&&c.getPropertiesOfType(i&32?c.getTypeOfSymbolAtLocation(r.symbol,t):r)});F=filterClassMembersList(a,t.members,i)}return 1}function tryGetObjectLikeCompletionContainer(t){if(t){var r=t.parent;switch(t.kind){case 18:case 27:if(e.isObjectLiteralExpression(r)||e.isObjectBindingPattern(r)){return r}break;case 40:return e.isMethodDeclaration(r)?e.tryCast(r.parent,e.isObjectLiteralExpression):undefined;case 72:return t.text==="async"&&e.isShorthandPropertyAssignment(t.parent)?t.parent.parent:undefined}}return undefined}function isConstructorParameterCompletion(t){return!!t.parent&&e.isParameter(t.parent)&&e.isConstructorDeclaration(t.parent.parent)&&(e.isParameterPropertyModifier(t.kind)||e.isDeclarationName(t))}function tryGetConstructorLikeCompletionContainer(t){if(t){var r=t.parent;switch(t.kind){case 20:case 27:return e.isConstructorDeclaration(t.parent)?t.parent:undefined;default:if(isConstructorParameterCompletion(t)){return r.parent}}}return undefined}function tryGetFunctionLikeBodyCompletionContainer(t){if(t){var r;var n=e.findAncestor(t.parent,function(t){if(e.isClassLike(t)){return"quit"}if(e.isFunctionLikeDeclaration(t)&&r===t.body){return true}r=t;return false});return n&&n}}function tryGetContainingJsxElement(t){if(t){var r=t.parent;switch(t.kind){case 30:case 29:case 42:case 72:case 189:case 268:case 267:case 269:if(r&&(r.kind===261||r.kind===262)){if(t.kind===30){var i=e.findPrecedingToken(t.pos,n,undefined);if(!r.typeArguments||i&&i.kind===42)break}return r}else if(r.kind===267){return r.parent.parent}break;case 10:if(r&&(r.kind===267||r.kind===269)){return r.parent.parent}break;case 19:if(r&&r.kind===270&&r.parent&&r.parent.kind===267){return r.parent.parent.parent}if(r&&r.kind===269){return r.parent.parent}break}}return undefined}function isSolelyIdentifierDefinitionLocation(t){var r=t.parent;var n=r.kind;switch(t.kind){case 27:return n===237||n===238||n===219||n===243||isFunctionLikeButNotConstructor(n)||n===241||n===185||n===242||e.isClassLike(r)&&!!r.typeParameters&&r.typeParameters.end>=t.pos;case 24:return n===185;case 57:return n===186;case 22:return n===185;case 20:return n===274||isFunctionLikeButNotConstructor(n);case 18:return n===243;case 28:return n===240||n===209||n===241||n===242||e.isFunctionLikeKind(n);case 116:return n===154&&!e.isClassLike(r.parent);case 25:return n===151||!!r.parent&&r.parent.kind===185;case 115:case 113:case 114:return n===151&&!e.isConstructorDeclaration(r.parent);case 119:return n===253||n===257||n===251;case 126:case 137:return!isFromObjectTypeDeclaration(t);case 76:case 84:case 110:case 90:case 105:case 92:case 111:case 77:case 117:case 140:return true;case 40:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(isClassMemberCompletionKeyword(keywordForNode(t))&&isFromObjectTypeDeclaration(t)){return false}if(isConstructorParameterCompletion(t)){if(!e.isIdentifier(t)||e.isParameterPropertyModifier(keywordForNode(t))||isCurrentlyEditingNode(t)){return false}}switch(keywordForNode(t)){case 118:case 76:case 77:case 125:case 84:case 90:case 110:case 111:case 113:case 114:case 115:case 116:case 105:case 117:return true;case 121:return e.isPropertyDeclaration(t.parent)}return e.isDeclarationName(t)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==m||a>m.end))}function isFunctionLikeButNotConstructor(t){return e.isFunctionLikeKind(t)&&t!==157}function isDotOfNumericLiteral(e){if(e.kind===8){var t=e.getFullText();return t.charAt(t.length-1)==="."}return false}function filterObjectMembersList(t,r){if(r.length===0){return t}var n=e.createUnderscoreEscapedMap();for(var i=0,a=r;i=0;i--){if(pushKeywordIf(r,n[i],107)){break}}}}e.forEach(aggregateAllBreakAndContinueStatements(t.statement),function(e){if(ownsBreakOrContinueStatement(t,e)){pushKeywordIf(r,e.getFirstToken(),73,78)}});return r}function getBreakOrContinueStatementOccurrences(e){var t=getBreakOrContinueOwner(e);if(t){switch(t.kind){case 225:case 226:case 227:case 223:case 224:return getLoopBreakContinueOccurrences(t);case 232:return getSwitchCaseDefaultOccurrences(t)}}return undefined}function getSwitchCaseDefaultOccurrences(t){var r=[];pushKeywordIf(r,t.getFirstToken(),99);e.forEach(t.caseBlock.clauses,function(n){pushKeywordIf(r,n.getFirstToken(),74,80);e.forEach(aggregateAllBreakAndContinueStatements(n),function(e){if(ownsBreakOrContinueStatement(t,e)){pushKeywordIf(r,e.getFirstToken(),73)}})});return r}function getTryCatchFinallyOccurrences(t,r){var n=[];pushKeywordIf(n,t.getFirstToken(),103);if(t.catchClause){pushKeywordIf(n,t.catchClause.getFirstToken(),75)}if(t.finallyBlock){var i=e.findChildOfKind(t,88,r);pushKeywordIf(n,i,88)}return n}function getThrowOccurrences(t,r){var n=getThrowStatementOwner(t);if(!n){return undefined}var i=[];e.forEach(aggregateOwnedThrowStatements(n),function(t){i.push(e.findChildOfKind(t,101,r))});if(e.isFunctionBlock(n)){e.forEachReturnStatement(n,function(t){i.push(e.findChildOfKind(t,97,r))})}return i}function getReturnOccurrences(t,r){var n=e.getContainingFunction(t);if(!n){return undefined}var i=[];e.forEachReturnStatement(e.cast(n.body,e.isBlock),function(t){i.push(e.findChildOfKind(t,97,r))});e.forEach(aggregateOwnedThrowStatements(n.body),function(t){i.push(e.findChildOfKind(t,101,r))});return i}function getAsyncAndAwaitOccurrences(t){var r=e.getContainingFunction(t);if(!r){return undefined}var n=[];if(r.modifiers){r.modifiers.forEach(function(e){pushKeywordIf(n,e,121)})}e.forEachChild(r,function(t){traverseWithoutCrossingFunction(t,function(t){if(e.isAwaitExpression(t)){pushKeywordIf(n,t.getFirstToken(),122)}})});return n}function getYieldOccurrences(t){var r=e.getContainingFunction(t);if(!r){return undefined}var n=[];e.forEachChild(r,function(t){traverseWithoutCrossingFunction(t,function(t){if(e.isYieldExpression(t)){pushKeywordIf(n,t.getFirstToken(),117)}})});return n}function traverseWithoutCrossingFunction(t,r){r(t);if(!e.isFunctionLike(t)&&!e.isClassLike(t)&&!e.isInterfaceDeclaration(t)&&!e.isModuleDeclaration(t)&&!e.isTypeAliasDeclaration(t)&&!e.isTypeNode(t)){e.forEachChild(t,function(e){return traverseWithoutCrossingFunction(e,r)})}}function getIfElseOccurrences(t,r){var n=getIfElseKeywords(t,r);var i=[];for(var a=0;a=o.end;u--){if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(u))){c=false;break}}if(c){i.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(o.getStart(),s.end),kind:"reference"});a++;continue}}i.push(getHighlightSpanForNode(n[a],r))}return i}function getIfElseKeywords(t,r){var n=[];while(e.isIfStatement(t.parent)&&t.parent.elseStatement===t){t=t.parent}while(true){var i=t.getChildren(r);pushKeywordIf(n,i[0],91);for(var a=i.length-1;a>=0;a--){if(pushKeywordIf(n,i[a],83)){break}}if(!t.elseStatement||!e.isIfStatement(t.elseStatement)){break}t=t.elseStatement}return n}function isLabeledBy(t,r){return!!e.findAncestor(t.parent,function(t){return!e.isLabeledStatement(t)?"quit":t.label.escapedText===r})}})(t=e.DocumentHighlights||(e.DocumentHighlights={}))})(s||(s={}));var s;(function(e){function createDocumentRegistry(e,t){return createDocumentRegistryInternal(e,t)}e.createDocumentRegistry=createDocumentRegistry;function createDocumentRegistryInternal(t,r,n){if(r===void 0){r=""}var i=e.createMap();var a=e.createGetCanonicalFileName(!!t);function reportStats(){var t=e.arrayFrom(i.keys()).filter(function(e){return e&&e.charAt(0)==="_"}).map(function(e){var t=i.get(e);var r=[];t.forEach(function(e,t){r.push({name:t,refCount:e.languageServiceRefCount})});r.sort(function(e,t){return t.refCount-e.refCount});return{bucket:e,sourceFiles:r}});return JSON.stringify(t,undefined,2)}function acquireDocument(t,n,i,o,s){var c=e.toPath(t,r,a);var u=getKeyForCompilationSettings(n);return acquireDocumentWithKey(t,c,n,u,i,o,s)}function acquireDocumentWithKey(e,t,r,n,i,a,o){return acquireOrUpdateDocument(e,t,r,n,i,a,true,o)}function updateDocument(t,n,i,o,s){var c=e.toPath(t,r,a);var u=getKeyForCompilationSettings(n);return updateDocumentWithKey(t,c,n,u,i,o,s)}function updateDocumentWithKey(e,t,r,n,i,a,o){return acquireOrUpdateDocument(e,t,r,n,i,a,false,o)}function acquireOrUpdateDocument(t,r,a,o,s,c,u,l){var f=e.getOrUpdate(i,o,e.createMap);var d=f.get(r);var p=l===6?100:a.target||1;if(!d&&n){var g=n.getDocument(o,r);if(g){e.Debug.assert(u);d={sourceFile:g,languageServiceRefCount:0};f.set(r,d)}}if(!d){var g=e.createLanguageServiceSourceFile(t,s,p,c,false,l);if(n){n.setDocument(o,r,g)}d={sourceFile:g,languageServiceRefCount:1};f.set(r,d)}else{if(d.sourceFile.version!==c){d.sourceFile=e.updateLanguageServiceSourceFile(d.sourceFile,s,c,s.getChangeRange(d.sourceFile.scriptSnapshot));if(n){n.setDocument(o,r,d.sourceFile)}}if(u){d.languageServiceRefCount++}}e.Debug.assert(d.languageServiceRefCount!==0);return d.sourceFile}function releaseDocument(t,n){var i=e.toPath(t,r,a);var o=getKeyForCompilationSettings(n);return releaseDocumentWithKey(i,o)}function releaseDocumentWithKey(t,r){var n=e.Debug.assertDefined(i.get(r));var a=n.get(t);a.languageServiceRefCount--;e.Debug.assert(a.languageServiceRefCount>=0);if(a.languageServiceRefCount===0){n.delete(t)}}function getLanguageServiceRefCounts(t){return e.arrayFrom(i.entries(),function(e){var r=e[0],n=e[1];var i=n.get(t);return[r,i&&i.languageServiceRefCount]})}return{acquireDocument:acquireDocument,acquireDocumentWithKey:acquireDocumentWithKey,updateDocument:updateDocument,updateDocumentWithKey:updateDocumentWithKey,releaseDocument:releaseDocument,releaseDocumentWithKey:releaseDocumentWithKey,getLanguageServiceRefCounts:getLanguageServiceRefCounts,reportStats:reportStats,getKeyForCompilationSettings:getKeyForCompilationSettings}}e.createDocumentRegistryInternal=createDocumentRegistryInternal;function getKeyForCompilationSettings(t){return e.sourceFileAffectingCompilerOptions.map(function(r){return e.getCompilerOptionValue(t,r)}).join("|")}})(s||(s={}));var s;(function(e){var t;(function(t){function createImportTracker(e,t,r,i){var a=getDirectImportsMap(e,r,i);return function(o,s,c){var u=getImportersForExport(e,t,a,s,r,i),l=u.directImports,f=u.indirectUsers;return n({indirectUsers:f},getSearchesFromDirectImports(l,o,s.exportKind,r,c))}}t.createImportTracker=createImportTracker;var r;(function(e){e[e["Named"]=0]="Named";e[e["Default"]=1]="Default";e[e["ExportEquals"]=2]="ExportEquals"})(r=t.ExportKind||(t.ExportKind={}));var i;(function(e){e[e["Import"]=0]="Import";e[e["Export"]=1]="Export"})(i=t.ImportExport||(t.ImportExport={}));function getImportersForExport(t,r,n,i,a,o){var s=i.exportingModuleSymbol,c=i.exportKind;var u=e.nodeSeenTracker();var l=e.nodeSeenTracker();var f=[];var d=!!s.globalExports;var p=d?undefined:[];handleDirectImports(s);return{directImports:f,indirectUsers:getIndirectUsers()};function getIndirectUsers(){if(d){return t}for(var n=0,i=s.declarations;n=0){if(c>n.end)break;var u=c+s;if((c===0||!e.isIdentifierPart(a.charCodeAt(c-1),6))&&(u===o||!e.isIdentifierPart(a.charCodeAt(u),6))){i.push(c)}c=a.indexOf(r,c+s+1)}return i}function getLabelReferencesInNode(r,n){var i=r.getSourceFile();var a=n.text;var o=e.mapDefined(getPossibleSymbolReferenceNodes(i,a,r),function(r){return r===n||e.isJumpStatementTarget(r)&&e.getTargetLabel(r,a)===n?t.nodeEntry(r):undefined});return[{definition:{type:1,node:n},references:o}]}function isValidReferencePosition(t,r){switch(t.kind){case 72:return t.text.length===r.length;case 10:{var n=t;return(e.isLiteralNameOfPropertyDeclarationOrIndexAccess(n)||e.isNameOfModuleDeclaration(t)||e.isExpressionOfExternalModuleImportEqualsDeclaration(t)||e.isCallExpression(t.parent)&&e.isBindableObjectDefinePropertyCall(t.parent)&&t.parent.arguments[1]===t)&&n.text.length===r.length}case 8:return e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t)&&t.text.length===r.length;case 80:return"default".length===r.length;default:return false}}function getAllReferencesForKeyword(r,n,i){var a=e.flatMap(r,function(r){i.throwIfCancellationRequested();return e.mapDefined(getPossibleSymbolReferenceNodes(r,e.tokenToString(n),r),function(e){return e.kind===n?t.nodeEntry(e):undefined})});return a.length?[{definition:{type:2,node:a[0].node},references:a}]:undefined}function getReferencesInSourceFile(e,t,r,n){if(n===void 0){n=true}r.cancellationToken.throwIfCancellationRequested();return getReferencesInContainer(e,e,t,r,n)}function getReferencesInContainer(e,t,r,n,i){if(!n.markSearchedSymbols(t,r.allSearchSymbols)){return}for(var a=0,o=getPossibleSymbolReferencePositions(t,r.text,e);a0){return n}}switch(t.kind){case 279:var i=t;return e.isExternalModule(i)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'"':"";case 197:case 239:case 196:case 240:case 209:if(e.getModifierFlags(t)&512){return"default"}return getFunctionOrClassName(t);case 157:return"constructor";case 161:return"new()";case 160:return"()";case 162:return"[]";default:return""}}function topLevelItems(t){var r=[];function recur(e){if(isTopLevel(e)){r.push(e);if(e.children){for(var t=0,n=e.children;t0){return e.declarationNameToString(t.name)}else if(e.isVariableDeclaration(n)){return e.declarationNameToString(n.name)}else if(e.isBinaryExpression(n)&&n.operatorToken.kind===59){return nodeText(n.left).replace(r,"")}else if(e.isPropertyAssignment(n)){return nodeText(n.name)}else if(e.getModifierFlags(t)&512){return"default"}else if(e.isClassLike(t)){return""}else if(e.isCallExpression(n)){var a=getCalledExpressionName(n.expression);if(a!==undefined){var o=e.mapDefined(n.arguments,function(t){return e.isStringLiteral(t)?t.getText(i):undefined}).join(", ");return a+"("+o+") callback"}}return""}function getCalledExpressionName(t){if(e.isIdentifier(t)){return t.text}else if(e.isPropertyAccessExpression(t)){var r=getCalledExpressionName(t.expression);var n=t.name.text;return r===undefined?n:r+"."+n}else{return undefined}}function isFunctionOrClassExpression(e){switch(e.kind){case 197:case 196:case 209:return true;default:return false}}})(t=e.NavigationBar||(e.NavigationBar={}))})(s||(s={}));var s;(function(e){var t;(function(t){function organizeImports(t,r,n,i,a){var o=e.textChanges.ChangeTracker.fromContext({host:n,formatContext:r});var s=function(e){return coalesceImports(removeUnusedImports(e,t,i))};var c=t.statements.filter(e.isImportDeclaration);organizeImportsWorker(c,s);var u=t.statements.filter(e.isExportDeclaration);organizeImportsWorker(u,coalesceExports);for(var l=0,f=t.statements.filter(e.isAmbientModule);l0?i[0]:o[0];var v=y.length===0?p?undefined:e.createNamedImports(e.emptyArray):o.length===0?e.createNamedImports(y):e.updateNamedImports(o[0].importClause.namedBindings,y);s.push(updateImportDeclarationAndClause(h,p,v));return s;function getCategorizedImports(t){var r;var n=[];var i=[];var a=[];for(var o=0,s=t;o1){i.push(createOutliningSpanFromBounds(o,s,"comment"))}}}function createOutliningSpanFromBounds(t,r,n){return createOutliningSpan(e.createTextSpanFromBounds(t,r),n)}function getOutliningSpanForNode(t,r){switch(t.kind){case 218:if(e.isFunctionBlock(t)){return spanForNode(t.parent,t.parent.kind!==197)}switch(t.parent.kind){case 223:case 226:case 227:case 225:case 222:case 224:case 231:case 274:return spanForNode(t.parent);case 235:var n=t.parent;if(n.tryBlock===t){return spanForNode(t.parent)}else if(n.finallyBlock===t){return spanForNode(e.findChildOfKind(n,88,r))}default:return createOutliningSpan(e.createTextSpanFromNode(t,r),"code")}case 245:return spanForNode(t.parent);case 240:case 241:case 243:case 246:return spanForNode(t);case 188:return spanForObjectOrArrayLiteral(t);case 187:return spanForObjectOrArrayLiteral(t,22);case 260:return spanForJSXElement(t);case 261:case 262:return spanForJSXAttributes(t.attributes)}function spanForJSXElement(t){var n=e.createTextSpanFromBounds(t.openingElement.getStart(r),t.closingElement.getEnd());var i=t.openingElement.tagName.getText(r);var a="<"+i+">...";return createOutliningSpan(n,"code",n,false,a)}function spanForJSXAttributes(e){if(e.properties.length===0){return undefined}return createOutliningSpanFromBounds(e.getStart(r),e.getEnd(),"code")}function spanForObjectOrArrayLiteral(t,r){if(r===void 0){r=18}return spanForNode(t,false,!e.isArrayLiteralExpression(t.parent),r)}function spanForNode(n,i,a,o){if(i===void 0){i=false}if(a===void 0){a=true}if(o===void 0){o=18}var s=e.findChildOfKind(t,o,r);var c=o===18?19:23;var u=e.findChildOfKind(t,c,r);if(!s||!u){return undefined}var l=e.createTextSpanFromBounds(a?s.getFullStart():s.getStart(r),u.getEnd());return createOutliningSpan(l,"code",e.createTextSpanFromNode(n,r),i)}}function createOutliningSpan(e,t,r,n,i){if(r===void 0){r=e}if(n===void 0){n=false}if(i===void 0){i="..."}return{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}})(t=e.OutliningElementsCollector||(e.OutliningElementsCollector={}))})(s||(s={}));var s;(function(e){var t;(function(e){e[e["exact"]=0]="exact";e[e["prefix"]=1]="prefix";e[e["substring"]=2]="substring";e[e["camelCase"]=3]="camelCase"})(t=e.PatternMatchKind||(e.PatternMatchKind={}));function createPatternMatch(e,t){return{kind:e,isCaseSensitive:t}}function createPatternMatcher(t){var r=e.createMap();var n=t.trim().split(".").map(function(e){return createSegment(e.trim())});if(n.some(function(e){return!e.subWordTextChunks.length}))return undefined;return{getFullMatch:function(e,t){return getFullMatch(e,t,n,r)},getMatchForLastSegmentOfPattern:function(t){return matchSegment(t,e.last(n),r)},patternContainsDots:n.length>1}}e.createPatternMatcher=createPatternMatcher;function getFullMatch(t,r,n,i){var a=matchSegment(r,e.last(n),i);if(!a){return undefined}if(n.length-1>t.length){return undefined}var o;for(var s=n.length-2,c=t.length-1;s>=0;s-=1,c-=1){o=betterMatch(o,matchSegment(t[c],n[s],i))}return o}function getWordSpans(e,t){var r=t.get(e);if(!r){t.set(e,r=breakIntoWordSpans(e))}return r}function matchTextChunk(r,n,i){var a=indexOfIgnoringCase(r,n.textLowerCase);if(a===0){return createPatternMatch(n.text.length===r.length?t.exact:t.prefix,e.startsWith(r,n.text))}if(n.isLowerCase){if(a===-1)return undefined;var o=getWordSpans(r,i);for(var s=0,c=o;s0){return createPatternMatch(t.substring,true)}if(n.characterSpans.length>0){var l=getWordSpans(r,i);var f=tryCamelCaseMatch(r,l,n,false)?true:tryCamelCaseMatch(r,l,n,true)?false:undefined;if(f!==undefined){return createPatternMatch(t.camelCase,f)}}}}function matchSegment(e,t,r){if(every(t.totalTextChunk.text,function(e){return e!==32&&e!==42})){var n=matchTextChunk(e,t.totalTextChunk,r);if(n)return n}var i=t.subWordTextChunks;var a;for(var o=0,s=i;o=65&&t<=90){return true}if(t<127||!e.isUnicodeIdentifierStart(t,6)){return false}var r=String.fromCharCode(t);return r===r.toUpperCase()}function isLowerCaseLetter(t){if(t>=97&&t<=122){return true}if(t<127||!e.isUnicodeIdentifierStart(t,6)){return false}var r=String.fromCharCode(t);return r===r.toLowerCase()}function indexOfIgnoringCase(e,t){var r=e.length-t.length;var n=function(r){if(every(t,function(t,n){return toLowerCase(e.charCodeAt(n+r))===t})){return{value:r}}};for(var i=0;i<=r;i++){var a=n(i);if(typeof a==="object")return a.value}return-1}function toLowerCase(e){if(e>=65&&e<=90){return 97+(e-65)}if(e<127){return e}return String.fromCharCode(e).toLowerCase().charCodeAt(0)}function isDigit(e){return e>=48&&e<=57}function isWordChar(e){return isUpperCaseLetter(e)||isLowerCaseLetter(e)||isDigit(e)||e===95||e===36}function breakPatternIntoTextChunks(e){var t=[];var r=0;var n=0;for(var i=0;i0){t.push(createTextChunk(e.substr(r,n)));n=0}}}if(n>0){t.push(createTextChunk(e.substr(r,n)))}return t}function createTextChunk(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:breakIntoCharacterSpans(e)}}function breakIntoCharacterSpans(e){return breakIntoSpans(e,false)}e.breakIntoCharacterSpans=breakIntoCharacterSpans;function breakIntoWordSpans(e){return breakIntoSpans(e,true)}e.breakIntoWordSpans=breakIntoWordSpans;function breakIntoSpans(t,r){var n=[];var i=0;for(var a=1;a0&&e.last(r).kind===27){n++}return n}function getArgumentIndexForTemplatePiece(t,r,n,i){e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node.");if(e.isTemplateLiteralToken(r)){if(e.isInsideTemplateLiteral(r,n,i)){return 0}return t+2}return t+1}function getArgumentListInfoForTemplate(t,r,n){var i=e.isNoSubstitutionTemplateLiteral(t.template)?1:t.template.templateSpans.length+1;if(r!==0){e.Debug.assertLessThan(r,i)}return{isTypeParameterList:false,invocation:{kind:0,node:t},argumentsSpan:getApplicableSpanForTaggedTemplate(t,n),argumentIndex:r,argumentCount:i}}function getApplicableSpanForArguments(t,r){var n=t.getFullStart();var i=e.skipTrivia(r.text,t.getEnd(),false);return e.createTextSpan(n,i-n)}function getApplicableSpanForTaggedTemplate(t,r){var n=t.template;var i=n.getStart();var a=n.getEnd();if(n.kind===206){var o=e.last(n.templateSpans);if(o.literal.getFullWidth()===0){a=e.skipTrivia(r.text,a,false)}}return e.createTextSpan(i,a-i)}function getContainingArgumentInfo(t,r,n,i,a){var o=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),"Not a subspan",function(){return"Child: "+e.Debug.showSyntaxKind(t)+", parent: "+e.Debug.showSyntaxKind(t.parent)});var a=getImmediatelyContainingArgumentOrContextualParameterInfo(t,r,n,i);if(a){return{value:a}}};for(var s=t;a||!e.isBlock(s)&&!e.isSourceFile(s);s=s.parent){var c=o(s);if(typeof c==="object")return c.value}return undefined}function getChildListThatStartsWithOpenerToken(t,r,n){var i=t.getChildren(n);var a=i.indexOf(r);e.Debug.assert(a>=0&&i.length>a+1);return i[a+1]}function getExpressionFromInvocation(t){return t.kind===0?e.getInvokedExpression(t.node):t.called}function getEnclosingDeclarationFromInvocation(e){return e.kind===0?e.node:e.kind===1?e.called:e.node}var i=8192|70221824|16384;function createSignatureHelpItems(t,r,n,i,a){var o=n.isTypeParameterList,s=n.argumentCount,c=n.argumentsSpan,u=n.invocation,l=n.argumentIndex;var f=getEnclosingDeclarationFromInvocation(u);var d=u.kind===2?u.symbol:a.getSymbolAtLocation(getExpressionFromInvocation(u));var p=d?e.symbolToDisplayParts(a,d,undefined,undefined):e.emptyArray;var g=t.map(function(e){return getSignatureHelpItem(e,p,o,a,f,i)});if(l!==0){e.Debug.assertLessThan(l,s)}var _=t.indexOf(r);e.Debug.assert(_!==-1);return{items:g,applicableSpan:c,selectedItemIndex:_,argumentIndex:l,argumentCount:s}}function createTypeHelpItems(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex;var c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);if(!c)return undefined;var u=[getTypeHelpItem(e,c,n,getEnclosingDeclarationFromInvocation(o),r)];return{items:u,applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}}function getTypeHelpItem(t,r,n,i,o){var s=e.symbolToDisplayParts(n,t);var c=e.createPrinter({removeComments:true});var u=r.map(function(e){return createSignatureHelpParameterForTypeParameter(e,n,i,o,c)});var l=t.getDocumentationComment(n);var f=t.getJsDocTags();var d=s.concat([e.punctuationPart(28)]);return{isVariadic:false,prefixDisplayParts:d,suffixDisplayParts:[e.punctuationPart(30)],separatorDisplayParts:a,parameters:u,documentation:l,tags:f}}var a=[e.punctuationPart(27),e.spacePart()];function getSignatureHelpItem(e,t,r,n,i,o){var s=(r?itemInfoForTypeParameters:itemInfoForParameters)(e,n,i,o),c=s.isVariadic,u=s.parameters,l=s.prefix,f=s.suffix;var d=t.concat(l);var p=f.concat(returnTypeToDisplayParts(e,i,n));var g=e.getDocumentationComment(n);var _=e.getJsDocTags();return{isVariadic:c,prefixDisplayParts:d,suffixDisplayParts:p,separatorDisplayParts:a,parameters:u,documentation:g,tags:_}}function returnTypeToDisplayParts(t,r,n){return e.mapToDisplayParts(function(e){e.writePunctuation(":");e.writeSpace(" ");var i=n.getTypePredicateOfSignature(t);if(i){n.writeTypePredicate(i,r,undefined,e)}else{n.writeType(n.getReturnTypeOfSignature(t),r,undefined,e)}})}function itemInfoForTypeParameters(t,r,n,a){var o=(t.target||t).typeParameters;var s=e.createPrinter({removeComments:true});var c=(o||e.emptyArray).map(function(e){return createSignatureHelpParameterForTypeParameter(e,r,n,a,s)});var u=e.mapToDisplayParts(function(o){var c=t.thisParameter?[r.symbolToParameterDeclaration(t.thisParameter,n,i)]:[];var u=e.createNodeArray(c.concat(t.parameters.map(function(e){return r.symbolToParameterDeclaration(e,n,i)})));s.writeList(2576,u,a,o)});return{isVariadic:false,parameters:c,prefix:[e.punctuationPart(28)],suffix:[e.punctuationPart(30)].concat(u)}}function itemInfoForParameters(t,r,n,i){var a=t.hasRestParameter;var o=e.createPrinter({removeComments:true});var s=e.mapToDisplayParts(function(a){if(t.typeParameters&&t.typeParameters.length){var s=e.createNodeArray(t.typeParameters.map(function(e){return r.typeParameterToDeclaration(e,n)}));o.writeList(53776,s,i,a)}});var c=t.parameters.map(function(e){return createSignatureHelpParameterForParameter(e,r,n,i,o)});return{isVariadic:a,parameters:c,prefix:s.concat([e.punctuationPart(20)]),suffix:[e.punctuationPart(21)]}}function createSignatureHelpParameterForParameter(t,r,n,a,o){var s=e.mapToDisplayParts(function(e){var s=r.symbolToParameterDeclaration(t,n,i);o.writeNode(4,s,a,e)});var c=r.isOptionalParameter(t.valueDeclaration);return{name:t.name,documentation:t.getDocumentationComment(r),displayParts:s,isOptional:c}}function createSignatureHelpParameterForTypeParameter(t,r,n,i,a){var o=e.mapToDisplayParts(function(e){var o=r.typeParameterToDeclaration(t,n);a.writeNode(4,o,i,e)});return{name:t.symbol.name,documentation:t.symbol.getDocumentationComment(r),displayParts:o,isOptional:false}}})(t=e.SignatureHelp||(e.SignatureHelp={}))})(s||(s={}));var s;(function(e){var t=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;function getSourceMapper(r,n,i,a,o){var s=e.createGetCanonicalFileName(r);var c;return{tryGetSourcePosition:tryGetSourcePosition,tryGetGeneratedPosition:tryGetGeneratedPosition,toLineColumnOffset:toLineColumnOffset,clearCache:clearCache};function toPath(t){return e.toPath(t,n,s)}function scanForSourcemapURL(t){var r=c.get(toPath(t));if(!r){return}return e.tryGetSourceMappingURL(r.text,e.getLineStarts(r))}function convertDocumentToSourceMapper(t,r,n){var a=e.tryParseRawSourceMap(r);if(!a||!a.sources||!a.file||!a.mappings){return t.sourceMapper=e.identitySourceMapConsumer}var u=o();return t.sourceMapper=e.createDocumentPositionMapper({getSourceFileLike:function(e){var t=u&&u.getSourceFileByPath(e);if(t===undefined||t.resolvedPath!==e){return c.get(e)}return t},getCanonicalFileName:s,log:i},a,n)}function getSourceMapper(r,n){if(!a.readFile||!a.fileExists){return n.sourceMapper=e.identitySourceMapConsumer}if(n.sourceMapper){return n.sourceMapper}var i=scanForSourcemapURL(r);if(i){var o=t.exec(i);if(o){if(o[1]){var c=o[1];return convertDocumentToSourceMapper(n,e.base64decode(e.sys,c),r)}i=undefined}}var u=[];if(i){u.push(i)}u.push(r+".map");for(var l=0,f=u;l0){i.push(e.createDiagnosticForNode(e.isVariableDeclaration(r.parent)?r.parent.name:r,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration))}break}}else{if(e.isVariableStatement(r)&&r.parent===t&&r.declarationList.flags&2&&r.declarationList.declarations.length===1){var u=r.declarationList.declarations[0].initializer;if(u&&e.isRequireCall(u,true)){i.push(e.createDiagnosticForNode(u,e.Diagnostics.require_call_may_be_converted_to_an_import))}}if(e.codefix.parameterShouldGetTypeFromJSDoc(r)){i.push(e.createDiagnosticForNode(r.name||r,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}}if(e.isFunctionLikeDeclaration(r)){addConvertToAsyncFunctionDiagnostics(r,a,i)}r.forEachChild(check)}}e.computeSuggestionDiagnostics=computeSuggestionDiagnostics;function containsTopLevelCommonjs(t){return t.statements.some(function(t){switch(t.kind){case 219:return t.declarationList.declarations.some(function(t){return!!t.initializer&&e.isRequireCall(propertyAccessLeftHandSide(t.initializer),true)});case 221:{var r=t.expression;if(!e.isBinaryExpression(r))return e.isRequireCall(r,true);var n=e.getAssignmentDeclarationKind(r);return n===1||n===2}default:return false}})}function propertyAccessLeftHandSide(t){return e.isPropertyAccessExpression(t)?propertyAccessLeftHandSide(t.expression):t}function importNameForConvertToDefaultImport(t){switch(t.kind){case 249:var r=t.importClause,n=t.moduleSpecifier;return r&&!r.name&&r.namedBindings&&r.namedBindings.kind===251&&e.isStringLiteral(n)?r.namedBindings.name:undefined;case 248:return t.name;default:return undefined}}function addConvertToAsyncFunctionDiagnostics(t,r,n){if(!e.isAsyncFunction(t)&&t.body&&e.isBlock(t.body)&&hasReturnStatementWithPromiseHandler(t.body)&&returnsPromise(t,r)){n.push(e.createDiagnosticForNode(!t.name&&e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name)?t.parent.name:t,e.Diagnostics.This_may_be_converted_to_an_async_function))}}function returnsPromise(e,t){var r=t.getTypeAtLocation(e);var n=t.getSignaturesOfType(r,0);var i=n.length?t.getReturnTypeOfSignature(n[0]):undefined;return!!i&&!!t.getPromisedTypeOfPromise(i)}function getErrorNodeFromCommonJsIndicator(t){return e.isBinaryExpression(t)?t.left:t}function hasReturnStatementWithPromiseHandler(t){return!!e.forEachReturnStatement(t,isReturnStatementWithFixablePromiseHandler)}function isReturnStatementWithFixablePromiseHandler(t){return e.isReturnStatement(t)&&!!t.expression&&isFixablePromiseHandler(t.expression)}e.isReturnStatementWithFixablePromiseHandler=isReturnStatementWithFixablePromiseHandler;function isFixablePromiseHandler(t){if(!isPromiseHandler(t)||!t.arguments.every(isFixablePromiseArgument)){return false}var r=t.expression;while(isPromiseHandler(r)||e.isPropertyAccessExpression(r)){if(e.isCallExpression(r)&&!r.arguments.every(isFixablePromiseArgument)){return false}r=r.expression}return true}e.isFixablePromiseHandler=isFixablePromiseHandler;function isPromiseHandler(t){return e.isCallExpression(t)&&(e.hasPropertyAccessExpressionWithName(t,"then")||e.hasPropertyAccessExpressionWithName(t,"catch"))}function isFixablePromiseArgument(e){switch(e.kind){case 96:case 72:case 239:case 196:case 197:return true;default:return false}}})(s||(s={}));var s;(function(e){var t;(function(t){function getSymbolKind(t,r,n){var i=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,n);if(i!==""){return i}var a=e.getCombinedLocalAndExportSymbolFlags(r);if(a&32){return e.getDeclarationOfKind(r,209)?"local class":"class"}if(a&384)return"enum";if(a&524288)return"type";if(a&64)return"interface";if(a&262144)return"type parameter";if(a&262144)return"type parameter";if(a&8)return"enum member";if(a&2097152)return"alias";if(a&1536)return"module";return i}t.getSymbolKind=getSymbolKind;function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,n){var i=t.getRootSymbols(r);if(i.length===1&&e.first(i).flags&8192&&t.getTypeOfSymbolAtLocation(r,n).getNonNullableType().getCallSignatures().length!==0){return"method"}if(t.isUndefinedSymbol(r)){return"var"}if(t.isArgumentsSymbol(r)){return"local var"}if(n.kind===100&&e.isExpression(n)){return"parameter"}var a=e.getCombinedLocalAndExportSymbolFlags(r);if(a&3){if(e.isFirstDeclarationOfSymbolParameter(r)){return"parameter"}else if(r.valueDeclaration&&e.isVarConst(r.valueDeclaration)){return"const"}else if(e.forEach(r.declarations,e.isLet)){return"let"}return isLocalVariableOrFunction(r)?"local var":"var"}if(a&16)return isLocalVariableOrFunction(r)?"local function":"function";if(a&32768)return"getter";if(a&65536)return"setter";if(a&8192)return"method";if(a&16384)return"constructor";if(a&4){if(a&33554432&&r.checkFlags&6){var o=e.forEach(t.getRootSymbols(r),function(t){var r=t.getFlags();if(r&(98308|3)){return"property"}e.Debug.assert(!!(r&(8192|16)))});if(!o){var s=t.getTypeOfSymbolAtLocation(r,n);if(s.getCallSignatures().length){return"method"}return"property"}return o}switch(n.parent&&n.parent.kind){case 262:case 260:case 261:return n.kind===72?"property":"JSX attribute";case 267:return"JSX attribute";default:return"property"}}return""}function getSymbolModifiers(t){var r=t&&t.declarations&&t.declarations.length>0?e.getNodeModifiers(t.declarations[0]):"";var n=t&&t.flags&16777216?"optional":"";return r&&n?r+","+n:r||n}t.getSymbolModifiers=getSymbolModifiers;function getSymbolDisplayPartsDocumentationAndSymbolKind(t,r,n,i,a,o,s){if(o===void 0){o=e.getMeaningFromLocation(a)}var c=[];var u;var l;var f=e.getCombinedLocalAndExportSymbolFlags(r);var d=o&1?getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,a):"";var p=false;var g=a.kind===100&&e.isInExpressionContext(a);var _;var m;var y;var h;if(a.kind===100&&!g){return{displayParts:[e.keywordPart(100)],documentation:[],symbolKind:"primitive type",tags:undefined}}if(d!==""||f&32||f&2097152){if(d==="getter"||d==="setter"){d="property"}var v=void 0;_=g?t.getTypeAtLocation(a):t.getTypeOfSymbolAtLocation(r.exportSymbol||r,a);if(a.parent&&a.parent.kind===189){var T=a.parent.name;if(T===a||T&&T.getFullWidth()===0){a=a.parent}}var S=void 0;if(e.isCallOrNewExpression(a)){S=a}else if(e.isCallExpressionTarget(a)||e.isNewExpressionTarget(a)){S=a.parent}else if(a.parent&&e.isJsxOpeningLikeElement(a.parent)&&e.isFunctionLike(r.valueDeclaration)){S=a.parent}if(S){var b=[];v=t.getResolvedSignature(S,b);var x=S.kind===192||e.isCallExpression(S)&&S.expression.kind===98;var C=x?_.getConstructSignatures():_.getCallSignatures();if(!e.contains(C,v.target)&&!e.contains(C,v)){v=C.length?C[0]:undefined}if(v){if(x&&f&32){d="constructor";addPrefixForAnyFunctionOrVar(_.symbol,d)}else if(f&2097152){d="alias";pushSymbolKind(d);c.push(e.spacePart());if(x){c.push(e.keywordPart(95));c.push(e.spacePart())}addFullSymbolName(r)}else{addPrefixForAnyFunctionOrVar(r,d)}switch(d){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":c.push(e.punctuationPart(57));c.push(e.spacePart());if(!(e.getObjectFlags(_)&16)&&_.symbol){e.addRange(c,e.symbolToDisplayParts(t,_.symbol,i,undefined,4|1));c.push(e.lineBreakPart())}if(x){c.push(e.keywordPart(95));c.push(e.spacePart())}addSignatureDisplayParts(v,C,262144);break;default:addSignatureDisplayParts(v,C)}p=true}}else if(e.isNameOfFunctionDeclaration(a)&&!(f&98304)||a.kind===124&&a.parent.kind===157){var E=a.parent;var D=e.find(r.declarations,function(e){return e===(a.kind===124?E.parent:E)});if(D){var C=E.kind===157?_.getNonNullableType().getConstructSignatures():_.getNonNullableType().getCallSignatures();if(!t.isImplementationOfOverload(E)){v=t.getSignatureFromDeclaration(E)}else{v=C[0]}if(E.kind===157){d="constructor";addPrefixForAnyFunctionOrVar(_.symbol,d)}else{addPrefixForAnyFunctionOrVar(E.kind===160&&!(_.symbol.flags&2048||_.symbol.flags&4096)?_.symbol:r,d)}addSignatureDisplayParts(v,C);p=true}}}if(f&32&&!p&&!g){addAliasPrefixIfNecessary();if(e.getDeclarationOfKind(r,209)){pushSymbolKind("local class")}else{c.push(e.keywordPart(76))}c.push(e.spacePart());addFullSymbolName(r);writeTypeParametersOfSymbol(r,n)}if(f&64&&o&2){prefixNextMeaning();c.push(e.keywordPart(110));c.push(e.spacePart());addFullSymbolName(r);writeTypeParametersOfSymbol(r,n)}if(f&524288&&o&2){prefixNextMeaning();c.push(e.keywordPart(140));c.push(e.spacePart());addFullSymbolName(r);writeTypeParametersOfSymbol(r,n);c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());e.addRange(c,e.typeToDisplayParts(t,t.getDeclaredTypeOfSymbol(r),i,8388608))}if(f&384){prefixNextMeaning();if(e.some(r.declarations,function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)})){c.push(e.keywordPart(77));c.push(e.spacePart())}c.push(e.keywordPart(84));c.push(e.spacePart());addFullSymbolName(r)}if(f&1536){prefixNextMeaning();var k=e.getDeclarationOfKind(r,244);var N=k&&k.name&&k.name.kind===72;c.push(e.keywordPart(N?131:130));c.push(e.spacePart());addFullSymbolName(r)}if(f&262144&&o&2){prefixNextMeaning();c.push(e.punctuationPart(20));c.push(e.textPart("type parameter"));c.push(e.punctuationPart(21));c.push(e.spacePart());addFullSymbolName(r);if(r.parent){addInPrefix();addFullSymbolName(r.parent,i);writeTypeParametersOfSymbol(r.parent,i)}else{var A=e.getDeclarationOfKind(r,150);if(A===undefined)return e.Debug.fail();var k=A.parent;if(k){if(e.isFunctionLikeKind(k.kind)){addInPrefix();var v=t.getSignatureFromDeclaration(k);if(k.kind===161){c.push(e.keywordPart(95));c.push(e.spacePart())}else if(k.kind!==160&&k.name){addFullSymbolName(k.symbol)}e.addRange(c,e.signatureToDisplayParts(t,v,n,32))}else if(k.kind===242){addInPrefix();c.push(e.keywordPart(140));c.push(e.spacePart());addFullSymbolName(k.symbol);writeTypeParametersOfSymbol(k.symbol,n)}}}}if(f&8){d="enum member";addPrefixForAnyFunctionOrVar(r,"enum member");var k=r.declarations[0];if(k.kind===278){var O=t.getConstantValue(k);if(O!==undefined){c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());c.push(e.displayPart(e.getTextOfConstantValue(O),typeof O==="number"?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral))}}}if(f&2097152){prefixNextMeaning();if(!p){var F=t.getAliasedSymbol(r);if(F!==r&&F.declarations&&F.declarations.length>0){var P=F.declarations[0];var I=e.getNameOfDeclaration(P);if(I){var w=e.isModuleWithStringLiteralName(P)&&e.hasModifier(P,2);var M=r.name!=="default"&&!w;var L=getSymbolDisplayPartsDocumentationAndSymbolKind(t,F,e.getSourceFileOfNode(P),P,I,o,M?r:F);c.push.apply(c,L.displayParts);c.push(e.lineBreakPart());y=L.documentation;h=L.tags}}}switch(r.declarations[0].kind){case 247:c.push(e.keywordPart(85));c.push(e.spacePart());c.push(e.keywordPart(131));break;case 254:c.push(e.keywordPart(85));c.push(e.spacePart());c.push(e.keywordPart(r.declarations[0].isExportEquals?59:80));break;case 257:c.push(e.keywordPart(85));break;default:c.push(e.keywordPart(92))}c.push(e.spacePart());addFullSymbolName(r);e.forEach(r.declarations,function(r){if(r.kind===248){var n=r;if(e.isExternalModuleImportEqualsDeclaration(n)){c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());c.push(e.keywordPart(134));c.push(e.punctuationPart(20));c.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(n)),e.SymbolDisplayPartKind.stringLiteral));c.push(e.punctuationPart(21))}else{var a=t.getSymbolAtLocation(n.moduleReference);if(a){c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());addFullSymbolName(a,i)}}return true}})}if(!p){if(d!==""){if(_){if(g){prefixNextMeaning();c.push(e.keywordPart(100))}else{addPrefixForAnyFunctionOrVar(r,d)}if(d==="property"||d==="JSX attribute"||f&3||d==="local var"||g){c.push(e.punctuationPart(57));c.push(e.spacePart());if(_.symbol&&_.symbol.flags&262144){var R=e.mapToDisplayParts(function(r){var n=t.typeParameterToDeclaration(_,i);getPrinter().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(i)),r)});e.addRange(c,R)}else{e.addRange(c,e.typeToDisplayParts(t,_,i))}}else if(f&16||f&8192||f&16384||f&131072||f&98304||d==="method"){var C=_.getNonNullableType().getCallSignatures();if(C.length){addSignatureDisplayParts(C[0],C)}}}}else{d=getSymbolKind(t,r,a)}}if(!u){u=r.getDocumentationComment(t);l=r.getJsDocTags();if(u.length===0&&f&4){if(r.parent&&e.forEach(r.parent.declarations,function(e){return e.kind===279})){for(var B=0,j=r.declarations;B0){break}}}}}if(u.length===0&&y){u=y}if(l.length===0&&h){l=h}return{displayParts:c,documentation:u,symbolKind:d,tags:l.length===0?undefined:l};function getPrinter(){if(!m){m=e.createPrinter({removeComments:true})}return m}function prefixNextMeaning(){if(c.length){c.push(e.lineBreakPart())}addAliasPrefixIfNecessary()}function addAliasPrefixIfNecessary(){if(s){pushSymbolKind("alias");c.push(e.spacePart())}}function addInPrefix(){c.push(e.spacePart());c.push(e.keywordPart(93));c.push(e.spacePart())}function addFullSymbolName(i,a){if(s&&i===r){i=s}var o=e.symbolToDisplayParts(t,i,a||n,undefined,1|2|4);e.addRange(c,o);if(r.flags&16777216){c.push(e.punctuationPart(56))}}function addPrefixForAnyFunctionOrVar(t,r){prefixNextMeaning();if(r){pushSymbolKind(r);if(t&&!e.some(t.declarations,function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name})){c.push(e.spacePart());addFullSymbolName(t)}}}function pushSymbolKind(t){switch(t){case"var":case"function":case"let":case"const":case"constructor":c.push(e.textOrKeywordPart(t));return;default:c.push(e.punctuationPart(20));c.push(e.textOrKeywordPart(t));c.push(e.punctuationPart(21));return}}function addSignatureDisplayParts(r,n,a){if(a===void 0){a=0}e.addRange(c,e.signatureToDisplayParts(t,r,i,a|32));if(n.length>1){c.push(e.spacePart());c.push(e.punctuationPart(20));c.push(e.operatorPart(38));c.push(e.displayPart((n.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral));c.push(e.spacePart());c.push(e.textPart(n.length===2?"overload":"overloads"));c.push(e.punctuationPart(21))}var o=r.getDocumentationComment(t);u=o.length===0?undefined:o;l=r.getJsDocTags()}function writeTypeParametersOfSymbol(r,n){var i=e.mapToDisplayParts(function(i){var a=t.symbolToTypeParameterDeclarations(r,n);getPrinter().writeList(53776,a,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)});e.addRange(c,i)}}t.getSymbolDisplayPartsDocumentationAndSymbolKind=getSymbolDisplayPartsDocumentationAndSymbolKind;function isLocalVariableOrFunction(t){if(t.parent){return false}return e.forEach(t.declarations,function(t){if(t.kind===196){return true}if(t.kind!==237&&t.kind!==239){return false}for(var r=t.parent;!e.isFunctionBlock(r);r=r.parent){if(r.kind===279||r.kind===245){return false}}return true})}})(t=e.SymbolDisplay||(e.SymbolDisplay={}))})(s||(s={}));var s;(function(e){function transpileModule(t,r){var n=[];var i=r.compilerOptions?fixupCompilerOptions(r.compilerOptions,n):e.getDefaultCompilerOptions();i.isolatedModules=true;i.suppressOutputPathCheck=true;i.allowNonTsExtensions=true;i.noLib=true;i.lib=undefined;i.types=undefined;i.noEmit=undefined;i.noEmitOnError=undefined;i.paths=undefined;i.rootDirs=undefined;i.declaration=undefined;i.composite=undefined;i.declarationDir=undefined;i.out=undefined;i.outFile=undefined;i.noResolve=true;var a=r.fileName||(i.jsx?"module.tsx":"module.ts");var o=e.createSourceFile(a,t,i.target);if(r.moduleName){o.moduleName=r.moduleName}if(r.renamedDependencies){o.renamedDependencies=e.createMapFromTemplate(r.renamedDependencies)}var s=e.getNewLineCharacter(i);var c;var u;var l={getSourceFile:function(t){return t===e.normalizePath(a)?o:undefined},writeFile:function(t,r){if(e.fileExtensionIs(t,".map")){e.Debug.assertEqual(u,undefined,"Unexpected multiple source map outputs, file:",t);u=r}else{e.Debug.assertEqual(c,undefined,"Unexpected multiple outputs, file:",t);c=r}},getDefaultLibFileName:function(){return"lib.d.ts"},useCaseSensitiveFileNames:function(){return false},getCanonicalFileName:function(e){return e},getCurrentDirectory:function(){return""},getNewLine:function(){return s},fileExists:function(e){return e===a},readFile:function(){return""},directoryExists:function(){return true},getDirectories:function(){return[]}};var f=e.createProgram([a],i,l);if(r.reportDiagnostics){e.addRange(n,f.getSyntacticDiagnostics(o));e.addRange(n,f.getOptionsDiagnostics())}f.emit(undefined,undefined,undefined,undefined,r.transformers);if(c===undefined)return e.Debug.fail("Output generation failed");return{outputText:c,diagnostics:n,sourceMapText:u}}e.transpileModule=transpileModule;function transpile(t,r,n,i,a){var o=transpileModule(t,{compilerOptions:r,fileName:n,reportDiagnostics:!!i,moduleName:a});e.addRange(i,o.diagnostics);return o.outputText}e.transpile=transpile;var t;function fixupCompilerOptions(r,n){t=t||e.filter(e.optionDeclarations,function(t){return typeof t.type==="object"&&!e.forEachEntry(t.type,function(e){return typeof e!=="number"})});r=e.cloneCompilerOptions(r);var i=function(t){if(!e.hasProperty(r,t.name)){return"continue"}var i=r[t.name];if(e.isString(i)){r[t.name]=e.parseCustomTypeOption(t,i,n)}else{if(!e.forEachEntry(t.type,function(e){return e===i})){n.push(e.createCompilerDiagnosticForInvalidCustomType(t))}}};for(var a=0,o=t;a>=n}return r}function increaseInsertionIndex(t,r){var n=(t>>r&i)+1;e.Debug.assert((n&i)===n,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");return t&~(i<=n.length){return false}var r=n[i];if(t.end<=r.start){return false}if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length)){return true}i++}};function rangeHasNoErrors(){return false}}function getScanStartPosition(t,r,n){var i=t.getStart(n);if(i===r.pos&&t.end===r.end){return i}var a=e.findPrecedingToken(r.pos,n);if(!a){return t.pos}if(a.end>=r.pos){return t.pos}return a.end}function getOwnOrInheritedDelta(e,r,n){var i=-1;var a;while(e){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(i!==-1&&o!==i){break}if(t.SmartIndenter.shouldIndentChildNode(r,e,a,n)){return r.indentSize}i=o;a=e;e=e.parent}return 0}function formatNodeGivenIndentation(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,function(t){return formatSpanWorker(s,e,i,a,t,o,1,function(e){return false},r)})}t.formatNodeGivenIndentation=formatNodeGivenIndentation;function formatNodeLines(t,r,n,i){if(!t){return[]}var a={pos:e.getLineStartPositionForPosition(t.getStart(r),r),end:t.end};return formatSpan(a,r,n,i)}function formatSpan(e,r,n,i){var a=findEnclosingNode(e,r);return t.getFormattingScanner(r.text,r.languageVariant,getScanStartPosition(a,e,r),e.end,function(o){return formatSpanWorker(e,a,t.SmartIndenter.getIndentationForNode(a,e,r,n.options),getOwnOrInheritedDelta(a,n.options,r),o,n,i,prepareRangeContainsErrorFunction(r.parseDiagnostics,e),r)})}function formatSpanWorker(r,n,i,a,o,s,c,u,l){var f=s.options,d=s.getRule;var p=new t.FormattingContext(l,c,f);var g;var _;var m;var y;var h=-1;var v=[];o.advance();if(o.isOnToken()){var T=l.getLineAndCharacterOfPosition(n.getStart(l)).line;var S=T;if(n.decorators){S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line}processNode(n,n,T,S,i,a)}if(!o.isOnToken()){var b=o.getCurrentLeadingTrivia();if(b){indentTriviaItems(b,i,false,function(e){return processRange(e,l.getLineAndCharacterOfPosition(e.pos),n,n,undefined)});trimTrailingWhitespacesForRemainingRange()}}return v;function tryComputeIndentationForListItem(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(o!==-1){return o}}else{var s=l.getLineAndCharacterOfPosition(r).line;var c=e.getLineStartPositionForPosition(r,l);var u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,f);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(f);return d>u?d:u}}return-1}function computeIndentation(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(f,e)?f.indentSize:0;if(o===r){return{indentation:r===y?h:a.getIndentation(),delta:Math.min(f.indentSize,a.getDelta(e)+s)}}else if(n===-1){if(e.kind===20&&r===y){return{indentation:h,delta:a.getDelta(e)}}else if(t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)){return{indentation:a.getIndentation(),delta:s}}else{return{indentation:a.getIndentation()+a.getDelta(e),delta:s}}}else{return{indentation:n,delta:s}}}function getFirstNonDecoratorTokenOfNode(t){if(t.modifiers&&t.modifiers.length){return t.modifiers[0].kind}switch(t.kind){case 240:return 76;case 241:return 110;case 239:return 90;case 243:return 243;case 158:return 126;case 159:return 137;case 156:if(t.asteriskToken){return 40}case 154:case 151:var r=e.getNameOfDeclaration(t);if(r){return r.kind}}}function getDynamicIndentation(e,r,n,i){return{getIndentationForComment:function(e,t,r){switch(e){case 19:case 23:case 21:return n+getDelta(r)}return t!==-1?t:n},getIndentationForToken:function(e,t,r,i){return!i&&shouldAddDelta(e,t,r)?n+getDelta(r):n},getIndentation:function(){return n},getDelta:getDelta,recomputeIndentation:function(r){if(e.parent&&t.SmartIndenter.shouldIndentChildNode(f,e.parent,e,l)){n+=r?f.indentSize:-f.indentSize;i=t.SmartIndenter.shouldIndentChildNode(f,e)?f.indentSize:0}}};function shouldAddDelta(t,n,i){switch(n){case 18:case 19:case 21:case 83:case 107:case 58:return false;case 42:case 30:switch(i.kind){case 262:case 263:case 261:return false}break;case 22:case 23:if(i.kind!==181){return false}break}return r!==t&&!(e.decorators&&n===getFirstNonDecoratorTokenOfNode(e))}function getDelta(r){return t.SmartIndenter.nodeWillIndentChild(f,e,r,l,true)?i:0}}function processNode(n,i,a,s,c,d){if(!e.rangeOverlapsWithStartEnd(r,n.getStart(l),n.getEnd())){return}var p=getDynamicIndentation(n,a,c,d);var _=i;e.forEachChild(n,function(e){processChildNode(e,-1,n,p,a,s,false)},function(e){processChildNodes(e,n,a,p)});while(o.isOnToken()){var m=o.readTokenInfo(n);if(m.token.end>n.end){break}consumeTokenAndAdvanceScanner(m,n,p,n)}function processChildNode(t,i,a,s,c,u,f,d){var p=t.getStart(l);var g=l.getLineAndCharacterOfPosition(p).line;var m=g;if(t.decorators){m=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(t,l)).line}var y=-1;if(f&&e.rangeContainsRange(r,a)){y=tryComputeIndentationForListItem(p,t.end,c,r,i);if(y!==-1){i=y}}if(!e.rangeOverlapsWithStartEnd(r,t.pos,t.end)){if(t.endp){break}consumeTokenAndAdvanceScanner(h,n,s,n)}if(!o.isOnToken()){return i}if(e.isToken(t)&&t.kind!==11){var h=o.readTokenInfo(t);e.Debug.assert(h.token.end===t.end,"Token end is child end");consumeTokenAndAdvanceScanner(h,n,s,t);return i}var v=t.kind===152?g:u;var T=computeIndentation(t,g,y,n,s,v);processNode(t,_,g,m,T.indentation,T.delta);if(t.kind===11){var S={pos:t.getStart(),end:t.getEnd()};indentMultilineCommentOrJsxText(S,T.indentation,true,false)}_=n;if(d&&a.kind===187&&i===-1){i=T.indentation}return i}function processChildNodes(r,i,a,s){e.Debug.assert(e.isNodeArray(r));var c=getOpenTokenForList(i,r);var u=s;var d=a;if(c!==0){while(o.isOnToken()){var p=o.readTokenInfo(i);if(p.token.end>r.pos){break}else if(p.token.kind===c){d=l.getLineAndCharacterOfPosition(p.token.pos).line;consumeTokenAndAdvanceScanner(p,i,s,i);var g=void 0;if(h!==-1){g=h}else{var _=e.getLineStartPositionForPosition(p.token.pos,l);g=t.SmartIndenter.findFirstNonWhitespaceColumn(_,p.token.pos,l,f)}u=getDynamicIndentation(i,a,g,f.indentSize)}else{consumeTokenAndAdvanceScanner(p,i,s,i)}}}var m=-1;for(var y=0;y0){var b=getIndentationString(S,f);recordReplace(v,T.character,b)}else{recordDelete(v,T.character)}}}function trimTrailingWhitespacesForLines(t,r,n){for(var i=t;io){continue}var s=getTrailingWhitespaceStartPosition(a,o);if(s!==-1){e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1)));recordDelete(s,o+1-s)}}}function getTrailingWhitespaceStartPosition(t,r){var n=r;while(n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n))){n--}if(n!==r){return n+1}return-1}function trimTrailingWhitespacesForRemainingRange(){var e=g?g.end:r.pos;var t=l.getLineAndCharacterOfPosition(e).line;var n=l.getLineAndCharacterOfPosition(r.end).line;trimTrailingWhitespacesForLines(t,n+1,g)}function recordDelete(t,r){if(r){v.push(e.createTextChangeFromStartLength(t,r,""))}}function recordReplace(t,r,n){if(r||n){v.push(e.createTextChangeFromStartLength(t,r,n))}}function applyRuleEdits(e,t,r,n,i){var a=i!==r;switch(e.action){case 1:return 0;case 8:if(t.end!==n.pos){recordDelete(t.end,n.pos-t.end);return a?2:0}break;case 4:if(e.flags!==1&&r!==i){return 0}var o=i-r;if(o!==1){recordReplace(t.end,n.pos-t.end,f.newLineCharacter);return a?0:1}break;case 2:if(e.flags!==1&&r!==i){return 0}var s=n.pos-t.end;if(s!==1||l.text.charCodeAt(t.end)!==32){recordReplace(t.end,n.pos-t.end," ");return a?2:0}}return 0}}var n;(function(e){e[e["None"]=0]="None";e[e["LineAdded"]=1]="LineAdded";e[e["LineRemoved"]=2]="LineRemoved"})(n||(n={}));function getRangeOfEnclosingComment(t,r,n,i){if(i===void 0){i=e.getTokenAtPosition(t,r)}var a=e.findAncestor(i,e.isJSDoc);if(a)i=a.parent;var o=i.getStart(t);if(o<=r&&rn.text.length){return getBaseIndentation(i)}if(i.indentStyle===e.IndentStyle.None){return 0}var o=e.findPrecedingToken(r,n,undefined,true);var s=t.getRangeOfEnclosingComment(n,r,o||null);if(s&&s.kind===3){return getCommentIndent(n,r,i,s)}if(!o){return getBaseIndentation(i)}var c=e.isStringOrRegularExpressionOrTemplateLiteral(o.kind);if(c&&o.getStart(n)<=r&&r=0);if(a<=o){return findFirstNonWhitespaceColumn(e.getStartPositionOfLine(o,t),r,t,n)}var s=e.getStartPositionOfLine(a,t);var c=findFirstNonWhitespaceCharacterAndColumn(s,r,t,n),u=c.column,l=c.character;if(u===0){return u}var f=t.text.charCodeAt(s+l);return f===42?u-1:u}function getBlockIndent(t,r,n){var i=r;while(i>0){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a)){break}i--}var o=e.getLineStartPositionForPosition(i,t);return findFirstNonWhitespaceColumn(o,i,t,n)}function getSmartIndent(t,r,n,i,a,o){var s;var c=n;while(c){if(e.positionBelongsToNode(c,r,t)&&shouldIndentChildNode(o,c,s,t,true)){var u=getStartLineAndCharacterForNode(c,t);var l=nextTokenIsCurlyBraceOnSameLineAsCursor(n,c,i,t);var f=l!==0?a&&l===2?o.indentSize:0:i!==u.line?o.indentSize:0;return getIndentationForNodeWorker(c,u,undefined,f,t,true,o)}var d=getActualIndentationForListItem(c,t,o,true);if(d!==-1){return d}s=c;c=c.parent}return getBaseIndentation(o)}function getIndentationForNode(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return getIndentationForNodeWorker(e,i,t,0,r,false,n)}r.getIndentationForNode=getIndentationForNode;function getBaseIndentation(e){return e.baseIndentSize||0}r.getBaseIndentation=getBaseIndentation;function getIndentationForNodeWorker(e,t,r,n,i,a,o){var s=e.parent;while(s){var c=true;if(r){var u=e.getStart(i);c=ur.end}var l=getContainingListOrParentStart(s,e,i);var f=l.line===t.line||childStartsOnTheSameLineWithElseInIfStatement(s,e,t.line,i);if(c){var d=getActualIndentationForListItem(e,i,o,!f);if(d!==-1){return d+n}d=getActualIndentationForNode(e,s,t,f,i,o);if(d!==-1){return d+n}}if(shouldIndentChildNode(o,s,e,i,a)&&!f){n+=o.indentSize}var p=isArgumentAndStartLineOverlapsExpressionBeingCalled(s,e,t.line,i);e=s;s=e.parent;t=p?i.getLineAndCharacterOfPosition(e.getStart(i)):l}return n+getBaseIndentation(o)}function getContainingListOrParentStart(e,t,r){var n=getContainingList(t,r);var i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function getActualIndentationForListItemBeforeComma(t,r,n){var i=e.findListItemInfo(t);if(i&&i.listItemIndex>0){return deriveActualIndentationFromList(i.list.getChildren(),i.listItemIndex-1,r,n)}else{return-1}}function getActualIndentationForNode(t,r,n,i,a,o){var s=(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(r.kind===279||!i);if(!s){return-1}return findColumnForFirstNonWhitespaceCharacterInLine(n,a,o)}var i;(function(e){e[e["Unknown"]=0]="Unknown";e[e["OpenBrace"]=1]="OpenBrace";e[e["CloseBrace"]=2]="CloseBrace"})(i||(i={}));function nextTokenIsCurlyBraceOnSameLineAsCursor(t,r,n,i){var a=e.findNextToken(t,r,i);if(!a){return 0}if(a.kind===18){return 1}else if(a.kind===19){var o=getStartLineAndCharacterForNode(a,i).line;return n===o?2:0}return 0}function getStartLineAndCharacterForNode(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function isArgumentAndStartLineOverlapsExpressionBeingCalled(t,r,n,i){if(!(e.isCallExpression(t)&&e.contains(t.arguments,r))){return false}var a=t.expression.getEnd();var o=e.getLineAndCharacterOfPosition(i,a).line;return o===n}r.isArgumentAndStartLineOverlapsExpressionBeingCalled=isArgumentAndStartLineOverlapsExpressionBeingCalled;function childStartsOnTheSameLineWithElseInIfStatement(t,r,n,i){if(t.kind===222&&t.elseStatement===r){var a=e.findChildOfKind(t,83,i);e.Debug.assert(a!==undefined);var o=getStartLineAndCharacterForNode(a,i).line;return o===n}return false}r.childStartsOnTheSameLineWithElseInIfStatement=childStartsOnTheSameLineWithElseInIfStatement;function getContainingList(e,t){return e.parent&&getListByRange(e.getStart(t),e.getEnd(),e.parent,t)}r.getContainingList=getContainingList;function getListByPosition(e,t,r){return t&&getListByRange(e,e,t,r)}function getListByRange(t,r,n,i){switch(n.kind){case 164:return getList(n.typeArguments);case 188:return getList(n.properties);case 187:return getList(n.elements);case 168:return getList(n.members);case 239:case 196:case 197:case 156:case 155:case 160:case 157:case 166:case 161:return getList(n.typeParameters)||getList(n.parameters);case 240:case 209:case 241:case 242:case 303:return getList(n.typeParameters);case 192:case 191:return getList(n.typeArguments)||getList(n.arguments);case 238:return getList(n.declarations);case 252:case 256:return getList(n.elements);case 184:case 185:return getList(n.elements)}function getList(a){return a&&e.rangeContainsStartEnd(getVisualListRange(n,a,i),t,r)?a:undefined}}function getVisualListRange(e,t,r){var n=e.getChildren(r);for(var i=1;i=0&&r=0;s--){if(t[s].kind===27){continue}var c=n.getLineAndCharacterOfPosition(t[s].end).line;if(c!==o.line){return findColumnForFirstNonWhitespaceCharacterInLine(o,n,i)}o=getStartLineAndCharacterForNode(t[s],n)}return-1}function findColumnForFirstNonWhitespaceCharacterInLine(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return findFirstNonWhitespaceColumn(n,n+e.character,t,r)}function findFirstNonWhitespaceCharacterAndColumn(t,r,n,i){var a=0;var o=0;for(var s=t;s0?1:0;var f=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,c)+l,t);f=skipWhitespacesAndLineBreaks(t.text,f);return e.getStartPositionOfLine(e.getLineOfLocalPosition(t,f),t)}function getAdjustedEndPosition(t,r,n){var i=r.end;if(n.useNonAdjustedEndPosition||e.isExpression(r)){return i}var a=e.skipTrivia(t.text,i,true);return a!==i&&e.isLineBreak(t.text.charCodeAt(a-1))?a:i}function isSeparator(e,t){return!!t&&!!e.parent&&(t.kind===27||t.kind===26&&e.parent.kind===188)}function spaces(e){var t="";for(var r=0;r"})};ChangeTracker.prototype.getOptionsForInsertNodeBefore=function(t,r){if(e.isStatement(t)||e.isClassElement(t)){return{suffix:r?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}}else if(e.isVariableDeclaration(t)){return{suffix:", "}}else if(e.isParameter(t)){return{}}else if(e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)){return{suffix:", "}}return e.Debug.failBadSyntaxKind(t)};ChangeTracker.prototype.insertNodeAtConstructorStart=function(t,r,n){var i=e.firstOrUndefined(r.body.statements);if(!i||!r.body.multiLine){this.replaceConstructorBody(t,r,[n].concat(r.body.statements))}else{this.insertNodeBefore(t,i,n)}};ChangeTracker.prototype.insertNodeAtConstructorEnd=function(t,r,n){var i=e.lastOrUndefined(r.body.statements);if(!i||!r.body.multiLine){this.replaceConstructorBody(t,r,r.body.statements.concat([n]))}else{this.insertNodeAfter(t,i,n)}};ChangeTracker.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.createBlock(n,true))};ChangeTracker.prototype.insertNodeAtEndOfScope=function(t,n,i){var a=getAdjustedStartPosition(t,n.getLastToken(),{},r.Start);this.insertNodeAt(t,a,i,{prefix:e.isLineBreak(t.text.charCodeAt(n.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})};ChangeTracker.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)};ChangeTracker.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)};ChangeTracker.prototype.insertNodeAtStartWorker=function(t,r,i){var a=r.getStart(t);var o=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(e.getLineStartPositionForPosition(a,t),a,t,this.formatContext.options)+this.formatContext.options.indentSize;this.insertNodeAt(t,getMembersOrProperties(r).pos,i,n({indentation:o},this.getInsertNodeAtStartPrefixSuffix(t,r)))};ChangeTracker.prototype.getInsertNodeAtStartPrefixSuffix=function(t,r){var n=e.isObjectLiteralExpression(r)?",":"";if(getMembersOrProperties(r).length===0){if(e.addToSeen(this.classesWithNodesInsertedAtStart,e.getNodeId(r),{node:r,sourceFile:t})){var i=e.positionsAreOnSameLine.apply(void 0,getClassOrObjectBraceEnds(r,t).concat([t]));return{prefix:this.newLineCharacter,suffix:n+(i?this.newLineCharacter:"")}}else{return{prefix:"",suffix:n+this.newLineCharacter}}}else{return{prefix:this.newLineCharacter,suffix:n}}};ChangeTracker.prototype.insertNodeAfterComma=function(e,t,r){var n=this.insertNodeAfterWorker(e,this.nextCommaToken(e,t)||t,r);this.insertNodeAt(e,n,r,this.getInsertNodeAfterOptions(e,t))};ChangeTracker.prototype.insertNodeAfter=function(e,t,r){var n=this.insertNodeAfterWorker(e,t,r);this.insertNodeAt(e,n,r,this.getInsertNodeAfterOptions(e,t))};ChangeTracker.prototype.insertNodeAtEndOfList=function(e,t,r){this.insertNodeAt(e,t.end,r,{prefix:", "})};ChangeTracker.prototype.insertNodesAfter=function(t,r,n){var i=this.insertNodeAfterWorker(t,r,e.first(n));this.insertNodesAt(t,i,n,this.getInsertNodeAfterOptions(t,r))};ChangeTracker.prototype.insertNodeAfterWorker=function(t,r,n){if(needSemicolonBetween(r,n)){if(t.text.charCodeAt(r.end-1)!==59){this.replaceRange(t,e.createRange(r.end),e.createToken(26))}}var i=getAdjustedEndPosition(t,r,{});return i};ChangeTracker.prototype.getInsertNodeAfterOptions=function(t,r){var i=this.getInsertNodeAfterOptionsWorker(r);return n({},i,{prefix:r.end===t.end&&e.isStatement(r)?i.prefix?"\n"+i.prefix:"\n":i.prefix})};ChangeTracker.prototype.getInsertNodeAfterOptionsWorker=function(t){switch(t.kind){case 240:case 244:return{prefix:this.newLineCharacter,suffix:this.newLineCharacter};case 237:case 10:case 72:return{prefix:", "};case 275:return{suffix:","+this.newLineCharacter};case 85:return{prefix:" "};case 151:return{};default:e.Debug.assert(e.isStatement(t)||e.isClassOrTypeElement(t));return{suffix:this.newLineCharacter}}};ChangeTracker.prototype.insertName=function(t,r,n){e.Debug.assert(!r.name);if(r.kind===197){var i=e.findChildOfKind(r,37,t);var a=e.findChildOfKind(r,20,t);if(a){this.insertNodesAt(t,a.getStart(t),[e.createToken(90),e.createIdentifier(n)],{joiner:" "});deleteNode(this,t,i)}else{this.insertText(t,e.first(r.parameters).getStart(t),"function "+n+"(");this.replaceRange(t,i,e.createToken(21))}if(r.body.kind!==218){this.insertNodesAt(t,r.body.getStart(t),[e.createToken(18),e.createToken(97)],{joiner:" ",suffix:" "});this.insertNodesAt(t,r.body.end,[e.createToken(26),e.createToken(19)],{joiner:" "})}}else{var o=e.findChildOfKind(r,r.kind===196?90:76,t).end;this.insertNodeAt(t,o,e.createIdentifier(n),{prefix:" "})}};ChangeTracker.prototype.insertExportModifier=function(e,t){this.insertText(e,t.getStart(e),"export ")};ChangeTracker.prototype.insertNodeInListAfter=function(t,r,n,i){if(i===void 0){i=e.formatting.SmartIndenter.getContainingList(r,t)}if(!i){e.Debug.fail("node is not a list element");return}var a=e.indexOfNode(i,r);if(a<0){return}var o=r.getEnd();if(a!==i.length-1){var s=e.getTokenAtPosition(t,r.end);if(s&&isSeparator(r,s)){var c=e.getLineAndCharacterOfPosition(t,skipWhitespacesAndLineBreaks(t.text,i[a+1].getFullStart()));var u=e.getLineAndCharacterOfPosition(t,s.end);var l=void 0;var f=void 0;if(u.line===c.line){f=s.end;l=spaces(c.character-u.character)}else{f=e.getStartPositionOfLine(c.line,t)}var d=""+e.tokenToString(s.kind)+t.text.substring(s.end,i[a+1].getStart(t));this.replaceRange(t,e.createRange(f,i[a+1].getStart(t)),n,{prefix:l,suffix:d})}}else{var p=r.getStart(t);var g=e.getLineStartPositionForPosition(p,t);var _=void 0;var m=false;if(i.length===1){_=27}else{var y=e.findPrecedingToken(r.pos,t);_=isSeparator(r,y)?y.kind:27;var h=e.getLineStartPositionForPosition(i[a-1].getStart(t),t);m=h!==g}if(hasCommentsBeforeLineBreak(t.text,r.end)){m=true}if(m){this.replaceRange(t,e.createRange(o),e.createToken(_));var v=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(g,p,t,this.formatContext.options);var T=e.skipTrivia(t.text,o,true,false);if(T!==o&&e.isLineBreak(t.text.charCodeAt(T-1))){T--}this.replaceRange(t,e.createRange(T),n,{indentation:v,prefix:this.newLineCharacter})}else{this.replaceRange(t,e.createRange(o),n,{prefix:e.tokenToString(_)+" "})}}};ChangeTracker.prototype.finishClassesWithNodesInsertedAtStart=function(){var t=this;this.classesWithNodesInsertedAtStart.forEach(function(r){var n=r.node,i=r.sourceFile;var a=getClassOrObjectBraceEnds(n,i),o=a[0],s=a[1];if(e.positionsAreOnSameLine(o,s,i)&&o!==s-1){t.deleteRange(i,e.createRange(o,s-1))}})};ChangeTracker.prototype.finishDeleteDeclarations=function(){var t=this;var r=new e.NodeSet;var n=function(t,n){if(!i.deletedNodes.some(function(r){return r.sourceFile===t&&e.rangeContainsRangeExclusive(r.node,n)})){if(e.isArray(n)){i.deleteRange(t,e.rangeOfTypeParameters(n))}else{c.deleteDeclaration(i,r,t,n)}}};var i=this;for(var a=0,o=this.deletedNodes;a=0;n--){var i=r[n],a=i.span,o=i.newText;t=""+t.substring(0,a.start)+o+t.substring(e.textSpanEnd(a))}return t}t.applyChanges=applyChanges;function isTrivia(t){return e.skipTrivia(t,0)===t.length}function assignPositionsToNode(t){var r=e.visitEachChild(t,assignPositionsToNode,e.nullTransformationContext,assignPositionsToNodeArray,assignPositionsToNode);var n=e.nodeIsSynthesized(r)?r:Object.create(r);n.pos=getPos(t);n.end=getEnd(t);return n}function assignPositionsToNodeArray(t,r,n,i,a){var o=e.visitNodes(t,r,n,i,a);if(!o){return o}var s=o===t?e.createNodeArray(o.slice(0)):o;s.pos=getPos(t);s.end=getEnd(t);return s}var s=function(){function Writer(t){var r=this;this.lastNonTriviaPosition=0;this.writer=e.createTextWriter(t);this.onEmitNode=function(e,t,n){if(t){setPos(t,r.lastNonTriviaPosition)}n(e,t);if(t){setEnd(t,r.lastNonTriviaPosition)}};this.onBeforeEmitNodeArray=function(e){if(e){setPos(e,r.lastNonTriviaPosition)}};this.onAfterEmitNodeArray=function(e){if(e){setEnd(e,r.lastNonTriviaPosition)}};this.onBeforeEmitToken=function(e){if(e){setPos(e,r.lastNonTriviaPosition)}};this.onAfterEmitToken=function(e){if(e){setEnd(e,r.lastNonTriviaPosition)}}}Writer.prototype.setLastNonTriviaPosition=function(t,r){if(r||!isTrivia(t)){this.lastNonTriviaPosition=this.writer.getTextPos();var n=0;while(e.isWhiteSpaceLike(t.charCodeAt(t.length-n-1))){n++}this.lastNonTriviaPosition-=n}};Writer.prototype.write=function(e){this.writer.write(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeComment=function(e){this.writer.writeComment(e)};Writer.prototype.writeKeyword=function(e){this.writer.writeKeyword(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeOperator=function(e){this.writer.writeOperator(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writePunctuation=function(e){this.writer.writePunctuation(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeTrailingSemicolon=function(e){this.writer.writeTrailingSemicolon(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeParameter=function(e){this.writer.writeParameter(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeProperty=function(e){this.writer.writeProperty(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeSpace=function(e){this.writer.writeSpace(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeStringLiteral=function(e){this.writer.writeStringLiteral(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeSymbol=function(e,t){this.writer.writeSymbol(e,t);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeLine=function(){this.writer.writeLine()};Writer.prototype.increaseIndent=function(){this.writer.increaseIndent()};Writer.prototype.decreaseIndent=function(){this.writer.decreaseIndent()};Writer.prototype.getText=function(){return this.writer.getText()};Writer.prototype.rawWrite=function(e){this.writer.rawWrite(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeLiteral=function(e){this.writer.writeLiteral(e);this.setLastNonTriviaPosition(e,true)};Writer.prototype.getTextPos=function(){return this.writer.getTextPos()};Writer.prototype.getLine=function(){return this.writer.getLine()};Writer.prototype.getColumn=function(){return this.writer.getColumn()};Writer.prototype.getIndent=function(){return this.writer.getIndent()};Writer.prototype.isAtStartOfLine=function(){return this.writer.isAtStartOfLine()};Writer.prototype.clear=function(){this.writer.clear();this.lastNonTriviaPosition=0};return Writer}();function getInsertionPositionAtSourceFileTop(t){var r;for(var n=0,i=t.statements;nt){if(n){a=e.concatenate(a,e.map(c.argumentTypes.slice(t),function(e){return i.getBaseTypeOfLiteralType(e)}))}else{a.push(i.getBaseTypeOfLiteralType(c.argumentTypes[t]))}}}}if(a.length){var u=i.getWidenedType(i.getUnionType(a,2));return n?i.createArrayType(u):u}return undefined}function getSignatureFromCallContext(t,r){var n=[];for(var i=0;i0){return T}var S=o.checker.getTypeAtLocation(t);var b=getLastCallSignature(S,o.checker).getReturnType();var x=e.getSynthesizedDeepClone(p);var C=!!o.checker.getPromisedTypeOfPromise(b)?e.createAwait(x):x;if(!s){var E=createTransformedStatement(r,C,o);if(r){r.types.push(b)}return E}else{return[e.createReturn(C)]}}}default:i=false;break}return e.emptyArray}function getLastCallSignature(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function removeReturns(t,r,n,i){var a=[];for(var o=0,s=t;o0){return}}else if(!e.isFunctionLike(r)){e.forEachChild(r,visit)}})}return i}function getArgName(t,r){var n=0;var i=[];var a;if(e.isFunctionLikeDeclaration(t)){if(t.parameters.length>0){var o=t.parameters[0].name;a=getMapEntryOrDefault(o)}}else if(e.isIdentifier(t)){a=getMapEntryOrDefault(t)}if(!a||a.identifier.text==="undefined"){return undefined}return a;function getMapEntryOrDefault(t){var a=getOriginalNode(t);var o=getSymbol(a);if(!o){return{identifier:t,types:i,numberOfAssignmentsOriginal:n}}var s=r.synthNamesMap.get(e.getSymbolId(o).toString());return s||{identifier:t,types:i,numberOfAssignmentsOriginal:n}}function getSymbol(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}function getOriginalNode(e){return e.original?e.original:e}}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(r){var n=r.sourceFile,i=r.program,a=r.preferences;var o=e.textChanges.ChangeTracker.with(r,function(t){var r=convertFileToEs6Module(n,i.getTypeChecker(),t,i.getCompilerOptions().target,e.getQuotePreference(n,a));if(r){for(var o=0,s=i.getSourceFiles();o1?[[reExportStar(n),reExportDefault(n)],true]:[[reExportDefault(n)],true]}function reExportStar(e){return makeExportDeclaration(undefined,e)}function reExportDefault(t){return makeExportDeclaration([e.createExportSpecifier(undefined,"default")],t)}function convertExportsPropertyAssignment(t,r,n){var i=t.left,a=t.right,o=t.parent;var s=i.name.text;if((e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))&&(!a.name||a.name.text===s)){n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.createToken(85),{suffix:" "});if(!a.name)n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);if(c)n.delete(r,c)}else{n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.createToken(85),e.createToken(77)],{joiner:" ",suffix:" "})}}function convertExportsDotXEquals_replaceNode(t,r){var n=[e.createToken(85)];switch(r.kind){case 196:{var i=r.name;if(i&&i.text!==t){return exportConst()}}case 197:return functionExpressionToDeclaration(t,n,r);case 209:return classExpressionToDeclaration(t,n,r);default:return exportConst()}function exportConst(){return makeConst(n,e.createIdentifier(t),r)}}function convertSingleImport(r,n,i,a,o,s,c,u){switch(n.kind){case 184:{var l=e.mapAllOrFail(n.elements,function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?undefined:makeImportSpecifier(t.propertyName&&t.propertyName.text,t.name.text)});if(l){return[e.makeImport(undefined,l,i,u)]}}case 185:{var f=makeUniqueName(t.moduleSpecifierToValidIdentifier(i.text,c),s);return[e.makeImport(e.createIdentifier(f),undefined,i,u),makeConst(undefined,e.getSynthesizedDeepClone(n),e.createIdentifier(f))]}case 72:return convertSingleIdentifierImport(r,n,i,a,o,s,u);default:return e.Debug.assertNever(n)}}function convertSingleIdentifierImport(t,r,n,i,a,o,s){var c=a.getSymbolAtLocation(r);var u=e.createMap();var l=false;for(var f=0,d=o.original.get(r.text);f0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))){n.modifiers.forEach(function(e){t.deleteModifier(r,e)})}else{t.delete(r,n);deleteUnusedArguments(t,r,n,a,i)}}}function mayDeleteParameter(t,r,n){var i=t.parent;switch(i.kind){case 156:var a=r.getSymbolAtLocation(i.name);if(e.isMemberSymbolInBaseType(a,r))return false;case 157:case 239:return true;case 196:case 197:{var o=i.parameters;var s=o.indexOf(t);e.Debug.assert(s!==-1);return n?o.slice(s+1).every(function(e){return e.name.kind===72&&!e.symbol.isReferenced}):s===o.length-1}case 159:return false;default:return e.Debug.failBadSyntaxKind(i)}}function deleteUnusedArguments(t,r,n,i,a){e.FindAllReferences.Core.eachSignatureCall(n.parent,i,a,function(e){var i=n.parent.parameters.indexOf(n);if(e.arguments.length>i){t.delete(r,e.arguments[i])}})}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="fixUnreachableCode";var n=[e.Diagnostics.Unreachable_code_detected.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.textChanges.ChangeTracker.with(n,function(e){return doChange(e,n.sourceFile,n.span.start,n.span.length)});return[t.createCodeFixAction(r,i,e.Diagnostics.Remove_unreachable_code,r,e.Diagnostics.Remove_all_unreachable_code)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,function(e,t){return doChange(e,t.file,t.start,t.length)})}});function doChange(t,r,n,i){var a=e.getTokenAtPosition(r,n);var o=e.findAncestor(a,e.isStatement);e.Debug.assert(o.getStart(r)===a.getStart(r));var s=(e.isBlock(o.parent)?o.parent:o).parent;if(!e.isBlock(o.parent)||o===e.first(o.parent.statements)){switch(s.kind){case 222:if(s.elseStatement){if(e.isBlock(o.parent)){break}else{t.replaceNode(r,o,e.createBlock(e.emptyArray))}return}case 224:case 225:t.delete(r,s);return}}if(e.isBlock(o.parent)){var c=n+i;var u=e.Debug.assertDefined(lastWhere(e.sliceAfter(o.parent.statements,o),function(e){return e.posg.length){var _=n.getSignatureFromDeclaration(o[o.length-1]);outputMethod(_,l,c,createStubbedMethodBody(i))}else{e.Debug.assert(o.length===g.length);a(createMethodImplementingSignatures(g,c,d,l,i))}break}function outputMethod(e,t,i,o){var s=signatureToMethodDeclaration(n,e,r,t,i,d,o);if(s)a(s)}}function signatureToMethodDeclaration(t,r,n,i,a,o,s){var c=t.signatureToSignatureDeclaration(r,156,n,256);if(!c){return undefined}c.decorators=undefined;c.modifiers=i;c.name=a;c.questionToken=o?e.createToken(56):undefined;c.body=s;return c}function createMethodFromCallExpression(t,r,n,i,a,o,s){var c=r.typeArguments,u=r.arguments,l=r.parent;var f=t.program.getTypeChecker();var d=e.map(u,function(e){return f.typeToTypeNode(f.getBaseTypeOfLiteralType(f.getTypeAtLocation(e)))});var p=e.map(u,function(t){return e.isIdentifier(t)?t.text:e.isPropertyAccessExpression(t)?t.name.text:undefined});var g=f.getContextualType(r);var _=i?undefined:g&&f.typeToTypeNode(g,r)||e.createKeywordTypeNode(120);return e.createMethod(undefined,a?[e.createToken(116)]:undefined,e.isYieldExpression(l)?e.createToken(40):undefined,n,undefined,i?undefined:e.map(c,function(t,r){return e.createTypeParameterDeclaration(84+c.length-1<=90?String.fromCharCode(84+r):"T"+r)}),createDummyParameters(u.length,p,d,undefined,i),_,s?createStubbedMethodBody(o):undefined)}t.createMethodFromCallExpression=createMethodFromCallExpression;function createDummyParameters(t,r,n,i,a){var o=[];for(var s=0;s=i?e.createToken(56):undefined,a?undefined:n&&n[s]||e.createKeywordTypeNode(120),undefined);o.push(c)}return o}function createMethodImplementingSignatures(t,r,n,i,a){var o=t[0];var s=t[0].minArgumentCount;var c=false;for(var u=0,l=t;u=o.parameters.length&&(!f.hasRestParameter||o.hasRestParameter)){o=f}}var d=o.parameters.length-(o.hasRestParameter?1:0);var p=o.parameters.map(function(e){return e.name});var g=createDummyParameters(d,p,undefined,s,false);if(c){var _=e.createArrayTypeNode(e.createKeywordTypeNode(120));var m=e.createParameter(undefined,undefined,e.createToken(25),p[d]||"rest",d>=s?e.createToken(56):undefined,_,undefined);g.push(m)}return createStubbedMethod(i,r,n,undefined,g,undefined,a)}function createStubbedMethod(t,r,n,i,a,o,s){return e.createMethod(undefined,t,undefined,r,n?e.createToken(56):undefined,i,a,o,createStubbedMethodBody(s))}function createStubbedMethodBody(t){return e.createBlock([e.createThrow(e.createNew(e.createIdentifier("Error"),undefined,[e.createLiteral("Method not implemented.",t.quotePreference==="single")]))],true)}function createVisibilityModifier(t){if(t&4){return e.createToken(115)}else if(t&16){return e.createToken(114)}return undefined}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="invalidImportSyntax";function getCodeFixesForImportDeclaration(t,r){var n=e.getSourceFileOfNode(r);var i=e.getNamespaceDeclarationNode(r);var a=t.program.getCompilerOptions();var o=[];o.push(createAction(t,n,r,e.makeImport(i.name,undefined,r.moduleSpecifier,e.getQuotePreference(n,t.preferences))));if(e.getEmitModuleKind(a)===e.ModuleKind.CommonJS){o.push(createAction(t,n,r,e.createImportEqualsDeclaration(undefined,undefined,i.name,e.createExternalModuleReference(r.moduleSpecifier))))}return o}function createAction(n,i,a,o){var s=e.textChanges.ChangeTracker.with(n,function(e){return e.replaceNode(i,a,o)});return t.createCodeFixActionNoFixId(r,s,[e.Diagnostics.Replace_import_with_0,s[0].textChanges[0].newText])}t.registerCodeFix({errorCodes:[e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature.code],getCodeActions:getActionsForUsageOfInvalidImport});function getActionsForUsageOfInvalidImport(t){var r=t.sourceFile;var n=e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code===t.errorCode?191:192;var i=e.findAncestor(e.getTokenAtPosition(r,t.span.start),function(e){return e.kind===n&&e.getStart()===t.span.start&&e.getEnd()===t.span.start+t.span.length});if(!i){return[]}var a=i.expression;return getImportCodeFixesForExpression(t,a)}t.registerCodeFix({errorCodes:[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,e.Diagnostics.Type_predicate_0_is_not_assignable_to_1.code,e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2.code,e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2.code,e.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1.code,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_type_2.code,e.Diagnostics.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,e.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code],getCodeActions:getActionsForInvalidImportLocation});function getActionsForInvalidImportLocation(t){var r=t.sourceFile;var n=e.findAncestor(e.getTokenAtPosition(r,t.span.start),function(e){return e.getStart()===t.span.start&&e.getEnd()===t.span.start+t.span.length});if(!n){return[]}return getImportCodeFixesForExpression(t,n)}function getImportCodeFixesForExpression(n,i){var a=n.program.getTypeChecker().getTypeAtLocation(i);if(!(a.symbol&&a.symbol.originatingImport)){return[]}var o=[];var s=a.symbol.originatingImport;if(!e.isImportCall(s)){e.addRange(o,getCodeFixesForImportDeclaration(n,s))}if(e.isExpression(i)&&!(e.isNamedDeclaration(i.parent)&&i.parent.name===i)){var c=n.sourceFile;var u=e.textChanges.ChangeTracker.with(n,function(t){return t.replaceNode(c,i,e.createPropertyAccess(i,"default"),{})});o.push(t.createCodeFixActionNoFixId(r,u,e.Diagnostics.Use_synthetic_default_member))}return o}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="strictClassInitialization";var n="addMissingPropertyDefiniteAssignmentAssertions";var i="addMissingPropertyUndefinedType";var a="addMissingPropertyInitializer";var o=[e.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code];t.registerCodeFix({errorCodes:o,getCodeActions:function(t){var r=getPropertyDeclaration(t.sourceFile,t.span.start);if(!r)return;var n=[getActionForAddMissingUndefinedType(t,r),getActionForAddMissingDefiniteAssignmentAssertion(t,r)];e.append(n,getActionForAddMissingInitializer(t,r));return n},fixIds:[n,i,a],getAllCodeActions:function(r){return t.codeFixAll(r,o,function(t,o){var s=getPropertyDeclaration(o.file,o.start);if(!s)return;switch(r.fixId){case n:addDefiniteAssignmentAssertion(t,o.file,s);break;case i:addUndefinedType(t,o.file,s);break;case a:var c=r.program.getTypeChecker();var u=getInitializer(c,s);if(!u)return;addInitializer(t,o.file,s,u);break;default:e.Debug.fail(JSON.stringify(r.fixId))}})}});function getPropertyDeclaration(t,r){var n=e.getTokenAtPosition(t,r);return e.isIdentifier(n)?e.cast(n.parent,e.isPropertyDeclaration):undefined}function getActionForAddMissingDefiniteAssignmentAssertion(i,a){var o=e.textChanges.ChangeTracker.with(i,function(e){return addDefiniteAssignmentAssertion(e,i.sourceFile,a)});return t.createCodeFixAction(r,o,[e.Diagnostics.Add_definite_assignment_assertion_to_property_0,a.getText()],n,e.Diagnostics.Add_definite_assignment_assertions_to_all_uninitialized_properties)}function addDefiniteAssignmentAssertion(t,r,n){var i=e.updateProperty(n,n.decorators,n.modifiers,n.name,e.createToken(52),n.type,n.initializer);t.replaceNode(r,n,i)}function getActionForAddMissingUndefinedType(n,a){var o=e.textChanges.ChangeTracker.with(n,function(e){return addUndefinedType(e,n.sourceFile,a)});return t.createCodeFixAction(r,o,[e.Diagnostics.Add_undefined_type_to_property_0,a.name.getText()],i,e.Diagnostics.Add_undefined_type_to_all_uninitialized_properties)}function addUndefinedType(t,r,n){var i=e.createKeywordTypeNode(141);var a=n.type;var o=e.isUnionTypeNode(a)?a.types.concat(i):[a,i];t.replaceNode(r,a,e.createUnionTypeNode(o))}function getActionForAddMissingInitializer(n,i){var o=n.program.getTypeChecker();var s=getInitializer(o,i);if(!s)return undefined;var c=e.textChanges.ChangeTracker.with(n,function(e){return addInitializer(e,n.sourceFile,i,s)});return t.createCodeFixAction(r,c,[e.Diagnostics.Add_initializer_to_property_0,i.name.getText()],a,e.Diagnostics.Add_initializers_to_all_uninitialized_properties)}function addInitializer(t,r,n,i){var a=e.updateProperty(n,n.decorators,n.modifiers,n.name,n.questionToken,n.type,i);t.replaceNode(r,n,a)}function getInitializer(e,t){return getDefaultValueFromType(e,e.getTypeFromTypeNode(t.type))}function getDefaultValueFromType(t,r){if(r.flags&512){return r===t.getFalseType()||r===t.getFalseType(true)?e.createFalse():e.createTrue()}else if(r.isLiteral()){return e.createLiteral(r.value)}else if(r.isUnion()){return e.firstDefined(r.types,function(e){return getDefaultValueFromType(t,e)})}else if(r.isClass()){var n=e.getClassLikeDeclarationOfSymbol(r.symbol);if(!n||e.hasModifier(n,128))return undefined;var i=e.getFirstConstructorWithBody(n);if(i&&i.parameters.length)return undefined;return e.createNew(e.createIdentifier(r.symbol.name),undefined,undefined)}else if(t.isArrayLikeType(r)){return e.createArrayLiteral()}return undefined}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){function generateTypesForModule(e,t,r){return generateTypesForModuleOrGlobal(e,t,r,0)}e.generateTypesForModule=generateTypesForModule;function generateTypesForGlobal(e,t,r){return generateTypesForModuleOrGlobal(e,t,r,3)}e.generateTypesForGlobal=generateTypesForGlobal;function generateTypesForModuleOrGlobal(t,r,n,i){return valueInfoToDeclarationFileText(e.inspectValue(t,r),n,i)}function valueInfoToDeclarationFileText(t,r,n){if(n===void 0){n=0}return e.textChanges.getNewFileText(toStatements(t,n),3,r.newLineCharacter||"\n",e.formatting.getFormatContext(r))}e.valueInfoToDeclarationFileText=valueInfoToDeclarationFileText;var t;(function(e){e[e["ExportEquals"]=0]="ExportEquals";e[e["NamedExport"]=1]="NamedExport";e[e["NamespaceMember"]=2]="NamespaceMember";e[e["Global"]=3]="Global"})(t||(t={}));function toNamespaceMemberStatements(e){return toStatements(e,2)}function toStatements(t,r){var n=t.name==="default";var i=n?"_default":t.name;if(!isValidIdentifier(i)||n&&r!==1)return e.emptyArray;var a=n&&t.kind===2?[e.createModifier(85),e.createModifier(80)]:r===3||r===0?[e.createModifier(125)]:r===1?[e.createModifier(85)]:undefined;var o=function(){return r===0?[exportEqualsOrDefault(t.name,true)]:e.emptyArray};var s=function(){return n?[exportEqualsOrDefault("_default",false)]:e.emptyArray};switch(t.kind){case 2:return o().concat(functionOrClassToStatements(a,i,t));case 3:var c=t.members,u=t.hasNontrivialPrototype;if(!u){if(r===0){return e.flatMap(c,function(e){return toStatements(e,1)})}if(c.some(function(e){return e.kind===2})){return s().concat([createNamespace(a,i,e.flatMap(c,toNamespaceMemberStatements))])}}case 0:case 1:{var l=t.kind===0?t.comment:undefined;var f=e.createVariableStatement(a,e.createVariableDeclarationList([e.createVariableDeclaration(i,toType(t))],2));return o().concat(s(),[addComment(f,l)])}default:return e.Debug.assertNever(t)}}function exportEqualsOrDefault(t,r){return e.createExportAssignment(undefined,undefined,r,e.createIdentifier(t))}function functionOrClassToStatements(t,r,n){var i=n.source,a=n.prototypeMembers,o=n.namespaceMembers;var s=parseClassOrFunctionBody(i);var c=s===undefined?{parameters:e.emptyArray,returnType:anyType()}:getParametersAndReturnType(s),u=c.parameters,l=c.returnType;var f=e.createMap();if(typeof s==="object")getConstructorFunctionInstanceProperties(s,f);for(var d=0,p=a;d=r.start+r.length){(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractSuper));return true}}else{u|=a.UsesThis}break}if(e.isFunctionLikeDeclaration(t)||e.isClassLike(t)){switch(t.kind){case 239:case 240:if(e.isSourceFile(t.parent)&&t.parent.externalModuleIndicator===undefined){(s||(s=[])).push(e.createDiagnosticForNode(t,i.functionWillNotBeVisibleInTheNewScope))}break}return false}var d=l;switch(t.kind){case 222:l=0;break;case 235:l=0;break;case 218:if(t.parent&&t.parent.kind===235&&t.parent.finallyBlock===t){l=4}break;case 271:l|=1;break;default:if(e.isIterationStatement(t,false)){l|=1|2}break}switch(t.kind){case 178:case 100:u|=a.UsesThis;break;case 233:{var p=t.label;(f||(f=[])).push(p.escapedText);e.forEachChild(t,visit);f.pop();break}case 229:case 228:{var p=t.label;if(p){if(!e.contains(f,p.escapedText)){(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange))}}else{if(!(l&(t.kind===229?1:2))){(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractRangeContainingConditionalBreakOrContinueStatements))}}break}case 201:u|=a.IsAsyncFunction;break;case 207:u|=a.IsGenerator;break;case 230:if(l&4){u|=a.HasReturn}else{(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractRangeContainingConditionalReturnStatement))}break;default:e.forEachChild(t,visit);break}l=d}}}r.getRangeToExtract=getRangeToExtract;function getStatementOrExpressionRange(t){if(e.isStatement(t)){return[t]}else if(e.isExpressionNode(t)){return e.isExpressionStatement(t.parent)?[t.parent]:t}return undefined}function isScope(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function collectEnclosingScopes(t){var r=isReadonlyArray(t.range)?e.first(t.range):t.range;if(t.facts&a.UsesThis){var n=e.getContainingClass(r);if(n){var i=e.findAncestor(r,e.isFunctionLikeDeclaration);return i?[i,n]:[n]}}var o=[];while(true){r=r.parent;if(r.kind===151){r=e.findAncestor(r,function(t){return e.isFunctionLikeDeclaration(t)}).parent}if(isScope(r)){o.push(r);if(r.kind===279){return o}}}}function getFunctionExtractionAtIndex(t,r,n){var i=getPossibleExtractionsWorker(t,r),a=i.scopes,o=i.readsAndWrites,s=o.target,c=o.usagesPerScope,u=o.functionErrorsPerScope,l=o.exposedVariableDeclarations;e.Debug.assert(!u[n].length,"The extraction went missing? How?");r.cancellationToken.throwIfCancellationRequested();return extractFunctionInScope(s,a[n],c[n],l,t,r)}function getConstantExtractionAtIndex(t,r,n){var i=getPossibleExtractionsWorker(t,r),a=i.scopes,o=i.readsAndWrites,s=o.target,c=o.usagesPerScope,u=o.constantErrorsPerScope,l=o.exposedVariableDeclarations;e.Debug.assert(!u[n].length,"The extraction went missing? How?");e.Debug.assert(l.length===0,"Extract constant accepted a range containing a variable declaration?");r.cancellationToken.throwIfCancellationRequested();var f=e.isExpression(s)?s:s.statements[0].expression;return extractConstantInScope(f,a[n],c[n],t.facts,r)}function getPossibleExtractions(t,r){var n=getPossibleExtractionsWorker(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope;var c=i.map(function(t,r){var n=getDescriptionForFunctionInScope(t);var i=getDescriptionForConstantInScope(t);var a=e.isFunctionLikeDeclaration(t)?getDescriptionForFunctionLikeDeclaration(t):e.isClassLike(t)?getDescriptionForClassLikeDeclaration(t):getDescriptionForModuleLikeDeclaration(t);var c;var u;if(a===1){c=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[n,"global"]);u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[i,"global"])}else if(a===0){c=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[n,"module"]);u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[i,"module"])}else{c=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[n,a]);u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[i,a])}if(r===0&&!e.isClassLike(t)){u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[i])}return{functionExtraction:{description:c,errors:o[r]},constantExtraction:{description:u,errors:s[r]}}});return c}function getPossibleExtractionsWorker(e,t){var r=t.file;var n=collectEnclosingScopes(e);var i=getEnclosingTextRange(e,r);var a=collectReadsAndWrites(e,n,i,r,t.program.getTypeChecker(),t.cancellationToken);return{scopes:n,readsAndWrites:a}}function getDescriptionForFunctionInScope(t){return e.isFunctionLikeDeclaration(t)?"inner function":e.isClassLike(t)?"method":"function"}function getDescriptionForConstantInScope(t){return e.isClassLike(t)?"readonly field":"constant"}function getDescriptionForFunctionLikeDeclaration(t){switch(t.kind){case 157:return"constructor";case 196:case 239:return t.name?"function '"+t.name.text+"'":"anonymous function";case 197:return"arrow function";case 156:return"method '"+t.name.getText()+"'";case 158:return"'get "+t.name.getText()+"'";case 159:return"'set "+t.name.getText()+"'";default:throw e.Debug.assertNever(t)}}function getDescriptionForClassLikeDeclaration(e){return e.kind===240?e.name?"class '"+e.name.text+"'":"anonymous class declaration":e.name?"class expression '"+e.name.text+"'":"anonymous class expression"}function getDescriptionForModuleLikeDeclaration(e){return e.kind===245?"namespace '"+e.parent.name.getText()+"'":e.externalModuleIndicator?0:1}var o;(function(e){e[e["Module"]=0]="Module";e[e["Global"]=1]="Global"})(o||(o={}));function extractFunctionInScope(t,r,n,i,o,s){var c=n.usages,u=n.typeParameterUsages,l=n.substitutions;var f=s.program.getTypeChecker();var d=r.getSourceFile();var p=e.getUniqueName(e.isClassLike(r)?"newMethod":"newFunction",d);var g=e.isInJSFile(r);var _=e.createIdentifier(p);var m;var y=[];var h=[];var v;c.forEach(function(t,n){var i;if(!g){var a=f.getTypeOfSymbolAtLocation(t.symbol,t.node);a=f.getBaseTypeOfLiteralType(a);i=f.typeToTypeNode(a,r,1)}var o=e.createParameter(undefined,undefined,undefined,n,undefined,i);y.push(o);if(t.usage===2){(v||(v=[])).push(t)}h.push(e.createIdentifier(n))});var T=e.arrayFrom(u.values()).map(function(e){return{type:e,declaration:getFirstDeclaration(e)}});var S=T.sort(compareTypesByDeclarationOrder);var b=S.length===0?undefined:S.map(function(e){return e.declaration});var x=b!==undefined?b.map(function(t){return e.createTypeReferenceNode(t.name,undefined)}):undefined;if(e.isExpression(t)&&!g){var C=f.getContextualType(t);m=f.typeToTypeNode(C,r,1)}var E=transformFunctionBody(t,i,v,l,!!(o.facts&a.HasReturn)),D=E.body,k=E.returnValueProperty;e.suppressLeadingAndTrailingTrivia(D);var N;if(e.isClassLike(r)){var A=g?[]:[e.createToken(113)];if(o.facts&a.InStaticRegion){A.push(e.createToken(116))}if(o.facts&a.IsAsyncFunction){A.push(e.createToken(121))}N=e.createMethod(undefined,A.length?A:undefined,o.facts&a.IsGenerator?e.createToken(40):undefined,_,undefined,b,y,m,D)}else{N=e.createFunctionDeclaration(undefined,o.facts&a.IsAsyncFunction?[e.createToken(121)]:undefined,o.facts&a.IsGenerator?e.createToken(40):undefined,_,b,y,m,D)}var O=e.textChanges.ChangeTracker.fromContext(s);var F=(isReadonlyArray(o.range)?e.last(o.range):o.range).end;var P=getNodeToInsertFunctionBefore(F,r);if(P){O.insertNodeBefore(s.file,P,N,true)}else{O.insertNodeAtEndOfScope(s.file,r,N)}var I=[];var w=getCalledExpression(r,o,p);var M=e.createCall(w,x,h);if(o.facts&a.IsGenerator){M=e.createYield(e.createToken(40),M)}if(o.facts&a.IsAsyncFunction){M=e.createAwait(M)}if(i.length&&!v){e.Debug.assert(!k);e.Debug.assert(!(o.facts&a.HasReturn));if(i.length===1){var L=i[0];I.push(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedDeepClone(L.name),e.getSynthesizedDeepClone(L.type),M)],L.parent.flags)))}else{var R=[];var B=[];var j=i[0].parent.flags;var J=false;for(var W=0,U=i;W1){return t}n=t;t=t.parent}}function getFirstDeclaration(e){var t;var r=e.symbol;if(r&&r.declarations){for(var n=0,i=r.declarations;n0;if(e.isBlock(t)&&!o&&i.size===0){return{body:e.createBlock(t.statements,true),returnValueProperty:undefined}}var s;var c=false;var u=e.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.createReturn(t)]);if(o||i.size){var l=e.visitNodes(u,visitor).slice();if(o&&!a&&e.isStatement(t)){var f=getPropertyAssignmentsForWritesAndVariableDeclarations(r,n);if(f.length===1){l.push(e.createReturn(f[0].name))}else{l.push(e.createReturn(e.createObjectLiteral(f)))}}return{body:e.createBlock(l,true),returnValueProperty:s}}else{return{body:e.createBlock(u,true),returnValueProperty:undefined}}function visitor(t){if(!c&&t.kind===230&&o){var a=getPropertyAssignmentsForWritesAndVariableDeclarations(r,n);if(t.expression){if(!s){s="__return"}a.unshift(e.createPropertyAssignment(s,e.visitNode(t.expression,visitor)))}if(a.length===1){return e.createReturn(a[0].name)}else{return e.createReturn(e.createObjectLiteral(a))}}else{var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString());var f=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,visitor,e.nullTransformationContext);c=u;return f}}}function transformConstantInitializer(t,r){return r.size?visitor(t):t;function visitor(t){var n=r.get(e.getNodeId(t).toString());return n?e.getSynthesizedDeepClone(n):e.visitEachChild(t,visitor,e.nullTransformationContext)}}function getStatementsOrClassElements(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r)){return r.statements}}else if(e.isModuleBlock(t)||e.isSourceFile(t)){return t.statements}else if(e.isClassLike(t)){return t.members}else{e.assertType(t)}return e.emptyArray}function getNodeToInsertFunctionBefore(t,r){return e.find(getStatementsOrClassElements(r),function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)})}function getNodeToInsertPropertyBefore(t,r){var n=r.members;e.Debug.assert(n.length>0);var i;var a=true;for(var o=0,s=n;ot){return i||n[0]}if(a&&!e.isPropertyDeclaration(c)){if(i!==undefined){return c}a=false}i=c}if(i===undefined)return e.Debug.fail();return i}function getNodeToInsertConstantBefore(t,r){e.Debug.assert(!e.isClassLike(r));var n;for(var i=t;i!==r;i=i.parent){if(isScope(i)){n=i}}for(var i=(n||t).parent;;i=i.parent){if(isBlockLike(i)){var a=void 0;for(var o=0,s=i.statements;ot.pos){break}a=c}if(!a&&e.isCaseClause(i)){e.Debug.assert(e.isSwitchStatement(i.parent.parent));return i.parent.parent}return e.Debug.assertDefined(a)}e.Debug.assert(i!==r,"Didn't encounter a block-like before encountering scope")}}function getPropertyAssignmentsForWritesAndVariableDeclarations(t,r){var n=e.map(t,function(t){return e.createShorthandPropertyAssignment(t.symbol.name)});var i=e.map(r,function(t){return e.createShorthandPropertyAssignment(t.symbol.name)});return n===undefined?i:i===undefined?n:n.concat(i)}function isReadonlyArray(t){return e.isArray(t)}function getEnclosingTextRange(t,r){return isReadonlyArray(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}var s;(function(e){e[e["Read"]=1]="Read";e[e["Write"]=2]="Write"})(s||(s={}));function collectReadsAndWrites(t,r,n,o,s,c){var u=e.createMap();var l=[];var f=[];var d=[];var p=[];var g=[];var _=e.createMap();var m=[];var y;var h=!isReadonlyArray(t.range)?t.range:t.range.length===1&&e.isExpressionStatement(t.range[0])?t.range[0].expression:undefined;var v;if(h===undefined){var T=t.range;var S=e.first(T).getStart();var b=e.last(T).end;v=e.createFileDiagnostic(o,S,b-S,i.expressionExpected)}else if(s.getTypeAtLocation(h).flags&(16384|131072)){v=e.createDiagnosticForNode(h,i.uselessConstantType)}for(var x=0,C=r;x0){var P=e.createMap();var I=0;for(var w=A;w!==undefined&&I0&&(n.usages.size>0||n.typeParameterUsages.size>0)){var a=isReadonlyArray(t.range)?t.range[0]:t.range;p[r].push(e.createDiagnosticForNode(a,i.cannotAccessVariablesFromNestedScopes))}var o=false;var s;l[r].usages.forEach(function(t){if(t.usage===2){o=true;if(t.symbol.flags&106500&&t.symbol.valueDeclaration&&e.hasModifier(t.symbol.valueDeclaration,64)){s=t.symbol.valueDeclaration}}});e.Debug.assert(isReadonlyArray(t.range)||m.length===0);if(o&&!isReadonlyArray(t.range)){var c=e.createDiagnosticForNode(t.range,i.cannotWriteInExpression);d[r].push(c);p[r].push(c)}else if(s&&r>0){var c=e.createDiagnosticForNode(s,i.cannotExtractReadonlyPropertyInitializerOutsideConstructor);d[r].push(c);p[r].push(c)}else if(y){var c=e.createDiagnosticForNode(y,i.cannotExtractExportedEntity);d[r].push(c);p[r].push(c)}};for(var W=0;W=u){return m}k.set(m,u);if(y){for(var h=0,v=l;h=0){return}var n=e.isIdentifier(r)?getSymbolReferencedByIdentifier(r):s.getSymbolAtLocation(r);if(n){var i=e.find(g,function(e){return e.symbol===n});if(i){if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();if(!_.has(a)){m.push(i);_.set(a,true)}}else{y=y||i}}}e.forEachChild(r,checkForUsedDeclarations)}function getSymbolReferencedByIdentifier(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function tryReplaceWithQualifiedNameOrPropertyAccess(t,r,n){if(!t){return undefined}var i=t.getDeclarations();if(i&&i.some(function(e){return e.parent===r})){return e.createIdentifier(t.name)}var a=tryReplaceWithQualifiedNameOrPropertyAccess(t.parent,r,n);if(a===undefined){return undefined}return n?e.createQualifiedName(a,e.createIdentifier(t.name)):e.createPropertyAccess(a,t.name)}}function isExtractableExpression(e){var t=e.parent;switch(t.kind){case 278:return false}switch(e.kind){case 10:return t.kind!==249&&t.kind!==253;case 208:case 184:case 186:return false;case 72:return t.kind!==186&&t.kind!==253&&t.kind!==257}return true}function isBlockLike(e){switch(e.kind){case 218:case 279:case 245:case 271:return true;default:return false}}})(r=t.extractSymbol||(t.extractSymbol={}))})(t=e.refactor||(e.refactor={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r;(function(r){var n="Generate 'get' and 'set' accessors";var i=e.Diagnostics.Generate_get_and_set_accessors.message;t.registerRefactor(n,{getEditsForAction:getEditsForAction,getAvailableActions:getAvailableActions});function getAvailableActions(t){if(!getConvertibleFieldAtPosition(t))return e.emptyArray;return[{name:n,description:i,actions:[{name:n,description:i}]}]}function getEditsForAction(t,r){var n=t.file;var i=getConvertibleFieldAtPosition(t);if(!i)return undefined;var a=e.isSourceFileJS(n);var o=e.textChanges.ChangeTracker.fromContext(t);var s=i.isStatic,c=i.isReadonly,u=i.fieldName,l=i.accessorName,f=i.originalName,d=i.type,p=i.container,g=i.declaration,_=i.renameAccessor;e.suppressLeadingAndTrailingTrivia(u);e.suppressLeadingAndTrailingTrivia(g);e.suppressLeadingAndTrailingTrivia(p);var m=e.isClassLike(p);var y=e.getModifierFlags(g)&~64;var h=m?!y||y&8?getModifiers(a,s,115):e.createNodeArray(e.createModifiersFromModifierFlags(y)):undefined;var v=m?getModifiers(a,s,113):undefined;updateFieldDeclaration(o,n,g,u,v);var T=generateGetAccessor(u,l,d,h,s,p);e.suppressLeadingAndTrailingTrivia(T);insertAccessor(o,n,T,g,p);if(c){var S=e.getFirstConstructorWithBody(p);if(S){updateReadonlyPropertyInitializerStatementConstructor(o,n,S,u.text,f)}}else{var b=generateSetAccessor(u,l,d,h,s,p);e.suppressLeadingAndTrailingTrivia(b);insertAccessor(o,n,b,g,p)}var x=o.getChanges();var C=n.fileName;var E=_?l:u;var D=e.isIdentifier(E)?0:-1;var k=D+e.getRenameLocation(x,C,E.text,e.isParameter(g));return{renameFilename:C,renameLocation:k,edits:x}}function isConvertibleName(t){return e.isIdentifier(t)||e.isStringLiteral(t)}function isAcceptedDeclaration(t){return e.isParameterPropertyDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertyAssignment(t)}function createPropertyName(t,r){return e.isIdentifier(r)?e.createIdentifier(t):e.createLiteral(t)}function createAccessorAccessExpression(t,r,n){var i=r?n.name:e.createThis();return e.isIdentifier(t)?e.createPropertyAccess(i,t):e.createElementAccess(i,e.createLiteral(t))}function getModifiers(t,r,n){var i=e.append(!t?[e.createToken(n)]:undefined,r?e.createToken(116):undefined);return i&&e.createNodeArray(i)}function startsWithUnderscore(e){return e.charCodeAt(0)===95}function getConvertibleFieldAtPosition(t){var r=t.file,n=t.startPosition,i=t.endPosition;var a=e.getTokenAtPosition(r,n);var o=e.findAncestor(a.parent,isAcceptedDeclaration);var s=28|32|64;if(!o||!e.nodeOverlapsWithStartEnd(o.name,r,n,i)||!isConvertibleName(o.name)||(e.getModifierFlags(o)|s)!==s)return undefined;var c=o.name.text;var u=startsWithUnderscore(c);var l=createPropertyName(u?c:e.getUniqueName("_"+c,r),o.name);var f=createPropertyName(u?e.getUniqueName(c.substring(1),r):c,o.name);return{isStatic:e.hasStaticModifier(o),isReadonly:e.hasReadonlyModifier(o),type:e.getTypeAnnotationNode(o),container:o.kind===151?o.parent.parent:o.parent,originalName:o.name.text,declaration:o,fieldName:l,accessorName:f,renameAccessor:u}}function generateGetAccessor(t,r,n,i,a,o){return e.createGetAccessor(undefined,i,r,undefined,n,e.createBlock([e.createReturn(createAccessorAccessExpression(t,a,o))],true))}function generateSetAccessor(t,r,n,i,a,o){return e.createSetAccessor(undefined,i,r,[e.createParameter(undefined,undefined,undefined,e.createIdentifier("value"),undefined,n)],e.createBlock([e.createStatement(e.createAssignment(createAccessorAccessExpression(t,a,o),e.createIdentifier("value")))],true))}function updatePropertyDeclaration(t,r,n,i,a){var o=e.updateProperty(n,n.decorators,a,i,n.questionToken||n.exclamationToken,n.type,n.initializer);t.replaceNode(r,n,o)}function updatePropertyAssignmentDeclaration(t,r,n,i){var a=e.updatePropertyAssignment(n,i,n.initializer);t.replacePropertyAssignment(r,n,a)}function updateFieldDeclaration(t,r,n,i,a){if(e.isPropertyDeclaration(n)){updatePropertyDeclaration(t,r,n,i,a)}else if(e.isPropertyAssignment(n)){updatePropertyAssignmentDeclaration(t,r,n,i)}else{t.replaceNode(r,n,e.updateParameter(n,n.decorators,a,n.dotDotDotToken,e.cast(i,e.isIdentifier),n.questionToken,n.type,n.initializer))}}function insertAccessor(t,r,n,i,a){e.isParameterPropertyDeclaration(i)?t.insertNodeAtClassStart(r,a,n):e.isPropertyAssignment(i)?t.insertNodeAfterComma(r,i,n):t.insertNodeAfter(r,i,n)}function updateReadonlyPropertyInitializerStatementConstructor(t,r,n,i,a){if(!n.body)return;n.body.forEachChild(function recur(n){if(e.isElementAccessExpression(n)&&n.expression.kind===100&&e.isStringLiteral(n.argumentExpression)&&n.argumentExpression.text===a&&e.isWriteAccess(n)){t.replaceNode(r,n.argumentExpression,e.createStringLiteral(i))}if(e.isPropertyAccessExpression(n)&&n.expression.kind===100&&n.name.text===a&&e.isWriteAccess(n)){t.replaceNode(r,n.name,e.createIdentifier(i))}if(!e.isFunctionLike(n)&&!e.isClassLike(n)){n.forEachChild(recur)}})}})(r=t.generateGetAccessorAndSetAccessor||(t.generateGetAccessorAndSetAccessor={}))})(t=e.refactor||(e.refactor={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="Move to a new file";t.registerRefactor(r,{getAvailableActions:function(t){if(!t.preferences.allowTextChangesInNewFiles||getStatementsToMove(t)===undefined)return e.emptyArray;var n=e.getLocaleSpecificMessage(e.Diagnostics.Move_to_a_new_file);return[{name:r,description:n,actions:[{name:r,description:n}]}]},getEditsForAction:function(t,n){e.Debug.assert(n===r);var i=e.Debug.assertDefined(getStatementsToMove(t));var a=e.textChanges.ChangeTracker.with(t,function(e){return doChange(t.file,t.program,i,e,t.host,t.preferences)});return{edits:a,renameFilename:undefined,renameLocation:undefined}}});function getRangeToMove(t){var r=t.file;var n=e.createTextRangeFromSpan(e.getRefactorContextSpan(t));var i=r.statements;var a=e.findIndex(i,function(e){return e.end>n.pos});if(a===-1)return undefined;var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n)){return{toMove:[i[a]],afterLast:i[a+1]}}if(n.pos>o.getStart(r))return undefined;var s=e.findIndex(i,function(e){return e.end>n.end},a);if(s!==-1&&(s===0||i[s].getStart(r)305});return n.kind<148?n:n.getFirstToken(t)};NodeObject.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t);var n=e.lastOrUndefined(r);if(!n){return undefined}return n.kind<148?n:n.getLastToken(t)};NodeObject.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)};return NodeObject}();function createChildren(t,r){if(!e.isNodeKind(t.kind)){return e.emptyArray}var n=[];if(e.isJSDocCommentContainingNode(t)){t.forEachChild(function(e){n.push(e)});return n}e.scanner.setText((r||t.getSourceFile()).text);var i=t.pos;var a=function(e){addSyntheticNodes(n,i,e.pos,t);n.push(e);i=e.end};var o=function(e){addSyntheticNodes(n,i,e.pos,t);n.push(createSyntaxList(e,t));i=e.end};e.forEach(t.jsDoc,a);i=t.pos;t.forEachChild(a,o);addSyntheticNodes(n,i,t.end,t);e.scanner.setText(undefined);return n}function addSyntheticNodes(t,r,n,i){e.scanner.setTextPos(r);while(r=r.length){n=this.getEnd()}if(!n){n=r[t+1]-1}var i=this.getFullText();return i[n]==="\n"&&i[n-1]==="\r"?n-1:n};SourceFileObject.prototype.getNamedDeclarations=function(){if(!this.namedDeclarations){this.namedDeclarations=this.computeNamedDeclarations()}return this.namedDeclarations};SourceFileObject.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();this.forEachChild(visit);return t;function addDeclaration(e){var r=getDeclarationName(e);if(r){t.add(r,e)}}function getDeclarations(e){var r=t.get(e);if(!r){t.set(e,r=[])}return r}function getDeclarationName(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):undefined)}function visit(t){switch(t.kind){case 239:case 196:case 156:case 155:var r=t;var n=getDeclarationName(r);if(n){var i=getDeclarations(n);var a=e.lastOrUndefined(i);if(a&&r.parent===a.parent&&r.symbol===a.symbol){if(r.body&&!a.body){i[i.length-1]=r}}else{i.push(r)}}e.forEachChild(t,visit);break;case 240:case 209:case 241:case 242:case 243:case 244:case 248:case 257:case 253:case 250:case 251:case 158:case 159:case 168:addDeclaration(t);e.forEachChild(t,visit);break;case 151:if(!e.hasModifier(t,92)){break}case 237:case 186:{var o=t;if(e.isBindingPattern(o.name)){e.forEachChild(o.name,visit);break}if(o.initializer){visit(o.initializer)}}case 278:case 154:case 153:addDeclaration(t);break;case 255:if(t.exportClause){e.forEach(t.exportClause.elements,visit)}break;case 249:var s=t.importClause;if(s){if(s.name){addDeclaration(s.name)}if(s.namedBindings){if(s.namedBindings.kind===251){addDeclaration(s.namedBindings)}else{e.forEach(s.namedBindings.elements,visit)}}}break;case 204:if(e.getAssignmentDeclarationKind(t)!==0){addDeclaration(t)}default:e.forEachChild(t,visit)}}};return SourceFileObject}(t);var d=function(){function SourceMapSourceObject(e,t,r){this.fileName=e;this.text=t;this.skipTrivia=r}SourceMapSourceObject.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)};return SourceMapSourceObject}();function getServicesObjectAllocator(){return{getNodeConstructor:function(){return t},getTokenConstructor:function(){return s},getIdentifierConstructor:function(){return c},getSourceFileConstructor:function(){return f},getSymbolConstructor:function(){return a},getTypeConstructor:function(){return u},getSignatureConstructor:function(){return l},getSourceMapSourceConstructor:function(){return d}}}function toEditorSettings(t){var r=true;for(var n in t){if(e.hasProperty(t,n)&&!isCamelCase(n)){r=false;break}}if(r){return t}var i={};for(var n in t){if(e.hasProperty(t,n)){var a=isCamelCase(n)?n:n.charAt(0).toLowerCase()+n.substr(1);i[a]=t[n]}}return i}e.toEditorSettings=toEditorSettings;function isCamelCase(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function displayPartsToString(t){if(t){return e.map(t,function(e){return e.text}).join("")}return""}e.displayPartsToString=displayPartsToString;function getDefaultCompilerOptions(){return{target:1,jsx:1}}e.getDefaultCompilerOptions=getDefaultCompilerOptions;function getSupportedCodeFixes(){return e.codefix.getSupportedErrorCodes()}e.getSupportedCodeFixes=getSupportedCodeFixes;var p=function(){function HostCache(t,r){this.host=t;this.currentDirectory=t.getCurrentDirectory();this.fileNameToEntry=e.createMap();var n=t.getScriptFileNames();for(var i=0,a=n;i=this.throttleWaitMilliseconds){this.lastCancellationCheckTime=t;return this.hostCancellationToken.isCancellationRequested()}return false};ThrottledCancellationToken.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested()){throw new e.OperationCanceledException}};return ThrottledCancellationToken}();e.ThrottledCancellationToken=m;function createLanguageService(t,r,i){if(r===void 0){r=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory())}if(i===void 0){i=false}var a;var o=new g(t);var s;var c;var u=0;var l=new _(t.getCancellationToken&&t.getCancellationToken());var f=t.getCurrentDirectory();if(!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages){e.localizedDiagnosticMessages=t.getLocalizedDiagnosticMessages()}function log(e){if(t.log){t.log(e)}}var d=e.hostUsesCaseSensitiveFileNames(t);var m=e.createGetCanonicalFileName(d);var y=e.getSourceMapper(d,f,log,t,function(){return s});function getValidSourceFile(e){var t=s.getSourceFile(e);if(!t){throw new Error("Could not find file: '"+e+"'.")}return t}function synchronizeHostData(){e.Debug.assert(!i);if(t.getProjectVersion){var n=t.getProjectVersion();if(n){if(c===n&&!t.hasChangedAutomaticTypeDirectiveNames){return}c=n}}var a=t.getTypeRootsVersion?t.getTypeRootsVersion():0;if(u!==a){log("TypeRoots version has changed; provide new program");s=undefined;u=a}var o=new p(t,m);var g=o.getRootFileNames();var _=t.hasInvalidatedResolution||e.returnFalse;var h=o.getProjectReferences();if(e.isProgramUptoDate(s,g,o.compilationSettings(),function(e){return o.getVersion(e)},fileExists,_,!!t.hasChangedAutomaticTypeDirectiveNames,h)){return}var v=o.compilationSettings();var T={getSourceFile:getOrCreateSourceFile,getSourceFileByPath:getOrCreateSourceFileByPath,getCancellationToken:function(){return l},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return d},getNewLine:function(){return e.getNewLineCharacter(v,function(){return e.getNewLineOrDefaultFromHost(t)})},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return f},fileExists:fileExists,readFile:function(r){var n=e.toPath(r,f,m);var i=o&&o.getEntryByPath(n);if(i){return e.isString(i)?undefined:e.getSnapshotText(i.scriptSnapshot)}return t.readFile&&t.readFile(r)},realpath:t.realpath&&function(e){return t.realpath(e)},directoryExists:function(r){return e.directoryProbablyExists(r,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},readDirectory:function(r,n,i,a,o){e.Debug.assertDefined(t.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'");return t.readDirectory(r,n,i,a,o)},onReleaseOldSourceFile:onReleaseOldSourceFile,hasInvalidatedResolution:_,hasChangedAutomaticTypeDirectiveNames:t.hasChangedAutomaticTypeDirectiveNames};if(t.trace){T.trace=function(e){return t.trace(e)}}if(t.resolveModuleNames){T.resolveModuleNames=function(e,r,n,i){return t.resolveModuleNames(e,r,n,i)}}if(t.resolveTypeReferenceDirectives){T.resolveTypeReferenceDirectives=function(e,r,n){return t.resolveTypeReferenceDirectives(e,r,n)}}var S=r.getKeyForCompilationSettings(v);var b={rootNames:g,options:v,host:T,oldProgram:s,projectReferences:h};s=e.createProgram(b);o=undefined;y.clearCache();s.getTypeChecker();return;function fileExists(r){var n=e.toPath(r,f,m);var i=o&&o.getEntryByPath(n);return i?!e.isString(i):!!t.fileExists&&t.fileExists(r)}function onReleaseOldSourceFile(e,t){var n=r.getKeyForCompilationSettings(t);r.releaseDocumentWithKey(e.resolvedPath,n)}function getOrCreateSourceFile(t,r,n,i){return getOrCreateSourceFileByPath(t,e.toPath(t,f,m),r,n,i)}function getOrCreateSourceFileByPath(t,n,i,a,c){e.Debug.assert(o!==undefined,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");var u=o&&o.getOrCreateEntryByPath(t,n);if(!u){return undefined}if(!c){var l=s&&s.getSourceFileByPath(n);if(l){e.Debug.assertEqual(u.scriptKind,l.scriptKind,"Registered script kind should match new script kind.",n);return r.updateDocumentWithKey(t,n,v,S,u.scriptSnapshot,u.version,u.scriptKind)}}return r.acquireDocumentWithKey(t,n,v,S,u.scriptSnapshot,u.version,u.scriptKind)}}function getProgram(){if(i){e.Debug.assert(s===undefined);return undefined}synchronizeHostData();return s}function cleanupSemanticCache(){s=undefined}function dispose(){if(s){e.forEach(s.getSourceFiles(),function(e){return r.releaseDocument(e.fileName,s.getCompilerOptions())});s=undefined}t=undefined}function getSyntacticDiagnostics(e){synchronizeHostData();return s.getSyntacticDiagnostics(getValidSourceFile(e),l).slice()}function getSemanticDiagnostics(t){synchronizeHostData();var r=getValidSourceFile(t);var n=s.getSemanticDiagnostics(r,l);if(!e.getEmitDeclarations(s.getCompilerOptions())){return n.slice()}var i=s.getDeclarationDiagnostics(r,l);return n.concat(i)}function getSuggestionDiagnostics(t){synchronizeHostData();return e.computeSuggestionDiagnostics(getValidSourceFile(t),s,l)}function getCompilerOptionsDiagnostics(){synchronizeHostData();return s.getOptionsDiagnostics(l).concat(s.getGlobalDiagnostics(l))}function getCompletionsAtPosition(r,i,a){if(a===void 0){a=e.emptyOptions}var o=n({},e.identity(a),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});synchronizeHostData();return e.Completions.getCompletionsAtPosition(t,s,log,getValidSourceFile(r),i,o,a.triggerCharacter)}function getCompletionEntryDetails(r,n,i,a,o,c){if(c===void 0){c=e.emptyOptions}synchronizeHostData();return e.Completions.getCompletionEntryDetails(s,log,getValidSourceFile(r),n,{name:i,source:o},t,a&&e.formatting.getFormatContext(a),c,l)}function getCompletionEntrySymbol(t,r,n,i){synchronizeHostData();return e.Completions.getCompletionEntrySymbol(s,log,getValidSourceFile(t),r,{name:n,source:i})}function getQuickInfoAtPosition(t,r){synchronizeHostData();var n=getValidSourceFile(t);var i=e.getTouchingPropertyName(n,r);if(i===n){return undefined}var a=s.getTypeChecker();var o=getSymbolAtLocationForQuickInfo(i,a);if(!o||a.isUnknownSymbol(o)){var c=shouldGetType(n,i,r)?a.getTypeAtLocation(i):undefined;return c&&{kind:"",kindModifiers:"",textSpan:e.createTextSpanFromNode(i,n),displayParts:a.runWithCancellationToken(l,function(t){return e.typeToDisplayParts(t,c,e.getContainerNode(i))}),documentation:c.symbol?c.symbol.getDocumentationComment(a):undefined,tags:c.symbol?c.symbol.getJsDocTags():undefined}}var u=a.runWithCancellationToken(l,function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,o,n,e.getContainerNode(i),i)}),f=u.symbolKind,d=u.displayParts,p=u.documentation,g=u.tags;return{kind:f,kindModifiers:e.SymbolDisplay.getSymbolModifiers(o),textSpan:e.createTextSpanFromNode(i,n),displayParts:d,documentation:p,tags:g}}function shouldGetType(t,r,n){switch(r.kind){case 72:return!e.isLabelName(r)&&!e.isTagName(r);case 189:case 148:return!e.isInComment(t,n);case 100:case 178:case 98:return true;default:return false}}function getDefinitionAtPosition(t,r){synchronizeHostData();return e.GoToDefinition.getDefinitionAtPosition(s,getValidSourceFile(t),r)}function getDefinitionAndBoundSpan(t,r){synchronizeHostData();return e.GoToDefinition.getDefinitionAndBoundSpan(s,getValidSourceFile(t),r)}function getTypeDefinitionAtPosition(t,r){synchronizeHostData();return e.GoToDefinition.getTypeDefinitionAtPosition(s.getTypeChecker(),getValidSourceFile(t),r)}function getImplementationAtPosition(t,r){synchronizeHostData();return e.FindAllReferences.getImplementationsAtPosition(s,l,s.getSourceFiles(),getValidSourceFile(t),r)}function getOccurrencesAtPosition(t,r){return e.flatMap(getDocumentHighlights(t,r,[t]),function(e){return e.highlightSpans.map(function(t){return{fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:t.kind==="writtenReference",isDefinition:false,isInString:t.isInString}})})}function getDocumentHighlights(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some(function(t){return e.normalizePath(t)===i}));synchronizeHostData();var a=n.map(getValidSourceFile);var o=getValidSourceFile(t);return e.DocumentHighlights.getDocumentHighlights(s,l,o,r,a)}function findRenameLocations(t,r,n,i){synchronizeHostData();var a=getValidSourceFile(t);var o=e.getTouchingPropertyName(a,r);if(e.isIdentifier(o)&&(e.isJsxOpeningElement(o.parent)||e.isJsxClosingElement(o.parent))&&e.isIntrinsicJsxName(o.escapedText)){var s=o.parent.parent,c=s.openingElement,u=s.closingElement;return[c,u].map(function(t){return{fileName:a.fileName,textSpan:e.createTextSpanFromNode(t.tagName,a)}})}else{return getReferencesWorker(o,r,{findInStrings:n,findInComments:i,isForRename:true},e.FindAllReferences.toRenameLocation)}}function getReferencesAtPosition(t,r){synchronizeHostData();return getReferencesWorker(e.getTouchingPropertyName(getValidSourceFile(t),r),r,{},e.FindAllReferences.toReferenceEntry)}function getReferencesWorker(t,r,n,i){synchronizeHostData();var a=n&&n.isForRename?s.getSourceFiles().filter(function(e){return!s.isSourceFileDefaultLibrary(e)}):s.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(s,l,a,t,r,n,i)}function findReferences(t,r){synchronizeHostData();return e.FindAllReferences.findReferencedSymbols(s,l,s.getSourceFiles(),getValidSourceFile(t),r)}function getNavigateToItems(t,r,n,i){if(i===void 0){i=false}synchronizeHostData();var a=n?[getValidSourceFile(n)]:s.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,s.getTypeChecker(),l,t,r,i)}function getEmitOutput(r,n){if(n===void 0){n=false}synchronizeHostData();var i=getValidSourceFile(r);var a=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(s,i,n,l,a)}function getSignatureHelpItems(t,r,n){var i=(n===void 0?e.emptyOptions:n).triggerReason;synchronizeHostData();var a=getValidSourceFile(t);return e.SignatureHelp.getSignatureHelpItems(s,a,r,i,l)}function getNonBoundSourceFile(e){return o.getCurrentSourceFile(e)}function getNameOrDottedNameSpan(t,r,n){var i=o.getCurrentSourceFile(t);var a=e.getTouchingPropertyName(i,r);if(a===i){return undefined}switch(a.kind){case 189:case 148:case 10:case 87:case 102:case 96:case 98:case 100:case 178:case 72:break;default:return undefined}var s=a;while(true){if(e.isRightSideOfPropertyAccess(s)||e.isRightSideOfQualifiedName(s)){s=s.parent}else if(e.isNameOfModuleDeclaration(s)){if(s.parent.parent.kind===244&&s.parent.parent.body===s.parent){s=s.parent.parent.name}else{break}}else{break}}return e.createTextSpanFromBounds(s.getStart(),a.getEnd())}function getBreakpointStatementAtPosition(t,r){var n=o.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)}function getNavigationBarItems(t){return e.NavigationBar.getNavigationBarItems(o.getCurrentSourceFile(t),l)}function getNavigationTree(t){return e.NavigationBar.getNavigationTree(o.getCurrentSourceFile(t),l)}function isTsOrTsxFile(r){var n=e.getScriptKind(r,t);return n===3||n===4}function getSemanticClassifications(t,r){if(!isTsOrTsxFile(t)){return[]}synchronizeHostData();return e.getSemanticClassifications(s.getTypeChecker(),l,getValidSourceFile(t),s.getClassifiableNames(),r)}function getEncodedSemanticClassifications(t,r){if(!isTsOrTsxFile(t)){return{spans:[],endOfLineState:0}}synchronizeHostData();return e.getEncodedSemanticClassifications(s.getTypeChecker(),l,getValidSourceFile(t),s.getClassifiableNames(),r)}function getSyntacticClassifications(t,r){return e.getSyntacticClassifications(l,o.getCurrentSourceFile(t),r)}function getEncodedSyntacticClassifications(t,r){return e.getEncodedSyntacticClassifications(l,o.getCurrentSourceFile(t),r)}function getOutliningSpans(t){var r=o.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,l)}var h=e.createMapFromTemplate((a={},a[18]=19,a[20]=21,a[22]=23,a[30]=28,a));h.forEach(function(e,t){return h.set(e.toString(),Number(t))});function getBraceMatchingAtPosition(t,r){var n=o.getCurrentSourceFile(t);var i=e.getTouchingToken(n,r);var a=i.getStart(n)===r?h.get(i.kind.toString()):undefined;var s=a&&e.findChildOfKind(i.parent,a,n);return s?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(s,n)].sort(function(e,t){return e.start-t.start}):e.emptyArray}function getIndentationAtPosition(t,r,n){var i=e.timestamp();var a=toEditorSettings(n);var s=o.getCurrentSourceFile(t);log("getIndentationAtPosition: getCurrentSourceFile: "+(e.timestamp()-i));i=e.timestamp();var c=e.formatting.SmartIndenter.getIndentation(r,s,a);log("getIndentationAtPosition: computeIndentation : "+(e.timestamp()-i));return c}function getFormattingEditsForRange(t,r,n,i){var a=o.getCurrentSourceFile(t);return e.formatting.formatSelection(r,n,a,e.formatting.getFormatContext(toEditorSettings(i)))}function getFormattingEditsForDocument(t,r){return e.formatting.formatDocument(o.getCurrentSourceFile(t),e.formatting.getFormatContext(toEditorSettings(r)))}function getFormattingEditsAfterKeystroke(t,r,n,i){var a=o.getCurrentSourceFile(t);var s=e.formatting.getFormatContext(toEditorSettings(i));if(!e.isInComment(a,r)){switch(n){case"{":return e.formatting.formatOnOpeningCurly(r,a,s);case"}":return e.formatting.formatOnClosingCurly(r,a,s);case";":return e.formatting.formatOnSemicolon(r,a,s);case"\n":return e.formatting.formatOnEnter(r,a,s)}}return[]}function getCodeFixesAtPosition(r,n,i,a,o,c){if(c===void 0){c=e.emptyOptions}synchronizeHostData();var u=getValidSourceFile(r);var f=e.createTextSpanFromBounds(n,i);var d=e.formatting.getFormatContext(o);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),function(r){l.throwIfCancellationRequested();return e.codefix.getFixes({errorCode:r,sourceFile:u,span:f,program:s,host:t,cancellationToken:l,formatContext:d,preferences:c})})}function getCombinedCodeFix(r,n,i,a){if(a===void 0){a=e.emptyOptions}synchronizeHostData();e.Debug.assert(r.type==="file");var o=getValidSourceFile(r.fileName);var c=e.formatting.getFormatContext(i);return e.codefix.getAllFixes({fixId:n,sourceFile:o,program:s,host:t,cancellationToken:l,formatContext:c,preferences:a})}function organizeImports(r,n,i){if(i===void 0){i=e.emptyOptions}synchronizeHostData();e.Debug.assert(r.type==="file");var a=getValidSourceFile(r.fileName);var o=e.formatting.getFormatContext(n);return e.OrganizeImports.organizeImports(a,o,t,s,i)}function getEditsForFileRename(r,n,i,a){if(a===void 0){a=e.emptyOptions}return e.getEditsForFileRename(getProgram(),r,n,t,e.formatting.getFormatContext(i),a,y)}function applyCodeActionCommand(t,r){var n=typeof t==="string"?r:t;var i=typeof t!=="string"?r:undefined;return e.isArray(n)?Promise.all(n.map(function(e){return applySingleCodeActionCommand(e,i)})):applySingleCodeActionCommand(n,i)}function applySingleCodeActionCommand(r,n){var i=function(t){return e.toPath(t,f,m)};switch(r.type){case"install package":return t.installPackage?t.installPackage({fileName:i(r.file),packageName:r.packageName}):Promise.reject("Host does not implement `installPackage`");case"generate types":{var a=r.fileToGenerateTypesFor,o=r.outputFileName;if(!t.inspectValue)return Promise.reject("Host does not implement `installPackage`");var s=t.inspectValue({fileNameToRequire:a});return s.then(function(r){var a=i(o);t.writeFile(a,e.valueInfoToDeclarationFileText(r,n||e.testFormatSettings));return{successMessage:"Wrote types to '"+a+"'"}})}default:return e.Debug.assertNever(r)}}function getDocCommentTemplateAtPosition(r,n){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),o.getCurrentSourceFile(r),n)}function isValidBraceCompletionAtPosition(t,r,n){if(n===60){return false}var i=o.getCurrentSourceFile(t);if(e.isInString(i,r)){return false}if(e.isInsideJsxElementOrAttribute(i,r)){return n===123}if(e.isInTemplateString(i,r)){return false}switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return true}function getJsxClosingTagAtPosition(t,r){var n=o.getCurrentSourceFile(t);var i=e.findPrecedingToken(r,n);if(!i)return undefined;var a=i.kind===30&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)?i.parent:undefined;if(a&&isUnclosedTag(a)){return{newText:""}}}function isUnclosedTag(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&isUnclosedTag(i)}function getSpanOfEnclosingComment(t,r,n){var i=o.getCurrentSourceFile(t);var a=e.formatting.getRangeOfEnclosingComment(i,r);return a&&(!n||a.kind===3)?e.createTextSpanFromRange(a):undefined}function getTodoComments(t,r){synchronizeHostData();var n=getValidSourceFile(t);l.throwIfCancellationRequested();var i=n.text;var a=[];if(r.length>0&&!isNodeModulesFile(n.fileName)){var o=getTodoCommentsRegExp();var s=void 0;while(s=o.exec(i)){l.throwIfCancellationRequested();var c=3;e.Debug.assert(s.length===r.length+c);var u=s[1];var f=s.index+u.length;if(!e.isInComment(n,f)){continue}var d=void 0;for(var p=0;p=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}function isNodeModulesFile(t){return e.stringContains(t,"/node_modules/")}}function getRenameInfo(t,r){synchronizeHostData();return e.Rename.getRenameInfo(s,getValidSourceFile(t),r)}function getRefactorContext(r,n,i,a){var o=typeof n==="number"?[n,undefined]:[n.pos,n.end],s=o[0],c=o[1];return{file:r,startPosition:s,endPosition:c,program:getProgram(),host:t,formatContext:e.formatting.getFormatContext(a),cancellationToken:l,preferences:i}}function getApplicableRefactors(t,r,n){if(n===void 0){n=e.emptyOptions}synchronizeHostData();var i=getValidSourceFile(t);return e.refactor.getApplicableRefactors(getRefactorContext(i,r,n))}function getEditsForRefactor(t,r,n,i,a,o){if(o===void 0){o=e.emptyOptions}synchronizeHostData();var s=getValidSourceFile(t);return e.refactor.getEditsForRefactor(getRefactorContext(s,n,o,r),i,a)}return{dispose:dispose,cleanupSemanticCache:cleanupSemanticCache,getSyntacticDiagnostics:getSyntacticDiagnostics,getSemanticDiagnostics:getSemanticDiagnostics,getSuggestionDiagnostics:getSuggestionDiagnostics,getCompilerOptionsDiagnostics:getCompilerOptionsDiagnostics,getSyntacticClassifications:getSyntacticClassifications,getSemanticClassifications:getSemanticClassifications,getEncodedSyntacticClassifications:getEncodedSyntacticClassifications,getEncodedSemanticClassifications:getEncodedSemanticClassifications,getCompletionsAtPosition:getCompletionsAtPosition,getCompletionEntryDetails:getCompletionEntryDetails,getCompletionEntrySymbol:getCompletionEntrySymbol,getSignatureHelpItems:getSignatureHelpItems,getQuickInfoAtPosition:getQuickInfoAtPosition,getDefinitionAtPosition:getDefinitionAtPosition,getDefinitionAndBoundSpan:getDefinitionAndBoundSpan,getImplementationAtPosition:getImplementationAtPosition,getTypeDefinitionAtPosition:getTypeDefinitionAtPosition,getReferencesAtPosition:getReferencesAtPosition,findReferences:findReferences,getOccurrencesAtPosition:getOccurrencesAtPosition,getDocumentHighlights:getDocumentHighlights,getNameOrDottedNameSpan:getNameOrDottedNameSpan,getBreakpointStatementAtPosition:getBreakpointStatementAtPosition,getNavigateToItems:getNavigateToItems,getRenameInfo:getRenameInfo,findRenameLocations:findRenameLocations,getNavigationBarItems:getNavigationBarItems,getNavigationTree:getNavigationTree,getOutliningSpans:getOutliningSpans,getTodoComments:getTodoComments,getBraceMatchingAtPosition:getBraceMatchingAtPosition,getIndentationAtPosition:getIndentationAtPosition,getFormattingEditsForRange:getFormattingEditsForRange,getFormattingEditsForDocument:getFormattingEditsForDocument,getFormattingEditsAfterKeystroke:getFormattingEditsAfterKeystroke,getDocCommentTemplateAtPosition:getDocCommentTemplateAtPosition,isValidBraceCompletionAtPosition:isValidBraceCompletionAtPosition,getJsxClosingTagAtPosition:getJsxClosingTagAtPosition,getSpanOfEnclosingComment:getSpanOfEnclosingComment,getCodeFixesAtPosition:getCodeFixesAtPosition,getCombinedCodeFix:getCombinedCodeFix,applyCodeActionCommand:applyCodeActionCommand,organizeImports:organizeImports,getEditsForFileRename:getEditsForFileRename,getEmitOutput:getEmitOutput,getNonBoundSourceFile:getNonBoundSourceFile,getProgram:getProgram,getApplicableRefactors:getApplicableRefactors,getEditsForRefactor:getEditsForRefactor,toLineColumnOffset:y.toLineColumnOffset,getSourceMapper:function(){return y}}}e.createLanguageService=createLanguageService;function getNameTable(e){if(!e.nameTable){initializeNameTable(e)}return e.nameTable}e.getNameTable=getNameTable;function initializeNameTable(t){var r=t.nameTable=e.createUnderscoreEscapedMap();t.forEachChild(function walk(t){if(e.isIdentifier(t)&&!e.isTagName(t)&&t.escapedText||e.isStringOrNumericLiteralLike(t)&&literalIsName(t)){var n=e.getEscapedTextOfIdentifierOrLiteral(t);r.set(n,r.get(n)===undefined?t.pos:-1)}e.forEachChild(t,walk);if(e.hasJSDocNodes(t)){for(var i=0,a=t.jsDoc;ii){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i){return undefined}n=a}if(n.flags&4194304){return undefined}return spanInNode(n);function textSpan(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function textSpanEndingAtNextToken(r,n){return textSpan(r,e.findNextToken(n,n.parent,t))}function spanInNodeIfStartsOnSameLine(e,r){if(e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line){return spanInNode(e)}return spanInNode(r)}function spanInNodeArray(r){return e.createTextSpanFromBounds(e.skipTrivia(t.text,r.pos),r.end)}function spanInPreviousNode(r){return spanInNode(e.findPrecedingToken(r.pos,t))}function spanInNextNode(r){return spanInNode(e.findNextToken(r,r.parent,t))}function spanInNode(r){if(r){var n=r.parent;switch(r.kind){case 219:return spanInVariableDeclaration(r.declarationList.declarations[0]);case 237:case 154:case 153:return spanInVariableDeclaration(r);case 151:return spanInParameterDeclaration(r);case 239:case 156:case 155:case 158:case 159:case 157:case 196:case 197:return spanInFunctionDeclaration(r);case 218:if(e.isFunctionBlock(r)){return spanInFunctionBlock(r)}case 245:return spanInBlock(r);case 274:return spanInBlock(r.block);case 221:return textSpan(r.expression);case 230:return textSpan(r.getChildAt(0),r.expression);case 224:return textSpanEndingAtNextToken(r,r.expression);case 223:return spanInNode(r.statement);case 236:return textSpan(r.getChildAt(0));case 222:return textSpanEndingAtNextToken(r,r.expression);case 233:return spanInNode(r.statement);case 229:case 228:return textSpan(r.getChildAt(0),r.label);case 225:return spanInForStatement(r);case 226:return textSpanEndingAtNextToken(r,r.expression);case 227:return spanInInitializerOfForLike(r);case 232:return textSpanEndingAtNextToken(r,r.expression);case 271:case 272:return spanInNode(r.statements[0]);case 235:return spanInBlock(r.tryBlock);case 234:return textSpan(r,r.expression);case 254:return textSpan(r,r.expression);case 248:return textSpan(r,r.moduleReference);case 249:return textSpan(r,r.moduleSpecifier);case 255:return textSpan(r,r.moduleSpecifier);case 244:if(e.getModuleInstanceState(r)!==1){return undefined}case 240:case 243:case 278:case 186:return textSpan(r);case 231:return spanInNode(r.statement);case 152:return spanInNodeArray(n.decorators);case 184:case 185:return spanInBindingPattern(r);case 241:case 242:return undefined;case 26:case 1:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t));case 27:return spanInPreviousNode(r);case 18:return spanInOpenBraceToken(r);case 19:return spanInCloseBraceToken(r);case 23:return spanInCloseBracketToken(r);case 20:return spanInOpenParenToken(r);case 21:return spanInCloseParenToken(r);case 57:return spanInColonToken(r);case 30:case 28:return spanInGreaterThanOrLessThanToken(r);case 107:return spanInWhileKeyword(r);case 83:case 75:case 88:return spanInNextNode(r);case 147:return spanInOfKeyword(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r)){return spanInArrayLiteralOrObjectLiteralDestructuringPattern(r)}if((r.kind===72||r.kind===208||r.kind===275||r.kind===276)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n)){return textSpan(r)}if(r.kind===204){var i=r,a=i.left,o=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)){return spanInArrayLiteralOrObjectLiteralDestructuringPattern(a)}if(o.kind===59&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent)){return textSpan(r)}if(o.kind===27){return spanInNode(a)}}if(e.isExpressionNode(r)){switch(n.kind){case 223:return spanInPreviousNode(r);case 152:return spanInNode(r.parent);case 225:case 227:return textSpan(r);case 204:if(r.parent.operatorToken.kind===27){return textSpan(r)}break;case 197:if(r.parent.body===r){return textSpan(r)}break}}switch(r.parent.kind){case 275:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent)){return spanInNode(r.parent.initializer)}break;case 194:if(r.parent.type===r){return spanInNextNode(r.parent.type)}break;case 237:case 151:{var s=r.parent,c=s.initializer,u=s.type;if(c===r||u===r||e.isAssignmentOperator(r.kind)){return spanInPreviousNode(r)}break}case 204:{var a=r.parent.left;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a){return spanInPreviousNode(r)}break}default:if(e.isFunctionLike(r.parent)&&r.parent.type===r){return spanInPreviousNode(r)}}return spanInNode(r.parent)}}function textSpanFromVariableDeclaration(r){if(e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r){return textSpan(e.findPrecedingToken(r.pos,t,r.parent),r)}else{return textSpan(r)}}function spanInVariableDeclaration(r){if(r.parent.parent.kind===226){return spanInNode(r.parent.parent)}var n=r.parent;if(e.isBindingPattern(r.name)){return spanInBindingPattern(r.name)}if(r.initializer||e.hasModifier(r,1)||n.parent.kind===227){return textSpanFromVariableDeclaration(r)}if(e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r){return spanInNode(e.findPrecedingToken(r.pos,t,r.parent))}}function canHaveSpanInParameterDeclaration(t){return!!t.initializer||t.dotDotDotToken!==undefined||e.hasModifier(t,4|8)}function spanInParameterDeclaration(t){if(e.isBindingPattern(t.name)){return spanInBindingPattern(t.name)}else if(canHaveSpanInParameterDeclaration(t)){return textSpan(t)}else{var r=t.parent;var n=r.parameters.indexOf(t);e.Debug.assert(n!==-1);if(n!==0){return spanInParameterDeclaration(r.parameters[n-1])}else{return spanInNode(r.body)}}}function canFunctionHaveSpanInWholeDeclaration(t){return e.hasModifier(t,1)||t.parent.kind===240&&t.kind!==157}function spanInFunctionDeclaration(e){if(!e.body){return undefined}if(canFunctionHaveSpanInWholeDeclaration(e)){return textSpan(e)}return spanInNode(e.body)}function spanInFunctionBlock(e){var t=e.statements.length?e.statements[0]:e.getLastToken();if(canFunctionHaveSpanInWholeDeclaration(e.parent)){return spanInNodeIfStartsOnSameLine(e.parent,t)}return spanInNode(t)}function spanInBlock(r){switch(r.parent.kind){case 244:if(e.getModuleInstanceState(r.parent)!==1){return undefined}case 224:case 222:case 226:return spanInNodeIfStartsOnSameLine(r.parent,r.statements[0]);case 225:case 227:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return spanInNode(r.statements[0])}function spanInInitializerOfForLike(e){if(e.initializer.kind===238){var t=e.initializer;if(t.declarations.length>0){return spanInNode(t.declarations[0])}}else{return spanInNode(e.initializer)}}function spanInForStatement(e){if(e.initializer){return spanInInitializerOfForLike(e)}if(e.condition){return textSpan(e.condition)}if(e.incrementor){return textSpan(e.incrementor)}}function spanInBindingPattern(t){var r=e.forEach(t.elements,function(e){return e.kind!==210?e:undefined});if(r){return spanInNode(r)}if(t.parent.kind===186){return textSpan(t.parent)}return textSpanFromVariableDeclaration(t.parent)}function spanInArrayLiteralOrObjectLiteralDestructuringPattern(t){e.Debug.assert(t.kind!==185&&t.kind!==184);var r=t.kind===187?t.elements:t.properties;var n=e.forEach(r,function(e){return e.kind!==210?e:undefined});if(n){return spanInNode(n)}return textSpan(t.parent.kind===204?t.parent:t)}function spanInOpenBraceToken(r){switch(r.parent.kind){case 243:var n=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 240:var i=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 246:return spanInNodeIfStartsOnSameLine(r.parent.parent,r.parent.clauses[0])}return spanInNode(r.parent)}function spanInCloseBraceToken(t){switch(t.parent.kind){case 245:if(e.getModuleInstanceState(t.parent.parent)!==1){return undefined}case 243:case 240:return textSpan(t);case 218:if(e.isFunctionBlock(t.parent)){return textSpan(t)}case 274:return spanInNode(e.lastOrUndefined(t.parent.statements));case 246:var r=t.parent;var n=e.lastOrUndefined(r.clauses);if(n){return spanInNode(e.lastOrUndefined(n.statements))}return undefined;case 184:var i=t.parent;return spanInNode(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return textSpan(e.lastOrUndefined(a.properties)||a)}return spanInNode(t.parent)}}function spanInCloseBracketToken(t){switch(t.parent.kind){case 185:var r=t.parent;return textSpan(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return textSpan(e.lastOrUndefined(n.elements)||n)}return spanInNode(t.parent)}}function spanInOpenParenToken(e){if(e.parent.kind===223||e.parent.kind===191||e.parent.kind===192){return spanInPreviousNode(e)}if(e.parent.kind===195){return spanInNextNode(e)}return spanInNode(e.parent)}function spanInCloseParenToken(e){switch(e.parent.kind){case 196:case 239:case 197:case 156:case 155:case 158:case 159:case 157:case 224:case 223:case 225:case 227:case 191:case 192:case 195:return spanInPreviousNode(e);default:return spanInNode(e.parent)}}function spanInColonToken(t){if(e.isFunctionLike(t.parent)||t.parent.kind===275||t.parent.kind===151){return spanInPreviousNode(t)}return spanInNode(t.parent)}function spanInGreaterThanOrLessThanToken(e){if(e.parent.kind===194){return spanInNextNode(e)}return spanInNode(e.parent)}function spanInWhileKeyword(e){if(e.parent.kind===223){return textSpanEndingAtNextToken(e,e.parent.expression)}return spanInNode(e.parent)}function spanInOfKeyword(e){if(e.parent.kind===227){return spanInNextNode(e)}return spanInNode(e.parent)}}}t.spanInSourceFileAtLocation=spanInSourceFileAtLocation})(t=e.BreakpointResolver||(e.BreakpointResolver={}))})(s||(s={}));var s;(function(e){function transform(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t];var o=e.transformNodes(undefined,undefined,n,a,r,true);o.diagnostics=e.concatenate(o.diagnostics,i);return o}e.transform=transform})(s||(s={}));var c=function(){return this}();var s;(function(t){function logInternalError(e,t){if(e){e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}}var r=function(){function ScriptSnapshotShimAdapter(e){this.scriptSnapshotShim=e}ScriptSnapshotShimAdapter.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)};ScriptSnapshotShimAdapter.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()};ScriptSnapshotShimAdapter.prototype.getChangeRange=function(e){var r=e;var n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(n===null){return null}var i=JSON.parse(n);return t.createTextChangeRange(t.createTextSpan(i.span.start,i.span.length),i.newLength)};ScriptSnapshotShimAdapter.prototype.dispose=function(){if("dispose"in this.scriptSnapshotShim){this.scriptSnapshotShim.dispose()}};return ScriptSnapshotShimAdapter}();var n=function(){function LanguageServiceShimHostAdapter(e){var r=this;this.shimHost=e;this.loggingEnabled=false;this.tracingEnabled=false;if("getModuleResolutionsForFile"in this.shimHost){this.resolveModuleNames=function(e,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return t.map(e,function(e){var r=t.getProperty(i,e);return r?{resolvedFileName:r,extension:t.extensionFromPath(r),isExternalLibraryImport:false}:undefined})}}if("directoryExists"in this.shimHost){this.directoryExists=function(e){return r.shimHost.directoryExists(e)}}if("getTypeReferenceDirectiveResolutionsForFile"in this.shimHost){this.resolveTypeReferenceDirectives=function(e,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return t.map(e,function(e){return t.getProperty(i,e)})}}}LanguageServiceShimHostAdapter.prototype.log=function(e){if(this.loggingEnabled){this.shimHost.log(e)}};LanguageServiceShimHostAdapter.prototype.trace=function(e){if(this.tracingEnabled){this.shimHost.trace(e)}};LanguageServiceShimHostAdapter.prototype.error=function(e){this.shimHost.error(e)};LanguageServiceShimHostAdapter.prototype.getProjectVersion=function(){if(!this.shimHost.getProjectVersion){return undefined}return this.shimHost.getProjectVersion()};LanguageServiceShimHostAdapter.prototype.getTypeRootsVersion=function(){if(!this.shimHost.getTypeRootsVersion){return 0}return this.shimHost.getTypeRootsVersion()};LanguageServiceShimHostAdapter.prototype.useCaseSensitiveFileNames=function(){return this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():false};LanguageServiceShimHostAdapter.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(e===null||e===""){throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings")}var t=JSON.parse(e);t.allowNonTsExtensions=true;return t};LanguageServiceShimHostAdapter.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)};LanguageServiceShimHostAdapter.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new r(t)};LanguageServiceShimHostAdapter.prototype.getScriptKind=function(e){if("getScriptKind"in this.shimHost){return this.shimHost.getScriptKind(e)}else{return 0}};LanguageServiceShimHostAdapter.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)};LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(e===null||e===""){return null}try{return JSON.parse(e)}catch(e){this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format");return null}};LanguageServiceShimHostAdapter.prototype.getCancellationToken=function(){var e=this.shimHost.getCancellationToken();return new t.ThrottledCancellationToken(e)};LanguageServiceShimHostAdapter.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()};LanguageServiceShimHostAdapter.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))};LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))};LanguageServiceShimHostAdapter.prototype.readDirectory=function(e,r,n,i,a){var o=t.getFileMatcherPatterns(e,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))};LanguageServiceShimHostAdapter.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)};LanguageServiceShimHostAdapter.prototype.fileExists=function(e){return this.shimHost.fileExists(e)};return LanguageServiceShimHostAdapter}();t.LanguageServiceShimHostAdapter=n;var i=function(){function CoreServicesShimHostAdapter(e){var t=this;this.shimHost=e;this.useCaseSensitiveFileNames=this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():false;if("directoryExists"in this.shimHost){this.directoryExists=function(e){return t.shimHost.directoryExists(e)}}else{this.directoryExists=undefined}if("realpath"in this.shimHost){this.realpath=function(e){return t.shimHost.realpath(e)}}else{this.realpath=undefined}}CoreServicesShimHostAdapter.prototype.readDirectory=function(e,r,n,i,a){var o=t.getFileMatcherPatterns(e,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))};CoreServicesShimHostAdapter.prototype.fileExists=function(e){return this.shimHost.fileExists(e)};CoreServicesShimHostAdapter.prototype.readFile=function(e){return this.shimHost.readFile(e)};CoreServicesShimHostAdapter.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))};return CoreServicesShimHostAdapter}();t.CoreServicesShimHostAdapter=i;function simpleForwardCall(e,r,n,i){var a;if(i){e.log(r);a=t.timestamp()}var o=n();if(i){var s=t.timestamp();e.log(r+" completed in "+(s-a)+" msec");if(t.isString(o)){var c=o;if(c.length>128){c=c.substring(0,128)+"..."}e.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'")}}return o}function forwardJSONCall(e,t,r,n){return forwardCall(e,t,true,r,n)}function forwardCall(e,r,n,i,a){try{var o=simpleForwardCall(e,r,i,a);return n?JSON.stringify({result:o}):o}catch(n){if(n instanceof t.OperationCanceledException){return JSON.stringify({canceled:true})}logInternalError(e,n);n.description=r;return JSON.stringify({error:n})}}var a=function(){function ShimBase(e){this.factory=e;e.registerShim(this)}ShimBase.prototype.dispose=function(e){this.factory.unregisterShim(this)};return ShimBase}();function realizeDiagnostics(e,t){return e.map(function(e){return realizeDiagnostic(e,t)})}t.realizeDiagnostics=realizeDiagnostics;function realizeDiagnostic(e,r){return{message:t.flattenDiagnosticMessageText(e.messageText,r),start:e.start,length:e.length,category:t.diagnosticCategoryName(e),code:e.code,reportsUnnecessary:e.reportsUnnecessary}}var s=function(e){o(LanguageServiceShimObject,e);function LanguageServiceShimObject(t,r,n){var i=e.call(this,t)||this;i.host=r;i.languageService=n;i.logPerformance=false;i.logger=i.host;return i}LanguageServiceShimObject.prototype.forwardJSONCall=function(e,t){return forwardJSONCall(this.logger,e,t,this.logPerformance)};LanguageServiceShimObject.prototype.dispose=function(t){this.logger.log("dispose()");this.languageService.dispose();this.languageService=null;if(c&&c.CollectGarbage){c.CollectGarbage();this.logger.log("CollectGarbage()")}this.logger=null;e.prototype.dispose.call(this,t)};LanguageServiceShimObject.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",function(){return null})};LanguageServiceShimObject.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall("cleanupSemanticCache()",function(){e.languageService.cleanupSemanticCache();return null})};LanguageServiceShimObject.prototype.realizeDiagnostics=function(e){var r=t.getNewLineOrDefaultFromHost(this.host);return realizeDiagnostics(e,r)};LanguageServiceShimObject.prototype.getSyntacticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getSyntacticClassifications('"+e+"', "+r+", "+n+")",function(){return i.languageService.getSyntacticClassifications(e,t.createTextSpan(r,n))})};LanguageServiceShimObject.prototype.getSemanticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getSemanticClassifications('"+e+"', "+r+", "+n+")",function(){return i.languageService.getSemanticClassifications(e,t.createTextSpan(r,n))})};LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+e+"', "+r+", "+n+")",function(){return convertClassifications(i.languageService.getEncodedSyntacticClassifications(e,t.createTextSpan(r,n)))})};LanguageServiceShimObject.prototype.getEncodedSemanticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getEncodedSemanticClassifications('"+e+"', "+r+", "+n+")",function(){return convertClassifications(i.languageService.getEncodedSemanticClassifications(e,t.createTextSpan(r,n)))})};LanguageServiceShimObject.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)})};LanguageServiceShimObject.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)})};LanguageServiceShimObject.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSuggestionDiagnostics('"+e+"')",function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))})};LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)})};LanguageServiceShimObject.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",function(){return r.languageService.getQuickInfoAtPosition(e,t)})};LanguageServiceShimObject.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+r+")",function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)})};LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",function(){return r.languageService.getBreakpointStatementAtPosition(e,t)})};LanguageServiceShimObject.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",function(){return n.languageService.getSignatureHelpItems(e,t,r)})};LanguageServiceShimObject.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",function(){return r.languageService.getDefinitionAtPosition(e,t)})};LanguageServiceShimObject.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('"+e+"', "+t+")",function(){return r.languageService.getDefinitionAndBoundSpan(e,t)})};LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",function(){return r.languageService.getTypeDefinitionAtPosition(e,t)})};LanguageServiceShimObject.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getImplementationAtPosition('"+e+"', "+t+")",function(){return r.languageService.getImplementationAtPosition(e,t)})};LanguageServiceShimObject.prototype.getRenameInfo=function(e,t){var r=this;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",function(){return r.languageService.getRenameInfo(e,t)})};LanguageServiceShimObject.prototype.findRenameLocations=function(e,t,r,n){var i=this;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+r+", "+n+")",function(){return i.languageService.findRenameLocations(e,t,r,n)})};LanguageServiceShimObject.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",function(){return r.languageService.getBraceMatchingAtPosition(e,t)})};LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+r+")",function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)})};LanguageServiceShimObject.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall("getSpanOfEnclosingComment('"+e+"', "+t+")",function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)})};LanguageServiceShimObject.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)})};LanguageServiceShimObject.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",function(){return r.languageService.getReferencesAtPosition(e,t)})};LanguageServiceShimObject.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",function(){return r.languageService.findReferences(e,t)})};LanguageServiceShimObject.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",function(){return r.languageService.getOccurrencesAtPosition(e,t)})};LanguageServiceShimObject.prototype.getDocumentHighlights=function(e,r,n){var i=this;return this.forwardJSONCall("getDocumentHighlights('"+e+"', "+r+")",function(){var a=i.languageService.getDocumentHighlights(e,r,JSON.parse(n));var o=t.normalizeSlashes(e).toLowerCase();return t.filter(a,function(e){return t.normalizeSlashes(e.fileName).toLowerCase()===o})})};LanguageServiceShimObject.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+", "+r+")",function(){return n.languageService.getCompletionsAtPosition(e,t,r)})};LanguageServiceShimObject.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a){var o=this;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+r+"')",function(){var s=n===undefined?undefined:JSON.parse(n);return o.languageService.getCompletionEntryDetails(e,t,r,s,i,a)})};LanguageServiceShimObject.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+r+")",function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)})};LanguageServiceShimObject.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)})};LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+r+"')",function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)})};LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)})};LanguageServiceShimObject.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+", "+r+")",function(){return n.languageService.getNavigateToItems(e,t,r)})};LanguageServiceShimObject.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",function(){return t.languageService.getNavigationBarItems(e)})};LanguageServiceShimObject.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall("getNavigationTree('"+e+"')",function(){return t.languageService.getNavigationTree(e)})};LanguageServiceShimObject.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall("getOutliningSpans('"+e+"')",function(){return t.languageService.getOutliningSpans(e)})};LanguageServiceShimObject.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall("getTodoComments('"+e+"')",function(){return r.languageService.getTodoComments(e,JSON.parse(t))})};LanguageServiceShimObject.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall("getEmitOutput('"+e+"')",function(){return t.languageService.getEmitOutput(e)})};LanguageServiceShimObject.prototype.getEmitOutputObject=function(e){var t=this;return forwardCall(this.logger,"getEmitOutput('"+e+"')",false,function(){return t.languageService.getEmitOutput(e)},this.logPerformance)};return LanguageServiceShimObject}(a);function convertClassifications(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var u=function(e){o(ClassifierShimObject,e);function ClassifierShimObject(r,n){var i=e.call(this,r)||this;i.logger=n;i.logPerformance=false;i.classifier=t.createClassifier();return i}ClassifierShimObject.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;if(r===void 0){r=false}return forwardJSONCall(this.logger,"getEncodedLexicalClassifications",function(){return convertClassifications(n.classifier.getEncodedLexicalClassifications(e,t,r))},this.logPerformance)};ClassifierShimObject.prototype.getClassificationsForLine=function(e,t,r){if(r===void 0){r=false}var n=this.classifier.getClassificationsForLine(e,t,r);var i="";for(var a=0,o=n.entries;a{"use strict";var n=r(485);var i=r(8441);var a=r(3826);var o=r(3712);e.exports=function unionValue(e,t,r){if(!n(e)){throw new TypeError("union-value expects the first argument to be an object.")}if(typeof t!=="string"){throw new TypeError("union-value expects `prop` to be a string.")}var s=arrayify(a(e,t));o(e,t,i(s,arrayify(r)));return e};function arrayify(e){if(e===null||typeof e==="undefined"){return[]}if(Array.isArray(e)){return e}return[e]}},3712:(e,t,r)=>{"use strict";var n=r(3919);var i=r(8333);var a=r(1221);var o=r(485);e.exports=function(e,t,r){if(!o(e)){return e}if(Array.isArray(t)){t=n(t)}if(typeof t!=="string"){return e}var s=t.split(".");var c=s.length,u=-1;var l=e;var f;while(++u{"use strict";var n=r(977);var i=r(5147);e.exports=function unset(e,t){if(!n(e)){throw new TypeError("expected an object.")}if(e.hasOwnProperty(t)){delete e[t];return true}if(i(e,t)){var r=t.split(".");var a=r.pop();while(r.length&&r[r.length-1].slice(-1)==="\\"){a=r.pop().slice(0,-1)+"."+a}while(r.length)e=e[t=r.shift()];return delete e[a]}return true}},5147:(e,t,r)=>{"use strict";var n=r(5940);var i=r(6166);var a=r(3826);e.exports=function(e,t,r){if(n(e)){return i(a(e,t),r)}return i(e,t)}},5940:(e,t,r)=>{"use strict";var n=r(7523);e.exports=function isObject(e){return e!=null&&typeof e==="object"&&n(e)===false}},6166:e=>{"use strict";e.exports=function hasValue(e,t){if(e===null||e===undefined){return false}if(typeof e==="boolean"){return true}if(typeof e==="number"){if(e===0&&t===true){return false}return true}if(e.length!==undefined){return e.length!==0}for(var r in e){if(e.hasOwnProperty(r)){return true}}return false}},6002:(e,t,r)=>{var n=r(5622);"use strict";function urix(e){if(n.sep==="\\"){return e.replace(/\\/g,"/").replace(/^[a-z]:\/?/i,"/")}return e}e.exports=urix},1967:e=>{"use strict";e.exports=function base(e,t){if(!isObject(e)&&typeof e!=="function"){throw new TypeError("expected an object or function")}var r=isObject(t)?t:{};var n=typeof r.prop==="string"?r.prop:"fns";if(!Array.isArray(e[n])){define(e,n,[])}define(e,"use",use);define(e,"run",function(t){if(!isObject(t))return;if(!t.use||!t.run){define(t,n,t[n]||[]);define(t,"use",use)}if(!t[n]||t[n].indexOf(base)===-1){t.use(base)}var r=this||e;var i=r[n];var a=i.length;var o=-1;while(++o{const n=r(3686);const i=n.makeLogger;n.makeLogger=function(e,t){const r=i(e,t);const n=r.logWarning;r.logWarning=function(e){if(e.indexOf("This version may or may not be compatible with ts-loader")!==-1)return;return n(e)};return r};e.exports=r(2070);e.exports.typescript=r(3779)},2357:e=>{"use strict";e.exports=require("assert")},4293:e=>{"use strict";e.exports=require("buffer")},7082:e=>{"use strict";e.exports=require("console")},7619:e=>{"use strict";e.exports=require("constants")},6417:e=>{"use strict";e.exports=require("crypto")},5747:e=>{"use strict";e.exports=require("fs")},2282:e=>{"use strict";e.exports=require("module")},1631:e=>{"use strict";e.exports=require("net")},2087:e=>{"use strict";e.exports=require("os")},5622:e=>{"use strict";e.exports=require("path")},2413:e=>{"use strict";e.exports=require("stream")},8993:e=>{"use strict";e.exports=require("tty")},8835:e=>{"use strict";e.exports=require("url")},1669:e=>{"use strict";e.exports=require("util")}};var t={};function __webpack_require__(r){if(t[r]){return t[r].exports}var n=t[r]={id:r,loaded:false,exports:{}};var i=true;try{e[r].call(n.exports,n,n.exports,__webpack_require__);i=false}finally{if(i)delete t[r]}n.loaded=true;return n.exports}(()=>{__webpack_require__.nmd=(e=>{e.paths=[];if(!e.children)e.children=[];return e})})();__webpack_require__.ab=__dirname+"/";return __webpack_require__(2090)})(); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.d.ts new file mode 100644 index 0000000..38a1cc0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.d.ts @@ -0,0 +1,24 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.dom.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.dom.d.ts new file mode 100644 index 0000000..464dea8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.dom.d.ts @@ -0,0 +1,17992 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// DOM APIs +///////////////////////////// + +interface Account { + displayName: string; + id: string; + imageURL?: string; + name?: string; + rpDisplayName: string; +} + +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; +} + +interface AesCbcParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCtrParams extends Algorithm { + counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + length: number; +} + +interface AesDerivedKeyParams extends Algorithm { + length: number; +} + +interface AesGcmParams extends Algorithm { + additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + tagLength?: number; +} + +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; +} + +interface AesKeyGenParams extends Algorithm { + length: number; +} + +interface Algorithm { + name: string; +} + +interface AnalyserOptions extends AudioNodeOptions { + fftSize?: number; + maxDecibels?: number; + minDecibels?: number; + smoothingTimeConstant?: number; +} + +interface AnimationEventInit extends EventInit { + animationName?: string; + elapsedTime?: number; + pseudoElement?: string; +} + +interface AnimationPlaybackEventInit extends EventInit { + currentTime?: number | null; + timelineTime?: number | null; +} + +interface AssertionOptions { + allowList?: ScopedCredentialDescriptor[]; + extensions?: WebAuthnExtensions; + rpId?: string; + timeoutSeconds?: number; +} + +interface AssignedNodesOptions { + flatten?: boolean; +} + +interface AudioBufferOptions { + length: number; + numberOfChannels?: number; + sampleRate: number; +} + +interface AudioBufferSourceOptions { + buffer?: AudioBuffer | null; + detune?: number; + loop?: boolean; + loopEnd?: number; + loopStart?: number; + playbackRate?: number; +} + +interface AudioContextInfo { + currentTime?: number; + sampleRate?: number; +} + +interface AudioContextOptions { + latencyHint?: AudioContextLatencyCategory | number; + sampleRate?: number; +} + +interface AudioNodeOptions { + channelCount?: number; + channelCountMode?: ChannelCountMode; + channelInterpretation?: ChannelInterpretation; +} + +interface AudioParamDescriptor { + automationRate?: AutomationRate; + defaultValue?: number; + maxValue?: number; + minValue?: number; + name: string; +} + +interface AudioProcessingEventInit extends EventInit { + inputBuffer: AudioBuffer; + outputBuffer: AudioBuffer; + playbackTime: number; +} + +interface AudioTimestamp { + contextTime?: number; + performanceTime?: number; +} + +interface AudioWorkletNodeOptions extends AudioNodeOptions { + numberOfInputs?: number; + numberOfOutputs?: number; + outputChannelCount?: number[]; + parameterData?: Record; + processorOptions?: any; +} + +interface BiquadFilterOptions extends AudioNodeOptions { + Q?: number; + detune?: number; + frequency?: number; + gain?: number; + type?: BiquadFilterType; +} + +interface BlobPropertyBag { + endings?: EndingType; + type?: string; +} + +interface ByteLengthChunk { + byteLength?: number; +} + +interface CacheQueryOptions { + cacheName?: string; + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; +} + +interface CanvasRenderingContext2DSettings { + alpha?: boolean; +} + +interface ChannelMergerOptions extends AudioNodeOptions { + numberOfInputs?: number; +} + +interface ChannelSplitterOptions extends AudioNodeOptions { + numberOfOutputs?: number; +} + +interface ClientData { + challenge: string; + extensions?: WebAuthnExtensions; + hashAlg: string | Algorithm; + origin: string; + rpId: string; + tokenBinding?: string; +} + +interface ClientQueryOptions { + includeUncontrolled?: boolean; + type?: ClientTypes; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + +interface CompositionEventInit extends UIEventInit { + data?: string; +} + +interface ComputedEffectTiming extends EffectTiming { + activeDuration?: number; + currentIteration?: number | null; + endTime?: number; + localTime?: number | null; + progress?: number | null; +} + +interface ComputedKeyframe { + composite: CompositeOperationOrAuto; + computedOffset: number; + easing: string; + offset: number | null; + [property: string]: string | number | null | undefined; +} + +interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { + arrayOfDomainStrings?: string[]; +} + +interface ConstantSourceOptions { + offset?: number; +} + +interface ConstrainBooleanParameters { + exact?: boolean; + ideal?: boolean; +} + +interface ConstrainDOMStringParameters { + exact?: string | string[]; + ideal?: string | string[]; +} + +interface ConstrainDoubleRange extends DoubleRange { + exact?: number; + ideal?: number; +} + +interface ConstrainLongRange extends LongRange { + exact?: number; + ideal?: number; +} + +interface ConstrainVideoFacingModeParameters { + exact?: VideoFacingModeEnum | VideoFacingModeEnum[]; + ideal?: VideoFacingModeEnum | VideoFacingModeEnum[]; +} + +interface ConvolverOptions extends AudioNodeOptions { + buffer?: AudioBuffer | null; + disableNormalization?: boolean; +} + +interface CustomEventInit extends EventInit { + detail?: T; +} + +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + +interface DelayOptions extends AudioNodeOptions { + delayTime?: number; + maxDelayTime?: number; +} + +interface DeviceAccelerationDict { + x?: number | null; + y?: number | null; + z?: number | null; +} + +interface DeviceLightEventInit extends EventInit { + value?: number; +} + +interface DeviceMotionEventInit extends EventInit { + acceleration?: DeviceAccelerationDict | null; + accelerationIncludingGravity?: DeviceAccelerationDict | null; + interval?: number | null; + rotationRate?: DeviceRotationRateDict | null; +} + +interface DeviceOrientationEventInit extends EventInit { + absolute?: boolean; + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DeviceRotationRateDict { + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DocumentTimelineOptions { + originTime?: number; +} + +interface DoubleRange { + max?: number; + min?: number; +} + +interface DragEventInit extends MouseEventInit { + dataTransfer?: DataTransfer | null; +} + +interface DynamicsCompressorOptions extends AudioNodeOptions { + attack?: number; + knee?: number; + ratio?: number; + release?: number; + threshold?: number; +} + +interface EcKeyAlgorithm extends KeyAlgorithm { + namedCurve: NamedCurve; +} + +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface EffectTiming { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; +} + +interface ElementDefinitionOptions { + extends?: string; +} + +interface ErrorEventInit extends EventInit { + colno?: number; + error?: any; + filename?: string; + lineno?: number; + message?: string; +} + +interface EventInit { + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; +} + +interface EventListenerOptions { + capture?: boolean; +} + +interface EventModifierInit extends UIEventInit { + altKey?: boolean; + ctrlKey?: boolean; + metaKey?: boolean; + modifierAltGraph?: boolean; + modifierCapsLock?: boolean; + modifierFn?: boolean; + modifierFnLock?: boolean; + modifierHyper?: boolean; + modifierNumLock?: boolean; + modifierOS?: boolean; + modifierScrollLock?: boolean; + modifierSuper?: boolean; + modifierSymbol?: boolean; + modifierSymbolLock?: boolean; + shiftKey?: boolean; +} + +interface ExceptionInformation { + domain?: string | null; +} + +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + +interface FocusEventInit extends UIEventInit { + relatedTarget?: EventTarget | null; +} + +interface FocusNavigationEventInit extends EventInit { + navigationReason?: string | null; + originHeight?: number; + originLeft?: number; + originTop?: number; + originWidth?: number; +} + +interface FocusNavigationOrigin { + originHeight?: number; + originLeft?: number; + originTop?: number; + originWidth?: number; +} + +interface FocusOptions { + preventScroll?: boolean; +} + +interface GainOptions extends AudioNodeOptions { + gain?: number; +} + +interface GamepadEventInit extends EventInit { + gamepad?: Gamepad; +} + +interface GetNotificationOptions { + tag?: string; +} + +interface GetRootNodeOptions { + composed?: boolean; +} + +interface HashChangeEventInit extends EventInit { + newURL?: string; + oldURL?: string; +} + +interface HkdfParams extends Algorithm { + hash: HashAlgorithmIdentifier; + info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface HmacKeyAlgorithm extends KeyAlgorithm { + hash: KeyAlgorithm; + length: number; +} + +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; +} + +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + +interface IIRFilterOptions extends AudioNodeOptions { + feedback: number[]; + feedforward: number[]; +} + +interface IntersectionObserverEntryInit { + boundingClientRect: DOMRectInit; + intersectionRect: DOMRectInit; + isIntersecting: boolean; + rootBounds: DOMRectInit; + target: Element; + time: number; +} + +interface IntersectionObserverInit { + root?: Element | null; + rootMargin?: string; + threshold?: number | number[]; +} + +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; +} + +interface KeyAlgorithm { + name: string; +} + +interface KeyboardEventInit extends EventModifierInit { + code?: string; + key?: string; + location?: number; + repeat?: boolean; +} + +interface Keyframe { + composite?: CompositeOperationOrAuto; + easing?: string; + offset?: number | null; + [property: string]: string | number | null | undefined; +} + +interface KeyframeAnimationOptions extends KeyframeEffectOptions { + id?: string; +} + +interface KeyframeEffectOptions extends EffectTiming { + composite?: CompositeOperation; + iterationComposite?: IterationCompositeOperation; +} + +interface LongRange { + max?: number; + min?: number; +} + +interface MediaElementAudioSourceOptions { + mediaElement: HTMLMediaElement; +} + +interface MediaEncryptedEventInit extends EventInit { + initData?: ArrayBuffer | null; + initDataType?: string; +} + +interface MediaKeyMessageEventInit extends EventInit { + message?: ArrayBuffer | null; + messageType?: MediaKeyMessageType; +} + +interface MediaKeySystemConfiguration { + audioCapabilities?: MediaKeySystemMediaCapability[]; + distinctiveIdentifier?: MediaKeysRequirement; + initDataTypes?: string[]; + persistentState?: MediaKeysRequirement; + videoCapabilities?: MediaKeySystemMediaCapability[]; +} + +interface MediaKeySystemMediaCapability { + contentType?: string; + robustness?: string; +} + +interface MediaQueryListEventInit extends EventInit { + matches?: boolean; + media?: string; +} + +interface MediaStreamAudioSourceOptions { + mediaStream: MediaStream; +} + +interface MediaStreamConstraints { + audio?: boolean | MediaTrackConstraints; + peerIdentity?: string; + video?: boolean | MediaTrackConstraints; +} + +interface MediaStreamErrorEventInit extends EventInit { + error?: MediaStreamError | null; +} + +interface MediaStreamEventInit extends EventInit { + stream?: MediaStream; +} + +interface MediaStreamTrackAudioSourceOptions { + mediaStreamTrack: MediaStreamTrack; +} + +interface MediaStreamTrackEventInit extends EventInit { + track?: MediaStreamTrack | null; +} + +interface MediaTrackCapabilities { + aspectRatio?: number | DoubleRange; + deviceId?: string; + echoCancellation?: boolean[]; + facingMode?: string; + frameRate?: number | DoubleRange; + groupId?: string; + height?: number | LongRange; + sampleRate?: number | LongRange; + sampleSize?: number | LongRange; + volume?: number | DoubleRange; + width?: number | LongRange; +} + +interface MediaTrackConstraintSet { + aspectRatio?: number | ConstrainDoubleRange; + channelCount?: number | ConstrainLongRange; + deviceId?: string | string[] | ConstrainDOMStringParameters; + displaySurface?: string | string[] | ConstrainDOMStringParameters; + echoCancellation?: boolean | ConstrainBooleanParameters; + facingMode?: string | string[] | ConstrainDOMStringParameters; + frameRate?: number | ConstrainDoubleRange; + groupId?: string | string[] | ConstrainDOMStringParameters; + height?: number | ConstrainLongRange; + latency?: number | ConstrainDoubleRange; + logicalSurface?: boolean | ConstrainBooleanParameters; + sampleRate?: number | ConstrainLongRange; + sampleSize?: number | ConstrainLongRange; + volume?: number | ConstrainDoubleRange; + width?: number | ConstrainLongRange; +} + +interface MediaTrackConstraints extends MediaTrackConstraintSet { + advanced?: MediaTrackConstraintSet[]; +} + +interface MediaTrackSettings { + aspectRatio?: number; + deviceId?: string; + echoCancellation?: boolean; + facingMode?: string; + frameRate?: number; + groupId?: string; + height?: number; + sampleRate?: number; + sampleSize?: number; + volume?: number; + width?: number; +} + +interface MediaTrackSupportedConstraints { + aspectRatio?: boolean; + deviceId?: boolean; + echoCancellation?: boolean; + facingMode?: boolean; + frameRate?: boolean; + groupId?: boolean; + height?: boolean; + sampleRate?: boolean; + sampleSize?: boolean; + volume?: boolean; + width?: boolean; +} + +interface MessageEventInit extends EventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; +} + +interface MouseEventInit extends EventModifierInit { + button?: number; + buttons?: number; + clientX?: number; + clientY?: number; + relatedTarget?: EventTarget | null; + screenX?: number; + screenY?: number; +} + +interface MutationObserverInit { + attributeFilter?: string[]; + attributeOldValue?: boolean; + attributes?: boolean; + characterData?: boolean; + characterDataOldValue?: boolean; + childList?: boolean; + subtree?: boolean; +} + +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + tag?: string; + timestamp?: number; + vibrate?: VibratePattern; +} + +interface OfflineAudioCompletionEventInit extends EventInit { + renderedBuffer: AudioBuffer; +} + +interface OfflineAudioContextOptions { + length: number; + numberOfChannels?: number; + sampleRate: number; +} + +interface OptionalEffectTiming { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; +} + +interface OscillatorOptions extends AudioNodeOptions { + detune?: number; + frequency?: number; + periodicWave?: PeriodicWave; + type?: OscillatorType; +} + +interface PannerOptions extends AudioNodeOptions { + coneInnerAngle?: number; + coneOuterAngle?: number; + coneOuterGain?: number; + distanceModel?: DistanceModelType; + maxDistance?: number; + orientationX?: number; + orientationY?: number; + orientationZ?: number; + panningModel?: PanningModelType; + positionX?: number; + positionY?: number; + positionZ?: number; + refDistance?: number; + rolloffFactor?: number; +} + +interface PaymentCurrencyAmount { + currency: string; + currencySystem?: string; + value: string; +} + +interface PaymentDetailsBase { + displayItems?: PaymentItem[]; + modifiers?: PaymentDetailsModifier[]; + shippingOptions?: PaymentShippingOption[]; +} + +interface PaymentDetailsInit extends PaymentDetailsBase { + id?: string; + total: PaymentItem; +} + +interface PaymentDetailsModifier { + additionalDisplayItems?: PaymentItem[]; + data?: any; + supportedMethods: string | string[]; + total?: PaymentItem; +} + +interface PaymentDetailsUpdate extends PaymentDetailsBase { + error?: string; + total?: PaymentItem; +} + +interface PaymentItem { + amount: PaymentCurrencyAmount; + label: string; + pending?: boolean; +} + +interface PaymentMethodData { + data?: any; + supportedMethods: string | string[]; +} + +interface PaymentOptions { + requestPayerEmail?: boolean; + requestPayerName?: boolean; + requestPayerPhone?: boolean; + requestShipping?: boolean; + shippingType?: string; +} + +interface PaymentRequestUpdateEventInit extends EventInit { +} + +interface PaymentShippingOption { + amount: PaymentCurrencyAmount; + id: string; + label: string; + selected?: boolean; +} + +interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes: string[]; +} + +interface PeriodicWaveConstraints { + disableNormalization?: boolean; +} + +interface PeriodicWaveOptions extends PeriodicWaveConstraints { + imag?: number[] | Float32Array; + real?: number[] | Float32Array; +} + +interface PipeOptions { + preventAbort?: boolean; + preventCancel?: boolean; + preventClose?: boolean; +} + +interface PointerEventInit extends MouseEventInit { + height?: number; + isPrimary?: boolean; + pointerId?: number; + pointerType?: string; + pressure?: number; + tangentialPressure?: number; + tiltX?: number; + tiltY?: number; + twist?: number; + width?: number; +} + +interface PopStateEventInit extends EventInit { + state?: any; +} + +interface PositionOptions { + enableHighAccuracy?: boolean; + maximumAge?: number; + timeout?: number; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + +interface PropertyIndexedKeyframes { + composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[]; + easing?: string | string[]; + offset?: number | (number | null)[]; + [property: string]: string | string[] | number | null | (number | null)[] | undefined; +} + +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; +} + +interface QueuingStrategy { + highWaterMark?: number; + size?: QueuingStrategySizeCallback; +} + +interface RTCAnswerOptions extends RTCOfferAnswerOptions { +} + +interface RTCCertificateExpiration { + expires?: number; +} + +interface RTCConfiguration { + bundlePolicy?: RTCBundlePolicy; + certificates?: RTCCertificate[]; + iceCandidatePoolSize?: number; + iceServers?: RTCIceServer[]; + iceTransportPolicy?: RTCIceTransportPolicy; + peerIdentity?: string; + rtcpMuxPolicy?: RTCRtcpMuxPolicy; +} + +interface RTCDTMFToneChangeEventInit extends EventInit { + tone: string; +} + +interface RTCDataChannelEventInit extends EventInit { + channel: RTCDataChannel; +} + +interface RTCDataChannelInit { + id?: number; + maxPacketLifeTime?: number; + maxRetransmits?: number; + negotiated?: boolean; + ordered?: boolean; + priority?: RTCPriorityType; + protocol?: string; +} + +interface RTCDtlsFingerprint { + algorithm?: string; + value?: string; +} + +interface RTCDtlsParameters { + fingerprints?: RTCDtlsFingerprint[]; + role?: RTCDtlsRole; +} + +interface RTCErrorEventInit extends EventInit { + error?: RTCError | null; +} + +interface RTCIceCandidateAttributes extends RTCStats { + addressSourceUrl?: string; + candidateType?: RTCStatsIceCandidateType; + ipAddress?: string; + portNumber?: number; + priority?: number; + transport?: string; +} + +interface RTCIceCandidateComplete { +} + +interface RTCIceCandidateDictionary { + foundation?: string; + ip?: string; + msMTurnSessionId?: string; + port?: number; + priority?: number; + protocol?: RTCIceProtocol; + relatedAddress?: string; + relatedPort?: number; + tcpType?: RTCIceTcpCandidateType; + type?: RTCIceCandidateType; +} + +interface RTCIceCandidateInit { + candidate?: string; + sdpMLineIndex?: number | null; + sdpMid?: string | null; + usernameFragment?: string; +} + +interface RTCIceCandidatePair { + local?: RTCIceCandidate; + remote?: RTCIceCandidate; +} + +interface RTCIceCandidatePairStats extends RTCStats { + availableIncomingBitrate?: number; + availableOutgoingBitrate?: number; + bytesReceived?: number; + bytesSent?: number; + localCandidateId?: string; + nominated?: boolean; + priority?: number; + readable?: boolean; + remoteCandidateId?: string; + roundTripTime?: number; + state?: RTCStatsIceCandidatePairState; + transportId?: string; + writable?: boolean; +} + +interface RTCIceGatherOptions { + gatherPolicy?: RTCIceGatherPolicy; + iceservers?: RTCIceServer[]; +} + +interface RTCIceParameters { + password?: string; + usernameFragment?: string; +} + +interface RTCIceServer { + credential?: string | RTCOAuthCredential; + credentialType?: RTCIceCredentialType; + urls: string | string[]; + username?: string; +} + +interface RTCIdentityProviderOptions { + peerIdentity?: string; + protocol?: string; + usernameHint?: string; +} + +interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { + bytesReceived?: number; + fractionLost?: number; + jitter?: number; + packetsLost?: number; + packetsReceived?: number; +} + +interface RTCMediaStreamTrackStats extends RTCStats { + audioLevel?: number; + echoReturnLoss?: number; + echoReturnLossEnhancement?: number; + frameHeight?: number; + frameWidth?: number; + framesCorrupted?: number; + framesDecoded?: number; + framesDropped?: number; + framesPerSecond?: number; + framesReceived?: number; + framesSent?: number; + remoteSource?: boolean; + ssrcIds?: string[]; + trackIdentifier?: string; +} + +interface RTCOAuthCredential { + accessToken: string; + macKey: string; +} + +interface RTCOfferAnswerOptions { + voiceActivityDetection?: boolean; +} + +interface RTCOfferOptions extends RTCOfferAnswerOptions { + iceRestart?: boolean; + offerToReceiveAudio?: boolean; + offerToReceiveVideo?: boolean; +} + +interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { + bytesSent?: number; + packetsSent?: number; + roundTripTime?: number; + targetBitrate?: number; +} + +interface RTCPeerConnectionIceErrorEventInit extends EventInit { + errorCode: number; + hostCandidate?: string; + statusText?: string; + url?: string; +} + +interface RTCPeerConnectionIceEventInit extends EventInit { + candidate?: RTCIceCandidate | null; + url?: string | null; +} + +interface RTCRTPStreamStats extends RTCStats { + associateStatsId?: string; + codecId?: string; + firCount?: number; + isRemote?: boolean; + mediaTrackId?: string; + mediaType?: string; + nackCount?: number; + pliCount?: number; + sliCount?: number; + ssrc?: string; + transportId?: string; +} + +interface RTCRtcpFeedback { + parameter?: string; + type?: string; +} + +interface RTCRtcpParameters { + cname?: string; + reducedSize?: boolean; +} + +interface RTCRtpCapabilities { + codecs: RTCRtpCodecCapability[]; + headerExtensions: RTCRtpHeaderExtensionCapability[]; +} + +interface RTCRtpCodecCapability { + channels?: number; + clockRate: number; + mimeType: string; + sdpFmtpLine?: string; +} + +interface RTCRtpCodecParameters { + channels?: number; + clockRate: number; + mimeType: string; + payloadType: number; + sdpFmtpLine?: string; +} + +interface RTCRtpCodingParameters { + rid?: string; +} + +interface RTCRtpContributingSource { + audioLevel?: number; + source: number; + timestamp: number; +} + +interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { +} + +interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { + active?: boolean; + codecPayloadType?: number; + dtx?: RTCDtxStatus; + maxBitrate?: number; + maxFramerate?: number; + priority?: RTCPriorityType; + ptime?: number; + scaleResolutionDownBy?: number; +} + +interface RTCRtpFecParameters { + mechanism?: string; + ssrc?: number; +} + +interface RTCRtpHeaderExtension { + kind?: string; + preferredEncrypt?: boolean; + preferredId?: number; + uri?: string; +} + +interface RTCRtpHeaderExtensionCapability { + uri?: string; +} + +interface RTCRtpHeaderExtensionParameters { + encrypted?: boolean; + id: number; + uri: string; +} + +interface RTCRtpParameters { + codecs: RTCRtpCodecParameters[]; + headerExtensions: RTCRtpHeaderExtensionParameters[]; + rtcp: RTCRtcpParameters; +} + +interface RTCRtpReceiveParameters extends RTCRtpParameters { + encodings: RTCRtpDecodingParameters[]; +} + +interface RTCRtpRtxParameters { + ssrc?: number; +} + +interface RTCRtpSendParameters extends RTCRtpParameters { + degradationPreference?: RTCDegradationPreference; + encodings: RTCRtpEncodingParameters[]; + transactionId: string; +} + +interface RTCRtpSynchronizationSource extends RTCRtpContributingSource { + voiceActivityFlag?: boolean; +} + +interface RTCRtpTransceiverInit { + direction?: RTCRtpTransceiverDirection; + sendEncodings?: RTCRtpEncodingParameters[]; + streams?: MediaStream[]; +} + +interface RTCRtpUnhandled { + muxId?: string; + payloadType?: number; + ssrc?: number; +} + +interface RTCSessionDescriptionInit { + sdp?: string; + type: RTCSdpType; +} + +interface RTCSrtpKeyParam { + keyMethod?: string; + keySalt?: string; + lifetime?: string; + mkiLength?: number; + mkiValue?: number; +} + +interface RTCSrtpSdesParameters { + cryptoSuite?: string; + keyParams?: RTCSrtpKeyParam[]; + sessionParams?: string[]; + tag?: number; +} + +interface RTCSsrcRange { + max?: number; + min?: number; +} + +interface RTCStats { + id: string; + timestamp: number; + type: RTCStatsType; +} + +interface RTCStatsEventInit extends EventInit { + report: RTCStatsReport; +} + +interface RTCStatsReport { +} + +interface RTCTrackEventInit extends EventInit { + receiver: RTCRtpReceiver; + streams?: MediaStream[]; + track: MediaStreamTrack; + transceiver: RTCRtpTransceiver; +} + +interface RTCTransportStats extends RTCStats { + activeConnection?: boolean; + bytesReceived?: number; + bytesSent?: number; + localCertificateId?: string; + remoteCertificateId?: string; + rtcpTransportStatsId?: string; + selectedCandidatePairId?: string; +} + +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; +} + +interface RequestInit { + body?: BodyInit | null; + cache?: RequestCache; + credentials?: RequestCredentials; + headers?: HeadersInit; + integrity?: string; + keepalive?: boolean; + method?: string; + mode?: RequestMode; + redirect?: RequestRedirect; + referrer?: string; + referrerPolicy?: ReferrerPolicy; + signal?: AbortSignal | null; + window?: any; +} + +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: string; +} + +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { + hash: KeyAlgorithm; +} + +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; +} + +interface RsaKeyAlgorithm extends KeyAlgorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaOaepParams extends Algorithm { + label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; +} + +interface RsaPssParams extends Algorithm { + saltLength: number; +} + +interface SVGBoundingBoxOptions { + clipped?: boolean; + fill?: boolean; + markers?: boolean; + stroke?: boolean; +} + +interface ScopedCredentialDescriptor { + id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + transports?: Transport[]; + type: ScopedCredentialType; +} + +interface ScopedCredentialOptions { + excludeList?: ScopedCredentialDescriptor[]; + extensions?: WebAuthnExtensions; + rpId?: string; + timeoutSeconds?: number; +} + +interface ScopedCredentialParameters { + algorithm: string | Algorithm; + type: ScopedCredentialType; +} + +interface ScrollIntoViewOptions extends ScrollOptions { + block?: ScrollLogicalPosition; + inline?: ScrollLogicalPosition; +} + +interface ScrollOptions { + behavior?: ScrollBehavior; +} + +interface ScrollToOptions extends ScrollOptions { + left?: number; + top?: number; +} + +interface SecurityPolicyViolationEventInit extends EventInit { + blockedURI?: string; + columnNumber?: number; + documentURI?: string; + effectiveDirective?: string; + lineNumber?: number; + originalPolicy?: string; + referrer?: string; + sourceFile?: string; + statusCode?: number; + violatedDirective?: string; +} + +interface ServiceWorkerMessageEventInit extends EventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[] | null; + source?: ServiceWorker | MessagePort | null; +} + +interface StereoPannerOptions extends AudioNodeOptions { + pan?: number; +} + +interface StorageEstimate { + quota?: number; + usage?: number; +} + +interface StorageEventInit extends EventInit { + key?: string | null; + newValue?: string | null; + oldValue?: string | null; + storageArea?: Storage | null; + url?: string; +} + +interface StoreExceptionsInformation extends ExceptionInformation { + detailURI?: string | null; + explanationString?: string | null; + siteName?: string | null; +} + +interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { + arrayOfDomainStrings?: string[]; +} + +interface TextDecodeOptions { + stream?: boolean; +} + +interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; +} + +interface TouchEventInit extends EventModifierInit { + changedTouches?: Touch[]; + targetTouches?: Touch[]; + touches?: Touch[]; +} + +interface TouchInit { + altitudeAngle?: number; + azimuthAngle?: number; + clientX?: number; + clientY?: number; + force?: number; + identifier: number; + pageX?: number; + pageY?: number; + radiusX?: number; + radiusY?: number; + rotationAngle?: number; + screenX?: number; + screenY?: number; + target: EventTarget; + touchType?: TouchType; +} + +interface TrackEventInit extends EventInit { + track?: VideoTrack | AudioTrack | TextTrack | null; +} + +interface Transformer { + flush?: TransformStreamDefaultControllerCallback; + readableType?: undefined; + start?: TransformStreamDefaultControllerCallback; + transform?: TransformStreamDefaultControllerTransformCallback; + writableType?: undefined; +} + +interface TransitionEventInit extends EventInit { + elapsedTime?: number; + propertyName?: string; + pseudoElement?: string; +} + +interface UIEventInit extends EventInit { + detail?: number; + view?: Window | null; +} + +interface UnderlyingByteSource { + autoAllocateChunkSize?: number; + cancel?: ReadableStreamErrorCallback; + pull?: ReadableByteStreamControllerCallback; + start?: ReadableByteStreamControllerCallback; + type: "bytes"; +} + +interface UnderlyingSink { + abort?: WritableStreamErrorCallback; + close?: WritableStreamDefaultControllerCloseCallback; + start?: WritableStreamDefaultControllerStartCallback; + type?: undefined; + write?: WritableStreamDefaultControllerWriteCallback; +} + +interface UnderlyingSource { + cancel?: ReadableStreamErrorCallback; + pull?: ReadableStreamDefaultControllerCallback; + start?: ReadableStreamDefaultControllerCallback; + type?: undefined; +} + +interface VRDisplayEventInit extends EventInit { + display: VRDisplay; + reason?: VRDisplayEventReason; +} + +interface VRLayer { + leftBounds?: number[] | Float32Array | null; + rightBounds?: number[] | Float32Array | null; + source?: HTMLCanvasElement | null; +} + +interface VRStageParameters { + sittingToStandingTransform?: Float32Array; + sizeX?: number; + sizeY?: number; +} + +interface WaveShaperOptions extends AudioNodeOptions { + curve?: number[] | Float32Array; + oversample?: OverSampleType; +} + +interface WebAuthnExtensions { +} + +interface WebGLContextAttributes { + alpha?: GLboolean; + antialias?: GLboolean; + depth?: GLboolean; + failIfMajorPerformanceCaveat?: boolean; + powerPreference?: WebGLPowerPreference; + premultipliedAlpha?: GLboolean; + preserveDrawingBuffer?: GLboolean; + stencil?: GLboolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface WheelEventInit extends MouseEventInit { + deltaMode?: number; + deltaX?: number; + deltaY?: number; + deltaZ?: number; +} + +interface WorkerOptions { + credentials?: RequestCredentials; + name?: string; + type?: WorkerType; +} + +interface WorkletOptions { + credentials?: RequestCredentials; +} + +interface EventListener { + (evt: Event): void; +} + +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; +} + +interface AbortController { + /** + * Returns the AbortSignal object associated with this object. + */ + readonly signal: AbortSignal; + /** + * Invoking this method will set this object's AbortSignal's aborted flag and + * signal to any observers that the associated activity is to be aborted. + */ + abort(): void; +} + +declare var AbortController: { + prototype: AbortController; + new(): AbortController; +}; + +interface AbortSignalEventMap { + "abort": ProgressEvent; +} + +interface AbortSignal extends EventTarget { + /** + * Returns true if this AbortSignal's AbortController has signaled to abort, and false + * otherwise. + */ + readonly aborted: boolean; + onabort: ((this: AbortSignal, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AbortSignal: { + prototype: AbortSignal; + new(): AbortSignal; +}; + +interface AbstractRange { + readonly collapsed: boolean; + readonly endContainer: Node; + readonly endOffset: number; + readonly startContainer: Node; + readonly startOffset: number; +} + +declare var AbstractRange: { + prototype: AbstractRange; + new(): AbstractRange; +}; + +interface AbstractWorkerEventMap { + "error": ErrorEvent; +} + +interface AbstractWorker { + onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface AesCfbParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCmacParams extends Algorithm { + length: number; +} + +interface AnalyserNode extends AudioNode { + fftSize: number; + readonly frequencyBinCount: number; + maxDecibels: number; + minDecibels: number; + smoothingTimeConstant: number; + getByteFrequencyData(array: Uint8Array): void; + getByteTimeDomainData(array: Uint8Array): void; + getFloatFrequencyData(array: Float32Array): void; + getFloatTimeDomainData(array: Float32Array): void; +} + +declare var AnalyserNode: { + prototype: AnalyserNode; + new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; +}; + +interface Animatable { + animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; + getAnimations(): Animation[]; +} + +interface AnimationEventMap { + "cancel": AnimationPlaybackEvent; + "finish": AnimationPlaybackEvent; +} + +interface Animation extends EventTarget { + currentTime: number | null; + effect: AnimationEffect | null; + readonly finished: Promise; + id: string; + oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; + onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; + readonly pending: boolean; + readonly playState: AnimationPlayState; + playbackRate: number; + readonly ready: Promise; + startTime: number | null; + timeline: AnimationTimeline | null; + cancel(): void; + finish(): void; + pause(): void; + play(): void; + reverse(): void; + updatePlaybackRate(playbackRate: number): void; + addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Animation: { + prototype: Animation; + new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; +}; + +interface AnimationEffect { + getComputedTiming(): ComputedEffectTiming; + getTiming(): EffectTiming; + updateTiming(timing?: OptionalEffectTiming): void; +} + +declare var AnimationEffect: { + prototype: AnimationEffect; + new(): AnimationEffect; +}; + +interface AnimationEvent extends Event { + readonly animationName: string; + readonly elapsedTime: number; + readonly pseudoElement: string; +} + +declare var AnimationEvent: { + prototype: AnimationEvent; + new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent; +}; + +interface AnimationPlaybackEvent extends Event { + readonly currentTime: number | null; + readonly timelineTime: number | null; +} + +declare var AnimationPlaybackEvent: { + prototype: AnimationPlaybackEvent; + new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; +}; + +interface AnimationTimeline { + readonly currentTime: number | null; +} + +declare var AnimationTimeline: { + prototype: AnimationTimeline; + new(): AnimationTimeline; +}; + +interface ApplicationCacheEventMap { + "cached": Event; + "checking": Event; + "downloading": Event; + "error": Event; + "noupdate": Event; + "obsolete": Event; + "progress": ProgressEvent; + "updateready": Event; +} + +interface ApplicationCache extends EventTarget { + /** @deprecated */ + oncached: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onchecking: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + ondownloading: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onerror: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onobsolete: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null; + /** @deprecated */ + onupdateready: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + readonly status: number; + /** @deprecated */ + abort(): void; + /** @deprecated */ + swapCache(): void; + /** @deprecated */ + update(): void; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly IDLE: number; + readonly OBSOLETE: number; + readonly UNCACHED: number; + readonly UPDATEREADY: number; + addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly IDLE: number; + readonly OBSOLETE: number; + readonly UNCACHED: number; + readonly UPDATEREADY: number; +}; + +interface Attr extends Node { + readonly localName: string; + readonly name: string; + readonly namespaceURI: string | null; + readonly ownerElement: Element | null; + readonly prefix: string | null; + readonly specified: boolean; + value: string; +} + +declare var Attr: { + prototype: Attr; + new(): Attr; +}; + +interface AudioBuffer { + readonly duration: number; + readonly length: number; + readonly numberOfChannels: number; + readonly sampleRate: number; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; + getChannelData(channel: number): Float32Array; +} + +declare var AudioBuffer: { + prototype: AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; +}; + +interface AudioBufferSourceNode extends AudioScheduledSourceNode { + buffer: AudioBuffer | null; + readonly detune: AudioParam; + loop: boolean; + loopEnd: number; + loopStart: number; + readonly playbackRate: AudioParam; + start(when?: number, offset?: number, duration?: number): void; + addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioBufferSourceNode: { + prototype: AudioBufferSourceNode; + new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; +}; + +interface AudioContext extends BaseAudioContext { + readonly baseLatency: number; + readonly outputLatency: number; + close(): Promise; + createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createMediaStreamDestination(): MediaStreamAudioDestinationNode; + createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; + createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; + getOutputTimestamp(): AudioTimestamp; + suspend(): Promise; + addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioContext: { + prototype: AudioContext; + new(contextOptions?: AudioContextOptions): AudioContext; +}; + +interface AudioDestinationNode extends AudioNode { + readonly maxChannelCount: number; +} + +declare var AudioDestinationNode: { + prototype: AudioDestinationNode; + new(): AudioDestinationNode; +}; + +interface AudioListener { + readonly forwardX: AudioParam; + readonly forwardY: AudioParam; + readonly forwardZ: AudioParam; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + readonly upX: AudioParam; + readonly upY: AudioParam; + readonly upZ: AudioParam; + /** @deprecated */ + setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; + /** @deprecated */ + setPosition(x: number, y: number, z: number): void; +} + +declare var AudioListener: { + prototype: AudioListener; + new(): AudioListener; +}; + +interface AudioNode extends EventTarget { + channelCount: number; + channelCountMode: ChannelCountMode; + channelInterpretation: ChannelInterpretation; + readonly context: BaseAudioContext; + readonly numberOfInputs: number; + readonly numberOfOutputs: number; + connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode; + connect(destinationParam: AudioParam, output?: number): void; + disconnect(): void; + disconnect(output: number): void; + disconnect(destinationNode: AudioNode): void; + disconnect(destinationNode: AudioNode, output: number): void; + disconnect(destinationNode: AudioNode, output: number, input: number): void; + disconnect(destinationParam: AudioParam): void; + disconnect(destinationParam: AudioParam, output: number): void; +} + +declare var AudioNode: { + prototype: AudioNode; + new(): AudioNode; +}; + +interface AudioParam { + automationRate: AutomationRate; + readonly defaultValue: number; + readonly maxValue: number; + readonly minValue: number; + value: number; + cancelAndHoldAtTime(cancelTime: number): AudioParam; + cancelScheduledValues(cancelTime: number): AudioParam; + exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; + linearRampToValueAtTime(value: number, endTime: number): AudioParam; + setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; + setValueAtTime(value: number, startTime: number): AudioParam; + setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam; +} + +declare var AudioParam: { + prototype: AudioParam; + new(): AudioParam; +}; + +interface AudioParamMap { + forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void; +} + +declare var AudioParamMap: { + prototype: AudioParamMap; + new(): AudioParamMap; +}; + +interface AudioProcessingEvent extends Event { + readonly inputBuffer: AudioBuffer; + readonly outputBuffer: AudioBuffer; + readonly playbackTime: number; +} + +declare var AudioProcessingEvent: { + prototype: AudioProcessingEvent; + new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; +}; + +interface AudioScheduledSourceNodeEventMap { + "ended": Event; +} + +interface AudioScheduledSourceNode extends AudioNode { + onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null; + start(when?: number): void; + stop(when?: number): void; + addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioScheduledSourceNode: { + prototype: AudioScheduledSourceNode; + new(): AudioScheduledSourceNode; +}; + +interface AudioTrack { + enabled: boolean; + readonly id: string; + kind: string; + readonly label: string; + language: string; + readonly sourceBuffer: SourceBuffer; +} + +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; +}; + +interface AudioTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; +} + +interface AudioTrackList extends EventTarget { + readonly length: number; + onaddtrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null; + onchange: ((this: AudioTrackList, ev: Event) => any) | null; + onremovetrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null; + getTrackById(id: string): AudioTrack | null; + item(index: number): AudioTrack; + addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: AudioTrack; +} + +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; +}; + +interface AudioWorklet extends Worklet { +} + +declare var AudioWorklet: { + prototype: AudioWorklet; + new(): AudioWorklet; +}; + +interface AudioWorkletNodeEventMap { + "processorerror": Event; +} + +interface AudioWorkletNode extends AudioNode { + onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null; + readonly parameters: AudioParamMap; + readonly port: MessagePort; + addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioWorkletNode: { + prototype: AudioWorkletNode; + new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode; +}; + +interface BarProp { + readonly visible: boolean; +} + +declare var BarProp: { + prototype: BarProp; + new(): BarProp; +}; + +interface BaseAudioContextEventMap { + "statechange": Event; +} + +interface BaseAudioContext extends EventTarget { + readonly audioWorklet: AudioWorklet; + readonly currentTime: number; + readonly destination: AudioDestinationNode; + readonly listener: AudioListener; + onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null; + readonly sampleRate: number; + readonly state: AudioContextState; + createAnalyser(): AnalyserNode; + createBiquadFilter(): BiquadFilterNode; + createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; + createBufferSource(): AudioBufferSourceNode; + createChannelMerger(numberOfInputs?: number): ChannelMergerNode; + createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; + createConstantSource(): ConstantSourceNode; + createConvolver(): ConvolverNode; + createDelay(maxDelayTime?: number): DelayNode; + createDynamicsCompressor(): DynamicsCompressorNode; + createGain(): GainNode; + createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; + createOscillator(): OscillatorNode; + createPanner(): PannerNode; + createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; + createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; + createStereoPanner(): StereoPannerNode; + createWaveShaper(): WaveShaperNode; + decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback | null, errorCallback?: DecodeErrorCallback | null): Promise; + resume(): Promise; + addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BaseAudioContext: { + prototype: BaseAudioContext; + new(): BaseAudioContext; +}; + +interface BeforeUnloadEvent extends Event { + returnValue: any; +} + +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; +}; + +interface BhxBrowser { + readonly lastError: DOMException; + checkMatchesGlobExpression(pattern: string, value: string): boolean; + checkMatchesUriExpression(pattern: string, value: string): boolean; + clearLastError(): void; + currentWindowId(): number; + fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void; + genericFunction(functionId: number, destination: any, parameters?: string, callbackId?: number): void; + genericSynchronousFunction(functionId: number, parameters?: string): string; + getExtensionId(): string; + getThisAddress(): any; + registerGenericFunctionCallbackHandler(callbackHandler: Function): void; + registerGenericListenerHandler(eventHandler: Function): void; + setLastError(parameters: string): void; + webPlatformGenericFunction(destination: any, parameters?: string, callbackId?: number): void; +} + +declare var BhxBrowser: { + prototype: BhxBrowser; + new(): BhxBrowser; +}; + +interface BiquadFilterNode extends AudioNode { + readonly Q: AudioParam; + readonly detune: AudioParam; + readonly frequency: AudioParam; + readonly gain: AudioParam; + type: BiquadFilterType; + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +} + +declare var BiquadFilterNode: { + prototype: BiquadFilterNode; + new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode; +}; + +interface Blob { + readonly size: number; + readonly type: string; + slice(start?: number, end?: number, contentType?: string): Blob; +} + +declare var Blob: { + prototype: Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; +}; + +interface Body { + readonly body: ReadableStream | null; + readonly bodyUsed: boolean; + arrayBuffer(): Promise; + blob(): Promise; + formData(): Promise; + json(): Promise; + text(): Promise; +} + +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ + readonly name: string; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + +interface BroadcastChannelEventMap { + message: MessageEvent; + messageerror: MessageEvent; +} + +interface ByteLengthQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: ArrayBufferView): number; +} + +declare var ByteLengthQueuingStrategy: { + prototype: ByteLengthQueuingStrategy; + new(options: { highWaterMark: number }): ByteLengthQueuingStrategy; +}; + +interface CDATASection extends Text { +} + +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; +}; + +interface CSS { + escape(value: string): string; + supports(property: string, value?: string): boolean; +} +declare var CSS: CSS; + +interface CSSConditionRule extends CSSGroupingRule { + conditionText: string; +} + +declare var CSSConditionRule: { + prototype: CSSConditionRule; + new(): CSSConditionRule; +}; + +interface CSSFontFaceRule extends CSSRule { + readonly style: CSSStyleDeclaration; +} + +declare var CSSFontFaceRule: { + prototype: CSSFontFaceRule; + new(): CSSFontFaceRule; +}; + +interface CSSGroupingRule extends CSSRule { + readonly cssRules: CSSRuleList; + deleteRule(index: number): void; + insertRule(rule: string, index: number): number; +} + +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; +}; + +interface CSSImportRule extends CSSRule { + readonly href: string; + readonly media: MediaList; + readonly styleSheet: CSSStyleSheet; +} + +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; +}; + +interface CSSKeyframeRule extends CSSRule { + keyText: string; + readonly style: CSSStyleDeclaration; +} + +declare var CSSKeyframeRule: { + prototype: CSSKeyframeRule; + new(): CSSKeyframeRule; +}; + +interface CSSKeyframesRule extends CSSRule { + readonly cssRules: CSSRuleList; + name: string; + appendRule(rule: string): void; + deleteRule(select: string): void; + findRule(select: string): CSSKeyframeRule | null; +} + +declare var CSSKeyframesRule: { + prototype: CSSKeyframesRule; + new(): CSSKeyframesRule; +}; + +interface CSSMediaRule extends CSSConditionRule { + readonly media: MediaList; +} + +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; +}; + +interface CSSNamespaceRule extends CSSRule { + readonly namespaceURI: string; + readonly prefix: string; +} + +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; +}; + +interface CSSPageRule extends CSSRule { + readonly pseudoClass: string; + readonly selector: string; + selectorText: string; + readonly style: CSSStyleDeclaration; +} + +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; +}; + +interface CSSRule { + cssText: string; + readonly parentRule: CSSRule | null; + readonly parentStyleSheet: CSSStyleSheet | null; + readonly type: number; + readonly CHARSET_RULE: number; + readonly FONT_FACE_RULE: number; + readonly IMPORT_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly KEYFRAME_RULE: number; + readonly MEDIA_RULE: number; + readonly NAMESPACE_RULE: number; + readonly PAGE_RULE: number; + readonly STYLE_RULE: number; + readonly SUPPORTS_RULE: number; + readonly UNKNOWN_RULE: number; + readonly VIEWPORT_RULE: number; +} + +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + readonly CHARSET_RULE: number; + readonly FONT_FACE_RULE: number; + readonly IMPORT_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly KEYFRAME_RULE: number; + readonly MEDIA_RULE: number; + readonly NAMESPACE_RULE: number; + readonly PAGE_RULE: number; + readonly STYLE_RULE: number; + readonly SUPPORTS_RULE: number; + readonly UNKNOWN_RULE: number; + readonly VIEWPORT_RULE: number; +}; + +interface CSSRuleList { + readonly length: number; + item(index: number): CSSRule | null; + [index: number]: CSSRule; +} + +declare var CSSRuleList: { + prototype: CSSRuleList; + new(): CSSRuleList; +}; + +interface CSSStyleDeclaration { + alignContent: string | null; + alignItems: string | null; + alignSelf: string | null; + alignmentBaseline: string | null; + animation: string; + animationDelay: string; + animationDirection: string; + animationDuration: string; + animationFillMode: string; + animationIterationCount: string; + animationName: string; + animationPlayState: string; + animationTimingFunction: string; + backfaceVisibility: string | null; + background: string | null; + backgroundAttachment: string | null; + backgroundClip: string | null; + backgroundColor: string | null; + backgroundImage: string | null; + backgroundOrigin: string | null; + backgroundPosition: string | null; + backgroundPositionX: string | null; + backgroundPositionY: string | null; + backgroundRepeat: string | null; + backgroundSize: string | null; + baselineShift: string | null; + border: string | null; + borderBottom: string | null; + borderBottomColor: string | null; + borderBottomLeftRadius: string | null; + borderBottomRightRadius: string | null; + borderBottomStyle: string | null; + borderBottomWidth: string | null; + borderCollapse: string | null; + borderColor: string | null; + borderImage: string | null; + borderImageOutset: string | null; + borderImageRepeat: string | null; + borderImageSlice: string | null; + borderImageSource: string | null; + borderImageWidth: string | null; + borderLeft: string | null; + borderLeftColor: string | null; + borderLeftStyle: string | null; + borderLeftWidth: string | null; + borderRadius: string | null; + borderRight: string | null; + borderRightColor: string | null; + borderRightStyle: string | null; + borderRightWidth: string | null; + borderSpacing: string | null; + borderStyle: string | null; + borderTop: string | null; + borderTopColor: string | null; + borderTopLeftRadius: string | null; + borderTopRightRadius: string | null; + borderTopStyle: string | null; + borderTopWidth: string | null; + borderWidth: string | null; + bottom: string | null; + boxShadow: string | null; + boxSizing: string | null; + breakAfter: string | null; + breakBefore: string | null; + breakInside: string | null; + captionSide: string | null; + clear: string | null; + clip: string | null; + clipPath: string | null; + clipRule: string | null; + color: string | null; + colorInterpolationFilters: string | null; + columnCount: any; + columnFill: string | null; + columnGap: any; + columnRule: string | null; + columnRuleColor: any; + columnRuleStyle: string | null; + columnRuleWidth: any; + columnSpan: string | null; + columnWidth: any; + columns: string | null; + content: string | null; + counterIncrement: string | null; + counterReset: string | null; + cssFloat: string | null; + cssText: string; + cursor: string | null; + direction: string | null; + display: string | null; + dominantBaseline: string | null; + emptyCells: string | null; + enableBackground: string | null; + fill: string | null; + fillOpacity: string | null; + fillRule: string | null; + filter: string | null; + flex: string | null; + flexBasis: string | null; + flexDirection: string | null; + flexFlow: string | null; + flexGrow: string | null; + flexShrink: string | null; + flexWrap: string | null; + floodColor: string | null; + floodOpacity: string | null; + font: string | null; + fontFamily: string | null; + fontFeatureSettings: string | null; + fontSize: string | null; + fontSizeAdjust: string | null; + fontStretch: string | null; + fontStyle: string | null; + fontVariant: string | null; + fontWeight: string | null; + gap: string | null; + glyphOrientationHorizontal: string | null; + glyphOrientationVertical: string | null; + grid: string | null; + gridArea: string | null; + gridAutoColumns: string | null; + gridAutoFlow: string | null; + gridAutoRows: string | null; + gridColumn: string | null; + gridColumnEnd: string | null; + gridColumnGap: string | null; + gridColumnStart: string | null; + gridGap: string | null; + gridRow: string | null; + gridRowEnd: string | null; + gridRowGap: string | null; + gridRowStart: string | null; + gridTemplate: string | null; + gridTemplateAreas: string | null; + gridTemplateColumns: string | null; + gridTemplateRows: string | null; + height: string | null; + imeMode: string | null; + justifyContent: string | null; + justifyItems: string | null; + justifySelf: string | null; + kerning: string | null; + layoutGrid: string | null; + layoutGridChar: string | null; + layoutGridLine: string | null; + layoutGridMode: string | null; + layoutGridType: string | null; + left: string | null; + readonly length: number; + letterSpacing: string | null; + lightingColor: string | null; + lineBreak: string | null; + lineHeight: string | null; + listStyle: string | null; + listStyleImage: string | null; + listStylePosition: string | null; + listStyleType: string | null; + margin: string | null; + marginBottom: string | null; + marginLeft: string | null; + marginRight: string | null; + marginTop: string | null; + marker: string | null; + markerEnd: string | null; + markerMid: string | null; + markerStart: string | null; + mask: string | null; + maskImage: string | null; + maxHeight: string | null; + maxWidth: string | null; + minHeight: string | null; + minWidth: string | null; + msContentZoomChaining: string | null; + msContentZoomLimit: string | null; + msContentZoomLimitMax: any; + msContentZoomLimitMin: any; + msContentZoomSnap: string | null; + msContentZoomSnapPoints: string | null; + msContentZoomSnapType: string | null; + msContentZooming: string | null; + msFlowFrom: string | null; + msFlowInto: string | null; + msFontFeatureSettings: string | null; + msGridColumn: any; + msGridColumnAlign: string | null; + msGridColumnSpan: any; + msGridColumns: string | null; + msGridRow: any; + msGridRowAlign: string | null; + msGridRowSpan: any; + msGridRows: string | null; + msHighContrastAdjust: string | null; + msHyphenateLimitChars: string | null; + msHyphenateLimitLines: any; + msHyphenateLimitZone: any; + msHyphens: string | null; + msImeAlign: string | null; + msOverflowStyle: string | null; + msScrollChaining: string | null; + msScrollLimit: string | null; + msScrollLimitXMax: any; + msScrollLimitXMin: any; + msScrollLimitYMax: any; + msScrollLimitYMin: any; + msScrollRails: string | null; + msScrollSnapPointsX: string | null; + msScrollSnapPointsY: string | null; + msScrollSnapType: string | null; + msScrollSnapX: string | null; + msScrollSnapY: string | null; + msScrollTranslation: string | null; + msTextCombineHorizontal: string | null; + msTextSizeAdjust: any; + msTouchAction: string | null; + msTouchSelect: string | null; + msUserSelect: string | null; + msWrapFlow: string; + msWrapMargin: any; + msWrapThrough: string; + objectFit: string | null; + objectPosition: string | null; + opacity: string | null; + order: string | null; + orphans: string | null; + outline: string | null; + outlineColor: string | null; + outlineOffset: string | null; + outlineStyle: string | null; + outlineWidth: string | null; + overflow: string | null; + overflowX: string | null; + overflowY: string | null; + padding: string | null; + paddingBottom: string | null; + paddingLeft: string | null; + paddingRight: string | null; + paddingTop: string | null; + pageBreakAfter: string | null; + pageBreakBefore: string | null; + pageBreakInside: string | null; + readonly parentRule: CSSRule; + penAction: string | null; + perspective: string | null; + perspectiveOrigin: string | null; + pointerEvents: string | null; + position: string | null; + quotes: string | null; + resize: string | null; + right: string | null; + rotate: string | null; + rowGap: string | null; + rubyAlign: string | null; + rubyOverhang: string | null; + rubyPosition: string | null; + scale: string | null; + scrollBehavior: string; + stopColor: string | null; + stopOpacity: string | null; + stroke: string | null; + strokeDasharray: string | null; + strokeDashoffset: string | null; + strokeLinecap: string | null; + strokeLinejoin: string | null; + strokeMiterlimit: string | null; + strokeOpacity: string | null; + strokeWidth: string | null; + tableLayout: string | null; + textAlign: string | null; + textAlignLast: string | null; + textAnchor: string | null; + textCombineUpright: string | null; + textDecoration: string | null; + textIndent: string | null; + textJustify: string | null; + textKashida: string | null; + textKashidaSpace: string | null; + textOverflow: string | null; + textShadow: string | null; + textTransform: string | null; + textUnderlinePosition: string | null; + top: string | null; + touchAction: string; + transform: string | null; + transformOrigin: string | null; + transformStyle: string | null; + transition: string; + transitionDelay: string; + transitionDuration: string; + transitionProperty: string; + transitionTimingFunction: string; + translate: string | null; + unicodeBidi: string | null; + userSelect: string | null; + verticalAlign: string | null; + visibility: string | null; + /** @deprecated */ + webkitAlignContent: string; + /** @deprecated */ + webkitAlignItems: string; + /** @deprecated */ + webkitAlignSelf: string; + /** @deprecated */ + webkitAnimation: string; + /** @deprecated */ + webkitAnimationDelay: string; + /** @deprecated */ + webkitAnimationDirection: string; + /** @deprecated */ + webkitAnimationDuration: string; + /** @deprecated */ + webkitAnimationFillMode: string; + /** @deprecated */ + webkitAnimationIterationCount: string; + /** @deprecated */ + webkitAnimationName: string; + /** @deprecated */ + webkitAnimationPlayState: string; + /** @deprecated */ + webkitAnimationTimingFunction: string; + /** @deprecated */ + webkitAppearance: string; + /** @deprecated */ + webkitBackfaceVisibility: string; + /** @deprecated */ + webkitBackgroundClip: string; + /** @deprecated */ + webkitBackgroundOrigin: string; + /** @deprecated */ + webkitBackgroundSize: string; + /** @deprecated */ + webkitBorderBottomLeftRadius: string; + /** @deprecated */ + webkitBorderBottomRightRadius: string; + webkitBorderImage: string | null; + /** @deprecated */ + webkitBorderRadius: string; + /** @deprecated */ + webkitBorderTopLeftRadius: string; + /** @deprecated */ + webkitBorderTopRightRadius: string; + /** @deprecated */ + webkitBoxAlign: string; + webkitBoxDirection: string | null; + /** @deprecated */ + webkitBoxFlex: string; + /** @deprecated */ + webkitBoxOrdinalGroup: string; + webkitBoxOrient: string | null; + /** @deprecated */ + webkitBoxPack: string; + /** @deprecated */ + webkitBoxShadow: string; + /** @deprecated */ + webkitBoxSizing: string; + webkitColumnBreakAfter: string | null; + webkitColumnBreakBefore: string | null; + webkitColumnBreakInside: string | null; + webkitColumnCount: any; + webkitColumnGap: any; + webkitColumnRule: string | null; + webkitColumnRuleColor: any; + webkitColumnRuleStyle: string | null; + webkitColumnRuleWidth: any; + webkitColumnSpan: string | null; + webkitColumnWidth: any; + webkitColumns: string | null; + /** @deprecated */ + webkitFilter: string; + /** @deprecated */ + webkitFlex: string; + /** @deprecated */ + webkitFlexBasis: string; + /** @deprecated */ + webkitFlexDirection: string; + /** @deprecated */ + webkitFlexFlow: string; + /** @deprecated */ + webkitFlexGrow: string; + /** @deprecated */ + webkitFlexShrink: string; + /** @deprecated */ + webkitFlexWrap: string; + /** @deprecated */ + webkitJustifyContent: string; + /** @deprecated */ + webkitMask: string; + /** @deprecated */ + webkitMaskBoxImage: string; + /** @deprecated */ + webkitMaskBoxImageOutset: string; + /** @deprecated */ + webkitMaskBoxImageRepeat: string; + /** @deprecated */ + webkitMaskBoxImageSlice: string; + /** @deprecated */ + webkitMaskBoxImageSource: string; + /** @deprecated */ + webkitMaskBoxImageWidth: string; + /** @deprecated */ + webkitMaskClip: string; + /** @deprecated */ + webkitMaskComposite: string; + /** @deprecated */ + webkitMaskImage: string; + /** @deprecated */ + webkitMaskOrigin: string; + /** @deprecated */ + webkitMaskPosition: string; + /** @deprecated */ + webkitMaskRepeat: string; + /** @deprecated */ + webkitMaskSize: string; + /** @deprecated */ + webkitOrder: string; + /** @deprecated */ + webkitPerspective: string; + /** @deprecated */ + webkitPerspectiveOrigin: string; + webkitTapHighlightColor: string | null; + /** @deprecated */ + webkitTextFillColor: string; + /** @deprecated */ + webkitTextSizeAdjust: string; + /** @deprecated */ + webkitTextStroke: string; + /** @deprecated */ + webkitTextStrokeColor: string; + /** @deprecated */ + webkitTextStrokeWidth: string; + /** @deprecated */ + webkitTransform: string; + /** @deprecated */ + webkitTransformOrigin: string; + /** @deprecated */ + webkitTransformStyle: string; + /** @deprecated */ + webkitTransition: string; + /** @deprecated */ + webkitTransitionDelay: string; + /** @deprecated */ + webkitTransitionDuration: string; + /** @deprecated */ + webkitTransitionProperty: string; + /** @deprecated */ + webkitTransitionTimingFunction: string; + webkitUserModify: string | null; + webkitUserSelect: string | null; + webkitWritingMode: string | null; + whiteSpace: string | null; + widows: string | null; + width: string | null; + wordBreak: string | null; + wordSpacing: string | null; + wordWrap: string | null; + writingMode: string | null; + zIndex: string | null; + zoom: string | null; + getPropertyPriority(propertyName: string): string; + getPropertyValue(propertyName: string): string; + item(index: number): string; + removeProperty(propertyName: string): string; + setProperty(propertyName: string, value: string | null, priority?: string | null): void; + [index: number]: string; +} + +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; +}; + +interface CSSStyleRule extends CSSRule { + selectorText: string; + readonly style: CSSStyleDeclaration; +} + +declare var CSSStyleRule: { + prototype: CSSStyleRule; + new(): CSSStyleRule; +}; + +interface CSSStyleSheet extends StyleSheet { + readonly cssRules: CSSRuleList; + /** @deprecated */ + cssText: string; + /** @deprecated */ + readonly id: string; + /** @deprecated */ + readonly imports: StyleSheetList; + /** @deprecated */ + readonly isAlternate: boolean; + /** @deprecated */ + readonly isPrefAlternate: boolean; + readonly ownerRule: CSSRule | null; + /** @deprecated */ + readonly owningElement: Element; + /** @deprecated */ + readonly pages: any; + /** @deprecated */ + readonly readOnly: boolean; + readonly rules: CSSRuleList; + /** @deprecated */ + addImport(bstrURL: string, lIndex?: number): number; + /** @deprecated */ + addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number; + addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number; + deleteRule(index?: number): void; + insertRule(rule: string, index?: number): number; + /** @deprecated */ + removeImport(lIndex: number): void; + removeRule(lIndex: number): void; +} + +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; +}; + +interface CSSSupportsRule extends CSSConditionRule { +} + +declare var CSSSupportsRule: { + prototype: CSSSupportsRule; + new(): CSSSupportsRule; +}; + +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; +} + +declare var Cache: { + prototype: Cache; + new(): Cache; +}; + +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + open(cacheName: string): Promise; +} + +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; +}; + +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: string; +} + +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; +} + +interface CanvasDrawPath { + beginPath(): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + fill(fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; + stroke(): void; + stroke(path: Path2D): void; +} + +interface CanvasFillStrokeStyles { + fillStyle: string | CanvasGradient | CanvasPattern; + strokeStyle: string | CanvasGradient | CanvasPattern; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; +} + +interface CanvasFilters { + filter: string; +} + +interface CanvasGradient { + /** + * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset + * at one end of the gradient, 1.0 is the offset at the other end. + * Throws an "IndexSizeError" DOMException if the offset + * is out of range. Throws a "SyntaxError" DOMException if + * the color cannot be parsed. + */ + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasImageData { + createImageData(sw: number, sh: number): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; +} + +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; +} + +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasPathDrawingStyles { + lineCap: CanvasLineCap; + lineDashOffset: number; + lineJoin: CanvasLineJoin; + lineWidth: number; + miterLimit: number; + getLineDash(): number[]; + setLineDash(segments: number[]): void; +} + +interface CanvasPattern { + /** + * Sets the transformation matrix that will be used when rendering the pattern during a fill or + * stroke painting operation. + */ + setTransform(transform?: DOMMatrix2DInit): void; +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +}; + +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { + readonly canvas: HTMLCanvasElement; +} + +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; +}; + +interface CanvasShadowStyles { + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; +} + +interface CanvasState { + restore(): void; + save(): void; +} + +interface CanvasText { + fillText(text: string, x: number, y: number, maxWidth?: number): void; + measureText(text: string): TextMetrics; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; +} + +interface CanvasTextDrawingStyles { + direction: CanvasDirection; + font: string; + textAlign: CanvasTextAlign; + textBaseline: CanvasTextBaseline; +} + +interface CanvasTransform { + getTransform(): DOMMatrix; + resetTransform(): void; + rotate(angle: number): void; + scale(x: number, y: number): void; + setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; + setTransform(transform?: DOMMatrix2DInit): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + translate(x: number, y: number): void; +} + +interface CanvasUserInterface { + drawFocusIfNeeded(element: Element): void; + drawFocusIfNeeded(path: Path2D, element: Element): void; + scrollPathIntoView(): void; + scrollPathIntoView(path: Path2D): void; +} + +interface CaretPosition { + readonly offset: number; + readonly offsetNode: Node; + getClientRect(): DOMRect | null; +} + +declare var CaretPosition: { + prototype: CaretPosition; + new(): CaretPosition; +}; + +interface ChannelMergerNode extends AudioNode { +} + +declare var ChannelMergerNode: { + prototype: ChannelMergerNode; + new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode; +}; + +interface ChannelSplitterNode extends AudioNode { +} + +declare var ChannelSplitterNode: { + prototype: ChannelSplitterNode; + new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode; +}; + +interface CharacterData extends Node, NonDocumentTypeChildNode, ChildNode { + data: string; + readonly length: number; + appendData(data: string): void; + deleteData(offset: number, count: number): void; + insertData(offset: number, data: string): void; + replaceData(offset: number, count: number, data: string): void; + substringData(offset: number, count: number): string; +} + +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; +}; + +interface ChildNode extends Node { + /** + * Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + after(...nodes: (Node | string)[]): void; + /** + * Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + before(...nodes: (Node | string)[]): void; + /** + * Removes node. + */ + remove(): void; + /** + * Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + replaceWith(...nodes: (Node | string)[]): void; +} + +interface ClientRect { + bottom: number; + readonly height: number; + left: number; + right: number; + top: number; + readonly width: number; +} + +declare var ClientRect: { + prototype: ClientRect; + new(): ClientRect; +}; + +interface ClientRectList { + readonly length: number; + item(index: number): ClientRect; + [index: number]: ClientRect; +} + +declare var ClientRectList: { + prototype: ClientRectList; + new(): ClientRectList; +}; + +interface ClipboardEvent extends Event { + readonly clipboardData: DataTransfer; +} + +declare var ClipboardEvent: { + prototype: ClipboardEvent; + new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; +}; + +interface ClipboardEventInit extends EventInit { + data?: string; + dataType?: string; +} + +interface CloseEvent extends Event { + readonly code: number; + readonly reason: string; + readonly wasClean: boolean; + /** @deprecated */ + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} + +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; +}; + +interface Comment extends CharacterData { +} + +declare var Comment: { + prototype: Comment; + new(data?: string): Comment; +}; + +interface CompositionEvent extends UIEvent { + readonly data: string; + readonly locale: string; + initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void; +} + +declare var CompositionEvent: { + prototype: CompositionEvent; + new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent; +}; + +interface ConcatParams extends Algorithm { + algorithmId: Uint8Array; + hash?: string | Algorithm; + partyUInfo: Uint8Array; + partyVInfo: Uint8Array; + privateInfo?: Uint8Array; + publicInfo?: Uint8Array; +} + +interface Console { + memory: any; + assert(condition?: boolean, message?: string, ...data: any[]): void; + clear(): void; + count(label?: string): void; + debug(message?: any, ...optionalParams: any[]): void; + dir(value?: any, ...optionalParams: any[]): void; + dirxml(value: any): void; + error(message?: any, ...optionalParams: any[]): void; + exception(message?: string, ...optionalParams: any[]): void; + group(groupTitle?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void; + groupEnd(): void; + info(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + markTimeline(label?: string): void; + profile(reportName?: string): void; + profileEnd(reportName?: string): void; + table(...tabularData: any[]): void; + time(label?: string): void; + timeEnd(label?: string): void; + timeStamp(label?: string): void; + timeline(label?: string): void; + timelineEnd(label?: string): void; + trace(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; +} + +declare var Console: { + prototype: Console; + new(): Console; +}; + +interface ConstantSourceNode extends AudioScheduledSourceNode { + readonly offset: AudioParam; + addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ConstantSourceNode: { + prototype: ConstantSourceNode; + new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode; +}; + +interface ConvolverNode extends AudioNode { + buffer: AudioBuffer | null; + normalize: boolean; +} + +declare var ConvolverNode: { + prototype: ConvolverNode; + new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; +}; + +interface Coordinates { + readonly accuracy: number; + readonly altitude: number | null; + readonly altitudeAccuracy: number | null; + readonly heading: number | null; + readonly latitude: number; + readonly longitude: number; + readonly speed: number | null; +} + +interface CountQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: any): 1; +} + +declare var CountQueuingStrategy: { + prototype: CountQueuingStrategy; + new(options: { highWaterMark: number }): CountQueuingStrategy; +}; + +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: T): T; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +}; + +interface CryptoKey { + readonly algorithm: KeyAlgorithm; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: KeyUsage[]; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface CryptoKeyPair { + privateKey: CryptoKey; + publicKey: CryptoKey; +} + +declare var CryptoKeyPair: { + prototype: CryptoKeyPair; + new(): CryptoKeyPair; +}; + +interface CustomElementRegistry { + define(name: string, constructor: Function, options?: ElementDefinitionOptions): void; + get(name: string): any; + upgrade(root: Node): void; + whenDefined(name: string): Promise; +} + +declare var CustomElementRegistry: { + prototype: CustomElementRegistry; + new(): CustomElementRegistry; +}; + +interface CustomEvent extends Event { + /** + * Returns any custom data event was created with. + * Typically used for synthetic events. + */ + readonly detail: T; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +interface DOMError { + readonly name: string; + toString(): string; +} + +declare var DOMError: { + prototype: DOMError; + new(): DOMError; +}; + +interface DOMException { + readonly code: number; + readonly message: string; + readonly name: string; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new(message?: string, name?: string): DOMException; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +}; + +interface DOMImplementation { + createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document; + createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; + createHTMLDocument(title?: string): Document; + /** @deprecated */ + hasFeature(...args: any[]): true; +} + +declare var DOMImplementation: { + prototype: DOMImplementation; + new(): DOMImplementation; +}; + +interface DOML2DeprecatedColorProperty { + color: string; +} + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + setMatrixValue(transformList: string): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +type SVGMatrix = DOMMatrix; +declare var SVGMatrix: typeof DOMMatrix; + +type WebKitCSSMatrix = DOMMatrix; +declare var WebKitCSSMatrix: typeof DOMMatrix; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMParser { + parseFromString(str: string, type: SupportedType): Document; +} + +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +type SVGPoint = DOMPoint; +declare var SVGPoint: typeof DOMPoint; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +type SVGRect = DOMRect; +declare var SVGRect: typeof DOMRect; + +interface DOMRectList { + readonly length: number; + item(index: number): DOMRect | null; + [index: number]: DOMRect; +} + +declare var DOMRectList: { + prototype: DOMRectList; + new(): DOMRectList; +}; + +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; + toJSON(): any; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + +interface DOMSettableTokenList extends DOMTokenList { + value: string; +} + +declare var DOMSettableTokenList: { + prototype: DOMSettableTokenList; + new(): DOMSettableTokenList; +}; + +interface DOMStringList { + /** + * Returns the number of strings in strings. + */ + readonly length: number; + /** + * Returns true if strings contains string, and false + * otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ + item(index: number): string | null; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +}; + +interface DOMStringMap { + [name: string]: string | undefined; +} + +declare var DOMStringMap: { + prototype: DOMStringMap; + new(): DOMStringMap; +}; + +interface DOMTokenList { + /** + * Returns the number of tokens. + */ + readonly length: number; + /** + * Returns the associated set as string. + * Can be set, to change the associated attribute. + */ + value: string; + /** + * Adds all arguments passed, except those already present. + * Throws a "SyntaxError" DOMException if one of the arguments is the empty + * string. + * Throws an "InvalidCharacterError" DOMException if one of the arguments + * contains any ASCII whitespace. + */ + add(...tokens: string[]): void; + /** + * Returns true if token is present, and false otherwise. + */ + contains(token: string): boolean; + /** + * tokenlist[index] + */ + item(index: number): string | null; + /** + * Removes arguments passed, if they are present. + * Throws a "SyntaxError" DOMException if one of the arguments is the empty + * string. + * Throws an "InvalidCharacterError" DOMException if one of the arguments + * contains any ASCII whitespace. + */ + remove(...tokens: string[]): void; + /** + * Replaces token with newToken. + * Returns true if token was replaced with newToken, and false otherwise. + * Throws a "SyntaxError" DOMException if one of the arguments is the empty + * string. + * Throws an "InvalidCharacterError" DOMException if one of the arguments + * contains any ASCII whitespace. + */ + replace(oldToken: string, newToken: string): void; + /** + * Returns true if token is in the associated attribute's supported tokens. Returns + * false otherwise. + * Throws a TypeError if the associated attribute has no supported tokens defined. + */ + supports(token: string): boolean; + toggle(token: string, force?: boolean): boolean; + forEach(callbackfn: (value: string, key: number, parent: DOMTokenList) => void, thisArg?: any): void; + [index: number]: string; +} + +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; +}; + +interface DataCue extends TextTrackCue { + data: ArrayBuffer; + addEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var DataCue: { + prototype: DataCue; + new(): DataCue; +}; + +interface DataTransfer { + dropEffect: string; + effectAllowed: string; + /** + * Returns a FileList of the files being dragged, if any. + */ + readonly files: FileList; + /** + * Returns a DataTransferItemList object, with the drag data. + */ + readonly items: DataTransferItemList; + /** + * Returns a frozen array listing the formats that were set in the dragstart event. In addition, if any files are being + * dragged, then one of the types will be the string "Files". + */ + readonly types: ReadonlyArray; + /** + * Removes the data of the specified formats. Removes all data if the argument is omitted. + */ + clearData(format?: string): void; + /** + * Returns the specified data. If there is no such data, returns the empty string. + */ + getData(format: string): string; + /** + * Adds the specified data. + */ + setData(format: string, data: string): void; + /** + * Uses the given element to update the drag feedback, replacing any previously specified + * feedback. + */ + setDragImage(image: Element, x: number, y: number): void; +} + +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; +}; + +interface DataTransferItem { + /** + * Returns the drag data item kind, one of: "string", + * "file". + */ + readonly kind: string; + /** + * Returns the drag data item type string. + */ + readonly type: string; + /** + * Returns a File object, if the drag data item kind is File. + */ + getAsFile(): File | null; + /** + * Invokes the callback with the string data as the argument, if the drag data item + * kind is Plain Unicode string. + */ + getAsString(callback: FunctionStringCallback | null): void; + webkitGetAsEntry(): any; +} + +declare var DataTransferItem: { + prototype: DataTransferItem; + new(): DataTransferItem; +}; + +interface DataTransferItemList { + /** + * Returns the number of items in the drag data store. + */ + readonly length: number; + /** + * Adds a new entry for the given data to the drag data store. If the data is plain + * text then a type string has to be provided + * also. + */ + add(data: string, type: string): DataTransferItem | null; + add(data: File): DataTransferItem | null; + /** + * Removes all the entries in the drag data store. + */ + clear(): void; + item(index: number): DataTransferItem; + /** + * Removes the indexth entry in the drag data store. + */ + remove(index: number): void; + [name: number]: DataTransferItem; +} + +declare var DataTransferItemList: { + prototype: DataTransferItemList; + new(): DataTransferItemList; +}; + +interface DeferredPermissionRequest { + readonly id: number; + readonly type: MSWebViewPermissionType; + readonly uri: string; + allow(): void; + deny(): void; +} + +declare var DeferredPermissionRequest: { + prototype: DeferredPermissionRequest; + new(): DeferredPermissionRequest; +}; + +interface DelayNode extends AudioNode { + readonly delayTime: AudioParam; +} + +declare var DelayNode: { + prototype: DelayNode; + new(context: BaseAudioContext, options?: DelayOptions): DelayNode; +}; + +interface DeviceAcceleration { + readonly x: number | null; + readonly y: number | null; + readonly z: number | null; +} + +declare var DeviceAcceleration: { + prototype: DeviceAcceleration; + new(): DeviceAcceleration; +}; + +interface DeviceLightEvent extends Event { + readonly value: number; +} + +declare var DeviceLightEvent: { + prototype: DeviceLightEvent; + new(typeArg: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent; +}; + +interface DeviceMotionEvent extends Event { + readonly acceleration: DeviceAcceleration | null; + readonly accelerationIncludingGravity: DeviceAcceleration | null; + readonly interval: number | null; + readonly rotationRate: DeviceRotationRate | null; + initDeviceMotionEvent(type: string, bubbles: boolean, cancelable: boolean, acceleration: DeviceAccelerationDict | null, accelerationIncludingGravity: DeviceAccelerationDict | null, rotationRate: DeviceRotationRateDict | null, interval: number | null): void; +} + +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(typeArg: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; +}; + +interface DeviceOrientationEvent extends Event { + readonly absolute: boolean; + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; + initDeviceOrientationEvent(type: string, bubbles: boolean, cancelable: boolean, alpha: number | null, beta: number | null, gamma: number | null, absolute: boolean): void; +} + +declare var DeviceOrientationEvent: { + prototype: DeviceOrientationEvent; + new(typeArg: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; +}; + +interface DeviceRotationRate { + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; +} + +declare var DeviceRotationRate: { + prototype: DeviceRotationRate; + new(): DeviceRotationRate; +}; + +interface DhImportKeyParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyAlgorithm extends KeyAlgorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface DhKeyGenParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "fullscreenchange": Event; + "fullscreenerror": Event; + "readystatechange": ProgressEvent; + "visibilitychange": Event; +} + +interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, GlobalEventHandlers, DocumentAndElementEventHandlers { + /** + * Sets or gets the URL for the current document. + */ + readonly URL: string; + /** + * Gets the object that has the focus when the parent document has focus. + */ + readonly activeElement: Element | null; + /** + * Sets or gets the color of all active links in the document. + */ + /** @deprecated */ + alinkColor: string; + /** + * Returns a reference to the collection of elements contained by the object. + */ + /** @deprecated */ + readonly all: HTMLAllCollection; + /** + * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. + */ + /** @deprecated */ + readonly anchors: HTMLCollectionOf; + /** + * Retrieves a collection of all applet objects in the document. + */ + /** @deprecated */ + readonly applets: HTMLCollectionOf; + /** + * Deprecated. Sets or retrieves a value that indicates the background color behind the object. + */ + /** @deprecated */ + bgColor: string; + /** + * Specifies the beginning and end of the document body. + */ + body: HTMLElement; + /** + * Returns document's encoding. + */ + readonly characterSet: string; + /** + * Gets or sets the character set used to encode the object. + */ + readonly charset: string; + /** + * Gets a value that indicates whether standards-compliant mode is switched on for the object. + */ + readonly compatMode: string; + /** + * Returns document's content type. + */ + readonly contentType: string; + /** + * Returns the HTTP cookies that apply to the Document. If there are no cookies or + * cookies can't be applied to this resource, the empty string will be returned. + * Can be set, to add a new cookie to the element's set of HTTP cookies. + * If the contents are sandboxed into a + * unique origin (e.g. in an iframe with the sandbox attribute), a + * "SecurityError" DOMException will be thrown on getting + * and setting. + */ + cookie: string; + /** + * Returns the script element, or the SVG script element, + * that is currently executing, as long as the element represents a classic script. + * In the case of reentrant script execution, returns the one that most recently started executing + * amongst those that have not yet finished executing. + * Returns null if the Document is not currently executing a script + * or SVG script element (e.g., because the running script is an event + * handler, or a timeout), or if the currently executing script or SVG + * script element represents a module script. + */ + readonly currentScript: HTMLOrSVGScriptElement | null; + readonly defaultView: WindowProxy | null; + /** + * Sets or gets a value that indicates whether the document can be edited. + */ + designMode: string; + /** + * Sets or retrieves a value that indicates the reading order of the object. + */ + dir: string; + /** + * Gets an object representing the document type declaration associated with the current document. + */ + readonly doctype: DocumentType | null; + /** + * Gets a reference to the root node of the document. + */ + readonly documentElement: HTMLElement; + /** + * Returns document's URL. + */ + readonly documentURI: string; + /** + * Sets or gets the security domain of the document. + */ + domain: string; + /** + * Retrieves a collection of all embed objects in the document. + */ + readonly embeds: HTMLCollectionOf; + /** + * Sets or gets the foreground (text) color of the document. + */ + /** @deprecated */ + fgColor: string; + /** + * Retrieves a collection, in source order, of all form objects in the document. + */ + readonly forms: HTMLCollectionOf; + /** @deprecated */ + readonly fullscreen: boolean; + /** + * Returns true if document has the ability to display elements fullscreen + * and fullscreen is supported, or false otherwise. + */ + readonly fullscreenEnabled: boolean; + /** + * Returns the head element. + */ + readonly head: HTMLHeadElement; + readonly hidden: boolean; + /** + * Retrieves a collection, in source order, of img objects in the document. + */ + readonly images: HTMLCollectionOf; + /** + * Gets the implementation object of the current document. + */ + readonly implementation: DOMImplementation; + /** + * Returns the character encoding used to create the webpage that is loaded into the document object. + */ + readonly inputEncoding: string; + /** + * Gets the date that the page was last modified, if the page supplies one. + */ + readonly lastModified: string; + /** + * Sets or gets the color of the document links. + */ + /** @deprecated */ + linkColor: string; + /** + * Retrieves a collection of all a objects that specify the href property and all area objects in the document. + */ + readonly links: HTMLCollectionOf; + /** + * Contains information about the current URL. + */ + location: Location; + onfullscreenchange: ((this: Document, ev: Event) => any) | null; + onfullscreenerror: ((this: Document, ev: Event) => any) | null; + /** + * Fires when the state of the object has changed. + * @param ev The event + */ + onreadystatechange: ((this: Document, ev: ProgressEvent) => any) | null; + onvisibilitychange: ((this: Document, ev: Event) => any) | null; + /** + * Returns document's origin. + */ + readonly origin: string; + /** + * Return an HTMLCollection of the embed elements in the Document. + */ + readonly plugins: HTMLCollectionOf; + /** + * Retrieves a value that indicates the current state of the object. + */ + readonly readyState: DocumentReadyState; + /** + * Gets the URL of the location that referred the user to the current page. + */ + readonly referrer: string; + /** + * Retrieves a collection of all script objects in the document. + */ + readonly scripts: HTMLCollectionOf; + readonly scrollingElement: Element | null; + readonly timeline: DocumentTimeline; + /** + * Contains the title of the document. + */ + title: string; + readonly visibilityState: VisibilityState; + /** + * Sets or gets the color of the links that the user has visited. + */ + /** @deprecated */ + vlinkColor: string; + /** + * Moves node from another document and returns it. + * If node is a document, throws a "NotSupportedError" DOMException or, if node is a shadow root, throws a + * "HierarchyRequestError" DOMException. + */ + adoptNode(source: T): T; + /** @deprecated */ + captureEvents(): void; + caretPositionFromPoint(x: number, y: number): CaretPosition | null; + /** @deprecated */ + caretRangeFromPoint(x: number, y: number): Range; + /** @deprecated */ + clear(): void; + /** + * Closes an output stream and forces the sent data to display. + */ + close(): void; + /** + * Creates an attribute object with a specified name. + * @param name String that sets the attribute object's name. + */ + createAttribute(localName: string): Attr; + createAttributeNS(namespace: string | null, qualifiedName: string): Attr; + /** + * Returns a CDATASection node whose data is data. + */ + createCDATASection(data: string): CDATASection; + /** + * Creates a comment object with the specified data. + * @param data Sets the comment object's data. + */ + createComment(data: string): Comment; + /** + * Creates a new document. + */ + createDocumentFragment(): DocumentFragment; + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + createElement(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; + /** @deprecated */ + createElement(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; + createElement(tagName: string, options?: ElementCreationOptions): HTMLElement; + /** + * Returns an element with namespace namespace. Its namespace prefix will be everything before ":" (U+003E) in qualifiedName or null. Its local name will be everything after + * ":" (U+003E) in qualifiedName or qualifiedName. + * If localName does not match the Name production an + * "InvalidCharacterError" DOMException will be thrown. + * If one of the following conditions is true a "NamespaceError" DOMException will be thrown: + * localName does not match the QName production. + * Namespace prefix is not null and namespace is the empty string. + * Namespace prefix is "xml" and namespace is not the XML namespace. + * qualifiedName or namespace prefix is "xmlns" and namespace is not the XMLNS namespace. + * namespace is the XMLNS namespace and + * neither qualifiedName nor namespace prefix is "xmlns". + * When supplied, options's is can be used to create a customized built-in element. + */ + createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "clipPath"): SVGClipPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "componentTransferFunction"): SVGComponentTransferFunctionElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "cursor"): SVGCursorElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "defs"): SVGDefsElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "desc"): SVGDescElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "ellipse"): SVGEllipseElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feBlend"): SVGFEBlendElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feColorMatrix"): SVGFEColorMatrixElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComponentTransfer"): SVGFEComponentTransferElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComposite"): SVGFECompositeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feConvolveMatrix"): SVGFEConvolveMatrixElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDiffuseLighting"): SVGFEDiffuseLightingElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDisplacementMap"): SVGFEDisplacementMapElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDistantLight"): SVGFEDistantLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFlood"): SVGFEFloodElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncA"): SVGFEFuncAElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncB"): SVGFEFuncBElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncG"): SVGFEFuncGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncR"): SVGFEFuncRElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feGaussianBlur"): SVGFEGaussianBlurElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feImage"): SVGFEImageElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMerge"): SVGFEMergeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMergeNode"): SVGFEMergeNodeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMorphology"): SVGFEMorphologyElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feOffset"): SVGFEOffsetElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "fePointLight"): SVGFEPointLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpecularLighting"): SVGFESpecularLightingElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpotLight"): SVGFESpotLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTile"): SVGFETileElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTurbulence"): SVGFETurbulenceElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "filter"): SVGFilterElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "foreignObject"): SVGForeignObjectElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "g"): SVGGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "image"): SVGImageElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "gradient"): SVGGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "line"): SVGLineElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "linearGradient"): SVGLinearGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "marker"): SVGMarkerElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "mask"): SVGMaskElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "path"): SVGPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "metadata"): SVGMetadataElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "pattern"): SVGPatternElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polygon"): SVGPolygonElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polyline"): SVGPolylineElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "radialGradient"): SVGRadialGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "rect"): SVGRectElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "svg"): SVGSVGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "script"): SVGScriptElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "stop"): SVGStopElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "style"): SVGStyleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "switch"): SVGSwitchElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "symbol"): SVGSymbolElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "tspan"): SVGTSpanElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textContent"): SVGTextContentElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "text"): SVGTextElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPath"): SVGTextPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPositioning"): SVGTextPositioningElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "title"): SVGTitleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "use"): SVGUseElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "view"): SVGViewElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement; + createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element; + createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element; + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; + createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent; + createEvent(eventInterface: "GamepadEvent"): GamepadEvent; + createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; + createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; + createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; + createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; + createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "MutationEvent"): MutationEvent; + createEvent(eventInterface: "MutationEvents"): MutationEvent; + createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface: "OverflowEvent"): OverflowEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; + createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; + createEvent(eventInterface: "PointerEvent"): PointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; + createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; + createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; + createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; + createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; + createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; + createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; + createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; + createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; + createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; + createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; + createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; + createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; + createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; + createEvent(eventInterface: "TouchEvent"): TouchEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent; + createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; + /** + * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list + * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator; + /** + * Returns a ProcessingInstruction node whose target is target and data is data. + * If target does not match the Name production an + * "InvalidCharacterError" DOMException will be thrown. + * If data contains "?>" an + * "InvalidCharacterError" DOMException will be thrown. + */ + createProcessingInstruction(target: string, data: string): ProcessingInstruction; + /** + * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. + */ + createRange(): Range; + /** + * Creates a text string from the specified value. + * @param data String that specifies the nodeValue property of the text node. + */ + createTextNode(data: string): Text; + createTouch(view: WindowProxy, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouchList(...touches: Touch[]): TouchList; + /** + * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow. + * @param filter A custom NodeFilter function to use. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker; + /** @deprecated */ + createTreeWalker(root: Node, whatToShow: number, filter: NodeFilter | null, entityReferenceExpansion?: boolean): TreeWalker; + /** + * Returns the element for the specified x coordinate and the specified y coordinate. + * @param x The x-offset + * @param y The y-offset + */ + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; + evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver | ((prefix: string) => string | null) | null, type: number, result: XPathResult | null): XPathResult; + /** + * Executes a command on the current document, current selection, or the given range. + * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. + * @param showUI Display the user interface, defaults to false. + * @param value Value to assign. + */ + execCommand(commandId: string, showUI?: boolean, value?: string): boolean; + /** + * Stops document's fullscreen element from being displayed fullscreen and + * resolves promise when done. + */ + exitFullscreen(): Promise; + getAnimations(): Animation[]; + /** + * Returns a reference to the first object with the specified value of the ID or NAME attribute. + * @param elementId String that specifies the ID value. Case-insensitive. + */ + getElementById(elementId: string): HTMLElement | null; + /** + * collection = element . getElementsByClassName(classNames) + */ + getElementsByClassName(classNames: string): HTMLCollectionOf; + /** + * Gets a collection of objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + getElementsByName(elementName: string): NodeListOf; + /** + * Retrieves a collection of objects based on the specified element name. + * @param name Specifies the name of an element. + */ + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: string): HTMLCollectionOf; + /** + * If namespace and localName are + * "*" returns a HTMLCollection of all descendant elements. + * If only namespace is "*" returns a HTMLCollection of all descendant elements whose local name is localName. + * If only localName is "*" returns a HTMLCollection of all descendant elements whose namespace is namespace. + * Otherwise, returns a HTMLCollection of all descendant elements whose namespace is namespace and local name is localName. + */ + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + /** + * Gets a value indicating whether the object currently has focus. + */ + hasFocus(): boolean; + importNode(importedNode: T, deep: boolean): T; + /** + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. + */ + open(url?: string, name?: string, features?: string, replace?: boolean): Document; + /** + * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. + * @param commandId Specifies a command identifier. + */ + queryCommandEnabled(commandId: string): boolean; + /** + * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. + * @param commandId String that specifies a command identifier. + */ + queryCommandIndeterm(commandId: string): boolean; + /** + * Returns a Boolean value that indicates the current state of the command. + * @param commandId String that specifies a command identifier. + */ + queryCommandState(commandId: string): boolean; + /** + * Returns a Boolean value that indicates whether the current command is supported on the current range. + * @param commandId Specifies a command identifier. + */ + queryCommandSupported(commandId: string): boolean; + /** + * Returns the current value of the document, range, or current selection for the given command. + * @param commandId String that specifies a command identifier. + */ + queryCommandValue(commandId: string): string; + /** @deprecated */ + releaseEvents(): void; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + write(...text: string[]): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content The text and HTML tags to write. + */ + writeln(...text: string[]): void; + /** + * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. + */ + addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Document: { + prototype: Document; + new(): Document; +}; + +interface DocumentAndElementEventHandlersEventMap { + "copy": ClipboardEvent; + "cut": ClipboardEvent; + "paste": ClipboardEvent; +} + +interface DocumentAndElementEventHandlers { + oncopy: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null; + oncut: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null; + onpaste: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null; + addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface DocumentEvent { + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; + createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent; + createEvent(eventInterface: "GamepadEvent"): GamepadEvent; + createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; + createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; + createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; + createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; + createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "MutationEvent"): MutationEvent; + createEvent(eventInterface: "MutationEvents"): MutationEvent; + createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface: "OverflowEvent"): OverflowEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; + createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; + createEvent(eventInterface: "PointerEvent"): PointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; + createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; + createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; + createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; + createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; + createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; + createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; + createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; + createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; + createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; + createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; + createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; + createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; + createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; + createEvent(eventInterface: "TouchEvent"): TouchEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent; + createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; +} + +interface DocumentFragment extends Node, NonElementParentNode, ParentNode { + getElementById(elementId: string): HTMLElement | null; +} + +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; +}; + +interface DocumentOrShadowRoot { + readonly activeElement: Element | null; + /** + * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. + */ + readonly styleSheets: StyleSheetList; + caretPositionFromPoint(x: number, y: number): CaretPosition | null; + /** @deprecated */ + caretRangeFromPoint(x: number, y: number): Range; + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; + getSelection(): Selection | null; +} + +interface DocumentTimeline extends AnimationTimeline { +} + +declare var DocumentTimeline: { + prototype: DocumentTimeline; + new(options?: DocumentTimelineOptions): DocumentTimeline; +}; + +interface DocumentType extends Node, ChildNode { + readonly name: string; + readonly publicId: string; + readonly systemId: string; +} + +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; +}; + +interface DragEvent extends MouseEvent { + /** + * Returns the DataTransfer object for the event. + */ + readonly dataTransfer: DataTransfer | null; +} + +declare var DragEvent: { + prototype: DragEvent; + new(type: string, eventInitDict?: DragEventInit): DragEvent; +}; + +interface DynamicsCompressorNode extends AudioNode { + readonly attack: AudioParam; + readonly knee: AudioParam; + readonly ratio: AudioParam; + readonly reduction: number; + readonly release: AudioParam; + readonly threshold: AudioParam; +} + +declare var DynamicsCompressorNode: { + prototype: DynamicsCompressorNode; + new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode; +}; + +interface EXT_blend_minmax { + readonly MAX_EXT: GLenum; + readonly MIN_EXT: GLenum; +} + +interface EXT_frag_depth { +} + +interface EXT_sRGB { + readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum; + readonly SRGB8_ALPHA8_EXT: GLenum; + readonly SRGB_ALPHA_EXT: GLenum; + readonly SRGB_EXT: GLenum; +} + +interface EXT_shader_texture_lod { +} + +interface EXT_texture_filter_anisotropic { + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; +} + +interface ElementEventMap { + "fullscreenchange": Event; + "fullscreenerror": Event; +} + +interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, Animatable { + readonly assignedSlot: HTMLSlotElement | null; + readonly attributes: NamedNodeMap; + /** + * Allows for manipulation of element's class content attribute as a + * set of whitespace-separated tokens through a DOMTokenList object. + */ + readonly classList: DOMTokenList; + /** + * Returns the value of element's class content attribute. Can be set + * to change it. + */ + className: string; + readonly clientHeight: number; + readonly clientLeft: number; + readonly clientTop: number; + readonly clientWidth: number; + /** + * Returns the value of element's id content attribute. Can be set to + * change it. + */ + id: string; + innerHTML: string; + /** + * Returns the local name. + */ + readonly localName: string; + /** + * Returns the namespace. + */ + readonly namespaceURI: string | null; + onfullscreenchange: ((this: Element, ev: Event) => any) | null; + onfullscreenerror: ((this: Element, ev: Event) => any) | null; + outerHTML: string; + /** + * Returns the namespace prefix. + */ + readonly prefix: string | null; + readonly scrollHeight: number; + scrollLeft: number; + scrollTop: number; + readonly scrollWidth: number; + /** + * Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise. + */ + readonly shadowRoot: ShadowRoot | null; + /** + * Returns the value of element's slot content attribute. Can be set to + * change it. + */ + slot: string; + /** + * Returns the HTML-uppercased qualified name. + */ + readonly tagName: string; + /** + * Creates a shadow root for element and returns it. + */ + attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; + /** + * Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise. + */ + closest(selector: K): HTMLElementTagNameMap[K] | null; + closest(selector: K): SVGElementTagNameMap[K] | null; + closest(selector: string): Element | null; + /** + * Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise. + */ + getAttribute(qualifiedName: string): string | null; + /** + * Returns element's attribute whose namespace is namespace and local name is localName, and null if there is + * no such attribute otherwise. + */ + getAttributeNS(namespace: string | null, localName: string): string | null; + /** + * Returns the qualified names of all element's attributes. + * Can contain duplicates. + */ + getAttributeNames(): string[]; + getAttributeNode(name: string): Attr | null; + getAttributeNodeNS(namespaceURI: string, localName: string): Attr | null; + getBoundingClientRect(): ClientRect | DOMRect; + getClientRects(): ClientRectList | DOMRectList; + getElementsByClassName(classNames: string): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + /** + * Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise. + */ + hasAttribute(qualifiedName: string): boolean; + /** + * Returns true if element has an attribute whose namespace is namespace and local name is localName. + */ + hasAttributeNS(namespace: string | null, localName: string): boolean; + /** + * Returns true if element has attributes, and false otherwise. + */ + hasAttributes(): boolean; + hasPointerCapture(pointerId: number): boolean; + insertAdjacentElement(position: InsertPosition, insertedElement: Element): Element | null; + insertAdjacentHTML(where: InsertPosition, html: string): void; + insertAdjacentText(where: InsertPosition, text: string): void; + /** + * Returns true if matching selectors against element's root yields element, and false otherwise. + */ + matches(selectors: string): boolean; + msGetRegionContent(): any; + releasePointerCapture(pointerId: number): void; + /** + * Removes element's first attribute whose qualified name is qualifiedName. + */ + removeAttribute(qualifiedName: string): void; + /** + * Removes element's attribute whose namespace is namespace and local name is localName. + */ + removeAttributeNS(namespace: string | null, localName: string): void; + removeAttributeNode(attr: Attr): Attr; + /** + * Displays element fullscreen and resolves promise when done. + */ + requestFullscreen(): Promise; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; + scrollTo(options?: ScrollToOptions): void; + scrollTo(x: number, y: number): void; + /** + * Sets the value of element's first attribute whose qualified name is qualifiedName to value. + */ + setAttribute(qualifiedName: string, value: string): void; + /** + * Sets the value of element's attribute whose namespace is namespace and local name is localName to value. + */ + setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; + setAttributeNode(attr: Attr): Attr | null; + setAttributeNodeNS(attr: Attr): Attr | null; + setPointerCapture(pointerId: number): void; + /** + * If force is not given, "toggles" qualifiedName, removing it if it is + * present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName. + * Returns true if qualifiedName is now present, and false otherwise. + */ + toggleAttribute(qualifiedName: string, force?: boolean): boolean; + webkitMatchesSelector(selectors: string): boolean; + addEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Element: { + prototype: Element; + new(): Element; +}; + +interface ElementCSSInlineStyle { + readonly style: CSSStyleDeclaration; +} + +interface ElementContentEditable { + contentEditable: string; + inputMode: string; + readonly isContentEditable: boolean; +} + +interface ElementCreationOptions { + is?: string; +} + +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent; +}; + +interface Event { + /** + * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. + */ + readonly bubbles: boolean; + cancelBubble: boolean; + readonly cancelable: boolean; + /** + * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise. + */ + readonly composed: boolean; + /** + * Returns the object whose event listener's callback is currently being + * invoked. + */ + readonly currentTarget: EventTarget | null; + readonly defaultPrevented: boolean; + readonly eventPhase: number; + /** + * Returns true if event was dispatched by the user agent, and + * false otherwise. + */ + readonly isTrusted: boolean; + returnValue: boolean; + /** @deprecated */ + readonly srcElement: Element | null; + /** + * Returns the object to which event is dispatched (its target). + */ + readonly target: EventTarget | null; + /** + * Returns the event's timestamp as the number of milliseconds measured relative to + * the time origin. + */ + readonly timeStamp: number; + /** + * Returns the type of event, e.g. + * "click", "hashchange", or + * "submit". + */ + readonly type: string; + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + preventDefault(): void; + /** + * Invoking this method prevents event from reaching + * any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any + * other objects. + */ + stopImmediatePropagation(): void; + /** + * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object. + */ + stopPropagation(): void; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +}; + +interface EventListenerObject { + handleEvent(evt: Event): void; +} + +interface EventSource extends EventTarget { + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + onerror: (evt: MessageEvent) => any; + onmessage: (evt: MessageEvent) => any; + onopen: (evt: MessageEvent) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; +}; + +interface EventSourceInit { + readonly withCredentials: boolean; +} + +interface EventTarget { + /** + * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched. + * The options argument sets listener-specific options. For compatibility this can be a + * boolean, in which case the method behaves exactly as if the value was specified as options's capture. + * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET. + * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners. + * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will + * be removed. + * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture. + */ + addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void; + /** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ + dispatchEvent(event: Event): boolean; + /** + * Removes the event listener in target's event listener list with the same type, callback, and options. + */ + removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +}; + +interface ExtensionScriptApis { + extensionIdToShortId(extensionId: string): number; + fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void; + genericFunction(routerAddress: any, parameters?: string, callbackId?: number): void; + genericSynchronousFunction(functionId: number, parameters?: string): string; + genericWebRuntimeCallout(to: any, from: any, payload: string): void; + getExtensionId(): string; + registerGenericFunctionCallbackHandler(callbackHandler: Function): void; + registerGenericPersistentCallbackHandler(callbackHandler: Function): void; + registerWebRuntimeCallbackHandler(handler: Function): any; +} + +declare var ExtensionScriptApis: { + prototype: ExtensionScriptApis; + new(): ExtensionScriptApis; +}; + +interface External { + /** @deprecated */ + AddSearchProvider(): void; + /** @deprecated */ + IsSearchProviderInstalled(): void; +} + +interface File extends Blob { + readonly lastModified: number; + readonly name: string; +} + +declare var File: { + prototype: File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; +}; + +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +}; + +interface FileReaderEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; +} + +interface FileReader extends EventTarget { + readonly error: DOMException | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; + readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; +}; + +interface FocusEvent extends UIEvent { + readonly relatedTarget: EventTarget; + initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; +} + +declare var FocusEvent: { + prototype: FocusEvent; + new(typeArg: string, eventInitDict?: FocusEventInit): FocusEvent; +}; + +interface FocusNavigationEvent extends Event { + readonly navigationReason: NavigationReason; + readonly originHeight: number; + readonly originLeft: number; + readonly originTop: number; + readonly originWidth: number; + requestFocus(): void; +} + +declare var FocusNavigationEvent: { + prototype: FocusNavigationEvent; + new(type: string, eventInitDict?: FocusNavigationEventInit): FocusNavigationEvent; +}; + +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; +} + +declare var FormData: { + prototype: FormData; + new(form?: HTMLFormElement): FormData; +}; + +interface GainNode extends AudioNode { + readonly gain: AudioParam; +} + +declare var GainNode: { + prototype: GainNode; + new(context: BaseAudioContext, options?: GainOptions): GainNode; +}; + +interface Gamepad { + readonly axes: number[]; + readonly buttons: GamepadButton[]; + readonly connected: boolean; + readonly displayId: number; + readonly hand: GamepadHand; + readonly hapticActuators: GamepadHapticActuator[]; + readonly id: string; + readonly index: number; + readonly mapping: GamepadMappingType; + readonly pose: GamepadPose | null; + readonly timestamp: number; +} + +declare var Gamepad: { + prototype: Gamepad; + new(): Gamepad; +}; + +interface GamepadButton { + readonly pressed: boolean; + readonly touched: boolean; + readonly value: number; +} + +declare var GamepadButton: { + prototype: GamepadButton; + new(): GamepadButton; +}; + +interface GamepadEvent extends Event { + readonly gamepad: Gamepad; +} + +declare var GamepadEvent: { + prototype: GamepadEvent; + new(typeArg: string, eventInitDict?: GamepadEventInit): GamepadEvent; +}; + +interface GamepadHapticActuator { + readonly type: GamepadHapticActuatorType; + pulse(value: number, duration: number): Promise; +} + +declare var GamepadHapticActuator: { + prototype: GamepadHapticActuator; + new(): GamepadHapticActuator; +}; + +interface GamepadPose { + readonly angularAcceleration: Float32Array | null; + readonly angularVelocity: Float32Array | null; + readonly hasOrientation: boolean; + readonly hasPosition: boolean; + readonly linearAcceleration: Float32Array | null; + readonly linearVelocity: Float32Array | null; + readonly orientation: Float32Array | null; + readonly position: Float32Array | null; +} + +declare var GamepadPose: { + prototype: GamepadPose; + new(): GamepadPose; +}; + +interface Geolocation { + clearWatch(watchId: number): void; + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +} + +interface GetSVGDocument { + getSVGDocument(): Document; +} + +interface GlobalEventHandlersEventMap { + "abort": UIEvent; + "animationcancel": AnimationEvent; + "animationend": AnimationEvent; + "animationiteration": AnimationEvent; + "animationstart": AnimationEvent; + "auxclick": Event; + "blur": FocusEvent; + "cancel": Event; + "canplay": Event; + "canplaythrough": Event; + "change": Event; + "click": MouseEvent; + "close": Event; + "contextmenu": MouseEvent; + "cuechange": Event; + "dblclick": MouseEvent; + "drag": DragEvent; + "dragend": DragEvent; + "dragenter": DragEvent; + "dragexit": Event; + "dragleave": DragEvent; + "dragover": DragEvent; + "dragstart": DragEvent; + "drop": DragEvent; + "durationchange": Event; + "emptied": Event; + "ended": Event; + "error": ErrorEvent; + "focus": FocusEvent; + "gotpointercapture": PointerEvent; + "input": Event; + "invalid": Event; + "keydown": KeyboardEvent; + "keypress": KeyboardEvent; + "keyup": KeyboardEvent; + "load": Event; + "loadeddata": Event; + "loadedmetadata": Event; + "loadend": ProgressEvent; + "loadstart": Event; + "lostpointercapture": PointerEvent; + "mousedown": MouseEvent; + "mouseenter": MouseEvent; + "mouseleave": MouseEvent; + "mousemove": MouseEvent; + "mouseout": MouseEvent; + "mouseover": MouseEvent; + "mouseup": MouseEvent; + "pause": Event; + "play": Event; + "playing": Event; + "pointercancel": PointerEvent; + "pointerdown": PointerEvent; + "pointerenter": PointerEvent; + "pointerleave": PointerEvent; + "pointermove": PointerEvent; + "pointerout": PointerEvent; + "pointerover": PointerEvent; + "pointerup": PointerEvent; + "progress": ProgressEvent; + "ratechange": Event; + "reset": Event; + "resize": UIEvent; + "scroll": UIEvent; + "securitypolicyviolation": SecurityPolicyViolationEvent; + "seeked": Event; + "seeking": Event; + "select": UIEvent; + "stalled": Event; + "submit": Event; + "suspend": Event; + "timeupdate": Event; + "toggle": Event; + "touchcancel": TouchEvent; + "touchend": TouchEvent; + "touchmove": TouchEvent; + "touchstart": TouchEvent; + "transitioncancel": TransitionEvent; + "transitionend": TransitionEvent; + "transitionrun": TransitionEvent; + "transitionstart": TransitionEvent; + "volumechange": Event; + "waiting": Event; + "wheel": WheelEvent; +} + +interface GlobalEventHandlers { + /** + * Fires when the user aborts the download. + * @param ev The event. + */ + onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onauxclick: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the object loses the input focus. + * @param ev The focus event. + */ + onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; + oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when playback is possible, but would require further buffering. + * @param ev The event. + */ + oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; + oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the contents of the object or selection have changed. + * @param ev The event. + */ + onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user clicks the left mouse button on the object + * @param ev The mouse event. + */ + onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user clicks the right mouse button in the client area, opening the context menu. + * @param ev The mouse event. + */ + oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user double-clicks the object. + * @param ev The mouse event. + */ + ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires on the source object continuously during a drag operation. + * @param ev The event. + */ + ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the source object when the user releases the mouse at the close of a drag operation. + * @param ev The event. + */ + ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the target element when the user drags the object to a valid drop target. + * @param ev The drag event. + */ + ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + ondragexit: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. + * @param ev The drag event. + */ + ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the target element continuously while the user drags the object over a valid drop target. + * @param ev The event. + */ + ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the source object when the user starts to drag a text selection or selected object. + * @param ev The event. + */ + ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Occurs when the duration attribute is updated. + * @param ev The event. + */ + ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the media element is reset to its initial state. + * @param ev The event. + */ + onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the end of playback is reached. + * @param ev The event + */ + onended: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when an error occurs during object loading. + * @param ev The event. + */ + onerror: ErrorEventHandler; + /** + * Fires when the object receives focus. + * @param ev The event. + */ + onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; + ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null; + oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user presses a key. + * @param ev The keyboard event + */ + onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; + /** + * Fires when the user presses an alphanumeric key. + * @param ev The event. + */ + onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; + /** + * Fires when the user releases a key. + * @param ev The keyboard event + */ + onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; + /** + * Fires immediately after the browser loads the object. + * @param ev The event. + */ + onload: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when media data is loaded at the current playback position. + * @param ev The event. + */ + onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the duration and dimensions of the media have been determined. + * @param ev The event. + */ + onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onloadend: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; + /** + * Occurs when Internet Explorer begins looking for media data. + * @param ev The event. + */ + onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + /** + * Fires when the user clicks the object with either mouse button. + * @param ev The mouse event. + */ + onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user moves the mouse over the object. + * @param ev The mouse event. + */ + onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user moves the mouse pointer outside the boundaries of the object. + * @param ev The mouse event. + */ + onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user moves the mouse pointer into the object. + * @param ev The mouse event. + */ + onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user releases a mouse button while the mouse is over the object. + * @param ev The mouse event. + */ + onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Occurs when playback is paused. + * @param ev The event. + */ + onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the play method is requested. + * @param ev The event. + */ + onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the audio or video has started playing. + * @param ev The event. + */ + onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + /** + * Occurs to indicate progress while downloading media data. + * @param ev The event. + */ + onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; + /** + * Occurs when the playback rate is increased or decreased. + * @param ev The event. + */ + onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user resets a form. + * @param ev The event. + */ + onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + /** + * Fires when the user repositions the scroll box in the scroll bar on the object. + * @param ev The event. + */ + onscroll: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null; + /** + * Occurs when the seek operation ends. + * @param ev The event. + */ + onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the current playback position is moved. + * @param ev The event. + */ + onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the current selection changes. + * @param ev The event. + */ + onselect: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + /** + * Occurs when the download has stopped. + * @param ev The event. + */ + onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onsubmit: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs if the load operation has been intentionally halted. + * @param ev The event. + */ + onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs to indicate the current playback position. + * @param ev The event. + */ + ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; + ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null; + ontouchcancel: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchend: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchmove: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchstart: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + /** + * Occurs when the volume is changed, or playback is muted or unmuted. + * @param ev The event. + */ + onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when playback stops because the next frame of a video resource is not available. + * @param ev The event. + */ + onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; + addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface GlobalFetch { + fetch(input: RequestInfo, init?: RequestInit): Promise; +} + +interface HTMLAllCollection { + /** + * Returns the number of elements in the collection. + */ + readonly length: number; + /** + * element = collection(index) + */ + item(nameOrIndex?: string): HTMLCollection | Element | null; + /** + * element = collection(name) + */ + namedItem(name: string): HTMLCollection | Element | null; + [index: number]: Element; +} + +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; +}; + +interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { + /** + * Sets or retrieves the character set used to encode the object. + */ + /** @deprecated */ + charset: string; + /** + * Sets or retrieves the coordinates of the object. + */ + /** @deprecated */ + coords: string; + download: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; + /** + * Sets or retrieves the shape of the object. + */ + /** @deprecated */ + name: string; + ping: string; + referrerPolicy: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + readonly relList: DOMTokenList; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + /** @deprecated */ + rev: string; + /** + * Sets or retrieves the shape of the object. + */ + /** @deprecated */ + shape: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + type: string; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; +}; + +interface HTMLAppletElement extends HTMLElement { + /** @deprecated */ + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + /** @deprecated */ + alt: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + /** @deprecated */ + archive: string; + /** @deprecated */ + code: string; + /** + * Sets or retrieves the URL of the component. + */ + /** @deprecated */ + codeBase: string; + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the height of the object. + */ + /** @deprecated */ + height: string; + /** @deprecated */ + hspace: number; + /** + * Sets or retrieves the shape of the object. + */ + /** @deprecated */ + name: string; + /** @deprecated */ + object: string; + /** @deprecated */ + vspace: number; + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; +}; + +interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the coordinates of the object. + */ + coords: string; + download: string; + /** + * Sets or gets whether clicks in this region cause action. + */ + /** @deprecated */ + noHref: boolean; + ping: string; + referrerPolicy: string; + rel: string; + readonly relList: DOMTokenList; + /** + * Sets or retrieves the shape of the object. + */ + shape: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; +}; + +interface HTMLAudioElement extends HTMLMediaElement { + addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; +}; + +interface HTMLBRElement extends HTMLElement { + /** + * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. + */ + /** @deprecated */ + clear: string; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +}; + +interface HTMLBaseElement extends HTMLElement { + /** + * Gets or sets the baseline URL on which relative links are based. + */ + href: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; +}; + +interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { + /** + * Sets or retrieves the current typeface family. + */ + /** @deprecated */ + face: string; + /** + * Sets or retrieves the font size of the object. + */ + /** @deprecated */ + size: number; + addEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBaseFontElement: { + prototype: HTMLBaseFontElement; + new(): HTMLBaseFontElement; +}; + +interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { + "orientationchange": Event; +} + +interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { + /** @deprecated */ + aLink: string; + /** @deprecated */ + background: string; + /** @deprecated */ + bgColor: string; + bgProperties: string; + /** @deprecated */ + link: string; + /** @deprecated */ + noWrap: boolean; + /** @deprecated */ + onorientationchange: ((this: HTMLBodyElement, ev: Event) => any) | null; + /** @deprecated */ + text: string; + /** @deprecated */ + vLink: string; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; +}; + +interface HTMLButtonElement extends HTMLElement { + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: boolean; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + readonly labels: NodeListOf; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets the classification and default behavior of the button. + */ + type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Sets or retrieves the default or selected value of the control. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; +}; + +interface HTMLCanvasElement extends HTMLElement { + /** + * Gets or sets the height of a canvas element on a document. + */ + height: number; + /** + * Gets or sets the width of a canvas element on a document. + */ + width: number; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "2d", contextAttributes?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null; + getContext(contextId: "webgl" | "experimental-webgl", contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null; + getContext(contextId: string, contextAttributes?: {}): CanvasRenderingContext2D | WebGLRenderingContext | null; + toBlob(callback: BlobCallback, type?: string, quality?: any): void; + /** + * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. + * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. + */ + toDataURL(type?: string, quality?: any): string; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; +}; + +interface HTMLCollectionBase { + /** + * Sets or retrieves the number of objects in a collection. + */ + readonly length: number; + /** + * Retrieves an object from various collections. + */ + item(index: number): Element | null; + [index: number]: Element; +} + +interface HTMLCollection extends HTMLCollectionBase { + /** + * Retrieves a select object or an object from an options collection. + */ + namedItem(name: string): Element | null; +} + +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +}; + +interface HTMLCollectionOf extends HTMLCollectionBase { + item(index: number): T | null; + namedItem(name: string): T | null; + [index: number]: T; +} + +interface HTMLDListElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +}; + +interface HTMLDataElement extends HTMLElement { + value: string; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDataElement: { + prototype: HTMLDataElement; + new(): HTMLDataElement; +}; + +interface HTMLDataListElement extends HTMLElement { + readonly options: HTMLCollectionOf; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; +}; + +interface HTMLDetailsElement extends HTMLElement { + open: boolean; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDetailsElement: { + prototype: HTMLDetailsElement; + new(): HTMLDetailsElement; +}; + +interface HTMLDialogElement extends HTMLElement { + open: boolean; + returnValue: string; + close(returnValue?: string): void; + show(): void; + showModal(): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDialogElement: { + prototype: HTMLDialogElement; + new(): HTMLDialogElement; +}; + +interface HTMLDirectoryElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; +}; + +interface HTMLDivElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +}; + +interface HTMLDocument extends Document { + addEventListener(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDocument: { + prototype: HTMLDocument; + new(): HTMLDocument; +}; + +interface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { +} + +interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, HTMLOrSVGElement, ElementCSSInlineStyle { + accessKey: string; + readonly accessKeyLabel: string; + autocapitalize: string; + dir: string; + draggable: boolean; + hidden: boolean; + innerText: string; + lang: string; + readonly offsetHeight: number; + readonly offsetLeft: number; + readonly offsetParent: Element | null; + readonly offsetTop: number; + readonly offsetWidth: number; + spellcheck: boolean; + title: string; + translate: boolean; + click(): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLElement: { + prototype: HTMLElement; + new(): HTMLElement; +}; + +interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { + /** @deprecated */ + align: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + hidden: any; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + readonly msPlayToSource: any; + /** + * Sets or retrieves the name of the object. + */ + /** @deprecated */ + name: string; + /** + * Retrieves the palette used for the embedded document. + */ + readonly palette: string; + /** + * Retrieves the URL of the plug-in used to view an embedded document. + */ + readonly pluginspage: string; + readonly readyState: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the height and width units of the embed object. + */ + units: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +}; + +interface HTMLFieldSetElement extends HTMLElement { + disabled: boolean; + readonly elements: HTMLCollection; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + name: string; + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; +}; + +interface HTMLFontElement extends HTMLElement { + /** @deprecated */ + color: string; + /** + * Sets or retrieves the current typeface family. + */ + /** @deprecated */ + face: string; + /** @deprecated */ + size: string; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; +}; + +interface HTMLFormControlsCollection extends HTMLCollectionBase { + /** + * element = collection[name] + */ + namedItem(name: string): RadioNodeList | Element | null; +} + +declare var HTMLFormControlsCollection: { + prototype: HTMLFormControlsCollection; + new(): HTMLFormControlsCollection; +}; + +interface HTMLFormElement extends HTMLElement { + /** + * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + */ + acceptCharset: string; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Retrieves a collection, in source order, of all controls in a given form. + */ + readonly elements: HTMLFormControlsCollection; + /** + * Sets or retrieves the MIME encoding for the form. + */ + encoding: string; + /** + * Sets or retrieves the encoding type for the form. + */ + enctype: string; + /** + * Sets or retrieves the number of objects in a collection. + */ + readonly length: number; + /** + * Sets or retrieves how to send the form data to the server. + */ + method: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Designates a form that is not validated when submitted. + */ + noValidate: boolean; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Fires when the user resets a form. + */ + reset(): void; + /** + * Fires when a FORM is about to be submitted. + */ + submit(): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: Element; + [name: string]: any; +} + +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; +}; + +interface HTMLFrameElement extends HTMLElement { + /** + * Retrieves the document object of the page or frame. + */ + /** @deprecated */ + readonly contentDocument: Document | null; + /** + * Retrieves the object of the specified. + */ + /** @deprecated */ + readonly contentWindow: WindowProxy | null; + /** + * Sets or retrieves whether to display a border for the frame. + */ + /** @deprecated */ + frameBorder: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + /** @deprecated */ + longDesc: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + /** @deprecated */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + /** @deprecated */ + marginWidth: string; + /** + * Sets or retrieves the frame name. + */ + /** @deprecated */ + name: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + /** @deprecated */ + noResize: boolean; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + /** @deprecated */ + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + /** @deprecated */ + src: string; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; +}; + +interface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { +} + +interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { + /** + * Sets or retrieves the frame widths of the object. + */ + /** @deprecated */ + cols: string; + /** + * Sets or retrieves the frame heights of the object. + */ + /** @deprecated */ + rows: string; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; +}; + +interface HTMLHRElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + color: string; + /** + * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. + */ + /** @deprecated */ + noShade: boolean; + /** @deprecated */ + size: string; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +}; + +interface HTMLHeadElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; +}; + +interface HTMLHeadingElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHeadingElement: { + prototype: HTMLHeadingElement; + new(): HTMLHeadingElement; +}; + +interface HTMLHtmlElement extends HTMLElement { + /** + * Sets or retrieves the DTD version that governs the current document. + */ + /** @deprecated */ + version: string; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; +}; + +interface HTMLHyperlinkElementUtils { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + username: string; +} + +interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + allowFullscreen: boolean; + allowPaymentRequest: boolean; + /** + * Retrieves the document object of the page or frame. + */ + readonly contentDocument: Document | null; + /** + * Retrieves the object of the specified. + */ + readonly contentWindow: Window | null; + /** + * Sets or retrieves whether to display a border for the frame. + */ + /** @deprecated */ + frameBorder: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + /** @deprecated */ + longDesc: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + /** @deprecated */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + /** @deprecated */ + marginWidth: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + readonly referrerPolicy: ReferrerPolicy; + readonly sandbox: DOMTokenList; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + /** @deprecated */ + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrives the content of the page that is to contain. + */ + srcdoc: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +}; + +interface HTMLImageElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Specifies the properties of a border drawn around an object. + */ + /** @deprecated */ + border: string; + /** + * Retrieves whether the object is fully loaded. + */ + readonly complete: boolean; + crossOrigin: string | null; + readonly currentSrc: string; + decoding: "async" | "sync" | "auto"; + /** + * Sets or retrieves the height of the object. + */ + height: number; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + /** @deprecated */ + hspace: number; + /** + * Sets or retrieves whether the image is a server-side image map. + */ + isMap: boolean; + /** + * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. + */ + /** @deprecated */ + longDesc: string; + /** @deprecated */ + lowsrc: string; + /** + * Sets or retrieves the name of the object. + */ + /** @deprecated */ + name: string; + /** + * The original height of the image resource before sizing. + */ + readonly naturalHeight: number; + /** + * The original width of the image resource before sizing. + */ + readonly naturalWidth: number; + referrerPolicy: string; + sizes: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + srcset: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the vertical margin for the object. + */ + /** @deprecated */ + vspace: number; + /** + * Sets or retrieves the width of the object. + */ + width: number; + readonly x: number; + readonly y: number; + decode(): Promise; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; +}; + +interface HTMLInputElement extends HTMLElement { + /** + * Sets or retrieves a comma-separated list of content types. + */ + accept: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Sets or retrieves the state of the check box or radio button. + */ + checked: boolean; + /** + * Sets or retrieves the state of the check box or radio button. + */ + defaultChecked: boolean; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + dirName: string; + disabled: boolean; + /** + * Returns a FileList object on a file type input object. + */ + files: FileList | null; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: boolean; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + /** + * Sets or retrieves the height of the object. + */ + height: number; + indeterminate: boolean; + readonly labels: NodeListOf | null; + /** + * Specifies the ID of a pre-defined datalist of options for an input element. + */ + readonly list: HTMLElement | null; + /** + * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + */ + max: string; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + */ + min: string; + minLength: number; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets or sets a string containing a regular expression that the user's input must match. + */ + pattern: string; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + readOnly: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + selectionDirection: string | null; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number | null; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number | null; + size: number; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. + */ + step: string; + /** + * Returns the content type of the object. + */ + type: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + /** @deprecated */ + useMap: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Returns the value of the data at the cursor's current position. + */ + value: string; + valueAsDate: any; + /** + * Returns the input field value as a number. + */ + valueAsNumber: number; + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Makes the selection equal to the current object. + */ + select(): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + * @param direction The direction in which the selection is performed. + */ + setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void; + /** + * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value. + * @param n Value to decrement the value by. + */ + stepDown(n?: number): void; + /** + * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. + * @param n Value to increment the value by. + */ + stepUp(n?: number): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; +}; + +interface HTMLLIElement extends HTMLElement { + /** @deprecated */ + type: string; + /** + * Sets or retrieves the value of a list item. + */ + value: number; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; +}; + +interface HTMLLabelElement extends HTMLElement { + readonly control: HTMLElement | null; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the object to which the given label object is assigned. + */ + htmlFor: string; + addEventListener(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLabelElement: { + prototype: HTMLLabelElement; + new(): HTMLLabelElement; +}; + +interface HTMLLegendElement extends HTMLElement { + /** @deprecated */ + align: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; +}; + +interface HTMLLinkElement extends HTMLElement, LinkStyle { + as: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + /** @deprecated */ + charset: string; + crossOrigin: string | null; + disabled: boolean; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; + integrity: string; + /** + * Sets or retrieves the media type. + */ + media: string; + referrerPolicy: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + readonly relList: DOMTokenList; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + /** @deprecated */ + rev: string; + readonly sizes: DOMTokenList; + /** + * Sets or retrieves the window or frame at which to target content. + */ + /** @deprecated */ + target: string; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +}; + +interface HTMLMainElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLMainElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMainElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMainElement: { + prototype: HTMLMainElement; + new(): HTMLMainElement; +}; + +interface HTMLMapElement extends HTMLElement { + /** + * Retrieves a collection of the area objects defined for the given map object. + */ + readonly areas: HTMLCollection; + /** + * Sets or retrieves the name of the object. + */ + name: string; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; +}; + +interface HTMLMarqueeElementEventMap extends HTMLElementEventMap { + "bounce": Event; + "finish": Event; + "start": Event; +} + +interface HTMLMarqueeElement extends HTMLElement { + /** @deprecated */ + behavior: string; + /** @deprecated */ + bgColor: string; + /** @deprecated */ + direction: string; + /** @deprecated */ + height: string; + /** @deprecated */ + hspace: number; + /** @deprecated */ + loop: number; + /** @deprecated */ + onbounce: ((this: HTMLMarqueeElement, ev: Event) => any) | null; + /** @deprecated */ + onfinish: ((this: HTMLMarqueeElement, ev: Event) => any) | null; + /** @deprecated */ + onstart: ((this: HTMLMarqueeElement, ev: Event) => any) | null; + /** @deprecated */ + scrollAmount: number; + /** @deprecated */ + scrollDelay: number; + /** @deprecated */ + trueSpeed: boolean; + /** @deprecated */ + vspace: number; + /** @deprecated */ + width: string; + /** @deprecated */ + start(): void; + /** @deprecated */ + stop(): void; + addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; +}; + +interface HTMLMediaElementEventMap extends HTMLElementEventMap { + "encrypted": MediaEncryptedEvent; + "msneedkey": Event; +} + +interface HTMLMediaElement extends HTMLElement { + /** + * Returns an AudioTrackList object with the audio tracks for a given video element. + */ + readonly audioTracks: AudioTrackList; + /** + * Gets or sets a value that indicates whether to start playing the media automatically. + */ + autoplay: boolean; + /** + * Gets a collection of buffered time ranges. + */ + readonly buffered: TimeRanges; + /** + * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). + */ + controls: boolean; + crossOrigin: string | null; + /** + * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. + */ + readonly currentSrc: string; + /** + * Gets or sets the current playback position, in seconds. + */ + currentTime: number; + defaultMuted: boolean; + /** + * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. + */ + defaultPlaybackRate: number; + /** + * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. + */ + readonly duration: number; + /** + * Gets information about whether the playback has ended or not. + */ + readonly ended: boolean; + /** + * Returns an object representing the current error state of the audio or video element. + */ + readonly error: MediaError | null; + /** + * Gets or sets a flag to specify whether playback should restart after it completes. + */ + loop: boolean; + readonly mediaKeys: MediaKeys | null; + /** + * Specifies the purpose of the audio or video media, such as background audio or alerts. + */ + msAudioCategory: string; + /** + * Specifies the output device id that the audio will be sent to. + */ + msAudioDeviceType: string; + readonly msGraphicsTrustStatus: MSGraphicsTrust; + /** + * Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element. + */ + /** @deprecated */ + readonly msKeys: MSMediaKeys; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + readonly msPlayToSource: any; + /** + * Specifies whether or not to enable low-latency playback on the media element. + */ + msRealTime: boolean; + /** + * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. + */ + muted: boolean; + /** + * Gets the current network activity for the element. + */ + readonly networkState: number; + onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null; + /** @deprecated */ + onmsneedkey: ((this: HTMLMediaElement, ev: Event) => any) | null; + /** + * Gets a flag that specifies whether playback is paused. + */ + readonly paused: boolean; + /** + * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. + */ + playbackRate: number; + /** + * Gets TimeRanges for the current media resource that has been played. + */ + readonly played: TimeRanges; + /** + * Gets or sets the current playback position, in seconds. + */ + preload: string; + readonly readyState: number; + /** + * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. + */ + readonly seekable: TimeRanges; + /** + * Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource. + */ + readonly seeking: boolean; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + srcObject: MediaStream | MediaSource | Blob | null; + readonly textTracks: TextTrackList; + readonly videoTracks: VideoTrackList; + /** + * Gets or sets the volume level for audio portions of the media element. + */ + volume: number; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack; + /** + * Returns a string that specifies whether the client can play a given media resource type. + */ + canPlayType(type: string): CanPlayTypeResult; + /** + * Resets the audio or video object and loads a new media resource. + */ + load(): void; + /** + * Clears all effects from the media pipeline. + */ + msClearEffects(): void; + msGetAsCastingSource(): any; + /** + * Inserts the specified audio effect into media pipeline. + */ + msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + /** @deprecated */ + msSetMediaKeys(mediaKeys: MSMediaKeys): void; + /** + * Specifies the media protection manager for a given media pipeline. + */ + msSetMediaProtectionManager(mediaProtectionManager?: any): void; + /** + * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + */ + pause(): void; + /** + * Loads and starts playback of a media resource. + */ + play(): Promise; + setMediaKeys(mediaKeys: MediaKeys | null): Promise; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_ENOUGH_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_METADATA: number; + readonly HAVE_NOTHING: number; + readonly NETWORK_EMPTY: number; + readonly NETWORK_IDLE: number; + readonly NETWORK_LOADING: number; + readonly NETWORK_NO_SOURCE: number; + addEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMediaElement: { + prototype: HTMLMediaElement; + new(): HTMLMediaElement; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_ENOUGH_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_METADATA: number; + readonly HAVE_NOTHING: number; + readonly NETWORK_EMPTY: number; + readonly NETWORK_IDLE: number; + readonly NETWORK_LOADING: number; + readonly NETWORK_NO_SOURCE: number; +}; + +interface HTMLMenuElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; +}; + +interface HTMLMetaElement extends HTMLElement { + /** + * Gets or sets meta-information to associate with httpEquiv or name. + */ + content: string; + /** + * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. + */ + httpEquiv: string; + /** + * Sets or retrieves the value specified in the content attribute of the meta object. + */ + name: string; + /** + * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. + */ + /** @deprecated */ + scheme: string; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; +}; + +interface HTMLMeterElement extends HTMLElement { + high: number; + readonly labels: NodeListOf; + low: number; + max: number; + min: number; + optimum: number; + value: number; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMeterElement: { + prototype: HTMLMeterElement; + new(): HTMLMeterElement; +}; + +interface HTMLModElement extends HTMLElement { + /** + * Sets or retrieves reference information about the object. + */ + cite: string; + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + addEventListener(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; +}; + +interface HTMLOListElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + reversed: boolean; + /** + * The starting number. + */ + start: number; + type: string; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +}; + +interface HTMLObjectElement extends HTMLElement, GetSVGDocument { + /** + * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + */ + readonly BaseHref: string; + /** @deprecated */ + align: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + /** @deprecated */ + archive: string; + /** @deprecated */ + border: string; + /** + * Sets or retrieves the URL of the file containing the compiled Java class. + */ + /** @deprecated */ + code: string; + /** + * Sets or retrieves the URL of the component. + */ + /** @deprecated */ + codeBase: string; + /** + * Sets or retrieves the Internet media type for the code associated with the object. + */ + /** @deprecated */ + codeType: string; + /** + * Retrieves the document object of the page or frame. + */ + readonly contentDocument: Document | null; + /** + * Sets or retrieves the URL that references the data of the object. + */ + data: string; + /** @deprecated */ + declare: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** @deprecated */ + hspace: number; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + readonly msPlayToSource: any; + /** + * Sets or retrieves the name of the object. + */ + name: string; + readonly readyState: number; + /** + * Sets or retrieves a message to be displayed while an object is loading. + */ + /** @deprecated */ + standby: string; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + typemustmatch: boolean; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** @deprecated */ + vspace: number; + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; +}; + +interface HTMLOptGroupElement extends HTMLElement { + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; +}; + +interface HTMLOptionElement extends HTMLElement { + /** + * Sets or retrieves the status of an option. + */ + defaultSelected: boolean; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the ordinal position of an option in a list box. + */ + readonly index: number; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + /** + * Sets or retrieves whether the option in the list box is the default item. + */ + selected: boolean; + /** + * Sets or retrieves the text string specified by the option tag. + */ + text: string; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; +}; + +interface HTMLOptionsCollection extends HTMLCollectionOf { + /** + * Returns the number of elements in the collection. + * When set to a smaller number, truncates the number of option elements in the corresponding container. + * When set to a greater number, adds new blank option elements to that container. + */ + length: number; + /** + * Returns the index of the first selected item, if any, or −1 if there is no selected + * item. + * Can be set, to change the selection. + */ + selectedIndex: number; + /** + * Inserts element before the node given by before. + * The before argument can be a number, in which case element is inserted before the item with that number, or an element from the + * collection, in which case element is inserted before that element. + * If before is omitted, null, or a number out of range, then element will be added at the end of the list. + * This method will throw a "HierarchyRequestError" DOMException if + * element is an ancestor of the element into which it is to be inserted. + */ + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; + /** + * Removes the item with index index from the collection. + */ + remove(index: number): void; +} + +declare var HTMLOptionsCollection: { + prototype: HTMLOptionsCollection; + new(): HTMLOptionsCollection; +}; + +interface HTMLOrSVGElement { + readonly dataset: DOMStringMap; + nonce: string; + tabIndex: number; + blur(): void; + focus(options?: FocusOptions): void; +} + +interface HTMLOutputElement extends HTMLElement { + defaultValue: string; + readonly form: HTMLFormElement | null; + readonly htmlFor: DOMTokenList; + readonly labels: NodeListOf; + name: string; + readonly type: string; + readonly validationMessage: string; + readonly validity: ValidityState; + value: string; + readonly willValidate: boolean; + checkValidity(): boolean; + reportValidity(): boolean; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOutputElement: { + prototype: HTMLOutputElement; + new(): HTMLOutputElement; +}; + +interface HTMLParagraphElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +}; + +interface HTMLParamElement extends HTMLElement { + /** + * Sets or retrieves the name of an input parameter for an element. + */ + name: string; + /** + * Sets or retrieves the content type of the resource designated by the value attribute. + */ + /** @deprecated */ + type: string; + /** + * Sets or retrieves the value of an input parameter for an element. + */ + value: string; + /** + * Sets or retrieves the data type of the value attribute. + */ + /** @deprecated */ + valueType: string; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +}; + +interface HTMLPictureElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLPictureElement: { + prototype: HTMLPictureElement; + new(): HTMLPictureElement; +}; + +interface HTMLPreElement extends HTMLElement { + /** + * Sets or gets a value that you can use to implement your own width functionality for the object. + */ + /** @deprecated */ + width: number; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +}; + +interface HTMLProgressElement extends HTMLElement { + readonly labels: NodeListOf; + /** + * Defines the maximum, or "done" value for a progress element. + */ + max: number; + /** + * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + */ + readonly position: number; + /** + * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. + */ + value: number; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; +}; + +interface HTMLQuoteElement extends HTMLElement { + /** + * Sets or retrieves reference information about the object. + */ + cite: string; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; +}; + +interface HTMLScriptElement extends HTMLElement { + async: boolean; + /** + * Sets or retrieves the character set used to encode the object. + */ + /** @deprecated */ + charset: string; + crossOrigin: string | null; + /** + * Sets or retrieves the status of the script. + */ + defer: boolean; + /** + * Sets or retrieves the event for which the script is written. + */ + /** @deprecated */ + event: string; + /** + * Sets or retrieves the object that is bound to the event script. + */ + /** @deprecated */ + htmlFor: string; + integrity: string; + noModule: boolean; + referrerPolicy: string; + /** + * Retrieves the URL to an external file that contains the source code or data. + */ + src: string; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + /** + * Sets or retrieves the MIME type for the associated scripting engine. + */ + type: string; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; +}; + +interface HTMLSelectElement extends HTMLElement { + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Sets or retrieves the name of the object. + */ + name: string; + readonly options: HTMLOptionsCollection; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the index of the selected option in a select object. + */ + selectedIndex: number; + readonly selectedOptions: HTMLCollectionOf; + /** + * Sets or retrieves the number of rows in the list box. + */ + size: number; + /** + * Retrieves the type of select control based on the value of the MULTIPLE attribute. + */ + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Adds an element to the areas, controlRange, or options collection. + * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. + * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. + */ + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Retrieves a select object or an object from an options collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + */ + item(index: number): Element | null; + /** + * Retrieves a select object or an object from an options collection. + * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. + */ + namedItem(name: string): HTMLOptionElement | null; + /** + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. + */ + remove(): void; + remove(index: number): void; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [name: number]: HTMLOptionElement | HTMLOptGroupElement; +} + +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; +}; + +interface HTMLSlotElement extends HTMLElement { + name: string; + assignedElements(options?: AssignedNodesOptions): Element[]; + assignedNodes(options?: AssignedNodesOptions): Node[]; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLSlotElement: { + prototype: HTMLSlotElement; + new(): HTMLSlotElement; +}; + +interface HTMLSourceElement extends HTMLElement { + /** + * Gets or sets the intended media type of the media source. + */ + media: string; + sizes: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + srcset: string; + /** + * Gets or sets the MIME type of a media resource. + */ + type: string; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; +}; + +interface HTMLSpanElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; +}; + +interface HTMLStyleElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the media type. + */ + media: string; + /** + * Retrieves the CSS language in which the style sheet is written. + */ + /** @deprecated */ + type: string; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; +}; + +interface HTMLTableCaptionElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the caption or legend. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; +}; + +interface HTMLTableCellElement extends HTMLElement { + /** + * Sets or retrieves abbreviated text for the object. + */ + abbr: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** + * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + */ + /** @deprecated */ + axis: string; + /** @deprecated */ + bgColor: string; + /** + * Retrieves the position of the object in the cells collection of a row. + */ + readonly cellIndex: number; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Sets or retrieves the number columns in the table that the object should span. + */ + colSpan: number; + /** + * Sets or retrieves a list of header cells that provide information for the object. + */ + headers: string; + /** + * Sets or retrieves the height of the object. + */ + /** @deprecated */ + height: string; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + /** @deprecated */ + noWrap: boolean; + /** + * Sets or retrieves how many rows in a table the cell should span. + */ + rowSpan: number; + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; + /** @deprecated */ + vAlign: string; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; +}; + +interface HTMLTableColElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the object relative to the display or table. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Sets or retrieves the number of columns in the group. + */ + span: number; + /** @deprecated */ + vAlign: string; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; +}; + +interface HTMLTableDataCellElement extends HTMLTableCellElement { + addEventListener(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableDataCellElement: { + prototype: HTMLTableDataCellElement; + new(): HTMLTableDataCellElement; +}; + +interface HTMLTableElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + bgColor: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + /** @deprecated */ + border: string; + /** + * Retrieves the caption object of a table. + */ + caption: HTMLTableCaptionElement | null; + /** + * Sets or retrieves the amount of space between the border of the cell and the content of the cell. + */ + /** @deprecated */ + cellPadding: string; + /** + * Sets or retrieves the amount of space between cells in a table. + */ + /** @deprecated */ + cellSpacing: string; + /** + * Sets or retrieves the way the border frame around the table is displayed. + */ + /** @deprecated */ + frame: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + readonly rows: HTMLCollectionOf; + /** + * Sets or retrieves which dividing lines (inner borders) are displayed. + */ + /** @deprecated */ + rules: string; + /** + * Sets or retrieves a description and/or structure of the object. + */ + /** @deprecated */ + summary: string; + /** + * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + */ + readonly tBodies: HTMLCollectionOf; + /** + * Retrieves the tFoot object of the table. + */ + tFoot: HTMLTableSectionElement | null; + /** + * Retrieves the tHead object of the table. + */ + tHead: HTMLTableSectionElement | null; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + /** + * Creates an empty caption element in the table. + */ + createCaption(): HTMLTableCaptionElement; + /** + * Creates an empty tBody element in the table. + */ + createTBody(): HTMLTableSectionElement; + /** + * Creates an empty tFoot element in the table. + */ + createTFoot(): HTMLTableSectionElement; + /** + * Returns the tHead element object if successful, or null otherwise. + */ + createTHead(): HTMLTableSectionElement; + /** + * Deletes the caption element and its contents from the table. + */ + deleteCaption(): void; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index: number): void; + /** + * Deletes the tFoot element and its contents from the table. + */ + deleteTFoot(): void; + /** + * Deletes the tHead element and its contents from the table. + */ + deleteTHead(): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; +}; + +interface HTMLTableHeaderCellElement extends HTMLTableCellElement { + scope: string; + addEventListener(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableHeaderCellElement: { + prototype: HTMLTableHeaderCellElement; + new(): HTMLTableHeaderCellElement; +}; + +interface HTMLTableRowElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + bgColor: string; + /** + * Retrieves a collection of all cells in the table row. + */ + readonly cells: HTMLCollectionOf; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Retrieves the position of the object in the rows collection for the table. + */ + readonly rowIndex: number; + /** + * Retrieves the position of the object in the collection. + */ + readonly sectionRowIndex: number; + /** @deprecated */ + vAlign: string; + /** + * Removes the specified cell from the table row, as well as from the cells collection. + * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + */ + deleteCell(index: number): void; + /** + * Creates a new cell in the table row, and adds the cell to the cells collection. + * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + */ + insertCell(index?: number): HTMLTableDataCellElement; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; +}; + +interface HTMLTableSectionElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + readonly rows: HTMLCollectionOf; + /** @deprecated */ + vAlign: string; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index: number): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; +}; + +interface HTMLTemplateElement extends HTMLElement { + readonly content: DocumentFragment; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTemplateElement: { + prototype: HTMLTemplateElement; + new(): HTMLTemplateElement; +}; + +interface HTMLTextAreaElement extends HTMLElement { + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Sets or retrieves the width of the object. + */ + cols: number; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + dirName: string; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + minLength: number; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Sets or retrieves the value indicated whether the content of the object is read-only. + */ + readOnly: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: number; + selectionDirection: string; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + readonly textLength: number; + /** + * Retrieves the type of control. + */ + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Retrieves or sets the text in the entry field of the textArea element. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Sets or retrieves how to handle wordwrapping in the object. + */ + wrap: string; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Highlights the input area of a form element. + */ + select(): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + * @param direction The direction in which the selection is performed. + */ + setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTextAreaElement: { + prototype: HTMLTextAreaElement; + new(): HTMLTextAreaElement; +}; + +interface HTMLTimeElement extends HTMLElement { + dateTime: string; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTimeElement: { + prototype: HTMLTimeElement; + new(): HTMLTimeElement; +}; + +interface HTMLTitleElement extends HTMLElement { + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; +}; + +interface HTMLTrackElement extends HTMLElement { + default: boolean; + kind: string; + label: string; + readonly readyState: number; + src: string; + srclang: string; + readonly track: TextTrack; + readonly ERROR: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + readonly ERROR: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; +}; + +interface HTMLUListElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + /** @deprecated */ + type: string; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; +}; + +interface HTMLUnknownElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; +}; + +interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap { + "MSVideoFormatChanged": Event; + "MSVideoFrameStepCompleted": Event; + "MSVideoOptimalLayoutChanged": Event; +} + +interface HTMLVideoElement extends HTMLMediaElement { + /** + * Gets or sets the height of the video element. + */ + height: number; + msHorizontalMirror: boolean; + readonly msIsLayoutOptimalForPlayback: boolean; + readonly msIsStereo3D: boolean; + msStereo3DPackingMode: string; + msStereo3DRenderMode: string; + msZoom: boolean; + onMSVideoFormatChanged: ((this: HTMLVideoElement, ev: Event) => any) | null; + onMSVideoFrameStepCompleted: ((this: HTMLVideoElement, ev: Event) => any) | null; + onMSVideoOptimalLayoutChanged: ((this: HTMLVideoElement, ev: Event) => any) | null; + /** + * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + */ + poster: string; + /** + * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + */ + readonly videoHeight: number; + /** + * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + */ + readonly videoWidth: number; + readonly webkitDisplayingFullscreen: boolean; + readonly webkitSupportsFullscreen: boolean; + /** + * Gets or sets the width of the video element. + */ + width: number; + getVideoPlaybackQuality(): VideoPlaybackQuality; + msFrameStep(forward: boolean): void; + msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void; + webkitEnterFullScreen(): void; + webkitEnterFullscreen(): void; + webkitExitFullScreen(): void; + webkitExitFullscreen(): void; + addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; +}; + +interface HashChangeEvent extends Event { + readonly newURL: string; + readonly oldURL: string; +} + +declare var HashChangeEvent: { + prototype: HashChangeEvent; + new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; +}; + +interface Headers { + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; +} + +declare var Headers: { + prototype: Headers; + new(init?: HeadersInit): Headers; +}; + +interface History { + readonly length: number; + scrollRestoration: ScrollRestoration; + readonly state: any; + back(): void; + forward(): void; + go(delta?: number): void; + pushState(data: any, title: string, url?: string | null): void; + replaceState(data: any, title: string, url?: string | null): void; +} + +declare var History: { + prototype: History; + new(): History; +}; + +interface HkdfCtrParams extends Algorithm { + context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + hash: string | Algorithm; + label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface IDBArrayKey extends Array { +} + +interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") + * of the cursor. + */ + readonly direction: IDBCursorDirection; + /** + * Returns the key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey | IDBKeyRange; + /** + * Returns the effective key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey | IDBKeyRange; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ + readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in + * range. + */ + advance(count: number): void; + /** + * Advances the cursor to the next record in range matching or + * after key. + */ + continue(key?: IDBValidKey | IDBKeyRange): void; + /** + * Advances the cursor to the next record in range matching + * or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey | IDBKeyRange, primaryKey: IDBValidKey | IDBKeyRange): void; + /** + * Delete the record pointed at by the cursor with a new value. + * If successful, request's result will be undefined. + */ + delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * If successful, request's result will be the record's key. + */ + update(value: any): IDBRequest; +} + +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; +}; + +interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ + readonly value: any; +} + +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +}; + +interface IDBDatabaseEventMap { + "abort": Event; + "close": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; +} + +interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ + readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; + onerror: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ + readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ + close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") + * and scope which can be a single object store name or an array of names. + */ + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +}; + +interface IDBEnvironment { + readonly indexedDB: IDBFactory; +} + +interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if + * the keys are equal. + * Throws a "DataError" DOMException if either input is not a valid key. + */ + cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the + * database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request + * is successful request's result will be null. + */ + deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the specified version. If the database already exists + * with a lower version and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close, then an upgrade + * will occur. If the database already exists with a higher + * version the request will fail. If the request is + * successful request's result will + * be the connection. + */ + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +}; + +interface IDBIndex { + readonly keyPath: string | string[]; + readonly multiEntry: boolean; + /** + * Updates the name of the store to newName. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + /** + * Retrieves the number of records matching the given key or key range in query. + * If successful, request's result will be the + * count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +}; + +interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ + readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ + readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ + readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ + readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; +} + +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. + * If lowerOpen is true, lower is not included in the range. + * If upperOpen is true, upper is not included in the range. + */ + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no + * upper bound. If open is true, key is not included in the + * range. + */ + lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ + only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ + upperBound(upper: any, open?: boolean): IDBKeyRange; +}; + +interface IDBObjectStore { + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ + readonly indexNames: DOMStringList; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Updates the name of the store to newName. + * Throws "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the associated transaction. + */ + readonly transaction: IDBTransaction; + add(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes all records in store. + * If successful, request's result will + * be undefined. + */ + clear(): IDBRequest; + /** + * Retrieves the number of records matching the + * given key or key range in query. + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be + * satisfied with the data already in store the upgrade + * transaction will abort with + * a "ConstraintError" DOMException. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * If successful, request's result will + * be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; + index(name: string): IDBIndex; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursor pointing at the first matching record, or + * null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; +} + +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +}; + +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": IDBVersionChangeEvent; +} + +interface IDBOpenDBRequest extends IDBRequest { + onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null; + onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +}; + +interface IDBRequestEventMap { + "error": Event; + "success": Event; +} + +interface IDBRequest extends EventTarget { + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws + * a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; + onerror: ((this: IDBRequest, ev: Event) => any) | null; + onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, + * then returns "done". + */ + readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, + * or undefined if the request failed. Throws a + * "InvalidStateError" DOMException if the request is still pending. + */ + readonly result: T; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open + * request. + */ + readonly source: IDBObjectStore | IDBIndex | IDBCursor; + /** + * Returns the IDBTransaction the request was made within. + * If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +}; + +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": Event; +} + +interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ + readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the + * error (a DOMException) providing the reason. + */ + readonly error: DOMException; + /** + * Returns the mode the transaction was created with + * ("readonly" or "readwrite"), or "versionchange" for + * an upgrade transaction. + */ + readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the + * transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBTransaction, ev: Event) => any) | null; + oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; + onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with + * a "AbortError" DOMException and all changes made to the database will be + * reverted. + */ + abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; +}; + +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; +} + +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; +}; + +interface IIRFilterNode extends AudioNode { + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +} + +declare var IIRFilterNode: { + prototype: IIRFilterNode; + new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode; +}; + +interface ImageBitmap { + /** + * Returns the intrinsic height of the image, in CSS + * pixels. + */ + readonly height: number; + /** + * Returns the intrinsic width of the image, in CSS + * pixels. + */ + readonly width: number; + /** + * Releases imageBitmap's underlying bitmap data. + */ + close(): void; +} + +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; +}; + +interface ImageBitmapOptions { + colorSpaceConversion?: "none" | "default"; + imageOrientation?: "none" | "flipY"; + premultiplyAlpha?: "none" | "premultiply" | "default"; + resizeHeight?: number; + resizeQuality?: "pixelated" | "low" | "medium" | "high"; + resizeWidth?: number; +} + +interface ImageBitmapRenderingContext { + /** + * Returns the canvas element that the context is bound to. + */ + readonly canvas: HTMLCanvasElement; + /** + * Replaces contents of the canvas element to which context + * is bound with a transparent black bitmap whose size corresponds to the width and height + * content attributes of the canvas element. + */ + transferFromImageBitmap(bitmap: ImageBitmap | null): void; +} + +declare var ImageBitmapRenderingContext: { + prototype: ImageBitmapRenderingContext; + new(): ImageBitmapRenderingContext; +}; + +interface ImageData { + /** + * Returns the one-dimensional array containing the data in RGBA order, as integers in the + * range 0 to 255. + */ + readonly data: Uint8ClampedArray; + /** + * Returns the actual dimensions of the data in the ImageData object, in + * pixels. + */ + readonly height: number; + readonly width: number; +} + +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; +}; + +interface IntersectionObserver { + readonly root: Element | null; + readonly rootMargin: string; + readonly thresholds: number[]; + disconnect(): void; + observe(target: Element): void; + takeRecords(): IntersectionObserverEntry[]; + unobserve(target: Element): void; +} + +declare var IntersectionObserver: { + prototype: IntersectionObserver; + new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver; +}; + +interface IntersectionObserverEntry { + readonly boundingClientRect: ClientRect | DOMRect; + readonly intersectionRatio: number; + readonly intersectionRect: ClientRect | DOMRect; + readonly isIntersecting: boolean; + readonly rootBounds: ClientRect | DOMRect; + readonly target: Element; + readonly time: number; +} + +declare var IntersectionObserverEntry: { + prototype: IntersectionObserverEntry; + new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry; +}; + +interface KeyboardEvent extends UIEvent { + readonly altKey: boolean; + /** @deprecated */ + char: string; + /** @deprecated */ + readonly charCode: number; + readonly code: string; + readonly ctrlKey: boolean; + readonly key: string; + /** @deprecated */ + readonly keyCode: number; + readonly location: number; + readonly metaKey: boolean; + readonly repeat: boolean; + readonly shiftKey: boolean; + /** @deprecated */ + readonly which: number; + getModifierState(keyArg: string): boolean; + /** @deprecated */ + initKeyboardEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, keyArg: string, locationArg: number, modifiersListArg: string, repeat: boolean, locale: string): void; + readonly DOM_KEY_LOCATION_JOYSTICK: number; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_MOBILE: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_STANDARD: number; +} + +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; + readonly DOM_KEY_LOCATION_JOYSTICK: number; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_MOBILE: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_STANDARD: number; +}; + +interface KeyframeEffect extends AnimationEffect { + composite: CompositeOperation; + iterationComposite: IterationCompositeOperation; + target: Element | null; + getKeyframes(): ComputedKeyframe[]; + setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void; +} + +declare var KeyframeEffect: { + prototype: KeyframeEffect; + new(target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect; + new(source: KeyframeEffect): KeyframeEffect; +}; + +interface LinkStyle { + readonly sheet: StyleSheet | null; +} + +interface ListeningStateChangedEvent extends Event { + readonly label: string; + readonly state: ListeningState; +} + +declare var ListeningStateChangedEvent: { + prototype: ListeningStateChangedEvent; + new(): ListeningStateChangedEvent; +}; + +interface Location { + /** + * Returns a DOMStringList object listing the origins of the ancestor browsing contexts, from the parent browsing + * context to the top-level browsing context. + */ + readonly ancestorOrigins: DOMStringList; + /** + * Returns the Location object's URL's fragment (includes leading "#" if non-empty). + * Can be set, to navigate to the same URL with a changed fragment (ignores leading "#"). + */ + hash: string; + /** + * Returns the Location object's URL's host and port (if different from the default + * port for the scheme). + * Can be set, to navigate to the same URL with a changed host and port. + */ + host: string; + /** + * Returns the Location object's URL's host. + * Can be set, to navigate to the same URL with a changed host. + */ + hostname: string; + /** + * Returns the Location object's URL. + * Can be set, to navigate to the given URL. + */ + href: string; + /** + * Returns the Location object's URL's origin. + */ + readonly origin: string; + /** + * Returns the Location object's URL's path. + * Can be set, to navigate to the same URL with a changed path. + */ + pathname: string; + /** + * Returns the Location object's URL's port. + * Can be set, to navigate to the same URL with a changed port. + */ + port: string; + /** + * Returns the Location object's URL's scheme. + * Can be set, to navigate to the same URL with a changed scheme. + */ + protocol: string; + /** + * Returns the Location object's URL's query (includes leading "?" if non-empty). + * Can be set, to navigate to the same URL with a changed query (ignores leading "?"). + */ + search: string; + /** + * Navigates to the given URL. + */ + assign(url: string): void; + /** + * Reloads the current page. + */ + reload(): void; + /** @deprecated */ + reload(forcedReload: boolean): void; + /** + * Removes the current page from the session history and navigates to the given URL. + */ + replace(url: string): void; +} + +declare var Location: { + prototype: Location; + new(): Location; +}; + +interface MSAssertion { + readonly id: string; + readonly type: MSCredentialType; +} + +declare var MSAssertion: { + prototype: MSAssertion; + new(): MSAssertion; +}; + +interface MSBlobBuilder { + append(data: any, endings?: string): void; + getBlob(contentType?: string): Blob; +} + +declare var MSBlobBuilder: { + prototype: MSBlobBuilder; + new(): MSBlobBuilder; +}; + +interface MSFIDOCredentialAssertion extends MSAssertion { + readonly algorithm: string | Algorithm; + readonly attestation: any; + readonly publicKey: string; + readonly transportHints: MSTransportType[]; +} + +declare var MSFIDOCredentialAssertion: { + prototype: MSFIDOCredentialAssertion; + new(): MSFIDOCredentialAssertion; +}; + +interface MSFIDOSignature { + readonly authnrData: string; + readonly clientData: string; + readonly signature: string; +} + +declare var MSFIDOSignature: { + prototype: MSFIDOSignature; + new(): MSFIDOSignature; +}; + +interface MSFIDOSignatureAssertion extends MSAssertion { + readonly signature: MSFIDOSignature; +} + +declare var MSFIDOSignatureAssertion: { + prototype: MSFIDOSignatureAssertion; + new(): MSFIDOSignatureAssertion; +}; + +interface MSFileSaver { + msSaveBlob(blob: any, defaultName?: string): boolean; + msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; +} + +interface MSGesture { + target: Element; + addPointer(pointerId: number): void; + stop(): void; +} + +declare var MSGesture: { + prototype: MSGesture; + new(): MSGesture; +}; + +interface MSGestureEvent extends UIEvent { + readonly clientX: number; + readonly clientY: number; + readonly expansion: number; + readonly gestureObject: any; + readonly hwTimestamp: number; + readonly offsetX: number; + readonly offsetY: number; + readonly rotation: number; + readonly scale: number; + readonly screenX: number; + readonly screenY: number; + readonly translationX: number; + readonly translationY: number; + readonly velocityAngular: number; + readonly velocityExpansion: number; + readonly velocityX: number; + readonly velocityY: number; + initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; + readonly MSGESTURE_FLAG_BEGIN: number; + readonly MSGESTURE_FLAG_CANCEL: number; + readonly MSGESTURE_FLAG_END: number; + readonly MSGESTURE_FLAG_INERTIA: number; + readonly MSGESTURE_FLAG_NONE: number; +} + +declare var MSGestureEvent: { + prototype: MSGestureEvent; + new(): MSGestureEvent; + readonly MSGESTURE_FLAG_BEGIN: number; + readonly MSGESTURE_FLAG_CANCEL: number; + readonly MSGESTURE_FLAG_END: number; + readonly MSGESTURE_FLAG_INERTIA: number; + readonly MSGESTURE_FLAG_NONE: number; +}; + +interface MSGraphicsTrust { + readonly constrictionActive: boolean; + readonly status: string; +} + +declare var MSGraphicsTrust: { + prototype: MSGraphicsTrust; + new(): MSGraphicsTrust; +}; + +interface MSInputMethodContextEventMap { + "MSCandidateWindowHide": Event; + "MSCandidateWindowShow": Event; + "MSCandidateWindowUpdate": Event; +} + +interface MSInputMethodContext extends EventTarget { + readonly compositionEndOffset: number; + readonly compositionStartOffset: number; + oncandidatewindowhide: ((this: MSInputMethodContext, ev: Event) => any) | null; + oncandidatewindowshow: ((this: MSInputMethodContext, ev: Event) => any) | null; + oncandidatewindowupdate: ((this: MSInputMethodContext, ev: Event) => any) | null; + readonly target: HTMLElement; + getCandidateWindowClientRect(): ClientRect; + getCompositionAlternatives(): string[]; + hasComposition(): boolean; + isCandidateWindowVisible(): boolean; + addEventListener(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MSInputMethodContext: { + prototype: MSInputMethodContext; + new(): MSInputMethodContext; +}; + +interface MSMediaKeyError { + readonly code: number; + readonly systemCode: number; + readonly MS_MEDIA_KEYERR_CLIENT: number; + readonly MS_MEDIA_KEYERR_DOMAIN: number; + readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number; + readonly MS_MEDIA_KEYERR_OUTPUT: number; + readonly MS_MEDIA_KEYERR_SERVICE: number; + readonly MS_MEDIA_KEYERR_UNKNOWN: number; +} + +declare var MSMediaKeyError: { + prototype: MSMediaKeyError; + new(): MSMediaKeyError; + readonly MS_MEDIA_KEYERR_CLIENT: number; + readonly MS_MEDIA_KEYERR_DOMAIN: number; + readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number; + readonly MS_MEDIA_KEYERR_OUTPUT: number; + readonly MS_MEDIA_KEYERR_SERVICE: number; + readonly MS_MEDIA_KEYERR_UNKNOWN: number; +}; + +interface MSMediaKeyMessageEvent extends Event { + readonly destinationURL: string | null; + readonly message: Uint8Array; +} + +declare var MSMediaKeyMessageEvent: { + prototype: MSMediaKeyMessageEvent; + new(): MSMediaKeyMessageEvent; +}; + +interface MSMediaKeyNeededEvent extends Event { + readonly initData: Uint8Array | null; +} + +declare var MSMediaKeyNeededEvent: { + prototype: MSMediaKeyNeededEvent; + new(): MSMediaKeyNeededEvent; +}; + +interface MSMediaKeySession extends EventTarget { + readonly error: MSMediaKeyError | null; + readonly keySystem: string; + readonly sessionId: string; + close(): void; + update(key: Uint8Array): void; +} + +declare var MSMediaKeySession: { + prototype: MSMediaKeySession; + new(): MSMediaKeySession; +}; + +interface MSMediaKeys { + readonly keySystem: string; + createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array | null): MSMediaKeySession; +} + +declare var MSMediaKeys: { + prototype: MSMediaKeys; + new(keySystem: string): MSMediaKeys; + isTypeSupported(keySystem: string, type?: string | null): boolean; + isTypeSupportedWithFeatures(keySystem: string, type?: string | null): string; +}; + +interface MSNavigatorDoNotTrack { + confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; + confirmWebWideTrackingException(args: ExceptionInformation): boolean; + removeSiteSpecificTrackingException(args: ExceptionInformation): void; + removeWebWideTrackingException(args: ExceptionInformation): void; + storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; + storeWebWideTrackingException(args: StoreExceptionsInformation): void; +} + +interface MSPointerEvent extends MouseEvent { + readonly currentPoint: any; + readonly height: number; + readonly hwTimestamp: number; + readonly intermediatePoints: any; + readonly isPrimary: boolean; + readonly pointerId: number; + readonly pointerType: any; + readonly pressure: number; + readonly rotation: number; + readonly tiltX: number; + readonly tiltY: number; + readonly width: number; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; +} + +declare var MSPointerEvent: { + prototype: MSPointerEvent; + new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent; +}; + +interface MSStream { + readonly type: string; + msClose(): void; + msDetachStream(): any; +} + +declare var MSStream: { + prototype: MSStream; + new(): MSStream; +}; + +interface MediaDeviceInfo { + readonly deviceId: string; + readonly groupId: string; + readonly kind: MediaDeviceKind; + readonly label: string; +} + +declare var MediaDeviceInfo: { + prototype: MediaDeviceInfo; + new(): MediaDeviceInfo; +}; + +interface MediaDevicesEventMap { + "devicechange": Event; +} + +interface MediaDevices extends EventTarget { + ondevicechange: ((this: MediaDevices, ev: Event) => any) | null; + enumerateDevices(): Promise; + getSupportedConstraints(): MediaTrackSupportedConstraints; + getUserMedia(constraints: MediaStreamConstraints): Promise; + addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaDevices: { + prototype: MediaDevices; + new(): MediaDevices; +}; + +interface MediaElementAudioSourceNode extends AudioNode { + readonly mediaElement: HTMLMediaElement; +} + +declare var MediaElementAudioSourceNode: { + prototype: MediaElementAudioSourceNode; + new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; +}; + +interface MediaEncryptedEvent extends Event { + readonly initData: ArrayBuffer | null; + readonly initDataType: string; +} + +declare var MediaEncryptedEvent: { + prototype: MediaEncryptedEvent; + new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; +}; + +interface MediaError { + readonly code: number; + readonly message: string; + readonly msExtendedCode: number; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; + readonly MS_MEDIA_ERR_ENCRYPTED: number; +} + +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; + readonly MS_MEDIA_ERR_ENCRYPTED: number; +}; + +interface MediaKeyMessageEvent extends Event { + readonly message: ArrayBuffer; + readonly messageType: MediaKeyMessageType; +} + +declare var MediaKeyMessageEvent: { + prototype: MediaKeyMessageEvent; + new(type: string, eventInitDict?: MediaKeyMessageEventInit): MediaKeyMessageEvent; +}; + +interface MediaKeySession extends EventTarget { + readonly closed: Promise; + readonly expiration: number; + readonly keyStatuses: MediaKeyStatusMap; + readonly sessionId: string; + close(): Promise; + generateRequest(initDataType: string, initData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): Promise; + load(sessionId: string): Promise; + remove(): Promise; + update(response: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): Promise; +} + +declare var MediaKeySession: { + prototype: MediaKeySession; + new(): MediaKeySession; +}; + +interface MediaKeyStatusMap { + readonly size: number; + forEach(callback: Function, thisArg?: any): void; + get(keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): MediaKeyStatus; + has(keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): boolean; +} + +declare var MediaKeyStatusMap: { + prototype: MediaKeyStatusMap; + new(): MediaKeyStatusMap; +}; + +interface MediaKeySystemAccess { + readonly keySystem: string; + createMediaKeys(): Promise; + getConfiguration(): MediaKeySystemConfiguration; +} + +declare var MediaKeySystemAccess: { + prototype: MediaKeySystemAccess; + new(): MediaKeySystemAccess; +}; + +interface MediaKeys { + createSession(sessionType?: MediaKeySessionType): MediaKeySession; + setServerCertificate(serverCertificate: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): Promise; +} + +declare var MediaKeys: { + prototype: MediaKeys; + new(): MediaKeys; +}; + +interface MediaList { + readonly length: number; + mediaText: string; + appendMedium(medium: string): void; + deleteMedium(medium: string): void; + item(index: number): string | null; + toString(): number; + [index: number]: string; +} + +declare var MediaList: { + prototype: MediaList; + new(): MediaList; +}; + +interface MediaQueryListEventMap { + "change": MediaQueryListEvent; +} + +interface MediaQueryList extends EventTarget { + readonly matches: boolean; + readonly media: string; + onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null; + /** @deprecated */ + addListener(listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void; + /** @deprecated */ + removeListener(listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void; + addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; +}; + +interface MediaQueryListEvent extends Event { + readonly matches: boolean; + readonly media: string; +} + +declare var MediaQueryListEvent: { + prototype: MediaQueryListEvent; + new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent; +}; + +interface MediaSource extends EventTarget { + readonly activeSourceBuffers: SourceBufferList; + duration: number; + readonly readyState: ReadyState; + readonly sourceBuffers: SourceBufferList; + addSourceBuffer(type: string): SourceBuffer; + endOfStream(error?: EndOfStreamError): void; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; +} + +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; +}; + +interface MediaStreamEventMap { + "active": Event; + "addtrack": MediaStreamTrackEvent; + "inactive": Event; + "removetrack": MediaStreamTrackEvent; +} + +interface MediaStream extends EventTarget { + readonly active: boolean; + readonly id: string; + onactive: ((this: MediaStream, ev: Event) => any) | null; + onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null; + oninactive: ((this: MediaStream, ev: Event) => any) | null; + onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null; + addTrack(track: MediaStreamTrack): void; + clone(): MediaStream; + getAudioTracks(): MediaStreamTrack[]; + getTrackById(trackId: string): MediaStreamTrack | null; + getTracks(): MediaStreamTrack[]; + getVideoTracks(): MediaStreamTrack[]; + removeTrack(track: MediaStreamTrack): void; + stop(): void; + addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaStream: { + prototype: MediaStream; + new(): MediaStream; + new(stream: MediaStream): MediaStream; + new(tracks: MediaStreamTrack[]): MediaStream; +}; + +interface MediaStreamAudioDestinationNode extends AudioNode { + readonly stream: MediaStream; +} + +declare var MediaStreamAudioDestinationNode: { + prototype: MediaStreamAudioDestinationNode; + new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode; +}; + +interface MediaStreamAudioSourceNode extends AudioNode { + readonly mediaStream: MediaStream; +} + +declare var MediaStreamAudioSourceNode: { + prototype: MediaStreamAudioSourceNode; + new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode; +}; + +interface MediaStreamError { + readonly constraintName: string | null; + readonly message: string | null; + readonly name: string; +} + +declare var MediaStreamError: { + prototype: MediaStreamError; + new(): MediaStreamError; +}; + +interface MediaStreamErrorEvent extends Event { + readonly error: MediaStreamError | null; +} + +declare var MediaStreamErrorEvent: { + prototype: MediaStreamErrorEvent; + new(typeArg: string, eventInitDict?: MediaStreamErrorEventInit): MediaStreamErrorEvent; +}; + +interface MediaStreamEvent extends Event { + readonly stream: MediaStream | null; +} + +declare var MediaStreamEvent: { + prototype: MediaStreamEvent; + new(type: string, eventInitDict: MediaStreamEventInit): MediaStreamEvent; +}; + +interface MediaStreamTrackEventMap { + "ended": MediaStreamErrorEvent; + "isolationchange": Event; + "mute": Event; + "overconstrained": MediaStreamErrorEvent; + "unmute": Event; +} + +interface MediaStreamTrack extends EventTarget { + enabled: boolean; + readonly id: string; + readonly isolated: boolean; + readonly kind: string; + readonly label: string; + readonly muted: boolean; + onended: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null; + onisolationchange: ((this: MediaStreamTrack, ev: Event) => any) | null; + onmute: ((this: MediaStreamTrack, ev: Event) => any) | null; + onoverconstrained: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null; + onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null; + readonly readonly: boolean; + readonly readyState: MediaStreamTrackState; + readonly remote: boolean; + applyConstraints(constraints: MediaTrackConstraints): Promise; + clone(): MediaStreamTrack; + getCapabilities(): MediaTrackCapabilities; + getConstraints(): MediaTrackConstraints; + getSettings(): MediaTrackSettings; + stop(): void; + addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaStreamTrack: { + prototype: MediaStreamTrack; + new(): MediaStreamTrack; +}; + +interface MediaStreamTrackAudioSourceNode extends AudioNode { +} + +declare var MediaStreamTrackAudioSourceNode: { + prototype: MediaStreamTrackAudioSourceNode; + new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; +}; + +interface MediaStreamTrackEvent extends Event { + readonly track: MediaStreamTrack; +} + +declare var MediaStreamTrackEvent: { + prototype: MediaStreamTrackEvent; + new(typeArg: string, eventInitDict?: MediaStreamTrackEventInit): MediaStreamTrackEvent; +}; + +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; +} + +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +}; + +interface MessageEvent extends Event { + /** + * Returns the data of the message. + */ + readonly data: any; + /** + * Returns the last event ID string, for + * server-sent events. + */ + readonly lastEventId: string; + /** + * Returns the origin of the message, for server-sent events and + * cross-document messaging. + */ + readonly origin: string; + /** + * Returns the MessagePort array sent with the message, for cross-document + * messaging and channel messaging. + */ + readonly ports: ReadonlyArray; + /** + * Returns the WindowProxy of the source window, for cross-document + * messaging, and the MessagePort being attached, in the connect event fired at + * SharedWorkerGlobalScope objects. + */ + readonly source: MessageEventSource | null; +} + +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +}; + +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface MessagePort extends EventTarget { + onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ + close(): void; + /** + * Posts a message through the channel. Objects listed in transfer are + * transferred, not just cloned, meaning that they are no longer usable on the sending side. + * Throws a "DataCloneError" DOMException if + * transfer contains duplicate objects or port, or if message + * could not be cloned. + */ + postMessage(message: any, transfer?: Transferable[]): void; + /** + * Begins dispatching messages received on the port. + */ + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +}; + +interface MimeType { + readonly description: string; + readonly enabledPlugin: Plugin; + readonly suffixes: string; + readonly type: string; +} + +declare var MimeType: { + prototype: MimeType; + new(): MimeType; +}; + +interface MimeTypeArray { + readonly length: number; + item(index: number): Plugin; + namedItem(type: string): Plugin; + [index: number]: Plugin; +} + +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +}; + +interface MouseEvent extends UIEvent { + readonly altKey: boolean; + readonly button: number; + readonly buttons: number; + readonly clientX: number; + readonly clientY: number; + readonly ctrlKey: boolean; + /** @deprecated */ + readonly fromElement: Element; + readonly layerX: number; + readonly layerY: number; + readonly metaKey: boolean; + readonly movementX: number; + readonly movementY: number; + readonly offsetX: number; + readonly offsetY: number; + readonly pageX: number; + readonly pageY: number; + readonly relatedTarget: EventTarget; + readonly screenX: number; + readonly screenY: number; + readonly shiftKey: boolean; + /** @deprecated */ + readonly toElement: Element; + /** @deprecated */ + readonly which: number; + readonly x: number; + readonly y: number; + getModifierState(keyArg: string): boolean; + initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void; +} + +declare var MouseEvent: { + prototype: MouseEvent; + new(typeArg: string, eventInitDict?: MouseEventInit): MouseEvent; +}; + +interface MutationEvent extends Event { + readonly attrChange: number; + readonly attrName: string; + readonly newValue: string; + readonly prevValue: string; + readonly relatedNode: Node; + initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void; + readonly ADDITION: number; + readonly MODIFICATION: number; + readonly REMOVAL: number; +} + +declare var MutationEvent: { + prototype: MutationEvent; + new(): MutationEvent; + readonly ADDITION: number; + readonly MODIFICATION: number; + readonly REMOVAL: number; +}; + +interface MutationObserver { + disconnect(): void; + /** + * Instructs the user agent to observe a given target (a node) and report any mutations based on + * the criteria given by options (an object). + * The options argument allows for setting mutation + * observation options via object members. These are the object members that + * can be used: + * childList + * Set to true if mutations to target's children are to be observed. + * attributes + * Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is + * specified. + * characterData + * Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. + * subtree + * Set to true if mutations to not just target, but + * also target's descendants are to be + * observed. + * attributeOldValue + * Set to true if attributes is true or omitted + * and target's attribute value before the mutation + * needs to be recorded. + * characterDataOldValue + * Set to true if characterData is set to true or omitted and target's data before the mutation + * needs to be recorded. + * attributeFilter + * Set to a list of attribute local names (without namespace) if not all attribute mutations need to be + * observed and attributes is true + * or omitted. + */ + observe(target: Node, options?: MutationObserverInit): void; + /** + * Empties the record queue and + * returns what was in there. + */ + takeRecords(): MutationRecord[]; +} + +declare var MutationObserver: { + prototype: MutationObserver; + new(callback: MutationCallback): MutationObserver; +}; + +interface MutationRecord { + readonly addedNodes: NodeList; + /** + * Returns the local name of the + * changed attribute, and null otherwise. + */ + readonly attributeName: string | null; + /** + * Returns the namespace of the + * changed attribute, and null otherwise. + */ + readonly attributeNamespace: string | null; + /** + * Return the previous and next sibling respectively + * of the added or removed nodes, and null otherwise. + */ + readonly nextSibling: Node | null; + /** + * The return value depends on type. For + * "attributes", it is the value of the + * changed attribute before the change. + * For "characterData", it is the data of the changed node before the change. For + * "childList", it is null. + */ + readonly oldValue: string | null; + readonly previousSibling: Node | null; + /** + * Return the nodes added and removed + * respectively. + */ + readonly removedNodes: NodeList; + readonly target: Node; + /** + * Returns "attributes" if it was an attribute mutation. + * "characterData" if it was a mutation to a CharacterData node. And + * "childList" if it was a mutation to the tree of nodes. + */ + readonly type: MutationRecordType; +} + +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; +}; + +interface NamedNodeMap { + readonly length: number; + getNamedItem(qualifiedName: string): Attr | null; + getNamedItemNS(namespace: string | null, localName: string): Attr | null; + item(index: number): Attr | null; + removeNamedItem(qualifiedName: string): Attr; + removeNamedItemNS(namespace: string | null, localName: string): Attr; + setNamedItem(attr: Attr): Attr | null; + setNamedItemNS(attr: Attr): Attr | null; + [index: number]: Attr; +} + +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; +}; + +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + +interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, MSNavigatorDoNotTrack, MSFileSaver, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorUserMedia, NavigatorLanguage, NavigatorStorage, NavigatorAutomationInformation { + readonly activeVRDisplays: ReadonlyArray; + readonly authentication: WebAuthentication; + readonly cookieEnabled: boolean; + readonly doNotTrack: string | null; + gamepadInputEmulation: GamepadInputEmulationType; + readonly geolocation: Geolocation; + readonly maxTouchPoints: number; + readonly mimeTypes: MimeTypeArray; + readonly msManipulationViewsEnabled: boolean; + readonly msMaxTouchPoints: number; + readonly msPointerEnabled: boolean; + readonly plugins: PluginArray; + readonly pointerEnabled: boolean; + readonly serviceWorker: ServiceWorkerContainer; + readonly webdriver: boolean; + getGamepads(): (Gamepad | null)[]; + getVRDisplays(): Promise; + javaEnabled(): boolean; + msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; + requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; + vibrate(pattern: number | number[]): boolean; +} + +declare var Navigator: { + prototype: Navigator; + new(): Navigator; +}; + +interface NavigatorAutomationInformation { + readonly webdriver: boolean; +} + +interface NavigatorBeacon { + sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean; +} + +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + +interface NavigatorContentUtils { +} + +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly productSub: string; + readonly userAgent: string; + readonly vendor: string; + readonly vendorSub: string; +} + +interface NavigatorLanguage { + readonly language: string; + readonly languages: ReadonlyArray; +} + +interface NavigatorOnLine { + readonly onLine: boolean; +} + +interface NavigatorStorage { + readonly storage: StorageManager; +} + +interface NavigatorStorageUtils { +} + +interface NavigatorUserMedia { + readonly mediaDevices: MediaDevices; + getDisplayMedia(constraints: MediaStreamConstraints): Promise; + getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; +} + +interface Node extends EventTarget { + /** + * Returns node's node document's document base URL. + */ + readonly baseURI: string; + /** + * Returns the children. + */ + readonly childNodes: NodeListOf; + /** + * Returns the first child. + */ + readonly firstChild: ChildNode | null; + /** + * Returns true if node is connected and false otherwise. + */ + readonly isConnected: boolean; + /** + * Returns the last child. + */ + readonly lastChild: ChildNode | null; + /** @deprecated */ + readonly namespaceURI: string | null; + /** + * Returns the next sibling. + */ + readonly nextSibling: Node | null; + /** + * Returns a string appropriate for the type of node, as + * follows: + * Element + * Its HTML-uppercased qualified name. + * Attr + * Its qualified name. + * Text + * "#text". + * CDATASection + * "#cdata-section". + * ProcessingInstruction + * Its target. + * Comment + * "#comment". + * Document + * "#document". + * DocumentType + * Its name. + * DocumentFragment + * "#document-fragment". + */ + readonly nodeName: string; + readonly nodeType: number; + nodeValue: string | null; + /** + * Returns the node document. + * Returns null for documents. + */ + readonly ownerDocument: Document | null; + /** + * Returns the parent element. + */ + readonly parentElement: HTMLElement | null; + /** + * Returns the parent. + */ + readonly parentNode: Node & ParentNode | null; + /** + * Returns the previous sibling. + */ + readonly previousSibling: Node | null; + textContent: string | null; + appendChild(newChild: T): T; + /** + * Returns a copy of node. If deep is true, the copy also includes the node's descendants. + */ + cloneNode(deep?: boolean): Node; + compareDocumentPosition(other: Node): number; + /** + * Returns true if other is an inclusive descendant of node, and false otherwise. + */ + contains(other: Node | null): boolean; + /** + * Returns node's shadow-including root. + */ + getRootNode(options?: GetRootNodeOptions): Node; + /** + * Returns whether node has children. + */ + hasChildNodes(): boolean; + insertBefore(newChild: T, refChild: Node | null): T; + isDefaultNamespace(namespace: string | null): boolean; + /** + * Returns whether node and otherNode have the same properties. + */ + isEqualNode(otherNode: Node | null): boolean; + isSameNode(otherNode: Node | null): boolean; + lookupNamespaceURI(prefix: string | null): string | null; + lookupPrefix(namespace: string | null): string | null; + /** + * Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes. + */ + normalize(): void; + removeChild(oldChild: T): T; + replaceChild(newChild: Node, oldChild: T): T; + readonly ATTRIBUTE_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly ELEMENT_NODE: number; + readonly ENTITY_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly NOTATION_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly TEXT_NODE: number; +} + +declare var Node: { + prototype: Node; + new(): Node; + readonly ATTRIBUTE_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly ELEMENT_NODE: number; + readonly ENTITY_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly NOTATION_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly TEXT_NODE: number; +}; + +interface NodeFilter { + acceptNode(node: Node): number; +} + +declare var NodeFilter: { + readonly FILTER_ACCEPT: number; + readonly FILTER_REJECT: number; + readonly FILTER_SKIP: number; + readonly SHOW_ALL: number; + readonly SHOW_ATTRIBUTE: number; + readonly SHOW_CDATA_SECTION: number; + readonly SHOW_COMMENT: number; + readonly SHOW_DOCUMENT: number; + readonly SHOW_DOCUMENT_FRAGMENT: number; + readonly SHOW_DOCUMENT_TYPE: number; + readonly SHOW_ELEMENT: number; + readonly SHOW_ENTITY: number; + readonly SHOW_ENTITY_REFERENCE: number; + readonly SHOW_NOTATION: number; + readonly SHOW_PROCESSING_INSTRUCTION: number; + readonly SHOW_TEXT: number; +}; + +interface NodeIterator { + readonly filter: NodeFilter | null; + readonly pointerBeforeReferenceNode: boolean; + readonly referenceNode: Node; + readonly root: Node; + readonly whatToShow: number; + detach(): void; + nextNode(): Node | null; + previousNode(): Node | null; +} + +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; +}; + +interface NodeList { + /** + * Returns the number of nodes in the collection. + */ + readonly length: number; + /** + * element = collection[index] + */ + item(index: number): Node | null; + /** + * Performs the specified action for each node in an list. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void; + [index: number]: Node; +} + +declare var NodeList: { + prototype: NodeList; + new(): NodeList; +}; + +interface NodeListOf extends NodeList { + length: number; + item(index: number): TNode; + /** + * Performs the specified action for each node in an list. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf) => void, thisArg?: any): void; + [index: number]: TNode; +} + +interface NodeSelector { + querySelector(selectors: K): HTMLElementTagNameMap[K] | null; + querySelector(selectors: K): SVGElementTagNameMap[K] | null; + querySelector(selectors: string): E | null; + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: string): NodeListOf; +} + +interface NonDocumentTypeChildNode { + /** + * Returns the first following sibling that + * is an element, and null otherwise. + */ + readonly nextElementSibling: Element | null; + /** + * Returns the first preceding sibling that + * is an element, and null otherwise. + */ + readonly previousElementSibling: Element | null; +} + +interface NonElementParentNode { + /** + * Returns the first element within node's descendants whose ID is elementId. + */ + getElementById(elementId: string): Element | null; +} + +interface NotificationEventMap { + "click": Event; + "close": Event; + "error": Event; + "show": Event; +} + +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + onclick: ((this: Notification, ev: Event) => any) | null; + onclose: ((this: Notification, ev: Event) => any) | null; + onerror: ((this: Notification, ev: Event) => any) | null; + onshow: ((this: Notification, ev: Event) => any) | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + readonly maxActions: number; + readonly permission: NotificationPermission; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; +}; + +interface OES_element_index_uint { +} + +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; +} + +interface OES_texture_float { +} + +interface OES_texture_float_linear { +} + +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; +} + +interface OES_texture_half_float_linear { +} + +interface OES_vertex_array_object { + bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + createVertexArrayOES(): WebGLVertexArrayObjectOES | null; + deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean; + readonly VERTEX_ARRAY_BINDING_OES: GLenum; +} + +interface OfflineAudioCompletionEvent extends Event { + readonly renderedBuffer: AudioBuffer; +} + +declare var OfflineAudioCompletionEvent: { + prototype: OfflineAudioCompletionEvent; + new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent; +}; + +interface OfflineAudioContextEventMap extends BaseAudioContextEventMap { + "complete": OfflineAudioCompletionEvent; +} + +interface OfflineAudioContext extends BaseAudioContext { + readonly length: number; + oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null; + startRendering(): Promise; + suspend(suspendTime: number): Promise; + addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var OfflineAudioContext: { + prototype: OfflineAudioContext; + new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext; + new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; +}; + +interface OscillatorNode extends AudioScheduledSourceNode { + readonly detune: AudioParam; + readonly frequency: AudioParam; + type: OscillatorType; + setPeriodicWave(periodicWave: PeriodicWave): void; + addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var OscillatorNode: { + prototype: OscillatorNode; + new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode; +}; + +interface OverflowEvent extends UIEvent { + readonly horizontalOverflow: boolean; + readonly orient: number; + readonly verticalOverflow: boolean; + readonly BOTH: number; + readonly HORIZONTAL: number; + readonly VERTICAL: number; +} + +declare var OverflowEvent: { + prototype: OverflowEvent; + new(): OverflowEvent; + readonly BOTH: number; + readonly HORIZONTAL: number; + readonly VERTICAL: number; +}; + +interface PageTransitionEvent extends Event { + readonly persisted: boolean; +} + +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(): PageTransitionEvent; +}; + +interface PannerNode extends AudioNode { + coneInnerAngle: number; + coneOuterAngle: number; + coneOuterGain: number; + distanceModel: DistanceModelType; + maxDistance: number; + readonly orientationX: AudioParam; + readonly orientationY: AudioParam; + readonly orientationZ: AudioParam; + panningModel: PanningModelType; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + refDistance: number; + rolloffFactor: number; + /** @deprecated */ + setOrientation(x: number, y: number, z: number): void; + /** @deprecated */ + setPosition(x: number, y: number, z: number): void; +} + +declare var PannerNode: { + prototype: PannerNode; + new(context: BaseAudioContext, options?: PannerOptions): PannerNode; +}; + +interface ParentNode { + readonly childElementCount: number; + /** + * Returns the child elements. + */ + readonly children: HTMLCollection; + /** + * Returns the first child that is an element, and null otherwise. + */ + readonly firstElementChild: Element | null; + /** + * Returns the last child that is an element, and null otherwise. + */ + readonly lastElementChild: Element | null; + /** + * Inserts nodes after the last child of node, while replacing + * strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + append(...nodes: (Node | string)[]): void; + /** + * Inserts nodes before the first child of node, while + * replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + prepend(...nodes: (Node | string)[]): void; + /** + * Returns the first element that is a descendant of node that + * matches selectors. + */ + querySelector(selectors: K): HTMLElementTagNameMap[K] | null; + querySelector(selectors: K): SVGElementTagNameMap[K] | null; + querySelector(selectors: string): E | null; + /** + * Returns all element descendants of node that + * match selectors. + */ + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: string): NodeListOf; +} + +interface Path2D extends CanvasPath { + addPath(path: Path2D, transform?: DOMMatrix2DInit): void; +} + +declare var Path2D: { + prototype: Path2D; + new(path?: Path2D | string): Path2D; +}; + +interface PaymentAddress { + readonly addressLine: string[]; + readonly city: string; + readonly country: string; + readonly dependentLocality: string; + readonly languageCode: string; + readonly organization: string; + readonly phone: string; + readonly postalCode: string; + readonly recipient: string; + readonly region: string; + readonly sortingCode: string; + toJSON(): any; +} + +declare var PaymentAddress: { + prototype: PaymentAddress; + new(): PaymentAddress; +}; + +interface PaymentRequestEventMap { + "shippingaddresschange": Event; + "shippingoptionchange": Event; +} + +interface PaymentRequest extends EventTarget { + readonly id: string; + onshippingaddresschange: ((this: PaymentRequest, ev: Event) => any) | null; + onshippingoptionchange: ((this: PaymentRequest, ev: Event) => any) | null; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; + readonly shippingType: PaymentShippingType | null; + abort(): Promise; + canMakePayment(): Promise; + show(): Promise; + addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var PaymentRequest: { + prototype: PaymentRequest; + new(methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest; +}; + +interface PaymentRequestUpdateEvent extends Event { + updateWith(detailsPromise: Promise): void; +} + +declare var PaymentRequestUpdateEvent: { + prototype: PaymentRequestUpdateEvent; + new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; +}; + +interface PaymentResponse { + readonly details: any; + readonly methodName: string; + readonly payerEmail: string | null; + readonly payerName: string | null; + readonly payerPhone: string | null; + readonly requestId: string; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; + complete(result?: PaymentComplete): Promise; + toJSON(): any; +} + +declare var PaymentResponse: { + prototype: PaymentResponse; + new(): PaymentResponse; +}; + +interface PerfWidgetExternal { + readonly activeNetworkRequestCount: number; + readonly averageFrameTime: number; + readonly averagePaintTime: number; + readonly extraInformationEnabled: boolean; + readonly independentRenderingEnabled: boolean; + readonly irDisablingContentString: string; + readonly irStatusAvailable: boolean; + readonly maxCpuSpeed: number; + readonly paintRequestsPerSecond: number; + readonly performanceCounter: number; + readonly performanceCounterFrequency: number; + addEventListener(eventType: string, callback: Function): void; + getMemoryUsage(): number; + getProcessCpuUsage(): number; + getRecentCpuUsage(last: number | null): any; + getRecentFrames(last: number | null): any; + getRecentMemoryUsage(last: number | null): any; + getRecentPaintRequests(last: number | null): any; + removeEventListener(eventType: string, callback: Function): void; + repositionWindow(x: number, y: number): void; + resizeWindow(width: number, height: number): void; +} + +declare var PerfWidgetExternal: { + prototype: PerfWidgetExternal; + new(): PerfWidgetExternal; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + /** @deprecated */ + readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; + readonly timeOrigin: number; + /** @deprecated */ + readonly timing: PerformanceTiming; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; +}; + +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; + toJSON(): any; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +}; + +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceNavigation { + readonly redirectCount: number; + readonly type: number; + toJSON(): any; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_RESERVED: number; +} + +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_RESERVED: number; +}; + +interface PerformanceNavigationTiming extends PerformanceResourceTiming { + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly redirectCount: number; + readonly type: NavigationType; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; + toJSON(): any; +} + +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly decodedBodySize: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly encodedBodySize: number; + readonly fetchStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly transferSize: number; + readonly workerStart: number; + toJSON(): any; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +}; + +interface PerformanceTiming { + readonly connectEnd: number; + readonly connectStart: number; + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly domLoading: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly fetchStart: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly navigationStart: number; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; + toJSON(): any; +} + +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +}; + +interface PeriodicWave { +} + +declare var PeriodicWave: { + prototype: PeriodicWave; + new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave; +}; + +interface PermissionRequest extends DeferredPermissionRequest { + readonly state: MSWebViewPermissionState; + defer(): void; +} + +declare var PermissionRequest: { + prototype: PermissionRequest; + new(): PermissionRequest; +}; + +interface PermissionRequestedEvent extends Event { + readonly permissionRequest: PermissionRequest; +} + +declare var PermissionRequestedEvent: { + prototype: PermissionRequestedEvent; + new(): PermissionRequestedEvent; +}; + +interface Plugin { + readonly description: string; + readonly filename: string; + readonly length: number; + readonly name: string; + readonly version: string; + item(index: number): MimeType; + namedItem(type: string): MimeType; + [index: number]: MimeType; +} + +declare var Plugin: { + prototype: Plugin; + new(): Plugin; +}; + +interface PluginArray { + readonly length: number; + item(index: number): Plugin; + namedItem(name: string): Plugin; + refresh(reload?: boolean): void; + [index: number]: Plugin; +} + +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; +}; + +interface PointerEvent extends MouseEvent { + readonly height: number; + readonly isPrimary: boolean; + readonly pointerId: number; + readonly pointerType: string; + readonly pressure: number; + readonly tangentialPressure: number; + readonly tiltX: number; + readonly tiltY: number; + readonly twist: number; + readonly width: number; +} + +declare var PointerEvent: { + prototype: PointerEvent; + new(type: string, eventInitDict?: PointerEventInit): PointerEvent; +}; + +interface PopStateEvent extends Event { + readonly state: any; +} + +declare var PopStateEvent: { + prototype: PopStateEvent; + new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent; +}; + +interface Position { + readonly coords: Coordinates; + readonly timestamp: number; +} + +interface PositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; +} + +interface ProcessingInstruction extends CharacterData { + readonly target: string; +} + +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; +}; + +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; +} + +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; + +interface PushManager { + getSubscription(): Promise; + permissionState(options?: PushSubscriptionOptionsInit): Promise; + subscribe(options?: PushSubscriptionOptionsInit): Promise; +} + +declare var PushManager: { + prototype: PushManager; + new(): PushManager; + readonly supportedContentEncodings: ReadonlyArray; +}; + +interface PushSubscription { + readonly endpoint: string; + readonly expirationTime: number | null; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + toJSON(): PushSubscriptionJSON; + unsubscribe(): Promise; +} + +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; +}; + +interface PushSubscriptionOptions { + readonly applicationServerKey: ArrayBuffer | null; + readonly userVisibleOnly: boolean; +} + +declare var PushSubscriptionOptions: { + prototype: PushSubscriptionOptions; + new(): PushSubscriptionOptions; +}; + +interface RTCCertificate { + readonly expires: number; + getFingerprints(): RTCDtlsFingerprint[]; +} + +declare var RTCCertificate: { + prototype: RTCCertificate; + new(): RTCCertificate; + getSupportedAlgorithms(): AlgorithmIdentifier[]; +}; + +interface RTCDTMFSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; +} + +interface RTCDTMFSender extends EventTarget { + readonly canInsertDTMF: boolean; + ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDTMFSender: { + prototype: RTCDTMFSender; + new(): RTCDTMFSender; +}; + +interface RTCDTMFToneChangeEvent extends Event { + readonly tone: string; +} + +declare var RTCDTMFToneChangeEvent: { + prototype: RTCDTMFToneChangeEvent; + new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; +}; + +interface RTCDataChannelEventMap { + "bufferedamountlow": Event; + "close": Event; + "error": RTCErrorEvent; + "message": MessageEvent; + "open": Event; +} + +interface RTCDataChannel extends EventTarget { + binaryType: string; + readonly bufferedAmount: number; + bufferedAmountLowThreshold: number; + readonly id: number | null; + readonly label: string; + readonly maxPacketLifeTime: number | null; + readonly maxRetransmits: number | null; + readonly negotiated: boolean; + onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null; + onclose: ((this: RTCDataChannel, ev: Event) => any) | null; + onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null; + onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null; + onopen: ((this: RTCDataChannel, ev: Event) => any) | null; + readonly ordered: boolean; + readonly priority: RTCPriorityType; + readonly protocol: string; + readonly readyState: RTCDataChannelState; + close(): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDataChannel: { + prototype: RTCDataChannel; + new(): RTCDataChannel; +}; + +interface RTCDataChannelEvent extends Event { + readonly channel: RTCDataChannel; +} + +declare var RTCDataChannelEvent: { + prototype: RTCDataChannelEvent; + new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent; +}; + +interface RTCDtlsTransportEventMap { + "error": RTCErrorEvent; + "statechange": Event; +} + +interface RTCDtlsTransport extends EventTarget { + onerror: ((this: RTCDtlsTransport, ev: RTCErrorEvent) => any) | null; + onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null; + readonly state: RTCDtlsTransportState; + readonly transport: RTCIceTransport; + getRemoteCertificates(): ArrayBuffer[]; + addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDtlsTransport: { + prototype: RTCDtlsTransport; + new(): RTCDtlsTransport; +}; + +interface RTCDtlsTransportStateChangedEvent extends Event { + readonly state: RTCDtlsTransportState; +} + +declare var RTCDtlsTransportStateChangedEvent: { + prototype: RTCDtlsTransportStateChangedEvent; + new(): RTCDtlsTransportStateChangedEvent; +}; + +interface RTCDtmfSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; +} + +interface RTCDtmfSender extends EventTarget { + readonly canInsertDTMF: boolean; + readonly duration: number; + readonly interToneGap: number; + ontonechange: ((this: RTCDtmfSender, ev: RTCDTMFToneChangeEvent) => any) | null; + readonly sender: RTCRtpSender; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDtmfSender: { + prototype: RTCDtmfSender; + new(sender: RTCRtpSender): RTCDtmfSender; +}; + +interface RTCError extends Error { + errorDetail: string; + httpRequestStatusCode: number; + message: string; + name: string; + receivedAlert: number | null; + sctpCauseCode: number; + sdpLineNumber: number; + sentAlert: number | null; +} + +declare var RTCError: { + prototype: RTCError; + new(errorDetail?: string, message?: string): RTCError; +}; + +interface RTCErrorEvent extends Event { + readonly error: RTCError | null; +} + +declare var RTCErrorEvent: { + prototype: RTCErrorEvent; + new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; +}; + +interface RTCIceCandidate { + readonly candidate: string; + readonly component: RTCIceComponent | null; + readonly foundation: string | null; + readonly ip: string | null; + readonly port: number | null; + readonly priority: number | null; + readonly protocol: RTCIceProtocol | null; + readonly relatedAddress: string | null; + readonly relatedPort: number | null; + readonly sdpMLineIndex: number | null; + readonly sdpMid: string | null; + readonly tcpType: RTCIceTcpCandidateType | null; + readonly type: RTCIceCandidateType | null; + readonly usernameFragment: string | null; + toJSON(): RTCIceCandidateInit; +} + +declare var RTCIceCandidate: { + prototype: RTCIceCandidate; + new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate; +}; + +interface RTCIceCandidatePairChangedEvent extends Event { + readonly pair: RTCIceCandidatePair; +} + +declare var RTCIceCandidatePairChangedEvent: { + prototype: RTCIceCandidatePairChangedEvent; + new(): RTCIceCandidatePairChangedEvent; +}; + +interface RTCIceGathererEventMap { + "error": Event; + "localcandidate": RTCIceGathererEvent; +} + +interface RTCIceGatherer extends RTCStatsProvider { + readonly component: RTCIceComponent; + onerror: ((this: RTCIceGatherer, ev: Event) => any) | null; + onlocalcandidate: ((this: RTCIceGatherer, ev: RTCIceGathererEvent) => any) | null; + createAssociatedGatherer(): RTCIceGatherer; + getLocalCandidates(): RTCIceCandidateDictionary[]; + getLocalParameters(): RTCIceParameters; + addEventListener(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCIceGatherer: { + prototype: RTCIceGatherer; + new(options: RTCIceGatherOptions): RTCIceGatherer; +}; + +interface RTCIceGathererEvent extends Event { + readonly candidate: RTCIceCandidateDictionary | RTCIceCandidateComplete; +} + +declare var RTCIceGathererEvent: { + prototype: RTCIceGathererEvent; + new(): RTCIceGathererEvent; +}; + +interface RTCIceTransportEventMap { + "gatheringstatechange": Event; + "selectedcandidatepairchange": Event; + "statechange": Event; +} + +interface RTCIceTransport extends EventTarget { + readonly component: RTCIceComponent; + readonly gatheringState: RTCIceGathererState; + ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; + onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null; + onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; + readonly role: RTCIceRole; + readonly state: RTCIceTransportState; + getLocalCandidates(): RTCIceCandidate[]; + getLocalParameters(): RTCIceParameters | null; + getRemoteCandidates(): RTCIceCandidate[]; + getRemoteParameters(): RTCIceParameters | null; + getSelectedCandidatePair(): RTCIceCandidatePair | null; + addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCIceTransport: { + prototype: RTCIceTransport; + new(): RTCIceTransport; +}; + +interface RTCIceTransportStateChangedEvent extends Event { + readonly state: RTCIceTransportState; +} + +declare var RTCIceTransportStateChangedEvent: { + prototype: RTCIceTransportStateChangedEvent; + new(): RTCIceTransportStateChangedEvent; +}; + +interface RTCIdentityAssertion { + idp: string; + name: string; +} + +declare var RTCIdentityAssertion: { + prototype: RTCIdentityAssertion; + new(idp: string, name: string): RTCIdentityAssertion; +}; + +interface RTCPeerConnectionEventMap { + "connectionstatechange": Event; + "datachannel": RTCDataChannelEvent; + "icecandidate": RTCPeerConnectionIceEvent; + "icecandidateerror": RTCPeerConnectionIceErrorEvent; + "iceconnectionstatechange": Event; + "icegatheringstatechange": Event; + "negotiationneeded": Event; + "signalingstatechange": Event; + "statsended": RTCStatsEvent; + "track": RTCTrackEvent; +} + +interface RTCPeerConnection extends EventTarget { + readonly canTrickleIceCandidates: boolean | null; + readonly connectionState: RTCPeerConnectionState; + readonly currentLocalDescription: RTCSessionDescription | null; + readonly currentRemoteDescription: RTCSessionDescription | null; + readonly iceConnectionState: RTCIceConnectionState; + readonly iceGatheringState: RTCIceGatheringState; + readonly idpErrorInfo: string | null; + readonly idpLoginUrl: string | null; + readonly localDescription: RTCSessionDescription | null; + onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null; + onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null; + onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null; + oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null; + onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onstatsended: ((this: RTCPeerConnection, ev: RTCStatsEvent) => any) | null; + ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null; + readonly peerIdentity: Promise; + readonly pendingLocalDescription: RTCSessionDescription | null; + readonly pendingRemoteDescription: RTCSessionDescription | null; + readonly remoteDescription: RTCSessionDescription | null; + readonly sctp: RTCSctpTransport | null; + readonly signalingState: RTCSignalingState; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; + addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; + addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; + close(): void; + createAnswer(options?: RTCOfferOptions): Promise; + createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; + createOffer(options?: RTCOfferOptions): Promise; + getConfiguration(): RTCConfiguration; + getIdentityAssertion(): Promise; + getReceivers(): RTCRtpReceiver[]; + getSenders(): RTCRtpSender[]; + getStats(selector?: MediaStreamTrack | null): Promise; + getTransceivers(): RTCRtpTransceiver[]; + removeTrack(sender: RTCRtpSender): void; + setConfiguration(configuration: RTCConfiguration): void; + setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; + setLocalDescription(description: RTCSessionDescriptionInit): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit): Promise; + addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCPeerConnection: { + prototype: RTCPeerConnection; + new(configuration?: RTCConfiguration): RTCPeerConnection; + generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; + getDefaultIceServers(): RTCIceServer[]; +}; + +interface RTCPeerConnectionIceErrorEvent extends Event { + readonly errorCode: number; + readonly errorText: string; + readonly hostCandidate: string; + readonly url: string; +} + +declare var RTCPeerConnectionIceErrorEvent: { + prototype: RTCPeerConnectionIceErrorEvent; + new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; +}; + +interface RTCPeerConnectionIceEvent extends Event { + readonly candidate: RTCIceCandidate | null; + readonly url: string | null; +} + +declare var RTCPeerConnectionIceEvent: { + prototype: RTCPeerConnectionIceEvent; + new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; +}; + +interface RTCRtpReceiver { + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack; + readonly transport: RTCDtlsTransport | null; + getContributingSources(): RTCRtpContributingSource[]; + getParameters(): RTCRtpReceiveParameters; + getStats(): Promise; + getSynchronizationSources(): RTCRtpSynchronizationSource[]; +} + +declare var RTCRtpReceiver: { + prototype: RTCRtpReceiver; + new(): RTCRtpReceiver; + getCapabilities(kind: string): RTCRtpCapabilities | null; +}; + +interface RTCRtpSender { + readonly dtmf: RTCDTMFSender | null; + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack | null; + readonly transport: RTCDtlsTransport | null; + getParameters(): RTCRtpSendParameters; + getStats(): Promise; + replaceTrack(withTrack: MediaStreamTrack | null): Promise; + setParameters(parameters: RTCRtpSendParameters): Promise; + setStreams(...streams: MediaStream[]): void; +} + +declare var RTCRtpSender: { + prototype: RTCRtpSender; + new(): RTCRtpSender; + getCapabilities(kind: string): RTCRtpCapabilities | null; +}; + +interface RTCRtpTransceiver { + readonly currentDirection: RTCRtpTransceiverDirection | null; + direction: RTCRtpTransceiverDirection; + readonly mid: string | null; + readonly receiver: RTCRtpReceiver; + readonly sender: RTCRtpSender; + readonly stopped: boolean; + setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; + stop(): void; +} + +declare var RTCRtpTransceiver: { + prototype: RTCRtpTransceiver; + new(): RTCRtpTransceiver; +}; + +interface RTCSctpTransportEventMap { + "statechange": Event; +} + +interface RTCSctpTransport { + readonly maxChannels: number | null; + readonly maxMessageSize: number; + onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null; + readonly state: RTCSctpTransportState; + readonly transport: RTCDtlsTransport; + addEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCSctpTransport: { + prototype: RTCSctpTransport; + new(): RTCSctpTransport; +}; + +interface RTCSessionDescription { + readonly sdp: string; + readonly type: RTCSdpType; + toJSON(): any; +} + +declare var RTCSessionDescription: { + prototype: RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; +}; + +interface RTCSrtpSdesTransportEventMap { + "error": Event; +} + +interface RTCSrtpSdesTransport extends EventTarget { + onerror: ((this: RTCSrtpSdesTransport, ev: Event) => any) | null; + readonly transport: RTCIceTransport; + addEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCSrtpSdesTransport: { + prototype: RTCSrtpSdesTransport; + new(transport: RTCIceTransport, encryptParameters: RTCSrtpSdesParameters, decryptParameters: RTCSrtpSdesParameters): RTCSrtpSdesTransport; + getLocalParameters(): RTCSrtpSdesParameters[]; +}; + +interface RTCSsrcConflictEvent extends Event { + readonly ssrc: number; +} + +declare var RTCSsrcConflictEvent: { + prototype: RTCSsrcConflictEvent; + new(): RTCSsrcConflictEvent; +}; + +interface RTCStatsEvent extends Event { + readonly report: RTCStatsReport; +} + +declare var RTCStatsEvent: { + prototype: RTCStatsEvent; + new(type: string, eventInitDict: RTCStatsEventInit): RTCStatsEvent; +}; + +interface RTCStatsProvider extends EventTarget { + getStats(): Promise; + msGetStats(): Promise; +} + +declare var RTCStatsProvider: { + prototype: RTCStatsProvider; + new(): RTCStatsProvider; +}; + +interface RTCStatsReport { + forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void; +} + +declare var RTCStatsReport: { + prototype: RTCStatsReport; + new(): RTCStatsReport; +}; + +interface RTCTrackEvent extends Event { + readonly receiver: RTCRtpReceiver; + readonly streams: ReadonlyArray; + readonly track: MediaStreamTrack; + readonly transceiver: RTCRtpTransceiver; +} + +declare var RTCTrackEvent: { + prototype: RTCTrackEvent; + new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; +}; + +interface RadioNodeList extends NodeList { + value: string; +} + +declare var RadioNodeList: { + prototype: RadioNodeList; + new(): RadioNodeList; +}; + +interface RandomSource { + getRandomValues(array: T): T; +} + +declare var RandomSource: { + prototype: RandomSource; + new(): RandomSource; +}; + +interface Range extends AbstractRange { + /** + * Returns the node, furthest away from + * the document, that is an ancestor of both range's start node and end node. + */ + readonly commonAncestorContainer: Node; + cloneContents(): DocumentFragment; + cloneRange(): Range; + collapse(toStart?: boolean): void; + compareBoundaryPoints(how: number, sourceRange: Range): number; + /** + * Returns −1 if the point is before the range, 0 if the point is + * in the range, and 1 if the point is after the range. + */ + comparePoint(node: Node, offset: number): number; + createContextualFragment(fragment: string): DocumentFragment; + deleteContents(): void; + detach(): void; + extractContents(): DocumentFragment; + getBoundingClientRect(): ClientRect | DOMRect; + getClientRects(): ClientRectList | DOMRectList; + insertNode(node: Node): void; + /** + * Returns whether range intersects node. + */ + intersectsNode(node: Node): boolean; + isPointInRange(node: Node, offset: number): boolean; + selectNode(node: Node): void; + selectNodeContents(node: Node): void; + setEnd(node: Node, offset: number): void; + setEndAfter(node: Node): void; + setEndBefore(node: Node): void; + setStart(node: Node, offset: number): void; + setStartAfter(node: Node): void; + setStartBefore(node: Node): void; + surroundContents(newParent: Node): void; + readonly END_TO_END: number; + readonly END_TO_START: number; + readonly START_TO_END: number; + readonly START_TO_START: number; +} + +declare var Range: { + prototype: Range; + new(): Range; + readonly END_TO_END: number; + readonly END_TO_START: number; + readonly START_TO_END: number; + readonly START_TO_START: number; +}; + +interface ReadableByteStreamController { + readonly byobRequest: ReadableStreamBYOBRequest | undefined; + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: ArrayBufferView): void; + error(error?: any): void; +} + +interface ReadableStream { + readonly locked: boolean; + cancel(reason?: any): Promise; + getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; + getReader(): ReadableStreamDefaultReader; + pipeThrough({ writable, readable }: { writable: WritableStream, readable: ReadableStream }, options?: PipeOptions): ReadableStream; + pipeTo(dest: WritableStream, options?: PipeOptions): Promise; + tee(): [ReadableStream, ReadableStream]; +} + +declare var ReadableStream: { + prototype: ReadableStream; + new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number, size?: undefined }): ReadableStream; + new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; +}; + +interface ReadableStreamBYOBReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(view: T): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; +}; + +interface ReadableStreamBYOBRequest { + readonly view: ArrayBufferView; + respond(bytesWritten: number): void; + respondWithNewView(view: ArrayBufferView): void; +} + +interface ReadableStreamDefaultController { + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: R): void; + error(error?: any): void; +} + +interface ReadableStreamDefaultReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(): Promise>; + releaseLock(): void; +} + +interface ReadableStreamReadResult { + done: boolean; + value: T; +} + +interface ReadableStreamReader { + cancel(): Promise; + read(): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamReader: { + prototype: ReadableStreamReader; + new(): ReadableStreamReader; +}; + +interface Request extends Body { + /** + * Returns the cache mode associated with request, which is a string indicating + * how the request will interact with the browser's cache when fetching. + */ + readonly cache: RequestCache; + /** + * Returns the credentials mode associated with request, which is a string + * indicating whether credentials will be sent with the request always, never, or only when sent to a + * same-origin URL. + */ + readonly credentials: RequestCredentials; + /** + * Returns the kind of resource requested by request, e.g., "document" or + * "script". + */ + readonly destination: RequestDestination; + /** + * Returns a Headers object consisting of the headers associated with request. + * Note that headers added in the network layer by the user agent will not be accounted for in this + * object, e.g., the "Host" header. + */ + readonly headers: Headers; + /** + * Returns request's subresource integrity metadata, which is a cryptographic hash of + * the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] + */ + readonly integrity: string; + /** + * Returns a boolean indicating whether or not request is for a history + * navigation (a.k.a. back-foward navigation). + */ + readonly isHistoryNavigation: boolean; + /** + * Returns a boolean indicating whether or not request is for a reload navigation. + */ + readonly isReloadNavigation: boolean; + /** + * Returns a boolean indicating whether or not request can outlive the global in which + * it was created. + */ + readonly keepalive: boolean; + /** + * Returns request's HTTP method, which is "GET" by default. + */ + readonly method: string; + /** + * Returns the mode associated with request, which is a string indicating + * whether the request will use CORS, or will be restricted to same-origin URLs. + */ + readonly mode: RequestMode; + /** + * Returns the redirect mode associated with request, which is a string + * indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. + */ + readonly redirect: RequestRedirect; + /** + * Returns the referrer of request. Its value can be a same-origin URL if + * explicitly set in init, the empty string to indicate no referrer, and + * "about:client" when defaulting to the global's default. This is used during + * fetching to determine the value of the `Referer` header of the request being made. + */ + readonly referrer: string; + /** + * Returns the referrer policy associated with request. This is used during + * fetching to compute the value of the request's referrer. + */ + readonly referrerPolicy: ReferrerPolicy; + /** + * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort + * event handler. + */ + readonly signal: AbortSignal; + /** + * Returns the URL of request as a string. + */ + readonly url: string; + clone(): Request; +} + +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; +}; + +interface Response extends Body { + readonly headers: Headers; + readonly ok: boolean; + readonly redirected: boolean; + readonly status: number; + readonly statusText: string; + readonly trailer: Promise; + readonly type: ResponseType; + readonly url: string; + clone(): Response; +} + +declare var Response: { + prototype: Response; + new(body?: BodyInit | null, init?: ResponseInit): Response; + error(): Response; + redirect(url: string, status?: number): Response; +}; + +interface SVGAElement extends SVGGraphicsElement, SVGURIReference { + readonly target: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; +}; + +interface SVGAngle { + readonly unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_GRAD: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; +} + +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_GRAD: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; +}; + +interface SVGAnimateElement extends SVGAnimationElement { + addEventListener(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimateElement: { + prototype: SVGAnimateElement; + new(): SVGAnimateElement; +}; + +interface SVGAnimateMotionElement extends SVGAnimationElement { + addEventListener(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimateMotionElement: { + prototype: SVGAnimateMotionElement; + new(): SVGAnimateMotionElement; +}; + +interface SVGAnimateTransformElement extends SVGAnimationElement { + addEventListener(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimateTransformElement: { + prototype: SVGAnimateTransformElement; + new(): SVGAnimateTransformElement; +}; + +interface SVGAnimatedAngle { + readonly animVal: SVGAngle; + readonly baseVal: SVGAngle; +} + +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; +}; + +interface SVGAnimatedBoolean { + readonly animVal: boolean; + baseVal: boolean; +} + +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; +}; + +interface SVGAnimatedEnumeration { + readonly animVal: number; + baseVal: number; +} + +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; +}; + +interface SVGAnimatedInteger { + readonly animVal: number; + baseVal: number; +} + +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; +}; + +interface SVGAnimatedLength { + readonly animVal: SVGLength; + readonly baseVal: SVGLength; +} + +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; +}; + +interface SVGAnimatedLengthList { + readonly animVal: SVGLengthList; + readonly baseVal: SVGLengthList; +} + +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; +}; + +interface SVGAnimatedNumber { + readonly animVal: number; + baseVal: number; +} + +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; +}; + +interface SVGAnimatedNumberList { + readonly animVal: SVGNumberList; + readonly baseVal: SVGNumberList; +} + +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; +}; + +interface SVGAnimatedPoints { + readonly animatedPoints: SVGPointList; + readonly points: SVGPointList; +} + +interface SVGAnimatedPreserveAspectRatio { + readonly animVal: SVGPreserveAspectRatio; + readonly baseVal: SVGPreserveAspectRatio; +} + +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; +}; + +interface SVGAnimatedRect { + readonly animVal: DOMRectReadOnly; + readonly baseVal: DOMRect; +} + +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; +}; + +interface SVGAnimatedString { + readonly animVal: string; + baseVal: string; +} + +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; +}; + +interface SVGAnimatedTransformList { + readonly animVal: SVGTransformList; + readonly baseVal: SVGTransformList; +} + +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; +}; + +interface SVGAnimationElement extends SVGElement { + readonly targetElement: SVGElement; + getCurrentTime(): number; + getSimpleDuration(): number; + getStartTime(): number; + addEventListener(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimationElement: { + prototype: SVGAnimationElement; + new(): SVGAnimationElement; +}; + +interface SVGCircleElement extends SVGGraphicsElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; +}; + +interface SVGClipPathElement extends SVGGraphicsElement { + readonly clipPathUnits: SVGAnimatedEnumeration; + addEventListener(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; +}; + +interface SVGComponentTransferFunctionElement extends SVGElement { + readonly amplitude: SVGAnimatedNumber; + readonly exponent: SVGAnimatedNumber; + readonly intercept: SVGAnimatedNumber; + readonly offset: SVGAnimatedNumber; + readonly slope: SVGAnimatedNumber; + readonly tableValues: SVGAnimatedNumberList; + readonly type: SVGAnimatedEnumeration; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; +}; + +interface SVGCursorElement extends SVGElement { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCursorElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGCursorElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGCursorElement: { + prototype: SVGCursorElement; + new(): SVGCursorElement; +}; + +interface SVGDefsElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; +}; + +interface SVGDescElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; +}; + +interface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { +} + +interface SVGElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, SVGElementInstance, HTMLOrSVGElement, ElementCSSInlineStyle { + /** @deprecated */ + readonly className: any; + readonly ownerSVGElement: SVGSVGElement | null; + readonly viewportElement: SVGElement | null; + addEventListener(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; +}; + +interface SVGElementInstance extends EventTarget { + readonly correspondingElement: SVGElement; + readonly correspondingUseElement: SVGUseElement; +} + +declare var SVGElementInstance: { + prototype: SVGElementInstance; + new(): SVGElementInstance; +}; + +interface SVGElementInstanceList { + /** @deprecated */ + readonly length: number; + /** @deprecated */ + item(index: number): SVGElementInstance; +} + +declare var SVGElementInstanceList: { + prototype: SVGElementInstanceList; + new(): SVGElementInstanceList; +}; + +interface SVGEllipseElement extends SVGGraphicsElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; +}; + +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly mode: SVGAnimatedEnumeration; + readonly SVG_FEBLEND_MODE_COLOR: number; + readonly SVG_FEBLEND_MODE_COLOR_BURN: number; + readonly SVG_FEBLEND_MODE_COLOR_DODGE: number; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_DIFFERENCE: number; + readonly SVG_FEBLEND_MODE_EXCLUSION: number; + readonly SVG_FEBLEND_MODE_HARD_LIGHT: number; + readonly SVG_FEBLEND_MODE_HUE: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + readonly SVG_FEBLEND_MODE_LUMINOSITY: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_OVERLAY: number; + readonly SVG_FEBLEND_MODE_SATURATION: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + readonly SVG_FEBLEND_MODE_COLOR: number; + readonly SVG_FEBLEND_MODE_COLOR_BURN: number; + readonly SVG_FEBLEND_MODE_COLOR_DODGE: number; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_DIFFERENCE: number; + readonly SVG_FEBLEND_MODE_EXCLUSION: number; + readonly SVG_FEBLEND_MODE_HARD_LIGHT: number; + readonly SVG_FEBLEND_MODE_HUE: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + readonly SVG_FEBLEND_MODE_LUMINOSITY: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_OVERLAY: number; + readonly SVG_FEBLEND_MODE_SATURATION: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; +}; + +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly type: SVGAnimatedEnumeration; + readonly values: SVGAnimatedNumberList; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; +}; + +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; +}; + +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly k1: SVGAnimatedNumber; + readonly k2: SVGAnimatedNumber; + readonly k3: SVGAnimatedNumber; + readonly k4: SVGAnimatedNumber; + readonly operator: SVGAnimatedEnumeration; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; + addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; +}; + +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly bias: SVGAnimatedNumber; + readonly divisor: SVGAnimatedNumber; + readonly edgeMode: SVGAnimatedEnumeration; + readonly in1: SVGAnimatedString; + readonly kernelMatrix: SVGAnimatedNumberList; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly orderX: SVGAnimatedInteger; + readonly orderY: SVGAnimatedInteger; + readonly preserveAlpha: SVGAnimatedBoolean; + readonly targetX: SVGAnimatedInteger; + readonly targetY: SVGAnimatedInteger; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; + addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; +}; + +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly diffuseConstant: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly surfaceScale: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; +}; + +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly scale: SVGAnimatedNumber; + readonly xChannelSelector: SVGAnimatedEnumeration; + readonly yChannelSelector: SVGAnimatedEnumeration; + readonly SVG_CHANNEL_A: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + readonly SVG_CHANNEL_A: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_UNKNOWN: number; +}; + +interface SVGFEDistantLightElement extends SVGElement { + readonly azimuth: SVGAnimatedNumber; + readonly elevation: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; +}; + +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; +}; + +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; +}; + +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; +}; + +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; +}; + +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +}; + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly stdDeviationX: SVGAnimatedNumber; + readonly stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; +}; + +interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + addEventListener(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; +}; + +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; +}; + +interface SVGFEMergeNodeElement extends SVGElement { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; +}; + +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly operator: SVGAnimatedEnumeration; + readonly radiusX: SVGAnimatedNumber; + readonly radiusY: SVGAnimatedNumber; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; +}; + +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly dx: SVGAnimatedNumber; + readonly dy: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; +}; + +interface SVGFEPointLightElement extends SVGElement { + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; +}; + +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly specularConstant: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly surfaceScale: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; +}; + +interface SVGFESpotLightElement extends SVGElement { + readonly limitingConeAngle: SVGAnimatedNumber; + readonly pointsAtX: SVGAnimatedNumber; + readonly pointsAtY: SVGAnimatedNumber; + readonly pointsAtZ: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; +}; + +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; +}; + +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly baseFrequencyX: SVGAnimatedNumber; + readonly baseFrequencyY: SVGAnimatedNumber; + readonly numOctaves: SVGAnimatedInteger; + readonly seed: SVGAnimatedNumber; + readonly stitchTiles: SVGAnimatedEnumeration; + readonly type: SVGAnimatedEnumeration; + readonly SVG_STITCHTYPE_NOSTITCH: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + readonly SVG_STITCHTYPE_NOSTITCH: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; +}; + +interface SVGFilterElement extends SVGElement, SVGURIReference { + /** @deprecated */ + readonly filterResX: SVGAnimatedInteger; + /** @deprecated */ + readonly filterResY: SVGAnimatedInteger; + readonly filterUnits: SVGAnimatedEnumeration; + readonly height: SVGAnimatedLength; + readonly primitiveUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + /** @deprecated */ + setFilterRes(filterResX: number, filterResY: number): void; + addEventListener(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; +}; + +interface SVGFilterPrimitiveStandardAttributes { + readonly height: SVGAnimatedLength; + readonly result: SVGAnimatedString; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; +} + +interface SVGFitToViewBox { + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly viewBox: SVGAnimatedRect; +} + +interface SVGForeignObjectElement extends SVGGraphicsElement { + readonly height: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGForeignObjectElement: { + prototype: SVGForeignObjectElement; + new(): SVGForeignObjectElement; +}; + +interface SVGGElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; +}; + +interface SVGGeometryElement extends SVGGraphicsElement { + readonly pathLength: SVGAnimatedNumber; + getPointAtLength(distance: number): DOMPoint; + getTotalLength(): number; + isPointInFill(point?: DOMPointInit): boolean; + isPointInStroke(point?: DOMPointInit): boolean; + addEventListener(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGeometryElement: { + prototype: SVGGeometryElement; + new(): SVGGeometryElement; +}; + +interface SVGGradientElement extends SVGElement, SVGURIReference { + readonly gradientTransform: SVGAnimatedTransformList; + readonly gradientUnits: SVGAnimatedEnumeration; + readonly spreadMethod: SVGAnimatedEnumeration; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + readonly SVG_SPREADMETHOD_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + readonly SVG_SPREADMETHOD_UNKNOWN: number; +}; + +interface SVGGraphicsElement extends SVGElement, SVGTests { + readonly transform: SVGAnimatedTransformList; + getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getCTM(): DOMMatrix | null; + getScreenCTM(): DOMMatrix | null; + addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGraphicsElement: { + prototype: SVGGraphicsElement; + new(): SVGGraphicsElement; +}; + +interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { + readonly height: SVGAnimatedLength; + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; +}; + +interface SVGLength { + readonly unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PC: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_UNKNOWN: number; +} + +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PC: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_UNKNOWN: number; +}; + +interface SVGLengthList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGLength): SVGLength; + clear(): void; + getItem(index: number): SVGLength; + initialize(newItem: SVGLength): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; + removeItem(index: number): SVGLength; + replaceItem(newItem: SVGLength, index: number): SVGLength; + [index: number]: SVGLength; +} + +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; +}; + +interface SVGLineElement extends SVGGraphicsElement { + readonly x1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; +}; + +interface SVGLinearGradientElement extends SVGGradientElement { + readonly x1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; +}; + +interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { + readonly markerHeight: SVGAnimatedLength; + readonly markerUnits: SVGAnimatedEnumeration; + readonly markerWidth: SVGAnimatedLength; + readonly orientAngle: SVGAnimatedAngle; + readonly orientType: SVGAnimatedEnumeration; + readonly refX: SVGAnimatedLength; + readonly refY: SVGAnimatedLength; + setOrientToAngle(angle: SVGAngle): void; + setOrientToAuto(): void; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + readonly SVG_MARKER_ORIENT_ANGLE: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + readonly SVG_MARKER_ORIENT_ANGLE: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; +}; + +interface SVGMaskElement extends SVGElement, SVGTests { + readonly height: SVGAnimatedLength; + readonly maskContentUnits: SVGAnimatedEnumeration; + readonly maskUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; +}; + +interface SVGMetadataElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; +}; + +interface SVGNumber { + value: number; +} + +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; +}; + +interface SVGNumberList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGNumber): SVGNumber; + clear(): void; + getItem(index: number): SVGNumber; + initialize(newItem: SVGNumber): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; + removeItem(index: number): SVGNumber; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; + [index: number]: SVGNumber; +} + +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; +}; + +interface SVGPathElement extends SVGGraphicsElement { + /** @deprecated */ + readonly pathSegList: SVGPathSegList; + /** @deprecated */ + createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; + /** @deprecated */ + createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; + /** @deprecated */ + createSVGPathSegClosePath(): SVGPathSegClosePath; + /** @deprecated */ + createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; + /** @deprecated */ + createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; + /** @deprecated */ + createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; + /** @deprecated */ + createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; + /** @deprecated */ + createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; + /** @deprecated */ + createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; + /** @deprecated */ + createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; + /** @deprecated */ + createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; + /** @deprecated */ + createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; + /** @deprecated */ + createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; + /** @deprecated */ + createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; + /** @deprecated */ + createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; + /** @deprecated */ + getPathSegAtLength(distance: number): number; + getPointAtLength(distance: number): SVGPoint; + getTotalLength(): number; + addEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; +}; + +interface SVGPathSeg { + readonly pathSegType: number; + readonly pathSegTypeAsLetter: string; + readonly PATHSEG_ARC_ABS: number; + readonly PATHSEG_ARC_REL: number; + readonly PATHSEG_CLOSEPATH: number; + readonly PATHSEG_CURVETO_CUBIC_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_REL: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; + readonly PATHSEG_LINETO_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_REL: number; + readonly PATHSEG_LINETO_REL: number; + readonly PATHSEG_LINETO_VERTICAL_ABS: number; + readonly PATHSEG_LINETO_VERTICAL_REL: number; + readonly PATHSEG_MOVETO_ABS: number; + readonly PATHSEG_MOVETO_REL: number; + readonly PATHSEG_UNKNOWN: number; +} + +declare var SVGPathSeg: { + prototype: SVGPathSeg; + new(): SVGPathSeg; + readonly PATHSEG_ARC_ABS: number; + readonly PATHSEG_ARC_REL: number; + readonly PATHSEG_CLOSEPATH: number; + readonly PATHSEG_CURVETO_CUBIC_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_REL: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; + readonly PATHSEG_LINETO_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_REL: number; + readonly PATHSEG_LINETO_REL: number; + readonly PATHSEG_LINETO_VERTICAL_ABS: number; + readonly PATHSEG_LINETO_VERTICAL_REL: number; + readonly PATHSEG_MOVETO_ABS: number; + readonly PATHSEG_MOVETO_REL: number; + readonly PATHSEG_UNKNOWN: number; +}; + +interface SVGPathSegArcAbs extends SVGPathSeg { + angle: number; + largeArcFlag: boolean; + r1: number; + r2: number; + sweepFlag: boolean; + x: number; + y: number; +} + +declare var SVGPathSegArcAbs: { + prototype: SVGPathSegArcAbs; + new(): SVGPathSegArcAbs; +}; + +interface SVGPathSegArcRel extends SVGPathSeg { + angle: number; + largeArcFlag: boolean; + r1: number; + r2: number; + sweepFlag: boolean; + x: number; + y: number; +} + +declare var SVGPathSegArcRel: { + prototype: SVGPathSegArcRel; + new(): SVGPathSegArcRel; +}; + +interface SVGPathSegClosePath extends SVGPathSeg { +} + +declare var SVGPathSegClosePath: { + prototype: SVGPathSegClosePath; + new(): SVGPathSegClosePath; +}; + +interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { + x: number; + x1: number; + x2: number; + y: number; + y1: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicAbs: { + prototype: SVGPathSegCurvetoCubicAbs; + new(): SVGPathSegCurvetoCubicAbs; +}; + +interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { + x: number; + x1: number; + x2: number; + y: number; + y1: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicRel: { + prototype: SVGPathSegCurvetoCubicRel; + new(): SVGPathSegCurvetoCubicRel; +}; + +interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { + x: number; + x2: number; + y: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicSmoothAbs: { + prototype: SVGPathSegCurvetoCubicSmoothAbs; + new(): SVGPathSegCurvetoCubicSmoothAbs; +}; + +interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { + x: number; + x2: number; + y: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicSmoothRel: { + prototype: SVGPathSegCurvetoCubicSmoothRel; + new(): SVGPathSegCurvetoCubicSmoothRel; +}; + +interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { + x: number; + x1: number; + y: number; + y1: number; +} + +declare var SVGPathSegCurvetoQuadraticAbs: { + prototype: SVGPathSegCurvetoQuadraticAbs; + new(): SVGPathSegCurvetoQuadraticAbs; +}; + +interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { + x: number; + x1: number; + y: number; + y1: number; +} + +declare var SVGPathSegCurvetoQuadraticRel: { + prototype: SVGPathSegCurvetoQuadraticRel; + new(): SVGPathSegCurvetoQuadraticRel; +}; + +interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegCurvetoQuadraticSmoothAbs: { + prototype: SVGPathSegCurvetoQuadraticSmoothAbs; + new(): SVGPathSegCurvetoQuadraticSmoothAbs; +}; + +interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegCurvetoQuadraticSmoothRel: { + prototype: SVGPathSegCurvetoQuadraticSmoothRel; + new(): SVGPathSegCurvetoQuadraticSmoothRel; +}; + +interface SVGPathSegLinetoAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegLinetoAbs: { + prototype: SVGPathSegLinetoAbs; + new(): SVGPathSegLinetoAbs; +}; + +interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { + x: number; +} + +declare var SVGPathSegLinetoHorizontalAbs: { + prototype: SVGPathSegLinetoHorizontalAbs; + new(): SVGPathSegLinetoHorizontalAbs; +}; + +interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { + x: number; +} + +declare var SVGPathSegLinetoHorizontalRel: { + prototype: SVGPathSegLinetoHorizontalRel; + new(): SVGPathSegLinetoHorizontalRel; +}; + +interface SVGPathSegLinetoRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegLinetoRel: { + prototype: SVGPathSegLinetoRel; + new(): SVGPathSegLinetoRel; +}; + +interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { + y: number; +} + +declare var SVGPathSegLinetoVerticalAbs: { + prototype: SVGPathSegLinetoVerticalAbs; + new(): SVGPathSegLinetoVerticalAbs; +}; + +interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { + y: number; +} + +declare var SVGPathSegLinetoVerticalRel: { + prototype: SVGPathSegLinetoVerticalRel; + new(): SVGPathSegLinetoVerticalRel; +}; + +interface SVGPathSegList { + readonly numberOfItems: number; + appendItem(newItem: SVGPathSeg): SVGPathSeg; + clear(): void; + getItem(index: number): SVGPathSeg; + initialize(newItem: SVGPathSeg): SVGPathSeg; + insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg; + removeItem(index: number): SVGPathSeg; + replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg; +} + +declare var SVGPathSegList: { + prototype: SVGPathSegList; + new(): SVGPathSegList; +}; + +interface SVGPathSegMovetoAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegMovetoAbs: { + prototype: SVGPathSegMovetoAbs; + new(): SVGPathSegMovetoAbs; +}; + +interface SVGPathSegMovetoRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegMovetoRel: { + prototype: SVGPathSegMovetoRel; + new(): SVGPathSegMovetoRel; +}; + +interface SVGPatternElement extends SVGElement, SVGTests, SVGFitToViewBox, SVGURIReference { + readonly height: SVGAnimatedLength; + readonly patternContentUnits: SVGAnimatedEnumeration; + readonly patternTransform: SVGAnimatedTransformList; + readonly patternUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; +}; + +interface SVGPointList { + readonly numberOfItems: number; + appendItem(newItem: SVGPoint): SVGPoint; + clear(): void; + getItem(index: number): SVGPoint; + initialize(newItem: SVGPoint): SVGPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; + removeItem(index: number): SVGPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; +} + +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; +}; + +interface SVGPolygonElement extends SVGGraphicsElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; +}; + +interface SVGPolylineElement extends SVGGraphicsElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; +}; + +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +} + +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +}; + +interface SVGRadialGradientElement extends SVGGradientElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly fx: SVGAnimatedLength; + readonly fy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; +}; + +interface SVGRectElement extends SVGGraphicsElement { + readonly height: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; +}; + +interface SVGSVGElementEventMap extends SVGElementEventMap { + "SVGUnload": Event; + "SVGZoom": SVGZoomEvent; +} + +interface SVGSVGElement extends SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan { + /** @deprecated */ + contentScriptType: string; + /** @deprecated */ + contentStyleType: string; + currentScale: number; + readonly currentTranslate: SVGPoint; + readonly height: SVGAnimatedLength; + onunload: ((this: SVGSVGElement, ev: Event) => any) | null; + onzoom: ((this: SVGSVGElement, ev: SVGZoomEvent) => any) | null; + /** @deprecated */ + readonly pixelUnitToMillimeterX: number; + /** @deprecated */ + readonly pixelUnitToMillimeterY: number; + /** @deprecated */ + readonly screenPixelToMillimeterX: number; + /** @deprecated */ + readonly screenPixelToMillimeterY: number; + /** @deprecated */ + readonly viewport: SVGRect; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; + createSVGAngle(): SVGAngle; + createSVGLength(): SVGLength; + createSVGMatrix(): SVGMatrix; + createSVGNumber(): SVGNumber; + createSVGPoint(): SVGPoint; + createSVGRect(): SVGRect; + createSVGTransform(): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + deselectAll(): void; + /** @deprecated */ + forceRedraw(): void; + getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration; + /** @deprecated */ + getCurrentTime(): number; + getElementById(elementId: string): Element; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeListOf; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeListOf; + /** @deprecated */ + pauseAnimations(): void; + /** @deprecated */ + setCurrentTime(seconds: number): void; + /** @deprecated */ + suspendRedraw(maxWaitMilliseconds: number): number; + /** @deprecated */ + unpauseAnimations(): void; + /** @deprecated */ + unsuspendRedraw(suspendHandleID: number): void; + /** @deprecated */ + unsuspendRedrawAll(): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +}; + +interface SVGScriptElement extends SVGElement, SVGURIReference { + type: string; + addEventListener(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; +}; + +interface SVGStopElement extends SVGElement { + readonly offset: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; +}; + +interface SVGStringList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: string): string; + clear(): void; + getItem(index: number): string; + initialize(newItem: string): string; + insertItemBefore(newItem: string, index: number): string; + removeItem(index: number): string; + replaceItem(newItem: string, index: number): string; + [index: number]: string; +} + +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; +}; + +interface SVGStyleElement extends SVGElement { + disabled: boolean; + media: string; + title: string; + type: string; + addEventListener(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; +}; + +interface SVGSwitchElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; +}; + +interface SVGSymbolElement extends SVGElement, SVGFitToViewBox { + addEventListener(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; +}; + +interface SVGTSpanElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; +}; + +interface SVGTests { + readonly requiredExtensions: SVGStringList; + readonly systemLanguage: SVGStringList; +} + +interface SVGTextContentElement extends SVGGraphicsElement { + readonly lengthAdjust: SVGAnimatedEnumeration; + readonly textLength: SVGAnimatedLength; + getCharNumAtPosition(point: SVGPoint): number; + getComputedTextLength(): number; + getEndPositionOfChar(charnum: number): SVGPoint; + getExtentOfChar(charnum: number): SVGRect; + getNumberOfChars(): number; + getRotationOfChar(charnum: number): number; + getStartPositionOfChar(charnum: number): SVGPoint; + getSubStringLength(charnum: number, nchars: number): number; + selectSubString(charnum: number, nchars: number): void; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + readonly LENGTHADJUST_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + readonly LENGTHADJUST_UNKNOWN: number; +}; + +interface SVGTextElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; +}; + +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + readonly method: SVGAnimatedEnumeration; + readonly spacing: SVGAnimatedEnumeration; + readonly startOffset: SVGAnimatedLength; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; +}; + +interface SVGTextPositioningElement extends SVGTextContentElement { + readonly dx: SVGAnimatedLengthList; + readonly dy: SVGAnimatedLengthList; + readonly rotate: SVGAnimatedNumberList; + readonly x: SVGAnimatedLengthList; + readonly y: SVGAnimatedLengthList; + addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; +}; + +interface SVGTitleElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; +}; + +interface SVGTransform { + readonly angle: number; + readonly matrix: SVGMatrix; + readonly type: number; + setMatrix(matrix: SVGMatrix): void; + setRotate(angle: number, cx: number, cy: number): void; + setScale(sx: number, sy: number): void; + setSkewX(angle: number): void; + setSkewY(angle: number): void; + setTranslate(tx: number, ty: number): void; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_UNKNOWN: number; +} + +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_UNKNOWN: number; +}; + +interface SVGTransformList { + readonly numberOfItems: number; + appendItem(newItem: SVGTransform): SVGTransform; + clear(): void; + consolidate(): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + getItem(index: number): SVGTransform; + initialize(newItem: SVGTransform): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + removeItem(index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; +} + +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; +}; + +interface SVGURIReference { + readonly href: SVGAnimatedString; +} + +interface SVGUnitTypes { + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; +} + +declare var SVGUnitTypes: { + prototype: SVGUnitTypes; + new(): SVGUnitTypes; + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; +}; + +interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { + readonly animatedInstanceRoot: SVGElementInstance | null; + readonly height: SVGAnimatedLength; + readonly instanceRoot: SVGElementInstance | null; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; +}; + +interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan { + /** @deprecated */ + readonly viewTarget: SVGStringList; + addEventListener(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +}; + +interface SVGZoomAndPan { + readonly zoomAndPan: number; +} + +declare var SVGZoomAndPan: { + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +}; + +interface SVGZoomEvent extends UIEvent { + readonly newScale: number; + readonly newTranslate: SVGPoint; + readonly previousScale: number; + readonly previousTranslate: SVGPoint; + readonly zoomRectScreen: SVGRect; +} + +declare var SVGZoomEvent: { + prototype: SVGZoomEvent; + new(): SVGZoomEvent; +}; + +interface ScopedCredential { + readonly id: ArrayBuffer; + readonly type: ScopedCredentialType; +} + +declare var ScopedCredential: { + prototype: ScopedCredential; + new(): ScopedCredential; +}; + +interface ScopedCredentialInfo { + readonly credential: ScopedCredential; + readonly publicKey: CryptoKey; +} + +declare var ScopedCredentialInfo: { + prototype: ScopedCredentialInfo; + new(): ScopedCredentialInfo; +}; + +interface Screen { + readonly availHeight: number; + readonly availWidth: number; + readonly colorDepth: number; + readonly height: number; + readonly orientation: ScreenOrientation; + readonly pixelDepth: number; + readonly width: number; +} + +declare var Screen: { + prototype: Screen; + new(): Screen; +}; + +interface ScreenOrientationEventMap { + "change": Event; +} + +interface ScreenOrientation extends EventTarget { + readonly angle: number; + onchange: ((this: ScreenOrientation, ev: Event) => any) | null; + readonly type: OrientationType; + lock(orientation: OrientationLockType): Promise; + unlock(): void; + addEventListener(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ScreenOrientation: { + prototype: ScreenOrientation; + new(): ScreenOrientation; +}; + +interface ScriptProcessorNodeEventMap { + "audioprocess": AudioProcessingEvent; +} + +interface ScriptProcessorNode extends AudioNode { + /** @deprecated */ + readonly bufferSize: number; + /** @deprecated */ + onaudioprocess: ((this: ScriptProcessorNode, ev: AudioProcessingEvent) => any) | null; + addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ScriptProcessorNode: { + prototype: ScriptProcessorNode; + new(): ScriptProcessorNode; +}; + +interface SecurityPolicyViolationEvent extends Event { + readonly blockedURI: string; + readonly columnNumber: number; + readonly documentURI: string; + readonly effectiveDirective: string; + readonly lineNumber: number; + readonly originalPolicy: string; + readonly referrer: string; + readonly sourceFile: string; + readonly statusCode: number; + readonly violatedDirective: string; +} + +declare var SecurityPolicyViolationEvent: { + prototype: SecurityPolicyViolationEvent; + new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent; +}; + +interface Selection { + readonly anchorNode: Node; + readonly anchorOffset: number; + readonly baseNode: Node; + readonly baseOffset: number; + readonly extentNode: Node; + readonly extentOffset: number; + readonly focusNode: Node; + readonly focusOffset: number; + readonly isCollapsed: boolean; + readonly rangeCount: number; + readonly type: string; + addRange(range: Range): void; + collapse(parentNode: Node, offset: number): void; + collapseToEnd(): void; + collapseToStart(): void; + containsNode(node: Node, partlyContained: boolean): boolean; + deleteFromDocument(): void; + empty(): void; + extend(newNode: Node, offset: number): void; + getRangeAt(index: number): Range; + removeAllRanges(): void; + removeRange(range: Range): void; + selectAllChildren(parentNode: Node): void; + setBaseAndExtent(baseNode: Node, baseOffset: number, extentNode: Node, extentOffset: number): void; + setPosition(parentNode: Node, offset: number): void; + toString(): string; +} + +declare var Selection: { + prototype: Selection; + new(): Selection; +}; + +interface ServiceUIFrameContext { + getCachedFrameMessage(key: string): string; + postFrameMessage(key: string, data: string): void; +} +declare var ServiceUIFrameContext: ServiceUIFrameContext; + +interface ServiceWorkerEventMap extends AbstractWorkerEventMap { + "statechange": Event; +} + +interface ServiceWorker extends EventTarget, AbstractWorker { + onstatechange: ((this: ServiceWorker, ev: Event) => any) | null; + readonly scriptURL: string; + readonly state: ServiceWorkerState; + postMessage(message: any, transfer?: Transferable[]): void; + addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorker: { + prototype: ServiceWorker; + new(): ServiceWorker; +}; + +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null; + onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + readonly ready: Promise; + getRegistration(clientURL?: string): Promise; + getRegistrations(): Promise>; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; +}; + +interface ServiceWorkerMessageEvent extends Event { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray | null; + readonly source: ServiceWorker | MessagePort | null; +} + +declare var ServiceWorkerMessageEvent: { + prototype: ServiceWorkerMessageEvent; + new(type: string, eventInitDict?: ServiceWorkerMessageEventInit): ServiceWorkerMessageEvent; +}; + +interface ServiceWorkerRegistrationEventMap { + "updatefound": Event; +} + +interface ServiceWorkerRegistration extends EventTarget { + readonly active: ServiceWorker | null; + readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; + readonly pushManager: PushManager; + readonly scope: string; + readonly sync: SyncManager; + readonly updateViaCache: ServiceWorkerUpdateViaCache; + readonly waiting: ServiceWorker | null; + getNotifications(filter?: GetNotificationOptions): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + unregister(): Promise; + update(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerRegistration: { + prototype: ServiceWorkerRegistration; + new(): ServiceWorkerRegistration; +}; + +interface ShadowRoot extends DocumentOrShadowRoot, DocumentFragment, DocumentOrShadowRoot { + readonly host: Element; + innerHTML: string; + readonly mode: ShadowRootMode; +} + +interface ShadowRootInit { + delegatesFocus?: boolean; + mode: "open" | "closed"; +} + +interface Slotable { + readonly assignedSlot: HTMLSlotElement | null; +} + +interface SourceBuffer extends EventTarget { + appendWindowEnd: number; + appendWindowStart: number; + readonly audioTracks: AudioTrackList; + readonly buffered: TimeRanges; + mode: AppendMode; + readonly textTracks: TextTrackList; + timestampOffset: number; + readonly updating: boolean; + readonly videoTracks: VideoTrackList; + abort(): void; + appendBuffer(data: ArrayBuffer | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | null): void; + appendStream(stream: MSStream, maxSize?: number): void; + remove(start: number, end: number): void; +} + +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; +}; + +interface SourceBufferList extends EventTarget { + readonly length: number; + item(index: number): SourceBuffer; + [index: number]: SourceBuffer; +} + +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; +}; + +interface SpeechGrammar { + src: string; + weight: number; +} + +declare var SpeechGrammar: { + prototype: SpeechGrammar; + new(): SpeechGrammar; +}; + +interface SpeechGrammarList { + readonly length: number; + addFromString(string: string, weight?: number): void; + addFromURI(src: string, weight?: number): void; + item(index: number): SpeechGrammar; + [index: number]: SpeechGrammar; +} + +declare var SpeechGrammarList: { + prototype: SpeechGrammarList; + new(): SpeechGrammarList; +}; + +interface SpeechRecognitionEventMap { + "audioend": Event; + "audiostart": Event; + "end": Event; + "error": SpeechRecognitionError; + "nomatch": SpeechRecognitionEvent; + "result": SpeechRecognitionEvent; + "soundend": Event; + "soundstart": Event; + "speechend": Event; + "speechstart": Event; + "start": Event; +} + +interface SpeechRecognition extends EventTarget { + continuous: boolean; + grammars: SpeechGrammarList; + interimResults: boolean; + lang: string; + maxAlternatives: number; + onaudioend: ((this: SpeechRecognition, ev: Event) => any) | null; + onaudiostart: ((this: SpeechRecognition, ev: Event) => any) | null; + onend: ((this: SpeechRecognition, ev: Event) => any) | null; + onerror: ((this: SpeechRecognition, ev: SpeechRecognitionError) => any) | null; + onnomatch: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null; + onresult: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null; + onsoundend: ((this: SpeechRecognition, ev: Event) => any) | null; + onsoundstart: ((this: SpeechRecognition, ev: Event) => any) | null; + onspeechend: ((this: SpeechRecognition, ev: Event) => any) | null; + onspeechstart: ((this: SpeechRecognition, ev: Event) => any) | null; + onstart: ((this: SpeechRecognition, ev: Event) => any) | null; + serviceURI: string; + abort(): void; + start(): void; + stop(): void; + addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SpeechRecognition: { + prototype: SpeechRecognition; + new(): SpeechRecognition; +}; + +interface SpeechRecognitionAlternative { + readonly confidence: number; + readonly transcript: string; +} + +declare var SpeechRecognitionAlternative: { + prototype: SpeechRecognitionAlternative; + new(): SpeechRecognitionAlternative; +}; + +interface SpeechRecognitionError extends Event { + readonly error: SpeechRecognitionErrorCode; + readonly message: string; +} + +declare var SpeechRecognitionError: { + prototype: SpeechRecognitionError; + new(): SpeechRecognitionError; +}; + +interface SpeechRecognitionEvent extends Event { + readonly emma: Document | null; + readonly interpretation: any; + readonly resultIndex: number; + readonly results: SpeechRecognitionResultList; +} + +declare var SpeechRecognitionEvent: { + prototype: SpeechRecognitionEvent; + new(): SpeechRecognitionEvent; +}; + +interface SpeechRecognitionResult { + readonly isFinal: boolean; + readonly length: number; + item(index: number): SpeechRecognitionAlternative; + [index: number]: SpeechRecognitionAlternative; +} + +declare var SpeechRecognitionResult: { + prototype: SpeechRecognitionResult; + new(): SpeechRecognitionResult; +}; + +interface SpeechRecognitionResultList { + readonly length: number; + item(index: number): SpeechRecognitionResult; + [index: number]: SpeechRecognitionResult; +} + +declare var SpeechRecognitionResultList: { + prototype: SpeechRecognitionResultList; + new(): SpeechRecognitionResultList; +}; + +interface SpeechSynthesisEventMap { + "voiceschanged": Event; +} + +interface SpeechSynthesis extends EventTarget { + onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null; + readonly paused: boolean; + readonly pending: boolean; + readonly speaking: boolean; + cancel(): void; + getVoices(): SpeechSynthesisVoice[]; + pause(): void; + resume(): void; + speak(utterance: SpeechSynthesisUtterance): void; + addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SpeechSynthesis: { + prototype: SpeechSynthesis; + new(): SpeechSynthesis; +}; + +interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent { + readonly error: SpeechSynthesisErrorCode; +} + +declare var SpeechSynthesisErrorEvent: { + prototype: SpeechSynthesisErrorEvent; + new(): SpeechSynthesisErrorEvent; +}; + +interface SpeechSynthesisEvent extends Event { + readonly charIndex: number; + readonly elapsedTime: number; + readonly name: string; + readonly utterance: SpeechSynthesisUtterance; +} + +declare var SpeechSynthesisEvent: { + prototype: SpeechSynthesisEvent; + new(): SpeechSynthesisEvent; +}; + +interface SpeechSynthesisUtteranceEventMap { + "boundary": SpeechSynthesisEvent; + "end": SpeechSynthesisEvent; + "error": SpeechSynthesisErrorEvent; + "mark": SpeechSynthesisEvent; + "pause": SpeechSynthesisEvent; + "resume": SpeechSynthesisEvent; + "start": SpeechSynthesisEvent; +} + +interface SpeechSynthesisUtterance extends EventTarget { + lang: string; + onboundary: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onend: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onerror: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) => any) | null; + onmark: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onpause: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onresume: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onstart: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + pitch: number; + rate: number; + text: string; + voice: SpeechSynthesisVoice; + volume: number; + addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SpeechSynthesisUtterance: { + prototype: SpeechSynthesisUtterance; + new(): SpeechSynthesisUtterance; + new(text: string): SpeechSynthesisUtterance; +}; + +interface SpeechSynthesisVoice { + readonly default: boolean; + readonly lang: string; + readonly localService: boolean; + readonly name: string; + readonly voiceURI: string; +} + +declare var SpeechSynthesisVoice: { + prototype: SpeechSynthesisVoice; + new(): SpeechSynthesisVoice; +}; + +interface StaticRange extends AbstractRange { +} + +declare var StaticRange: { + prototype: StaticRange; + new(): StaticRange; +}; + +interface StereoPannerNode extends AudioNode { + readonly pan: AudioParam; +} + +declare var StereoPannerNode: { + prototype: StereoPannerNode; + new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode; +}; + +interface Storage { + /** + * Returns the number of key/value pairs currently present in the list associated with the + * object. + */ + readonly length: number; + /** + * Empties the list associated with the object of all key/value pairs, if there are any. + */ + clear(): void; + /** + * value = storage[key] + */ + getItem(key: string): string | null; + /** + * Returns the name of the nth key in the list, or null if n is greater + * than or equal to the number of key/value pairs in the object. + */ + key(index: number): string | null; + /** + * delete storage[key] + */ + removeItem(key: string): void; + /** + * storage[key] = value + */ + setItem(key: string, value: string): void; + [name: string]: any; +} + +declare var Storage: { + prototype: Storage; + new(): Storage; +}; + +interface StorageEvent extends Event { + /** + * Returns the key of the storage item being changed. + */ + readonly key: string | null; + /** + * Returns the new value of the key of the storage item whose value is being changed. + */ + readonly newValue: string | null; + /** + * Returns the old value of the key of the storage item whose value is being changed. + */ + readonly oldValue: string | null; + /** + * Returns the Storage object that was affected. + */ + readonly storageArea: Storage | null; + /** + * Returns the URL of the document whose storage item changed. + */ + readonly url: string; +} + +declare var StorageEvent: { + prototype: StorageEvent; + new(type: string, eventInitDict?: StorageEventInit): StorageEvent; +}; + +interface StorageManager { + estimate(): Promise; + persist(): Promise; + persisted(): Promise; +} + +declare var StorageManager: { + prototype: StorageManager; + new(): StorageManager; +}; + +interface StyleMedia { + readonly type: string; + matchMedium(mediaquery: string): boolean; +} + +declare var StyleMedia: { + prototype: StyleMedia; + new(): StyleMedia; +}; + +interface StyleSheet { + disabled: boolean; + readonly href: string | null; + readonly media: MediaList; + readonly ownerNode: Node; + readonly parentStyleSheet: StyleSheet | null; + readonly title: string | null; + readonly type: string; +} + +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; +}; + +interface StyleSheetList { + readonly length: number; + item(index: number): StyleSheet | null; + [index: number]: StyleSheet; +} + +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; +}; + +interface SubtleCrypto { + decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike; + deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + digest(algorithm: string | Algorithm, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + exportKey(format: "jwk", key: CryptoKey): PromiseLike; + exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike; + exportKey(format: string, key: CryptoKey): PromiseLike; + generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + unwrapKey(format: string, wrappedKey: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike; +} + +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +}; + +interface SyncManager { + getTags(): Promise; + register(tag: string): Promise; +} + +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; +}; + +interface Text extends CharacterData, Slotable { + readonly assignedSlot: HTMLSlotElement | null; + /** + * Returns the combined data of all direct Text node siblings. + */ + readonly wholeText: string; + /** + * Splits data at the given offset and returns the remainder as Text node. + */ + splitText(offset: number): Text; +} + +declare var Text: { + prototype: Text; + new(data?: string): Text; +}; + +interface TextDecoder { + /** + * Returns encoding's name, lowercased. + */ + readonly encoding: string; + /** + * Returns true if error mode is "fatal", and false + * otherwise. + */ + readonly fatal: boolean; + /** + * Returns true if ignore BOM flag is set, and false otherwise. + */ + readonly ignoreBOM: boolean; + /** + * Returns the result of running encoding's decoder. The + * method can be invoked zero or more times with options's stream set to + * true, and then once without options's stream (or set to false), to process + * a fragmented stream. If the invocation without options's stream (or set to + * false) has no input, it's clearest to omit both arguments. + * var string = "", decoder = new TextDecoder(encoding), buffer; + * while(buffer = next_chunk()) { + * string += decoder.decode(buffer, {stream:true}); + * } + * string += decoder.decode(); // end-of-stream + * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. + */ + decode(input?: BufferSource, options?: TextDecodeOptions): string; +} + +declare var TextDecoder: { + prototype: TextDecoder; + new(label?: string, options?: TextDecoderOptions): TextDecoder; +}; + +interface TextEncoder { + /** + * Returns "utf-8". + */ + readonly encoding: string; + /** + * Returns the result of running UTF-8's encoder. + */ + encode(input?: string): Uint8Array; +} + +declare var TextEncoder: { + prototype: TextEncoder; + new(): TextEncoder; +}; + +interface TextEvent extends UIEvent { + readonly data: string; + initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void; + readonly DOM_INPUT_METHOD_DROP: number; + readonly DOM_INPUT_METHOD_HANDWRITING: number; + readonly DOM_INPUT_METHOD_IME: number; + readonly DOM_INPUT_METHOD_KEYBOARD: number; + readonly DOM_INPUT_METHOD_MULTIMODAL: number; + readonly DOM_INPUT_METHOD_OPTION: number; + readonly DOM_INPUT_METHOD_PASTE: number; + readonly DOM_INPUT_METHOD_SCRIPT: number; + readonly DOM_INPUT_METHOD_UNKNOWN: number; + readonly DOM_INPUT_METHOD_VOICE: number; +} + +declare var TextEvent: { + prototype: TextEvent; + new(): TextEvent; + readonly DOM_INPUT_METHOD_DROP: number; + readonly DOM_INPUT_METHOD_HANDWRITING: number; + readonly DOM_INPUT_METHOD_IME: number; + readonly DOM_INPUT_METHOD_KEYBOARD: number; + readonly DOM_INPUT_METHOD_MULTIMODAL: number; + readonly DOM_INPUT_METHOD_OPTION: number; + readonly DOM_INPUT_METHOD_PASTE: number; + readonly DOM_INPUT_METHOD_SCRIPT: number; + readonly DOM_INPUT_METHOD_UNKNOWN: number; + readonly DOM_INPUT_METHOD_VOICE: number; +}; + +interface TextMetrics { + readonly actualBoundingBoxAscent: number; + readonly actualBoundingBoxDescent: number; + readonly actualBoundingBoxLeft: number; + readonly actualBoundingBoxRight: number; + readonly alphabeticBaseline: number; + readonly emHeightAscent: number; + readonly emHeightDescent: number; + readonly fontBoundingBoxAscent: number; + readonly fontBoundingBoxDescent: number; + readonly hangingBaseline: number; + /** + * Returns the measurement described below. + */ + readonly ideographicBaseline: number; + readonly width: number; +} + +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +}; + +interface TextTrackEventMap { + "cuechange": Event; + "error": Event; + "load": Event; +} + +interface TextTrack extends EventTarget { + readonly activeCues: TextTrackCueList; + readonly cues: TextTrackCueList; + readonly inBandMetadataTrackDispatchType: string; + readonly kind: string; + readonly label: string; + readonly language: string; + mode: TextTrackMode | number; + oncuechange: ((this: TextTrack, ev: Event) => any) | null; + onerror: ((this: TextTrack, ev: Event) => any) | null; + onload: ((this: TextTrack, ev: Event) => any) | null; + readonly readyState: number; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + readonly DISABLED: number; + readonly ERROR: number; + readonly HIDDEN: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + readonly SHOWING: number; + addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; + readonly DISABLED: number; + readonly ERROR: number; + readonly HIDDEN: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + readonly SHOWING: number; +}; + +interface TextTrackCueEventMap { + "enter": Event; + "exit": Event; +} + +interface TextTrackCue extends EventTarget { + endTime: number; + id: string; + onenter: ((this: TextTrackCue, ev: Event) => any) | null; + onexit: ((this: TextTrackCue, ev: Event) => any) | null; + pauseOnExit: boolean; + startTime: number; + text: string; + readonly track: TextTrack; + getCueAsHTML(): DocumentFragment; + addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var TextTrackCue: { + prototype: TextTrackCue; + new(startTime: number, endTime: number, text: string): TextTrackCue; +}; + +interface TextTrackCueList { + readonly length: number; + getCueById(id: string): TextTrackCue; + item(index: number): TextTrackCue; + [index: number]: TextTrackCue; +} + +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; +}; + +interface TextTrackListEventMap { + "addtrack": TrackEvent; +} + +interface TextTrackList extends EventTarget { + readonly length: number; + onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null; + item(index: number): TextTrack; + addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: TextTrack; +} + +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; +}; + +interface TimeRanges { + readonly length: number; + end(index: number): number; + start(index: number): number; +} + +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; +}; + +interface Touch { + readonly altitudeAngle: number; + readonly azimuthAngle: number; + readonly clientX: number; + readonly clientY: number; + readonly force: number; + readonly identifier: number; + readonly pageX: number; + readonly pageY: number; + readonly radiusX: number; + readonly radiusY: number; + readonly rotationAngle: number; + readonly screenX: number; + readonly screenY: number; + readonly target: EventTarget; + readonly touchType: TouchType; +} + +declare var Touch: { + prototype: Touch; + new(touchInitDict: TouchInit): Touch; +}; + +interface TouchEvent extends UIEvent { + readonly altKey: boolean; + readonly changedTouches: TouchList; + readonly ctrlKey: boolean; + readonly metaKey: boolean; + readonly shiftKey: boolean; + readonly targetTouches: TouchList; + readonly touches: TouchList; +} + +declare var TouchEvent: { + prototype: TouchEvent; + new(type: string, eventInitDict?: TouchEventInit): TouchEvent; +}; + +interface TouchList { + readonly length: number; + item(index: number): Touch | null; + [index: number]: Touch; +} + +declare var TouchList: { + prototype: TouchList; + new(): TouchList; +}; + +interface TrackEvent extends Event { + readonly track: VideoTrack | AudioTrack | TextTrack | null; +} + +declare var TrackEvent: { + prototype: TrackEvent; + new(typeArg: string, eventInitDict?: TrackEventInit): TrackEvent; +}; + +interface TransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; +} + +declare var TransformStream: { + prototype: TransformStream; + new(transformer?: Transformer, writableStrategy?: QueuingStrategy, readableStrategy?: QueuingStrategy): TransformStream; +}; + +interface TransformStreamDefaultController { + readonly desiredSize: number | null; + enqueue(chunk: O): void; + error(reason?: any): void; + terminate(): void; +} + +interface TransitionEvent extends Event { + readonly elapsedTime: number; + readonly propertyName: string; + readonly pseudoElement: string; +} + +declare var TransitionEvent: { + prototype: TransitionEvent; + new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent; +}; + +interface TreeWalker { + currentNode: Node; + readonly filter: NodeFilter | null; + readonly root: Node; + readonly whatToShow: number; + firstChild(): Node | null; + lastChild(): Node | null; + nextNode(): Node | null; + nextSibling(): Node | null; + parentNode(): Node | null; + previousNode(): Node | null; + previousSibling(): Node | null; +} + +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; +}; + +interface UIEvent extends Event { + readonly detail: number; + readonly view: Window; + initUIEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number): void; +} + +declare var UIEvent: { + prototype: UIEvent; + new(typeArg: string, eventInitDict?: UIEventInit): UIEvent; +}; + +interface URL { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toJSON(): string; +} + +declare var URL: { + prototype: URL; + new(url: string, base?: string | URL): URL; + createObjectURL(object: any): string; + revokeObjectURL(url: string): void; +}; + +type webkitURL = URL; +declare var webkitURL: typeof URL; + +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; +} + +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; +}; + +interface VRDisplay extends EventTarget { + readonly capabilities: VRDisplayCapabilities; + depthFar: number; + depthNear: number; + readonly displayId: number; + readonly displayName: string; + readonly isConnected: boolean; + readonly isPresenting: boolean; + readonly stageParameters: VRStageParameters | null; + cancelAnimationFrame(handle: number): void; + exitPresent(): Promise; + getEyeParameters(whichEye: string): VREyeParameters; + getFrameData(frameData: VRFrameData): boolean; + getLayers(): VRLayer[]; + /** @deprecated */ + getPose(): VRPose; + requestAnimationFrame(callback: FrameRequestCallback): number; + requestPresent(layers: VRLayer[]): Promise; + resetPose(): void; + submitFrame(pose?: VRPose): void; +} + +declare var VRDisplay: { + prototype: VRDisplay; + new(): VRDisplay; +}; + +interface VRDisplayCapabilities { + readonly canPresent: boolean; + readonly hasExternalDisplay: boolean; + readonly hasOrientation: boolean; + readonly hasPosition: boolean; + readonly maxLayers: number; +} + +declare var VRDisplayCapabilities: { + prototype: VRDisplayCapabilities; + new(): VRDisplayCapabilities; +}; + +interface VRDisplayEvent extends Event { + readonly display: VRDisplay; + readonly reason: VRDisplayEventReason | null; +} + +declare var VRDisplayEvent: { + prototype: VRDisplayEvent; + new(type: string, eventInitDict: VRDisplayEventInit): VRDisplayEvent; +}; + +interface VREyeParameters { + /** @deprecated */ + readonly fieldOfView: VRFieldOfView; + readonly offset: Float32Array; + readonly renderHeight: number; + readonly renderWidth: number; +} + +declare var VREyeParameters: { + prototype: VREyeParameters; + new(): VREyeParameters; +}; + +interface VRFieldOfView { + readonly downDegrees: number; + readonly leftDegrees: number; + readonly rightDegrees: number; + readonly upDegrees: number; +} + +declare var VRFieldOfView: { + prototype: VRFieldOfView; + new(): VRFieldOfView; +}; + +interface VRFrameData { + readonly leftProjectionMatrix: Float32Array; + readonly leftViewMatrix: Float32Array; + readonly pose: VRPose; + readonly rightProjectionMatrix: Float32Array; + readonly rightViewMatrix: Float32Array; + readonly timestamp: number; +} + +declare var VRFrameData: { + prototype: VRFrameData; + new(): VRFrameData; +}; + +interface VRPose { + readonly angularAcceleration: Float32Array | null; + readonly angularVelocity: Float32Array | null; + readonly linearAcceleration: Float32Array | null; + readonly linearVelocity: Float32Array | null; + readonly orientation: Float32Array | null; + readonly position: Float32Array | null; + readonly timestamp: number; +} + +declare var VRPose: { + prototype: VRPose; + new(): VRPose; +}; + +interface VTTCue extends TextTrackCue { + align: AlignSetting; + line: LineAndPositionSetting; + lineAlign: LineAlignSetting; + position: LineAndPositionSetting; + positionAlign: PositionAlignSetting; + region: VTTRegion | null; + size: number; + snapToLines: boolean; + text: string; + vertical: DirectionSetting; + getCueAsHTML(): DocumentFragment; + addEventListener(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var VTTCue: { + prototype: VTTCue; + new(startTime: number, endTime: number, text: string): VTTCue; +}; + +interface VTTRegion { + id: string; + lines: number; + regionAnchorX: number; + regionAnchorY: number; + scroll: ScrollSetting; + viewportAnchorX: number; + viewportAnchorY: number; + width: number; +} + +declare var VTTRegion: { + prototype: VTTRegion; + new(): VTTRegion; +}; + +interface ValidityState { + readonly badInput: boolean; + readonly customError: boolean; + readonly patternMismatch: boolean; + readonly rangeOverflow: boolean; + readonly rangeUnderflow: boolean; + readonly stepMismatch: boolean; + readonly tooLong: boolean; + readonly tooShort: boolean; + readonly typeMismatch: boolean; + readonly valid: boolean; + readonly valueMissing: boolean; +} + +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; +}; + +interface VideoPlaybackQuality { + readonly corruptedVideoFrames: number; + readonly creationTime: number; + readonly droppedVideoFrames: number; + readonly totalFrameDelay: number; + readonly totalVideoFrames: number; +} + +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; +}; + +interface VideoTrack { + readonly id: string; + kind: string; + readonly label: string; + language: string; + selected: boolean; + readonly sourceBuffer: SourceBuffer; +} + +declare var VideoTrack: { + prototype: VideoTrack; + new(): VideoTrack; +}; + +interface VideoTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; +} + +interface VideoTrackList extends EventTarget { + readonly length: number; + onaddtrack: ((this: VideoTrackList, ev: TrackEvent) => any) | null; + onchange: ((this: VideoTrackList, ev: Event) => any) | null; + onremovetrack: ((this: VideoTrackList, ev: TrackEvent) => any) | null; + readonly selectedIndex: number; + getTrackById(id: string): VideoTrack | null; + item(index: number): VideoTrack; + addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: VideoTrack; +} + +declare var VideoTrackList: { + prototype: VideoTrackList; + new(): VideoTrackList; +}; + +interface WEBGL_color_buffer_float { + readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum; + readonly RGBA32F_EXT: GLenum; + readonly UNSIGNED_NORMALIZED_EXT: GLenum; +} + +interface WEBGL_compressed_texture_astc { + getSupportedProfiles(): string[]; + readonly COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum; +} + +interface WEBGL_compressed_texture_s3tc { + readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_compressed_texture_s3tc_srgb { + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_debug_renderer_info { + readonly UNMASKED_RENDERER_WEBGL: GLenum; + readonly UNMASKED_VENDOR_WEBGL: GLenum; +} + +interface WEBGL_debug_shaders { + getTranslatedShaderSource(shader: WebGLShader): string; +} + +interface WEBGL_depth_texture { + readonly UNSIGNED_INT_24_8_WEBGL: GLenum; +} + +interface WEBGL_draw_buffers { + drawBuffersWEBGL(buffers: GLenum[]): void; + readonly COLOR_ATTACHMENT0_WEBGL: GLenum; + readonly COLOR_ATTACHMENT10_WEBGL: GLenum; + readonly COLOR_ATTACHMENT11_WEBGL: GLenum; + readonly COLOR_ATTACHMENT12_WEBGL: GLenum; + readonly COLOR_ATTACHMENT13_WEBGL: GLenum; + readonly COLOR_ATTACHMENT14_WEBGL: GLenum; + readonly COLOR_ATTACHMENT15_WEBGL: GLenum; + readonly COLOR_ATTACHMENT1_WEBGL: GLenum; + readonly COLOR_ATTACHMENT2_WEBGL: GLenum; + readonly COLOR_ATTACHMENT3_WEBGL: GLenum; + readonly COLOR_ATTACHMENT4_WEBGL: GLenum; + readonly COLOR_ATTACHMENT5_WEBGL: GLenum; + readonly COLOR_ATTACHMENT6_WEBGL: GLenum; + readonly COLOR_ATTACHMENT7_WEBGL: GLenum; + readonly COLOR_ATTACHMENT8_WEBGL: GLenum; + readonly COLOR_ATTACHMENT9_WEBGL: GLenum; + readonly DRAW_BUFFER0_WEBGL: GLenum; + readonly DRAW_BUFFER10_WEBGL: GLenum; + readonly DRAW_BUFFER11_WEBGL: GLenum; + readonly DRAW_BUFFER12_WEBGL: GLenum; + readonly DRAW_BUFFER13_WEBGL: GLenum; + readonly DRAW_BUFFER14_WEBGL: GLenum; + readonly DRAW_BUFFER15_WEBGL: GLenum; + readonly DRAW_BUFFER1_WEBGL: GLenum; + readonly DRAW_BUFFER2_WEBGL: GLenum; + readonly DRAW_BUFFER3_WEBGL: GLenum; + readonly DRAW_BUFFER4_WEBGL: GLenum; + readonly DRAW_BUFFER5_WEBGL: GLenum; + readonly DRAW_BUFFER6_WEBGL: GLenum; + readonly DRAW_BUFFER7_WEBGL: GLenum; + readonly DRAW_BUFFER8_WEBGL: GLenum; + readonly DRAW_BUFFER9_WEBGL: GLenum; + readonly MAX_COLOR_ATTACHMENTS_WEBGL: GLenum; + readonly MAX_DRAW_BUFFERS_WEBGL: GLenum; +} + +interface WEBGL_lose_context { + loseContext(): void; + restoreContext(): void; +} + +interface WaveShaperNode extends AudioNode { + curve: Float32Array | null; + oversample: OverSampleType; +} + +declare var WaveShaperNode: { + prototype: WaveShaperNode; + new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; +}; + +interface WebAuthentication { + getAssertion(assertionChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: AssertionOptions): Promise; + makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: ScopedCredentialOptions): Promise; +} + +declare var WebAuthentication: { + prototype: WebAuthentication; + new(): WebAuthentication; +}; + +interface WebAuthnAssertion { + readonly authenticatorData: ArrayBuffer; + readonly clientData: ArrayBuffer; + readonly credential: ScopedCredential; + readonly signature: ArrayBuffer; +} + +declare var WebAuthnAssertion: { + prototype: WebAuthnAssertion; + new(): WebAuthnAssertion; +}; + +interface WebGLActiveInfo { + readonly name: string; + readonly size: GLint; + readonly type: GLenum; +} + +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +}; + +interface WebGLBuffer extends WebGLObject { +} + +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +}; + +interface WebGLContextEvent extends Event { + readonly statusMessage: string; +} + +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; +}; + +interface WebGLFramebuffer extends WebGLObject { +} + +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +}; + +interface WebGLObject { +} + +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +}; + +interface WebGLProgram extends WebGLObject { +} + +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +}; + +interface WebGLRenderbuffer extends WebGLObject { +} + +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +}; + +interface WebGLRenderingContext extends WebGLRenderingContextBase { +} + +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +}; + +interface WebGLRenderingContextBase { + readonly canvas: HTMLCanvasElement; + readonly drawingBufferHeight: GLsizei; + readonly drawingBufferWidth: GLsizei; + activeTexture(texture: GLenum): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; + bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void; + bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void; + bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + bindTexture(target: GLenum, texture: WebGLTexture | null): void; + blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + blendEquation(mode: GLenum): void; + blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; + blendFunc(sfactor: GLenum, dfactor: GLenum): void; + blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; + bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void; + bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void; + checkFramebufferStatus(target: GLenum): GLenum; + clear(mask: GLbitfield): void; + clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + clearDepth(depth: GLclampf): void; + clearStencil(s: GLint): void; + colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; + compileShader(shader: WebGLShader): void; + compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; + compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; + copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + createBuffer(): WebGLBuffer | null; + createFramebuffer(): WebGLFramebuffer | null; + createProgram(): WebGLProgram | null; + createRenderbuffer(): WebGLRenderbuffer | null; + createShader(type: GLenum): WebGLShader | null; + createTexture(): WebGLTexture | null; + cullFace(mode: GLenum): void; + deleteBuffer(buffer: WebGLBuffer | null): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void; + deleteProgram(program: WebGLProgram | null): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void; + deleteShader(shader: WebGLShader | null): void; + deleteTexture(texture: WebGLTexture | null): void; + depthFunc(func: GLenum): void; + depthMask(flag: GLboolean): void; + depthRange(zNear: GLclampf, zFar: GLclampf): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + disable(cap: GLenum): void; + disableVertexAttribArray(index: GLuint): void; + drawArrays(mode: GLenum, first: GLint, count: GLsizei): void; + drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void; + enable(cap: GLenum): void; + enableVertexAttribArray(index: GLuint): void; + finish(): void; + flush(): void; + framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void; + frontFace(mode: GLenum): void; + generateMipmap(target: GLenum): void; + getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getAttachedShaders(program: WebGLProgram): WebGLShader[] | null; + getAttribLocation(program: WebGLProgram, name: string): GLint; + getBufferParameter(target: GLenum, pname: GLenum): any; + getContextAttributes(): WebGLContextAttributes | null; + getError(): GLenum; + getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null; + getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null; + getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null; + getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null; + getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null; + getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null; + getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null; + getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null; + getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null; + getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null; + getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null; + getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null; + getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null; + getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null; + getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null; + getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null; + getExtension(extensionName: "OES_texture_float"): OES_texture_float | null; + getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null; + getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null; + getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null; + getExtension(extensionName: string): any; + getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; + getParameter(pname: GLenum): any; + getProgramInfoLog(program: WebGLProgram): string | null; + getProgramParameter(program: WebGLProgram, pname: GLenum): any; + getRenderbufferParameter(target: GLenum, pname: GLenum): any; + getShaderInfoLog(shader: WebGLShader): string | null; + getShaderParameter(shader: WebGLShader, pname: GLenum): any; + getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null; + getShaderSource(shader: WebGLShader): string | null; + getSupportedExtensions(): string[] | null; + getTexParameter(target: GLenum, pname: GLenum): any; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null; + getVertexAttrib(index: GLuint, pname: GLenum): any; + getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; + hint(target: GLenum, mode: GLenum): void; + isBuffer(buffer: WebGLBuffer | null): GLboolean; + isContextLost(): boolean; + isEnabled(cap: GLenum): GLboolean; + isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean; + isProgram(program: WebGLProgram | null): GLboolean; + isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean; + isShader(shader: WebGLShader | null): GLboolean; + isTexture(texture: WebGLTexture | null): GLboolean; + lineWidth(width: GLfloat): void; + linkProgram(program: WebGLProgram): void; + pixelStorei(pname: GLenum, param: GLint): void; + polygonOffset(factor: GLfloat, units: GLfloat): void; + readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void; + sampleCoverage(value: GLclampf, invert: GLboolean): void; + scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + shaderSource(shader: WebGLShader, source: string): void; + stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void; + stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; + stencilMask(mask: GLuint): void; + stencilMaskSeparate(face: GLenum, mask: GLuint): void; + stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void; + stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; + texParameteri(target: GLenum, pname: GLenum, param: GLint): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void; + uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform1i(location: WebGLUniformLocation | null, x: GLint): void; + uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; + uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; + uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; + uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; + uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; + uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + useProgram(program: WebGLProgram | null): void; + validateProgram(program: WebGLProgram): void; + vertexAttrib1f(index: GLuint, x: GLfloat): void; + vertexAttrib1fv(index: GLuint, values: Float32List): void; + vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; + vertexAttrib2fv(index: GLuint, values: Float32List): void; + vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; + vertexAttrib3fv(index: GLuint, values: Float32List): void; + vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + vertexAttrib4fv(index: GLuint, values: Float32List): void; + vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; + viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +} + +interface WebGLShader extends WebGLObject { +} + +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +}; + +interface WebGLShaderPrecisionFormat { + readonly precision: GLint; + readonly rangeMax: GLint; + readonly rangeMin: GLint; +} + +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +}; + +interface WebGLTexture extends WebGLObject { +} + +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +}; + +interface WebGLUniformLocation { +} + +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +}; + +interface WebGLVertexArrayObjectOES extends WebGLObject { +} + +interface WebKitPoint { + x: number; + y: number; +} + +declare var WebKitPoint: { + prototype: WebKitPoint; + new(x?: number, y?: number): WebKitPoint; +}; + +interface WebSocketEventMap { + "close": CloseEvent; + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface WebSocket extends EventTarget { + binaryType: BinaryType; + readonly bufferedAmount: number; + readonly extensions: string; + onclose: ((this: WebSocket, ev: CloseEvent) => any) | null; + onerror: ((this: WebSocket, ev: Event) => any) | null; + onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null; + onopen: ((this: WebSocket, ev: Event) => any) | null; + readonly protocol: string; + readonly readyState: number; + readonly url: string; + close(code?: number, reason?: string): void; + send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; +}; + +interface WheelEvent extends MouseEvent { + readonly deltaMode: number; + readonly deltaX: number; + readonly deltaY: number; + readonly deltaZ: number; + getCurrentPoint(element: Element): void; + initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; + readonly DOM_DELTA_PIXEL: number; +} + +declare var WheelEvent: { + prototype: WheelEvent; + new(typeArg: string, eventInitDict?: WheelEventInit): WheelEvent; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; + readonly DOM_DELTA_PIXEL: number; +}; + +interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap { + "abort": UIEvent; + "afterprint": Event; + "beforeprint": Event; + "beforeunload": BeforeUnloadEvent; + "blur": FocusEvent; + "canplay": Event; + "canplaythrough": Event; + "change": Event; + "click": MouseEvent; + "compassneedscalibration": Event; + "contextmenu": MouseEvent; + "dblclick": MouseEvent; + "devicelight": DeviceLightEvent; + "devicemotion": DeviceMotionEvent; + "deviceorientation": DeviceOrientationEvent; + "drag": DragEvent; + "dragend": DragEvent; + "dragenter": DragEvent; + "dragleave": DragEvent; + "dragover": DragEvent; + "dragstart": DragEvent; + "drop": DragEvent; + "durationchange": Event; + "emptied": Event; + "ended": Event; + "error": ErrorEvent; + "focus": FocusEvent; + "hashchange": HashChangeEvent; + "input": Event; + "invalid": Event; + "keydown": KeyboardEvent; + "keypress": KeyboardEvent; + "keyup": KeyboardEvent; + "load": Event; + "loadeddata": Event; + "loadedmetadata": Event; + "loadstart": Event; + "message": MessageEvent; + "mousedown": MouseEvent; + "mouseenter": MouseEvent; + "mouseleave": MouseEvent; + "mousemove": MouseEvent; + "mouseout": MouseEvent; + "mouseover": MouseEvent; + "mouseup": MouseEvent; + "mousewheel": Event; + "MSGestureChange": Event; + "MSGestureDoubleTap": Event; + "MSGestureEnd": Event; + "MSGestureHold": Event; + "MSGestureStart": Event; + "MSGestureTap": Event; + "MSInertiaStart": Event; + "MSPointerCancel": Event; + "MSPointerDown": Event; + "MSPointerEnter": Event; + "MSPointerLeave": Event; + "MSPointerMove": Event; + "MSPointerOut": Event; + "MSPointerOver": Event; + "MSPointerUp": Event; + "offline": Event; + "online": Event; + "orientationchange": Event; + "pagehide": PageTransitionEvent; + "pageshow": PageTransitionEvent; + "pause": Event; + "play": Event; + "playing": Event; + "popstate": PopStateEvent; + "progress": ProgressEvent; + "ratechange": Event; + "readystatechange": ProgressEvent; + "reset": Event; + "resize": UIEvent; + "scroll": UIEvent; + "seeked": Event; + "seeking": Event; + "select": UIEvent; + "stalled": Event; + "storage": StorageEvent; + "submit": Event; + "suspend": Event; + "timeupdate": Event; + "unload": Event; + "volumechange": Event; + "vrdisplayactivate": Event; + "vrdisplayblur": Event; + "vrdisplayconnect": Event; + "vrdisplaydeactivate": Event; + "vrdisplaydisconnect": Event; + "vrdisplayfocus": Event; + "vrdisplaypointerrestricted": Event; + "vrdisplaypointerunrestricted": Event; + "vrdisplaypresentchange": Event; + "waiting": Event; +} + +interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, GlobalFetch, WindowOrWorkerGlobalScope, WindowEventHandlers { + Blob: typeof Blob; + URL: typeof URL; + URLSearchParams: typeof URLSearchParams; + readonly applicationCache: ApplicationCache; + readonly caches: CacheStorage; + readonly clientInformation: Navigator; + readonly closed: boolean; + readonly crypto: Crypto; + customElements: CustomElementRegistry; + defaultStatus: string; + readonly devicePixelRatio: number; + readonly doNotTrack: string; + readonly document: Document; + readonly event: Event | undefined; + /** @deprecated */ + readonly external: External; + readonly frameElement: Element; + readonly frames: Window; + readonly history: History; + readonly innerHeight: number; + readonly innerWidth: number; + readonly isSecureContext: boolean; + readonly length: number; + location: Location; + readonly locationbar: BarProp; + readonly menubar: BarProp; + readonly msContentScript: ExtensionScriptApis; + name: string; + readonly navigator: Navigator; + offscreenBuffering: string | boolean; + oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; + ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null; + ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; + ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; + onmousewheel: ((this: Window, ev: Event) => any) | null; + onmsgesturechange: ((this: Window, ev: Event) => any) | null; + onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null; + onmsgestureend: ((this: Window, ev: Event) => any) | null; + onmsgesturehold: ((this: Window, ev: Event) => any) | null; + onmsgesturestart: ((this: Window, ev: Event) => any) | null; + onmsgesturetap: ((this: Window, ev: Event) => any) | null; + onmsinertiastart: ((this: Window, ev: Event) => any) | null; + onmspointercancel: ((this: Window, ev: Event) => any) | null; + onmspointerdown: ((this: Window, ev: Event) => any) | null; + onmspointerenter: ((this: Window, ev: Event) => any) | null; + onmspointerleave: ((this: Window, ev: Event) => any) | null; + onmspointermove: ((this: Window, ev: Event) => any) | null; + onmspointerout: ((this: Window, ev: Event) => any) | null; + onmspointerover: ((this: Window, ev: Event) => any) | null; + onmspointerup: ((this: Window, ev: Event) => any) | null; + /** @deprecated */ + onorientationchange: ((this: Window, ev: Event) => any) | null; + onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; + onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; + onvrdisplayblur: ((this: Window, ev: Event) => any) | null; + onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; + onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; + onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; + onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; + onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; + onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; + onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; + opener: any; + /** @deprecated */ + readonly orientation: string | number; + readonly outerHeight: number; + readonly outerWidth: number; + readonly pageXOffset: number; + readonly pageYOffset: number; + readonly parent: Window; + readonly performance: Performance; + readonly personalbar: BarProp; + readonly screen: Screen; + readonly screenLeft: number; + readonly screenTop: number; + readonly screenX: number; + readonly screenY: number; + readonly scrollX: number; + readonly scrollY: number; + readonly scrollbars: BarProp; + readonly self: Window; + readonly speechSynthesis: SpeechSynthesis; + status: string; + readonly statusbar: BarProp; + readonly styleMedia: StyleMedia; + readonly toolbar: BarProp; + readonly top: Window; + readonly window: Window; + alert(message?: any): void; + blur(): void; + cancelAnimationFrame(handle: number): void; + /** @deprecated */ + captureEvents(): void; + close(): void; + confirm(message?: string): boolean; + departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; + focus(): void; + getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration; + getMatchedCSSRules(elt: Element, pseudoElt?: string | null): CSSRuleList; + getSelection(): Selection; + matchMedia(query: string): MediaQueryList; + moveBy(x: number, y: number): void; + moveTo(x: number, y: number): void; + msWriteProfilerMark(profilerMarkName: string): void; + open(url?: string, target?: string, features?: string, replace?: boolean): Window | null; + postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void; + print(): void; + prompt(message?: string, _default?: string): string | null; + /** @deprecated */ + releaseEvents(): void; + requestAnimationFrame(callback: FrameRequestCallback): number; + resizeBy(x: number, y: number): void; + resizeTo(x: number, y: number): void; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + scrollTo(options?: ScrollToOptions): void; + scrollTo(x: number, y: number): void; + stop(): void; + webkitCancelAnimationFrame(handle: number): void; + webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; + webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; + webkitRequestAnimationFrame(callback: FrameRequestCallback): number; + addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Window: { + prototype: Window; + new(): Window; +}; + +interface WindowBase64 { + atob(encodedString: string): string; + btoa(rawString: string): string; +} + +interface WindowConsole { + readonly console: Console; +} + +interface WindowEventHandlersEventMap { + "afterprint": Event; + "beforeprint": Event; + "beforeunload": BeforeUnloadEvent; + "hashchange": HashChangeEvent; + "languagechange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; + "offline": Event; + "online": Event; + "pagehide": PageTransitionEvent; + "pageshow": PageTransitionEvent; + "popstate": PopStateEvent; + "rejectionhandled": Event; + "storage": StorageEvent; + "unhandledrejection": PromiseRejectionEvent; + "unload": Event; +} + +interface WindowEventHandlers { + onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null; + onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null; + onbeforeunload: ((this: WindowEventHandlers, ev: BeforeUnloadEvent) => any) | null; + onhashchange: ((this: WindowEventHandlers, ev: HashChangeEvent) => any) | null; + onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null; + onmessage: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null; + onmessageerror: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null; + onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null; + ononline: ((this: WindowEventHandlers, ev: Event) => any) | null; + onpagehide: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null; + onpageshow: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null; + onpopstate: ((this: WindowEventHandlers, ev: PopStateEvent) => any) | null; + onrejectionhandled: ((this: WindowEventHandlers, ev: Event) => any) | null; + onstorage: ((this: WindowEventHandlers, ev: StorageEvent) => any) | null; + onunhandledrejection: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null; + onunload: ((this: WindowEventHandlers, ev: Event) => any) | null; + addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface WindowLocalStorage { + readonly localStorage: Storage; +} + +interface WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly crypto: Crypto; + readonly indexedDB: IDBFactory; + readonly origin: string; + readonly performance: Performance; + atob(data: string): string; + btoa(data: string): string; + clearInterval(handle?: number): void; + clearTimeout(handle?: number): void; + createImageBitmap(image: ImageBitmapSource): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; + queueMicrotask(callback: Function): void; + setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; + setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +} + +interface WindowSessionStorage { + readonly sessionStorage: Storage; +} + +interface WindowTimers { +} + +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; +} + +interface Worker extends EventTarget, AbstractWorker { + onmessage: ((this: Worker, ev: MessageEvent) => any) | null; + postMessage(message: any, transfer?: Transferable[]): void; + terminate(): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Worker: { + prototype: Worker; + new(stringUrl: string, options?: WorkerOptions): Worker; +}; + +interface Worklet { + addModule(moduleURL: string, options?: WorkletOptions): Promise; +} + +declare var Worklet: { + prototype: Worklet; + new(): Worklet; +}; + +interface WritableStream { + readonly locked: boolean; + abort(reason?: any): Promise; + getWriter(): WritableStreamDefaultWriter; +} + +declare var WritableStream: { + prototype: WritableStream; + new(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy): WritableStream; +}; + +interface WritableStreamDefaultController { + error(error?: any): void; +} + +interface WritableStreamDefaultWriter { + readonly closed: Promise; + readonly desiredSize: number | null; + readonly ready: Promise; + abort(reason?: any): Promise; + close(): Promise; + releaseLock(): void; + write(chunk: W): Promise; +} + +interface XMLDocument extends Document { + addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; +}; + +interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { + "readystatechange": Event; +} + +interface XMLHttpRequest extends XMLHttpRequestEventTarget { + onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null; + /** + * Returns client's state. + */ + readonly readyState: number; + /** + * Returns the response's body. + */ + readonly response: any; + /** + * Returns the text response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text". + */ + readonly responseText: string; + /** + * Returns the response type. + * Can be set to change the response type. Values are: + * the empty string (default), + * "arraybuffer", + * "blob", + * "document", + * "json", and + * "text". + * When set: setting to "document" is ignored if current global object is not a Window object. + * When set: throws an "InvalidStateError" DOMException if state is loading or done. + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + responseType: XMLHttpRequestResponseType; + readonly responseURL: string; + /** + * Returns the document response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "document". + */ + readonly responseXML: Document | null; + readonly status: number; + readonly statusText: string; + /** + * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the + * request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a + * "TimeoutError" DOMException will be thrown otherwise (for the send() method). + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + timeout: number; + /** + * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is + * transferred to a server. + */ + readonly upload: XMLHttpRequestUpload; + /** + * True when credentials are to be included in a cross-origin request. False when they are + * to be excluded in a cross-origin request and when cookies are to be ignored in its response. + * Initially false. + * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set. + */ + withCredentials: boolean; + /** + * Cancels any network activity. + */ + abort(): void; + getAllResponseHeaders(): string; + getResponseHeader(name: string): string | null; + /** + * Sets the request method, request URL, and synchronous flag. + * Throws a "SyntaxError" DOMException if either method is not a + * valid HTTP method or url cannot be parsed. + * Throws a "SecurityError" DOMException if method is a + * case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`. + * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string. + */ + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void; + /** + * Acts as if the `Content-Type` header value for response is mime. + * (It does not actually change the header though.) + * Throws an "InvalidStateError" DOMException if state is loading or done. + */ + overrideMimeType(mime: string): void; + /** + * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + */ + send(body?: Document | BodyInit | null): void; + /** + * Combines a header in author request headers. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + * Throws a "SyntaxError" DOMException if name is not a header name + * or if value is not a header value. + */ + setRequestHeader(name: string, value: string): void; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; + addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; +}; + +interface XMLHttpRequestEventTargetEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; + "timeout": ProgressEvent; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; +}; + +interface XMLSerializer { + serializeToString(root: Node): string; +} + +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; +}; + +interface XPathEvaluator { + createExpression(expression: string, resolver: XPathNSResolver): XPathExpression; + createNSResolver(nodeResolver?: Node): XPathNSResolver; + evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver | ((prefix: string) => string | null) | null, type: number, result: XPathResult | null): XPathResult; +} + +declare var XPathEvaluator: { + prototype: XPathEvaluator; + new(): XPathEvaluator; +}; + +interface XPathExpression { + evaluate(contextNode: Node, type: number, result: XPathResult | null): XPathResult; +} + +declare var XPathExpression: { + prototype: XPathExpression; + new(): XPathExpression; +}; + +interface XPathNSResolver { + lookupNamespaceURI(prefix: string): string | null; +} + +declare var XPathNSResolver: { + prototype: XPathNSResolver; + new(): XPathNSResolver; +}; + +interface XPathResult { + readonly booleanValue: boolean; + readonly invalidIteratorState: boolean; + readonly numberValue: number; + readonly resultType: number; + readonly singleNodeValue: Node; + readonly snapshotLength: number; + readonly stringValue: string; + iterateNext(): Node; + snapshotItem(index: number): Node; + readonly ANY_TYPE: number; + readonly ANY_UNORDERED_NODE_TYPE: number; + readonly BOOLEAN_TYPE: number; + readonly FIRST_ORDERED_NODE_TYPE: number; + readonly NUMBER_TYPE: number; + readonly ORDERED_NODE_ITERATOR_TYPE: number; + readonly ORDERED_NODE_SNAPSHOT_TYPE: number; + readonly STRING_TYPE: number; + readonly UNORDERED_NODE_ITERATOR_TYPE: number; + readonly UNORDERED_NODE_SNAPSHOT_TYPE: number; +} + +declare var XPathResult: { + prototype: XPathResult; + new(): XPathResult; + readonly ANY_TYPE: number; + readonly ANY_UNORDERED_NODE_TYPE: number; + readonly BOOLEAN_TYPE: number; + readonly FIRST_ORDERED_NODE_TYPE: number; + readonly NUMBER_TYPE: number; + readonly ORDERED_NODE_ITERATOR_TYPE: number; + readonly ORDERED_NODE_SNAPSHOT_TYPE: number; + readonly STRING_TYPE: number; + readonly UNORDERED_NODE_ITERATOR_TYPE: number; + readonly UNORDERED_NODE_SNAPSHOT_TYPE: number; +}; + +interface XSLTProcessor { + clearParameters(): void; + getParameter(namespaceURI: string, localName: string): any; + importStylesheet(style: Node): void; + removeParameter(namespaceURI: string, localName: string): void; + reset(): void; + setParameter(namespaceURI: string, localName: string, value: any): void; + transformToDocument(source: Node): Document; + transformToFragment(source: Node, document: Document): DocumentFragment; +} + +declare var XSLTProcessor: { + prototype: XSLTProcessor; + new(): XSLTProcessor; +}; + +interface webkitRTCPeerConnection extends RTCPeerConnection { + addEventListener(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var webkitRTCPeerConnection: { + prototype: webkitRTCPeerConnection; + new(configuration: RTCConfiguration): webkitRTCPeerConnection; +}; + +declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; + +interface BlobCallback { + (blob: Blob | null): void; +} + +interface DecodeErrorCallback { + (error: DOMException): void; +} + +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; +} + +interface ErrorEventHandler { + (event: Event | string, source?: string, fileno?: number, columnNumber?: number, error?: Error): void; +} + +interface EventHandlerNonNull { + (event: Event): any; +} + +interface ForEachCallback { + (keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, status: MediaKeyStatus): void; +} + +interface FrameRequestCallback { + (time: number): void; +} + +interface FunctionStringCallback { + (data: string): void; +} + +interface IntersectionObserverCallback { + (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void; +} + +interface MSLaunchUriCallback { + (): void; +} + +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; +} + +interface NavigatorUserMediaErrorCallback { + (error: MediaStreamError): void; +} + +interface NavigatorUserMediaSuccessCallback { + (stream: MediaStream): void; +} + +interface NotificationPermissionCallback { + (permission: NotificationPermission): void; +} + +interface OnBeforeUnloadEventHandlerNonNull { + (event: Event): string | null; +} + +interface OnErrorEventHandlerNonNull { + (event: Event | string, source?: string, lineno?: number, colno?: number, error?: any): any; +} + +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; +} + +interface PositionCallback { + (position: Position): void; +} + +interface PositionErrorCallback { + (positionError: PositionError): void; +} + +interface QueuingStrategySizeCallback { + (chunk: T): number; +} + +interface RTCPeerConnectionErrorCallback { + (error: DOMException): void; +} + +interface RTCSessionDescriptionCallback { + (description: RTCSessionDescriptionInit): void; +} + +interface RTCStatsCallback { + (report: RTCStatsReport): void; +} + +interface ReadableByteStreamControllerCallback { + (controller: ReadableByteStreamController): void | PromiseLike; +} + +interface ReadableStreamDefaultControllerCallback { + (controller: ReadableStreamDefaultController): void | PromiseLike; +} + +interface ReadableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +interface TransformStreamDefaultControllerCallback { + (controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface TransformStreamDefaultControllerTransformCallback { + (chunk: I, controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface VoidFunction { + (): void; +} + +interface WritableStreamDefaultControllerCloseCallback { + (): void | PromiseLike; +} + +interface WritableStreamDefaultControllerStartCallback { + (controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamDefaultControllerWriteCallback { + (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +interface HTMLElementTagNameMap { + "a": HTMLAnchorElement; + "abbr": HTMLElement; + "address": HTMLElement; + "applet": HTMLAppletElement; + "area": HTMLAreaElement; + "article": HTMLElement; + "aside": HTMLElement; + "audio": HTMLAudioElement; + "b": HTMLElement; + "base": HTMLBaseElement; + "basefont": HTMLBaseFontElement; + "bdo": HTMLElement; + "blockquote": HTMLQuoteElement; + "body": HTMLBodyElement; + "br": HTMLBRElement; + "button": HTMLButtonElement; + "canvas": HTMLCanvasElement; + "caption": HTMLTableCaptionElement; + "cite": HTMLElement; + "code": HTMLElement; + "col": HTMLTableColElement; + "colgroup": HTMLTableColElement; + "data": HTMLDataElement; + "datalist": HTMLDataListElement; + "dd": HTMLElement; + "del": HTMLModElement; + "details": HTMLDetailsElement; + "dfn": HTMLElement; + "dialog": HTMLDialogElement; + "dir": HTMLDirectoryElement; + "div": HTMLDivElement; + "dl": HTMLDListElement; + "dt": HTMLElement; + "em": HTMLElement; + "embed": HTMLEmbedElement; + "fieldset": HTMLFieldSetElement; + "figcaption": HTMLElement; + "figure": HTMLElement; + "font": HTMLFontElement; + "footer": HTMLElement; + "form": HTMLFormElement; + "frame": HTMLFrameElement; + "frameset": HTMLFrameSetElement; + "h1": HTMLHeadingElement; + "h2": HTMLHeadingElement; + "h3": HTMLHeadingElement; + "h4": HTMLHeadingElement; + "h5": HTMLHeadingElement; + "h6": HTMLHeadingElement; + "head": HTMLHeadElement; + "header": HTMLElement; + "hgroup": HTMLElement; + "hr": HTMLHRElement; + "html": HTMLHtmlElement; + "i": HTMLElement; + "iframe": HTMLIFrameElement; + "img": HTMLImageElement; + "input": HTMLInputElement; + "ins": HTMLModElement; + "kbd": HTMLElement; + "label": HTMLLabelElement; + "legend": HTMLLegendElement; + "li": HTMLLIElement; + "link": HTMLLinkElement; + "map": HTMLMapElement; + "mark": HTMLElement; + "marquee": HTMLMarqueeElement; + "menu": HTMLMenuElement; + "meta": HTMLMetaElement; + "meter": HTMLMeterElement; + "nav": HTMLElement; + "noscript": HTMLElement; + "object": HTMLObjectElement; + "ol": HTMLOListElement; + "optgroup": HTMLOptGroupElement; + "option": HTMLOptionElement; + "output": HTMLOutputElement; + "p": HTMLParagraphElement; + "param": HTMLParamElement; + "picture": HTMLPictureElement; + "pre": HTMLPreElement; + "progress": HTMLProgressElement; + "q": HTMLQuoteElement; + "rt": HTMLElement; + "ruby": HTMLElement; + "s": HTMLElement; + "samp": HTMLElement; + "script": HTMLScriptElement; + "section": HTMLElement; + "select": HTMLSelectElement; + "slot": HTMLSlotElement; + "small": HTMLElement; + "source": HTMLSourceElement; + "span": HTMLSpanElement; + "strong": HTMLElement; + "style": HTMLStyleElement; + "sub": HTMLElement; + "sup": HTMLElement; + "table": HTMLTableElement; + "tbody": HTMLTableSectionElement; + "td": HTMLTableDataCellElement; + "template": HTMLTemplateElement; + "textarea": HTMLTextAreaElement; + "tfoot": HTMLTableSectionElement; + "th": HTMLTableHeaderCellElement; + "thead": HTMLTableSectionElement; + "time": HTMLTimeElement; + "title": HTMLTitleElement; + "tr": HTMLTableRowElement; + "track": HTMLTrackElement; + "u": HTMLElement; + "ul": HTMLUListElement; + "var": HTMLElement; + "video": HTMLVideoElement; + "wbr": HTMLElement; +} + +interface HTMLElementDeprecatedTagNameMap { + "listing": HTMLPreElement; + "xmp": HTMLPreElement; +} + +interface SVGElementTagNameMap { + "circle": SVGCircleElement; + "clipPath": SVGClipPathElement; + "defs": SVGDefsElement; + "desc": SVGDescElement; + "ellipse": SVGEllipseElement; + "feBlend": SVGFEBlendElement; + "feColorMatrix": SVGFEColorMatrixElement; + "feComponentTransfer": SVGFEComponentTransferElement; + "feComposite": SVGFECompositeElement; + "feConvolveMatrix": SVGFEConvolveMatrixElement; + "feDiffuseLighting": SVGFEDiffuseLightingElement; + "feDisplacementMap": SVGFEDisplacementMapElement; + "feDistantLight": SVGFEDistantLightElement; + "feFlood": SVGFEFloodElement; + "feFuncA": SVGFEFuncAElement; + "feFuncB": SVGFEFuncBElement; + "feFuncG": SVGFEFuncGElement; + "feFuncR": SVGFEFuncRElement; + "feGaussianBlur": SVGFEGaussianBlurElement; + "feImage": SVGFEImageElement; + "feMerge": SVGFEMergeElement; + "feMergeNode": SVGFEMergeNodeElement; + "feMorphology": SVGFEMorphologyElement; + "feOffset": SVGFEOffsetElement; + "fePointLight": SVGFEPointLightElement; + "feSpecularLighting": SVGFESpecularLightingElement; + "feSpotLight": SVGFESpotLightElement; + "feTile": SVGFETileElement; + "feTurbulence": SVGFETurbulenceElement; + "filter": SVGFilterElement; + "foreignObject": SVGForeignObjectElement; + "g": SVGGElement; + "image": SVGImageElement; + "line": SVGLineElement; + "linearGradient": SVGLinearGradientElement; + "marker": SVGMarkerElement; + "mask": SVGMaskElement; + "metadata": SVGMetadataElement; + "path": SVGPathElement; + "pattern": SVGPatternElement; + "polygon": SVGPolygonElement; + "polyline": SVGPolylineElement; + "radialGradient": SVGRadialGradientElement; + "rect": SVGRectElement; + "stop": SVGStopElement; + "svg": SVGSVGElement; + "switch": SVGSwitchElement; + "symbol": SVGSymbolElement; + "text": SVGTextElement; + "textPath": SVGTextPathElement; + "tspan": SVGTSpanElement; + "use": SVGUseElement; + "view": SVGViewElement; +} + +/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */ +interface ElementTagNameMap extends HTMLElementTagNameMap, SVGElementTagNameMap { } + +declare var Audio: { + new(src?: string): HTMLAudioElement; +}; +declare var Image: { + new(width?: number, height?: number): HTMLImageElement; +}; +declare var Option: { + new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; +}; +declare var Blob: typeof Blob; +declare var URL: typeof URL; +declare var URLSearchParams: typeof URLSearchParams; +declare var applicationCache: ApplicationCache; +declare var caches: CacheStorage; +declare var clientInformation: Navigator; +declare var closed: boolean; +declare var crypto: Crypto; +declare var customElements: CustomElementRegistry; +declare var defaultStatus: string; +declare var devicePixelRatio: number; +declare var doNotTrack: string; +declare var document: Document; +declare var event: Event | undefined; +/** @deprecated */ +declare var external: External; +declare var frameElement: Element; +declare var frames: Window; +declare var history: History; +declare var innerHeight: number; +declare var innerWidth: number; +declare var isSecureContext: boolean; +declare var length: number; +declare var location: Location; +declare var locationbar: BarProp; +declare var menubar: BarProp; +declare var msContentScript: ExtensionScriptApis; +declare const name: never; +declare var navigator: Navigator; +declare var offscreenBuffering: string | boolean; +declare var oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; +declare var ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null; +declare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; +declare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; +declare var onmousewheel: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturechange: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null; +declare var onmsgestureend: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturehold: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturestart: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturetap: ((this: Window, ev: Event) => any) | null; +declare var onmsinertiastart: ((this: Window, ev: Event) => any) | null; +declare var onmspointercancel: ((this: Window, ev: Event) => any) | null; +declare var onmspointerdown: ((this: Window, ev: Event) => any) | null; +declare var onmspointerenter: ((this: Window, ev: Event) => any) | null; +declare var onmspointerleave: ((this: Window, ev: Event) => any) | null; +declare var onmspointermove: ((this: Window, ev: Event) => any) | null; +declare var onmspointerout: ((this: Window, ev: Event) => any) | null; +declare var onmspointerover: ((this: Window, ev: Event) => any) | null; +declare var onmspointerup: ((this: Window, ev: Event) => any) | null; +/** @deprecated */ +declare var onorientationchange: ((this: Window, ev: Event) => any) | null; +declare var onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; +declare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplayblur: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; +declare var opener: any; +/** @deprecated */ +declare var orientation: string | number; +declare var outerHeight: number; +declare var outerWidth: number; +declare var pageXOffset: number; +declare var pageYOffset: number; +declare var parent: Window; +declare var performance: Performance; +declare var personalbar: BarProp; +declare var screen: Screen; +declare var screenLeft: number; +declare var screenTop: number; +declare var screenX: number; +declare var screenY: number; +declare var scrollX: number; +declare var scrollY: number; +declare var scrollbars: BarProp; +declare var self: Window; +declare var speechSynthesis: SpeechSynthesis; +declare var status: string; +declare var statusbar: BarProp; +declare var styleMedia: StyleMedia; +declare var toolbar: BarProp; +declare var top: Window; +declare var window: Window; +declare function alert(message?: any): void; +declare function blur(): void; +declare function cancelAnimationFrame(handle: number): void; +/** @deprecated */ +declare function captureEvents(): void; +declare function close(): void; +declare function confirm(message?: string): boolean; +declare function departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; +declare function focus(): void; +declare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration; +declare function getMatchedCSSRules(elt: Element, pseudoElt?: string | null): CSSRuleList; +declare function getSelection(): Selection; +declare function matchMedia(query: string): MediaQueryList; +declare function moveBy(x: number, y: number): void; +declare function moveTo(x: number, y: number): void; +declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window | null; +declare function postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void; +declare function print(): void; +declare function prompt(message?: string, _default?: string): string | null; +/** @deprecated */ +declare function releaseEvents(): void; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function resizeBy(x: number, y: number): void; +declare function resizeTo(x: number, y: number): void; +declare function scroll(options?: ScrollToOptions): void; +declare function scroll(x: number, y: number): void; +declare function scrollBy(options?: ScrollToOptions): void; +declare function scrollBy(x: number, y: number): void; +declare function scrollTo(options?: ScrollToOptions): void; +declare function scrollTo(x: number, y: number): void; +declare function stop(): void; +declare function webkitCancelAnimationFrame(handle: number): void; +declare function webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; +declare function webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; +declare function webkitRequestAnimationFrame(callback: FrameRequestCallback): number; +declare function toString(): string; +/** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ +declare function dispatchEvent(event: Event): boolean; +declare var sessionStorage: Storage; +declare var localStorage: Storage; +declare var console: Console; +/** + * Fires when the user aborts the download. + * @param ev The event. + */ +declare var onabort: ((this: Window, ev: UIEvent) => any) | null; +declare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onauxclick: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the object loses the input focus. + * @param ev The focus event. + */ +declare var onblur: ((this: Window, ev: FocusEvent) => any) | null; +declare var oncancel: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when playback is possible, but would require further buffering. + * @param ev The event. + */ +declare var oncanplay: ((this: Window, ev: Event) => any) | null; +declare var oncanplaythrough: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the contents of the object or selection have changed. + * @param ev The event. + */ +declare var onchange: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user clicks the left mouse button on the object + * @param ev The mouse event. + */ +declare var onclick: ((this: Window, ev: MouseEvent) => any) | null; +declare var onclose: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user clicks the right mouse button in the client area, opening the context menu. + * @param ev The mouse event. + */ +declare var oncontextmenu: ((this: Window, ev: MouseEvent) => any) | null; +declare var oncuechange: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user double-clicks the object. + * @param ev The mouse event. + */ +declare var ondblclick: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires on the source object continuously during a drag operation. + * @param ev The event. + */ +declare var ondrag: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the source object when the user releases the mouse at the close of a drag operation. + * @param ev The event. + */ +declare var ondragend: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the target element when the user drags the object to a valid drop target. + * @param ev The drag event. + */ +declare var ondragenter: ((this: Window, ev: DragEvent) => any) | null; +declare var ondragexit: ((this: Window, ev: Event) => any) | null; +/** + * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. + * @param ev The drag event. + */ +declare var ondragleave: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the target element continuously while the user drags the object over a valid drop target. + * @param ev The event. + */ +declare var ondragover: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the source object when the user starts to drag a text selection or selected object. + * @param ev The event. + */ +declare var ondragstart: ((this: Window, ev: DragEvent) => any) | null; +declare var ondrop: ((this: Window, ev: DragEvent) => any) | null; +/** + * Occurs when the duration attribute is updated. + * @param ev The event. + */ +declare var ondurationchange: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the media element is reset to its initial state. + * @param ev The event. + */ +declare var onemptied: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the end of playback is reached. + * @param ev The event + */ +declare var onended: ((this: Window, ev: Event) => any) | null; +/** + * Fires when an error occurs during object loading. + * @param ev The event. + */ +declare var onerror: ErrorEventHandler; +/** + * Fires when the object receives focus. + * @param ev The event. + */ +declare var onfocus: ((this: Window, ev: FocusEvent) => any) | null; +declare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null; +declare var oninput: ((this: Window, ev: Event) => any) | null; +declare var oninvalid: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user presses a key. + * @param ev The keyboard event + */ +declare var onkeydown: ((this: Window, ev: KeyboardEvent) => any) | null; +/** + * Fires when the user presses an alphanumeric key. + * @param ev The event. + */ +declare var onkeypress: ((this: Window, ev: KeyboardEvent) => any) | null; +/** + * Fires when the user releases a key. + * @param ev The keyboard event + */ +declare var onkeyup: ((this: Window, ev: KeyboardEvent) => any) | null; +/** + * Fires immediately after the browser loads the object. + * @param ev The event. + */ +declare var onload: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when media data is loaded at the current playback position. + * @param ev The event. + */ +declare var onloadeddata: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the duration and dimensions of the media have been determined. + * @param ev The event. + */ +declare var onloadedmetadata: ((this: Window, ev: Event) => any) | null; +declare var onloadend: ((this: Window, ev: ProgressEvent) => any) | null; +/** + * Occurs when Internet Explorer begins looking for media data. + * @param ev The event. + */ +declare var onloadstart: ((this: Window, ev: Event) => any) | null; +declare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null; +/** + * Fires when the user clicks the object with either mouse button. + * @param ev The mouse event. + */ +declare var onmousedown: ((this: Window, ev: MouseEvent) => any) | null; +declare var onmouseenter: ((this: Window, ev: MouseEvent) => any) | null; +declare var onmouseleave: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user moves the mouse over the object. + * @param ev The mouse event. + */ +declare var onmousemove: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user moves the mouse pointer outside the boundaries of the object. + * @param ev The mouse event. + */ +declare var onmouseout: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user moves the mouse pointer into the object. + * @param ev The mouse event. + */ +declare var onmouseover: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user releases a mouse button while the mouse is over the object. + * @param ev The mouse event. + */ +declare var onmouseup: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Occurs when playback is paused. + * @param ev The event. + */ +declare var onpause: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the play method is requested. + * @param ev The event. + */ +declare var onplay: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the audio or video has started playing. + * @param ev The event. + */ +declare var onplaying: ((this: Window, ev: Event) => any) | null; +declare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerleave: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null; +/** + * Occurs to indicate progress while downloading media data. + * @param ev The event. + */ +declare var onprogress: ((this: Window, ev: ProgressEvent) => any) | null; +/** + * Occurs when the playback rate is increased or decreased. + * @param ev The event. + */ +declare var onratechange: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user resets a form. + * @param ev The event. + */ +declare var onreset: ((this: Window, ev: Event) => any) | null; +declare var onresize: ((this: Window, ev: UIEvent) => any) | null; +/** + * Fires when the user repositions the scroll box in the scroll bar on the object. + * @param ev The event. + */ +declare var onscroll: ((this: Window, ev: UIEvent) => any) | null; +declare var onsecuritypolicyviolation: ((this: Window, ev: SecurityPolicyViolationEvent) => any) | null; +/** + * Occurs when the seek operation ends. + * @param ev The event. + */ +declare var onseeked: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the current playback position is moved. + * @param ev The event. + */ +declare var onseeking: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the current selection changes. + * @param ev The event. + */ +declare var onselect: ((this: Window, ev: UIEvent) => any) | null; +/** + * Occurs when the download has stopped. + * @param ev The event. + */ +declare var onstalled: ((this: Window, ev: Event) => any) | null; +declare var onsubmit: ((this: Window, ev: Event) => any) | null; +/** + * Occurs if the load operation has been intentionally halted. + * @param ev The event. + */ +declare var onsuspend: ((this: Window, ev: Event) => any) | null; +/** + * Occurs to indicate the current playback position. + * @param ev The event. + */ +declare var ontimeupdate: ((this: Window, ev: Event) => any) | null; +declare var ontoggle: ((this: Window, ev: Event) => any) | null; +declare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null; +/** + * Occurs when the volume is changed, or playback is muted or unmuted. + * @param ev The event. + */ +declare var onvolumechange: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when playback stops because the next frame of a video resource is not available. + * @param ev The event. + */ +declare var onwaiting: ((this: Window, ev: Event) => any) | null; +declare var onwheel: ((this: Window, ev: WheelEvent) => any) | null; +declare var indexedDB: IDBFactory; +declare function atob(encodedString: string): string; +declare function btoa(rawString: string): string; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare var caches: CacheStorage; +declare var crypto: Crypto; +declare var indexedDB: IDBFactory; +declare var origin: string; +declare var performance: Performance; +declare function atob(data: string): string; +declare function btoa(data: string): string; +declare function clearInterval(handle?: number): void; +declare function clearTimeout(handle?: number): void; +declare function createImageBitmap(image: ImageBitmapSource): Promise; +declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare function queueMicrotask(callback: Function): void; +declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare var sessionStorage: Storage; +declare var localStorage: Storage; +declare var onafterprint: ((this: Window, ev: Event) => any) | null; +declare var onbeforeprint: ((this: Window, ev: Event) => any) | null; +declare var onbeforeunload: ((this: Window, ev: BeforeUnloadEvent) => any) | null; +declare var onhashchange: ((this: Window, ev: HashChangeEvent) => any) | null; +declare var onlanguagechange: ((this: Window, ev: Event) => any) | null; +declare var onmessage: ((this: Window, ev: MessageEvent) => any) | null; +declare var onmessageerror: ((this: Window, ev: MessageEvent) => any) | null; +declare var onoffline: ((this: Window, ev: Event) => any) | null; +declare var ononline: ((this: Window, ev: Event) => any) | null; +declare var onpagehide: ((this: Window, ev: PageTransitionEvent) => any) | null; +declare var onpageshow: ((this: Window, ev: PageTransitionEvent) => any) | null; +declare var onpopstate: ((this: Window, ev: PopStateEvent) => any) | null; +declare var onrejectionhandled: ((this: Window, ev: Event) => any) | null; +declare var onstorage: ((this: Window, ev: StorageEvent) => any) | null; +declare var onunhandledrejection: ((this: Window, ev: PromiseRejectionEvent) => any) | null; +declare var onunload: ((this: Window, ev: Event) => any) | null; +declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; +declare function removeEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +type BlobPart = BufferSource | Blob | string; +type HeadersInit = Headers | string[][] | Record; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type RequestInfo = Request | string; +type DOMHighResTimeStamp = number; +type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext; +type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; +type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; +type MessageEventSource = WindowProxy | MessagePort | ServiceWorker; +type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; +type OnErrorEventHandler = OnErrorEventHandlerNonNull | null; +type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null; +type TimerHandler = string | Function; +type PerformanceEntryList = PerformanceEntry[]; +type VibratePattern = number | number[]; +type AlgorithmIdentifier = string | Algorithm; +type HashAlgorithmIdentifier = AlgorithmIdentifier; +type BigInteger = Uint8Array; +type NamedCurve = string; +type GLenum = number; +type GLboolean = boolean; +type GLbitfield = number; +type GLint = number; +type GLsizei = number; +type GLintptr = number; +type GLsizeiptr = number; +type GLuint = number; +type GLfloat = number; +type GLclampf = number; +type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; +type Float32List = Float32Array | GLfloat[]; +type Int32List = Int32Array | GLint[]; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type LineAndPositionSetting = number | AutoKeyword; +type FormDataEntryValue = File | string; +type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend"; +type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; +type MutationRecordType = "attributes" | "characterData" | "childList"; +type ConstrainBoolean = boolean | ConstrainBooleanParameters; +type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; +type ConstrainDouble = number | ConstrainDoubleRange; +type ConstrainLong = number | ConstrainLongRange; +type IDBKeyPath = string; +type Transferable = ArrayBuffer | MessagePort | ImageBitmap; +type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete; +type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport; +/** @deprecated */ +type MouseWheelEvent = WheelEvent; +type WindowProxy = Window; +type AlignSetting = "start" | "center" | "end" | "left" | "right"; +type AnimationPlayState = "idle" | "running" | "paused" | "finished"; +type AppendMode = "segments" | "sequence"; +type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; +type AudioContextState = "suspended" | "running" | "closed"; +type AutoKeyword = "auto"; +type AutomationRate = "a-rate" | "k-rate"; +type BinaryType = "blob" | "arraybuffer"; +type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; +type CanPlayTypeResult = "" | "maybe" | "probably"; +type CanvasDirection = "ltr" | "rtl" | "inherit"; +type CanvasFillRule = "nonzero" | "evenodd"; +type CanvasLineCap = "butt" | "round" | "square"; +type CanvasLineJoin = "round" | "bevel" | "miter"; +type CanvasTextAlign = "start" | "end" | "left" | "right" | "center"; +type CanvasTextBaseline = "top" | "hanging" | "middle" | "alphabetic" | "ideographic" | "bottom"; +type ChannelCountMode = "max" | "clamped-max" | "explicit"; +type ChannelInterpretation = "speakers" | "discrete"; +type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type CompositeOperation = "replace" | "add" | "accumulate"; +type CompositeOperationOrAuto = "replace" | "add" | "accumulate" | "auto"; +type DirectionSetting = "" | "rl" | "lr"; +type DisplayCaptureSurfaceType = "monitor" | "window" | "application" | "browser"; +type DistanceModelType = "linear" | "inverse" | "exponential"; +type DocumentReadyState = "loading" | "interactive" | "complete"; +type EndOfStreamError = "network" | "decode"; +type EndingType = "transparent" | "native"; +type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; +type GamepadHand = "" | "left" | "right"; +type GamepadHapticActuatorType = "vibration"; +type GamepadInputEmulationType = "mouse" | "keyboard" | "gamepad"; +type GamepadMappingType = "" | "standard"; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; +type IDBRequestReadyState = "pending" | "done"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type ImageSmoothingQuality = "low" | "medium" | "high"; +type IterationCompositeOperation = "replace" | "accumulate"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; +type LineAlignSetting = "start" | "center" | "end"; +type ListeningState = "inactive" | "active" | "disambiguation"; +type MSCredentialType = "FIDO_2_0"; +type MSTransportType = "Embedded" | "USB" | "NFC" | "BT"; +type MSWebViewPermissionState = "unknown" | "defer" | "allow" | "deny"; +type MSWebViewPermissionType = "geolocation" | "unlimitedIndexedDBQuota" | "media" | "pointerlock" | "webnotifications"; +type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput"; +type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request"; +type MediaKeySessionType = "temporary" | "persistent-license" | "persistent-release-message"; +type MediaKeyStatus = "usable" | "expired" | "output-downscaled" | "output-not-allowed" | "status-pending" | "internal-error"; +type MediaKeysRequirement = "required" | "optional" | "not-allowed"; +type MediaStreamTrackState = "live" | "ended"; +type NavigationReason = "up" | "down" | "left" | "right"; +type NavigationType = "navigate" | "reload" | "back_forward" | "prerender"; +type NotificationDirection = "auto" | "ltr" | "rtl"; +type NotificationPermission = "default" | "denied" | "granted"; +type OrientationLockType = "any" | "natural" | "landscape" | "portrait" | "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary"; +type OrientationType = "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary"; +type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom"; +type OverSampleType = "none" | "2x" | "4x"; +type PanningModelType = "equalpower" | "HRTF"; +type PaymentComplete = "success" | "fail" | "unknown"; +type PaymentShippingType = "shipping" | "delivery" | "pickup"; +type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; +type PositionAlignSetting = "line-left" | "center" | "line-right" | "auto"; +type PushEncryptionKeyName = "p256dh" | "auth"; +type PushPermissionState = "denied" | "granted" | "prompt"; +type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle"; +type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; +type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; +type RTCDtlsRole = "auto" | "client" | "server"; +type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; +type RTCDtxStatus = "disabled" | "enabled"; +type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error" | "hardware-encoder-not-available" | "hardware-encoder-error"; +type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; +type RTCIceComponent = "rtp" | "rtcp"; +type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed"; +type RTCIceCredentialType = "password" | "oauth"; +type RTCIceGatherPolicy = "all" | "nohost" | "relay"; +type RTCIceGathererState = "new" | "gathering" | "complete"; +type RTCIceGatheringState = "new" | "gathering" | "complete"; +type RTCIceProtocol = "udp" | "tcp"; +type RTCIceRole = "controlling" | "controlled"; +type RTCIceTcpCandidateType = "active" | "passive" | "so"; +type RTCIceTransportPolicy = "relay" | "all"; +type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed"; +type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed"; +type RTCPriorityType = "very-low" | "low" | "medium" | "high"; +type RTCRtcpMuxPolicy = "negotiate" | "require"; +type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive"; +type RTCSctpTransportState = "connecting" | "connected" | "closed"; +type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; +type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer" | "closed"; +type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; +type RTCStatsIceCandidateType = "host" | "serverreflexive" | "peerreflexive" | "relayed"; +type RTCStatsType = "inboundrtp" | "outboundrtp" | "session" | "datachannel" | "track" | "transport" | "candidatepair" | "localcandidate" | "remotecandidate"; +type ReadyState = "closed" | "open" | "ended"; +type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestRedirect = "follow" | "error" | "manual"; +type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type ScopedCredentialType = "ScopedCred"; +type ScrollBehavior = "auto" | "smooth"; +type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; +type ScrollRestoration = "auto" | "manual"; +type ScrollSetting = "" | "up"; +type SelectionMode = "select" | "start" | "end" | "preserve"; +type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ServiceWorkerUpdateViaCache = "imports" | "all" | "none"; +type ShadowRootMode = "open" | "closed"; +type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported"; +type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "audio-hardware" | "network" | "synthesis-unavailable" | "synthesis-failed" | "language-unavailable" | "voice-unavailable" | "text-too-long" | "invalid-argument"; +type SupportedType = "text/html" | "text/xml" | "application/xml" | "application/xhtml+xml" | "image/svg+xml"; +type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; +type TextTrackMode = "disabled" | "hidden" | "showing"; +type TouchType = "direct" | "stylus"; +type Transport = "usb" | "nfc" | "ble"; +type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted"; +type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; +type VisibilityState = "hidden" | "visible" | "prerender"; +type WebGLPowerPreference = "default" | "low-power" | "high-performance"; +type WorkerType = "classic" | "module"; +type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.dom.iterable.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.dom.iterable.d.ts new file mode 100644 index 0000000..0948f70 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.dom.iterable.d.ts @@ -0,0 +1,236 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// DOM Iterable APIs +///////////////////////////// + +interface AudioParamMap extends ReadonlyMap { +} + +interface AudioTrackList { + [Symbol.iterator](): IterableIterator; +} + +interface CSSRuleList { + [Symbol.iterator](): IterableIterator; +} + +interface CSSStyleDeclaration { + [Symbol.iterator](): IterableIterator; +} + +interface ClientRectList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMRectList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMStringList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMTokenList { + [Symbol.iterator](): IterableIterator; + entries(): IterableIterator<[number, string]>; + keys(): IterableIterator; + values(): IterableIterator; +} + +interface DataTransferItemList { + [Symbol.iterator](): IterableIterator; +} + +interface FileList { + [Symbol.iterator](): IterableIterator; +} + +interface FormData { + [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[string, FormDataEntryValue]>; + /** + * Returns a list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns a list of values in the list. + */ + values(): IterableIterator; +} + +interface HTMLAllCollection { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLCollectionBase { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLCollectionOf { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLFormElement { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLSelectElement { + [Symbol.iterator](): IterableIterator; +} + +interface Headers { + [Symbol.iterator](): IterableIterator<[string, string]>; + /** + * Returns an iterator allowing to go through all key/value pairs contained in this object. + */ + entries(): IterableIterator<[string, string]>; + /** + * Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. + */ + keys(): IterableIterator; + /** + * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. + */ + values(): IterableIterator; +} + +interface MediaList { + [Symbol.iterator](): IterableIterator; +} + +interface MimeTypeArray { + [Symbol.iterator](): IterableIterator; +} + +interface NamedNodeMap { + [Symbol.iterator](): IterableIterator; +} + +interface NodeList { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[number, Node]>; + /** + * Returns an list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns an list of values in the list. + */ + values(): IterableIterator; +} + +interface NodeListOf { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[number, TNode]>; + /** + * Returns an list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns an list of values in the list. + */ + values(): IterableIterator; +} + +interface Plugin { + [Symbol.iterator](): IterableIterator; +} + +interface PluginArray { + [Symbol.iterator](): IterableIterator; +} + +interface RTCStatsReport extends ReadonlyMap { +} + +interface SVGLengthList { + [Symbol.iterator](): IterableIterator; +} + +interface SVGNumberList { + [Symbol.iterator](): IterableIterator; +} + +interface SVGStringList { + [Symbol.iterator](): IterableIterator; +} + +interface SourceBufferList { + [Symbol.iterator](): IterableIterator; +} + +interface SpeechGrammarList { + [Symbol.iterator](): IterableIterator; +} + +interface SpeechRecognitionResult { + [Symbol.iterator](): IterableIterator; +} + +interface SpeechRecognitionResultList { + [Symbol.iterator](): IterableIterator; +} + +interface StyleSheetList { + [Symbol.iterator](): IterableIterator; +} + +interface TextTrackCueList { + [Symbol.iterator](): IterableIterator; +} + +interface TextTrackList { + [Symbol.iterator](): IterableIterator; +} + +interface TouchList { + [Symbol.iterator](): IterableIterator; +} + +interface URLSearchParams { + [Symbol.iterator](): IterableIterator<[string, string]>; + /** + * Returns an array of key, value pairs for every entry in the search params. + */ + entries(): IterableIterator<[string, string]>; + /** + * Returns a list of keys in the search params. + */ + keys(): IterableIterator; + /** + * Returns a list of values in the search params. + */ + values(): IterableIterator; +} + +interface VideoTrackList { + [Symbol.iterator](): IterableIterator; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.collection.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.collection.d.ts new file mode 100644 index 0000000..2c19919 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.collection.d.ts @@ -0,0 +1,89 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Map { + clear(): void; + delete(key: K): boolean; + forEach(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void; + get(key: K): V | undefined; + has(key: K): boolean; + set(key: K, value: V): this; + readonly size: number; +} + +interface MapConstructor { + new(): Map; + new(entries?: ReadonlyArray<[K, V]> | null): Map; + readonly prototype: Map; +} +declare var Map: MapConstructor; + +interface ReadonlyMap { + forEach(callbackfn: (value: V, key: K, map: ReadonlyMap) => void, thisArg?: any): void; + get(key: K): V | undefined; + has(key: K): boolean; + readonly size: number; +} + +interface WeakMap { + delete(key: K): boolean; + get(key: K): V | undefined; + has(key: K): boolean; + set(key: K, value: V): this; +} + +interface WeakMapConstructor { + new (entries?: ReadonlyArray<[K, V]> | null): WeakMap; + readonly prototype: WeakMap; +} +declare var WeakMap: WeakMapConstructor; + +interface Set { + add(value: T): this; + clear(): void; + delete(value: T): boolean; + forEach(callbackfn: (value: T, value2: T, set: Set) => void, thisArg?: any): void; + has(value: T): boolean; + readonly size: number; +} + +interface SetConstructor { + new (values?: ReadonlyArray | null): Set; + readonly prototype: Set; +} +declare var Set: SetConstructor; + +interface ReadonlySet { + forEach(callbackfn: (value: T, value2: T, set: ReadonlySet) => void, thisArg?: any): void; + has(value: T): boolean; + readonly size: number; +} + +interface WeakSet { + add(value: T): this; + delete(value: T): boolean; + has(value: T): boolean; +} + +interface WeakSetConstructor { + new (values?: ReadonlyArray | null): WeakSet; + readonly prototype: WeakSet; +} +declare var WeakSet: WeakSetConstructor; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.core.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.core.d.ts new file mode 100644 index 0000000..7c43b36 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.core.d.ts @@ -0,0 +1,511 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Array { + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined; + find(predicate: (value: T, index: number, obj: T[]) => boolean, thisArg?: any): T | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: T, index: number, obj: T[]) => boolean, thisArg?: any): number; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: T, start?: number, end?: number): this; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; +} + +interface ArrayConstructor { + /** + * Creates an array from an array-like object. + * @param arrayLike An array-like object to convert to an array. + */ + from(arrayLike: ArrayLike): T[]; + + /** + * Creates an array from an iterable object. + * @param arrayLike An array-like object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: T[]): T[]; +} + +interface DateConstructor { + new (value: number | string | Date): Date; +} + +interface Function { + /** + * Returns the name of the function. Function names are read-only and can not be changed. + */ + readonly name: string; +} + +interface Math { + /** + * Returns the number of leading zero bits in the 32-bit binary representation of a number. + * @param x A numeric expression. + */ + clz32(x: number): number; + + /** + * Returns the result of 32-bit multiplication of two numbers. + * @param x First number + * @param y Second number + */ + imul(x: number, y: number): number; + + /** + * Returns the sign of the x, indicating whether x is positive, negative or zero. + * @param x The numeric expression to test + */ + sign(x: number): number; + + /** + * Returns the base 10 logarithm of a number. + * @param x A numeric expression. + */ + log10(x: number): number; + + /** + * Returns the base 2 logarithm of a number. + * @param x A numeric expression. + */ + log2(x: number): number; + + /** + * Returns the natural logarithm of 1 + x. + * @param x A numeric expression. + */ + log1p(x: number): number; + + /** + * Returns the result of (e^x - 1), which is an implementation-dependent approximation to + * subtracting 1 from the exponential function of x (e raised to the power of x, where e + * is the base of the natural logarithms). + * @param x A numeric expression. + */ + expm1(x: number): number; + + /** + * Returns the hyperbolic cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cosh(x: number): number; + + /** + * Returns the hyperbolic sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sinh(x: number): number; + + /** + * Returns the hyperbolic tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tanh(x: number): number; + + /** + * Returns the inverse hyperbolic cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + acosh(x: number): number; + + /** + * Returns the inverse hyperbolic sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + asinh(x: number): number; + + /** + * Returns the inverse hyperbolic tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + atanh(x: number): number; + + /** + * Returns the square root of the sum of squares of its arguments. + * @param values Values to compute the square root for. + * If no arguments are passed, the result is +0. + * If there is only one argument, the result is the absolute value. + * If any argument is +Infinity or -Infinity, the result is +Infinity. + * If any argument is NaN, the result is NaN. + * If all arguments are either +0 or −0, the result is +0. + */ + hypot(...values: number[]): number; + + /** + * Returns the integral part of the a numeric expression, x, removing any fractional digits. + * If x is already an integer, the result is x. + * @param x A numeric expression. + */ + trunc(x: number): number; + + /** + * Returns the nearest single precision float representation of a number. + * @param x A numeric expression. + */ + fround(x: number): number; + + /** + * Returns an implementation-dependent approximation to the cube root of number. + * @param x A numeric expression. + */ + cbrt(x: number): number; +} + +interface NumberConstructor { + /** + * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1 + * that is representable as a Number value, which is approximately: + * 2.2204460492503130808472633361816 x 10‍−‍16. + */ + readonly EPSILON: number; + + /** + * Returns true if passed value is finite. + * Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a + * number. Only finite values of the type number, result in true. + * @param number A numeric value. + */ + isFinite(number: number): boolean; + + /** + * Returns true if the value passed is an integer, false otherwise. + * @param number A numeric value. + */ + isInteger(number: number): boolean; + + /** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a + * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter + * to a number. Only values of the type number, that are also NaN, result in true. + * @param number A numeric value. + */ + isNaN(number: number): boolean; + + /** + * Returns true if the value passed is a safe integer. + * @param number A numeric value. + */ + isSafeInteger(number: number): boolean; + + /** + * The value of the largest integer n such that n and n + 1 are both exactly representable as + * a Number value. + * The value of Number.MAX_SAFE_INTEGER is 9007199254740991 2^53 − 1. + */ + readonly MAX_SAFE_INTEGER: number; + + /** + * The value of the smallest integer n such that n and n − 1 are both exactly representable as + * a Number value. + * The value of Number.MIN_SAFE_INTEGER is −9007199254740991 (−(2^53 − 1)). + */ + readonly MIN_SAFE_INTEGER: number; + + /** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ + parseFloat(string: string): number; + + /** + * Converts A string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ + parseInt(string: string, radix?: number): number; +} + +interface ObjectConstructor { + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param source The source object from which to copy properties. + */ + assign(target: T, source: U): T & U; + + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param source1 The first source object from which to copy properties. + * @param source2 The second source object from which to copy properties. + */ + assign(target: T, source1: U, source2: V): T & U & V; + + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param source1 The first source object from which to copy properties. + * @param source2 The second source object from which to copy properties. + * @param source3 The third source object from which to copy properties. + */ + assign(target: T, source1: U, source2: V, source3: W): T & U & V & W; + + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param sources One or more source objects from which to copy properties + */ + assign(target: object, ...sources: any[]): any; + + /** + * Returns an array of all symbol properties found directly on object o. + * @param o Object to retrieve the symbols from. + */ + getOwnPropertySymbols(o: any): symbol[]; + + /** + * Returns true if the values are the same value, false otherwise. + * @param value1 The first value. + * @param value2 The second value. + */ + is(value1: any, value2: any): boolean; + + /** + * Sets the prototype of a specified object o to object proto or null. Returns the object o. + * @param o The object to change its prototype. + * @param proto The value of the new prototype or null. + */ + setPrototypeOf(o: any, proto: object | null): any; +} + +interface ReadonlyArray { + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (this: void, value: T, index: number, obj: ReadonlyArray) => value is S, thisArg?: any): S | undefined; + find(predicate: (value: T, index: number, obj: ReadonlyArray) => boolean, thisArg?: any): T | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: T, index: number, obj: ReadonlyArray) => boolean, thisArg?: any): number; +} + +interface RegExp { + /** + * Returns a string indicating the flags of the regular expression in question. This field is read-only. + * The characters in this string are sequenced and concatenated in the following order: + * + * - "g" for global + * - "i" for ignoreCase + * - "m" for multiline + * - "u" for unicode + * - "y" for sticky + * + * If no flags are set, the value is the empty string. + */ + readonly flags: string; + + /** + * Returns a Boolean value indicating the state of the sticky flag (y) used with a regular + * expression. Default is false. Read-only. + */ + readonly sticky: boolean; + + /** + * Returns a Boolean value indicating the state of the Unicode flag (u) used with a regular + * expression. Default is false. Read-only. + */ + readonly unicode: boolean; +} + +interface RegExpConstructor { + new (pattern: RegExp, flags?: string): RegExp; + (pattern: RegExp, flags?: string): RegExp; +} + +interface String { + /** + * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point + * value of the UTF-16 encoded code point starting at the string element at position pos in + * the String resulting from converting this object to a String. + * If there is no element at that position, the result is undefined. + * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos. + */ + codePointAt(pos: number): number | undefined; + + /** + * Returns true if searchString appears as a substring of the result of converting this + * object to a String, at one or more positions that are + * greater than or equal to position; otherwise, returns false. + * @param searchString search string + * @param position If position is undefined, 0 is assumed, so as to search all of the String. + */ + includes(searchString: string, position?: number): boolean; + + /** + * Returns true if the sequence of elements of searchString converted to a String is the + * same as the corresponding elements of this object (converted to a String) starting at + * endPosition – length(this). Otherwise returns false. + */ + endsWith(searchString: string, endPosition?: number): boolean; + + /** + * Returns the String value result of normalizing the string into the normalization form + * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. + * @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default + * is "NFC" + */ + normalize(form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; + + /** + * Returns the String value result of normalizing the string into the normalization form + * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. + * @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default + * is "NFC" + */ + normalize(form?: string): string; + + /** + * Returns a String value that is made from count copies appended together. If count is 0, + * the empty string is returned. + * @param count number of copies to append + */ + repeat(count: number): string; + + /** + * Returns true if the sequence of elements of searchString converted to a String is the + * same as the corresponding elements of this object (converted to a String) starting at + * position. Otherwise returns false. + */ + startsWith(searchString: string, position?: number): boolean; + + /** + * Returns an HTML anchor element and sets the name attribute to the text value + * @param name + */ + anchor(name: string): string; + + /** Returns a HTML element */ + big(): string; + + /** Returns a HTML element */ + blink(): string; + + /** Returns a HTML element */ + bold(): string; + + /** Returns a HTML element */ + fixed(): string; + + /** Returns a HTML element and sets the color attribute value */ + fontcolor(color: string): string; + + /** Returns a HTML element and sets the size attribute value */ + fontsize(size: number): string; + + /** Returns a HTML element and sets the size attribute value */ + fontsize(size: string): string; + + /** Returns an HTML element */ + italics(): string; + + /** Returns an HTML element and sets the href attribute value */ + link(url: string): string; + + /** Returns a HTML element */ + small(): string; + + /** Returns a HTML element */ + strike(): string; + + /** Returns a HTML element */ + sub(): string; + + /** Returns a HTML element */ + sup(): string; +} + +interface StringConstructor { + /** + * Return the String value whose elements are, in order, the elements in the List elements. + * If length is 0, the empty string is returned. + */ + fromCodePoint(...codePoints: number[]): string; + + /** + * String.raw is intended for use as a tag function of a Tagged Template String. When called + * as such the first argument will be a well formed template call site object and the rest + * parameter will contain the substitution values. + * @param template A well-formed template string call site representation. + * @param substitutions A set of substitution values. + */ + raw(template: TemplateStringsArray, ...substitutions: any[]): string; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.d.ts new file mode 100644 index 0000000..80aaba0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.d.ts @@ -0,0 +1,30 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.generator.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.generator.d.ts new file mode 100644 index 0000000..df6a987 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.generator.d.ts @@ -0,0 +1,71 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Generator extends Iterator { } + +interface GeneratorFunction { + /** + * Creates a new Generator object. + * @param args A list of arguments the function accepts. + */ + new (...args: any[]): Generator; + /** + * Creates a new Generator object. + * @param args A list of arguments the function accepts. + */ + (...args: any[]): Generator; + /** + * The length of the arguments. + */ + readonly length: number; + /** + * Returns the name of the function. + */ + readonly name: string; + /** + * A reference to the prototype. + */ + readonly prototype: Generator; +} + +interface GeneratorFunctionConstructor { + /** + * Creates a new Generator function. + * @param args A list of arguments the function accepts. + */ + new (...args: string[]): GeneratorFunction; + /** + * Creates a new Generator function. + * @param args A list of arguments the function accepts. + */ + (...args: string[]): GeneratorFunction; + /** + * The length of the arguments. + */ + readonly length: number; + /** + * Returns the name of the function. + */ + readonly name: string; + /** + * A reference to the prototype. + */ + readonly prototype: GeneratorFunction; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.iterable.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.iterable.d.ts new file mode 100644 index 0000000..43b021a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.iterable.d.ts @@ -0,0 +1,493 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// + +interface SymbolConstructor { + /** + * A method that returns the default iterator for an object. Called by the semantics of the + * for-of statement. + */ + readonly iterator: symbol; +} + +interface IteratorResult { + done: boolean; + value: T; +} + +interface Iterator { + next(value?: any): IteratorResult; + return?(value?: any): IteratorResult; + throw?(e?: any): IteratorResult; +} + +interface Iterable { + [Symbol.iterator](): Iterator; +} + +interface IterableIterator extends Iterator { + [Symbol.iterator](): IterableIterator; +} + +interface Array { + /** Iterator */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an iterable of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, T]>; + + /** + * Returns an iterable of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the array + */ + values(): IterableIterator; +} + +interface ArrayConstructor { + /** + * Creates an array from an iterable object. + * @param iterable An iterable object to convert to an array. + */ + from(iterable: Iterable | ArrayLike): T[]; + + /** + * Creates an array from an iterable object. + * @param iterable An iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; +} + +interface ReadonlyArray { + /** Iterator of values in the array. */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an iterable of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, T]>; + + /** + * Returns an iterable of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the array + */ + values(): IterableIterator; +} + +interface IArguments { + /** Iterator */ + [Symbol.iterator](): IterableIterator; +} + +interface Map { + /** Returns an iterable of entries in the map. */ + [Symbol.iterator](): IterableIterator<[K, V]>; + + /** + * Returns an iterable of key, value pairs for every entry in the map. + */ + entries(): IterableIterator<[K, V]>; + + /** + * Returns an iterable of keys in the map + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the map + */ + values(): IterableIterator; +} + +interface ReadonlyMap { + /** Returns an iterable of entries in the map. */ + [Symbol.iterator](): IterableIterator<[K, V]>; + + /** + * Returns an iterable of key, value pairs for every entry in the map. + */ + entries(): IterableIterator<[K, V]>; + + /** + * Returns an iterable of keys in the map + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the map + */ + values(): IterableIterator; +} + +interface MapConstructor { + new (iterable: Iterable<[K, V]>): Map; +} + +interface WeakMap { } + +interface WeakMapConstructor { + new (iterable: Iterable<[K, V]>): WeakMap; +} + +interface Set { + /** Iterates over values in the set. */ + [Symbol.iterator](): IterableIterator; + /** + * Returns an iterable of [v,v] pairs for every value `v` in the set. + */ + entries(): IterableIterator<[T, T]>; + /** + * Despite its name, returns an iterable of the values in the set, + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the set. + */ + values(): IterableIterator; +} + +interface ReadonlySet { + /** Iterates over values in the set. */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an iterable of [v,v] pairs for every value `v` in the set. + */ + entries(): IterableIterator<[T, T]>; + + /** + * Despite its name, returns an iterable of the values in the set, + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the set. + */ + values(): IterableIterator; +} + +interface SetConstructor { + new (iterable: Iterable): Set; +} + +interface WeakSet { } + +interface WeakSetConstructor { + new (iterable: Iterable): WeakSet; +} + +interface Promise { } + +interface PromiseConstructor { + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: Iterable>): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: Iterable>): Promise; +} + +declare namespace Reflect { + function enumerate(target: object): IterableIterator; +} + +interface String { + /** Iterator */ + [Symbol.iterator](): IterableIterator; +} + +interface Int8Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Int8ArrayConstructor { + new (elements: Iterable): Int8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; +} + +interface Uint8Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint8ArrayConstructor { + new (elements: Iterable): Uint8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; +} + +interface Uint8ClampedArray { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint8ClampedArrayConstructor { + new (elements: Iterable): Uint8ClampedArray; + + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; +} + +interface Int16Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Int16ArrayConstructor { + new (elements: Iterable): Int16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; +} + +interface Uint16Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint16ArrayConstructor { + new (elements: Iterable): Uint16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; +} + +interface Int32Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Int32ArrayConstructor { + new (elements: Iterable): Int32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; +} + +interface Uint32Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint32ArrayConstructor { + new (elements: Iterable): Uint32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; +} + +interface Float32Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Float32ArrayConstructor { + new (elements: Iterable): Float32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; +} + +interface Float64Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Float64ArrayConstructor { + new (elements: Iterable): Float64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.promise.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.promise.d.ts new file mode 100644 index 0000000..002d691 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.promise.d.ts @@ -0,0 +1,216 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface PromiseConstructor { + /** + * A reference to the prototype. + */ + readonly prototype: Promise; + + /** + * Creates a new Promise. + * @param executor A callback used to initialize the promise. This callback is passed two arguments: + * a resolve callback used to resolve the promise with a value or the result of another promise, + * and a reject callback used to reject the promise with a provided reason or error. + */ + new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike ]): Promise<[T1, T2, T3, T4]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: (T | PromiseLike)[]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: (T | PromiseLike)[]): Promise; + + /** + * Creates a new rejected promise for the provided reason. + * @param reason The reason the promise was rejected. + * @returns A new rejected Promise. + */ + reject(reason?: any): Promise; + + /** + * Creates a new resolved promise for the provided value. + * @param value A promise. + * @returns A promise whose internal state matches the provided promise. + */ + resolve(value: T | PromiseLike): Promise; + + /** + * Creates a new resolved promise . + * @returns A resolved promise. + */ + resolve(): Promise; +} + +declare var Promise: PromiseConstructor; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.proxy.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.proxy.d.ts new file mode 100644 index 0000000..4408970 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.proxy.d.ts @@ -0,0 +1,42 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface ProxyHandler { + getPrototypeOf? (target: T): object | null; + setPrototypeOf? (target: T, v: any): boolean; + isExtensible? (target: T): boolean; + preventExtensions? (target: T): boolean; + getOwnPropertyDescriptor? (target: T, p: PropertyKey): PropertyDescriptor | undefined; + has? (target: T, p: PropertyKey): boolean; + get? (target: T, p: PropertyKey, receiver: any): any; + set? (target: T, p: PropertyKey, value: any, receiver: any): boolean; + deleteProperty? (target: T, p: PropertyKey): boolean; + defineProperty? (target: T, p: PropertyKey, attributes: PropertyDescriptor): boolean; + enumerate? (target: T): PropertyKey[]; + ownKeys? (target: T): PropertyKey[]; + apply? (target: T, thisArg: any, argArray?: any): any; + construct? (target: T, argArray: any, newTarget?: any): object; +} + +interface ProxyConstructor { + revocable(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; + new (target: T, handler: ProxyHandler): T; +} +declare var Proxy: ProxyConstructor; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.reflect.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.reflect.d.ts new file mode 100644 index 0000000..1139f1c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.reflect.d.ts @@ -0,0 +1,35 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Reflect { + function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; + function construct(target: Function, argumentsList: ArrayLike, newTarget?: any): any; + function defineProperty(target: object, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; + function deleteProperty(target: object, propertyKey: PropertyKey): boolean; + function get(target: object, propertyKey: PropertyKey, receiver?: any): any; + function getOwnPropertyDescriptor(target: object, propertyKey: PropertyKey): PropertyDescriptor | undefined; + function getPrototypeOf(target: object): object; + function has(target: object, propertyKey: PropertyKey): boolean; + function isExtensible(target: object): boolean; + function ownKeys(target: object): PropertyKey[]; + function preventExtensions(target: object): boolean; + function set(target: object, propertyKey: PropertyKey, value: any, receiver?: any): boolean; + function setPrototypeOf(target: object, proto: any): boolean; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.d.ts new file mode 100644 index 0000000..bf09484 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.d.ts @@ -0,0 +1,48 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface SymbolConstructor { + /** + * A reference to the prototype. + */ + readonly prototype: Symbol; + + /** + * Returns a new unique Symbol value. + * @param description Description of the new Symbol object. + */ + (description?: string | number): symbol; + + /** + * Returns a Symbol object from the global symbol registry matching the given key if found. + * Otherwise, returns a new symbol with this key. + * @param key key to search for. + */ + for(key: string): symbol; + + /** + * Returns a key from the global symbol registry matching the given Symbol if found. + * Otherwise, returns a undefined. + * @param sym Symbol to find the key for. + */ + keyFor(sym: symbol): string | undefined; +} + +declare var Symbol: SymbolConstructor; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.wellknown.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.wellknown.d.ts new file mode 100644 index 0000000..400f70a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.wellknown.d.ts @@ -0,0 +1,318 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// + +interface SymbolConstructor { + /** + * A method that determines if a constructor object recognizes an object as one of the + * constructor’s instances. Called by the semantics of the instanceof operator. + */ + readonly hasInstance: symbol; + + /** + * A Boolean value that if true indicates that an object should flatten to its array elements + * by Array.prototype.concat. + */ + readonly isConcatSpreadable: symbol; + + /** + * A regular expression method that matches the regular expression against a string. Called + * by the String.prototype.match method. + */ + readonly match: symbol; + + /** + * A regular expression method that replaces matched substrings of a string. Called by the + * String.prototype.replace method. + */ + readonly replace: symbol; + + /** + * A regular expression method that returns the index within a string that matches the + * regular expression. Called by the String.prototype.search method. + */ + readonly search: symbol; + + /** + * A function valued property that is the constructor function that is used to create + * derived objects. + */ + readonly species: symbol; + + /** + * A regular expression method that splits a string at the indices that match the regular + * expression. Called by the String.prototype.split method. + */ + readonly split: symbol; + + /** + * A method that converts an object to a corresponding primitive value. + * Called by the ToPrimitive abstract operation. + */ + readonly toPrimitive: symbol; + + /** + * A String value that is used in the creation of the default string description of an object. + * Called by the built-in method Object.prototype.toString. + */ + readonly toStringTag: symbol; + + /** + * An Object whose own property names are property names that are excluded from the 'with' + * environment bindings of the associated objects. + */ + readonly unscopables: symbol; +} + +interface Symbol { + readonly [Symbol.toStringTag]: string; +} + +interface Array { + /** + * Returns an object whose properties have the value 'true' + * when they will be absent when used in a 'with' statement. + */ + [Symbol.unscopables](): { + copyWithin: boolean; + entries: boolean; + fill: boolean; + find: boolean; + findIndex: boolean; + keys: boolean; + values: boolean; + }; +} + +interface Date { + /** + * Converts a Date object to a string. + */ + [Symbol.toPrimitive](hint: "default"): string; + /** + * Converts a Date object to a string. + */ + [Symbol.toPrimitive](hint: "string"): string; + /** + * Converts a Date object to a number. + */ + [Symbol.toPrimitive](hint: "number"): number; + /** + * Converts a Date object to a string or number. + * + * @param hint The strings "number", "string", or "default" to specify what primitive to return. + * + * @throws {TypeError} If 'hint' was given something other than "number", "string", or "default". + * @returns A number if 'hint' was "number", a string if 'hint' was "string" or "default". + */ + [Symbol.toPrimitive](hint: string): string | number; +} + +interface Map { + readonly [Symbol.toStringTag]: string; +} + +interface WeakMap { + readonly [Symbol.toStringTag]: string; +} + +interface Set { + readonly [Symbol.toStringTag]: string; +} + +interface WeakSet { + readonly [Symbol.toStringTag]: string; +} + +interface JSON { + readonly [Symbol.toStringTag]: string; +} + +interface Function { + /** + * Determines whether the given value inherits from this function if this function was used + * as a constructor function. + * + * A constructor function can control which objects are recognized as its instances by + * 'instanceof' by overriding this method. + */ + [Symbol.hasInstance](value: any): boolean; +} + +interface GeneratorFunction { + readonly [Symbol.toStringTag]: string; +} + +interface Math { + readonly [Symbol.toStringTag]: string; +} + +interface Promise { + readonly [Symbol.toStringTag]: string; +} + +interface PromiseConstructor { + readonly [Symbol.species]: PromiseConstructor; +} + +interface RegExp { + /** + * Matches a string with this regular expression, and returns an array containing the results of + * that search. + * @param string A string to search within. + */ + [Symbol.match](string: string): RegExpMatchArray | null; + + /** + * Replaces text in a string, using this regular expression. + * @param string A String object or string literal whose contents matching against + * this regular expression will be replaced + * @param replaceValue A String object or string literal containing the text to replace for every + * successful match of this regular expression. + */ + [Symbol.replace](string: string, replaceValue: string): string; + + /** + * Replaces text in a string, using this regular expression. + * @param string A String object or string literal whose contents matching against + * this regular expression will be replaced + * @param replacer A function that returns the replacement text. + */ + [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the position beginning first substring match in a regular expression search + * using this regular expression. + * + * @param string The string to search within. + */ + [Symbol.search](string: string): number; + + /** + * Returns an array of substrings that were delimited by strings in the original input that + * match against this regular expression. + * + * If the regular expression contains capturing parentheses, then each time this + * regular expression matches, the results (including any undefined results) of the + * capturing parentheses are spliced. + * + * @param string string value to split + * @param limit if not undefined, the output array is truncated so that it contains no more + * than 'limit' elements. + */ + [Symbol.split](string: string, limit?: number): string[]; +} + +interface RegExpConstructor { + readonly [Symbol.species]: RegExpConstructor; +} + +interface String { + /** + * Matches a string an object that supports being matched against, and returns an array containing the results of that search. + * @param matcher An object that supports being matched against. + */ + match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; + + /** + * Replaces text in a string, using an object that supports replacement within a string. + * @param searchValue A object can search for and replace matches within a string. + * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. + */ + replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string; + + /** + * Replaces text in a string, using an object that supports replacement within a string. + * @param searchValue A object can search for and replace matches within a string. + * @param replacer A function that returns the replacement text. + */ + replace(searchValue: { [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; }, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param searcher An object which supports searching within a string. + */ + search(searcher: { [Symbol.search](string: string): number; }): number; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param splitter An object that can split a string. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; +} + +interface ArrayBuffer { + readonly [Symbol.toStringTag]: string; +} + +interface DataView { + readonly [Symbol.toStringTag]: string; +} + +interface Int8Array { + readonly [Symbol.toStringTag]: "Int8Array"; +} + +interface Uint8Array { + readonly [Symbol.toStringTag]: "UInt8Array"; +} + +interface Uint8ClampedArray { + readonly [Symbol.toStringTag]: "Uint8ClampedArray"; +} + +interface Int16Array { + readonly [Symbol.toStringTag]: "Int16Array"; +} + +interface Uint16Array { + readonly [Symbol.toStringTag]: "Uint16Array"; +} + +interface Int32Array { + readonly [Symbol.toStringTag]: "Int32Array"; +} + +interface Uint32Array { + readonly [Symbol.toStringTag]: "Uint32Array"; +} + +interface Float32Array { + readonly [Symbol.toStringTag]: "Float32Array"; +} + +interface Float64Array { + readonly [Symbol.toStringTag]: "Float64Array"; +} + +interface ArrayConstructor { + readonly [Symbol.species]: ArrayConstructor; +} +interface MapConstructor { + readonly [Symbol.species]: MapConstructor; +} +interface SetConstructor { + readonly [Symbol.species]: SetConstructor; +} +interface ArrayBufferConstructor { + readonly [Symbol.species]: ArrayBufferConstructor; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.array.include.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.array.include.d.ts new file mode 100644 index 0000000..734fa45 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.array.include.d.ts @@ -0,0 +1,118 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: T, fromIndex?: number): boolean; +} + +interface ReadonlyArray { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: T, fromIndex?: number): boolean; +} + +interface Int8Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint8Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint8ClampedArray { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Int16Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint16Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Int32Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint32Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Float32Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Float64Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.d.ts new file mode 100644 index 0000000..b2d59b8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.d.ts @@ -0,0 +1,22 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.full.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.full.d.ts new file mode 100644 index 0000000..6ecfe0a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.d.ts new file mode 100644 index 0000000..850e81d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// +/// diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.full.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.full.d.ts new file mode 100644 index 0000000..46d2ee8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.intl.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.intl.d.ts new file mode 100644 index 0000000..25b1fa5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.intl.d.ts @@ -0,0 +1,32 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Intl { + type DateTimeFormatPartTypes = "day" | "dayPeriod" | "era" | "hour" | "literal" | "minute" | "month" | "second" | "timeZoneName" | "weekday" | "year"; + + interface DateTimeFormatPart { + type: DateTimeFormatPartTypes; + value: string; + } + + interface DateTimeFormat { + formatToParts(date?: Date | number): DateTimeFormatPart[]; + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.object.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.object.d.ts new file mode 100644 index 0000000..65aa1f9 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.object.d.ts @@ -0,0 +1,51 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface ObjectConstructor { + /** + * Returns an array of values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + values(o: { [s: string]: T } | ArrayLike): T[]; + + /** + * Returns an array of values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + values(o: {}): any[]; + + /** + * Returns an array of key/values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + entries(o: { [s: string]: T } | ArrayLike): [string, T][]; + + /** + * Returns an array of key/values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + entries(o: {}): [string, any][]; + + /** + * Returns an object containing all own property descriptors of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + getOwnPropertyDescriptors(o: T): {[P in keyof T]: TypedPropertyDescriptor} & { [x: string]: PropertyDescriptor }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.sharedmemory.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.sharedmemory.d.ts new file mode 100644 index 0000000..ef304d3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.sharedmemory.d.ts @@ -0,0 +1,138 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// + +interface SharedArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + readonly byteLength: number; + + /* + * The SharedArrayBuffer constructor's length property whose value is 1. + */ + length: number; + /** + * Returns a section of an SharedArrayBuffer. + */ + slice(begin: number, end?: number): SharedArrayBuffer; + readonly [Symbol.species]: SharedArrayBuffer; + readonly [Symbol.toStringTag]: "SharedArrayBuffer"; +} + +interface SharedArrayBufferConstructor { + readonly prototype: SharedArrayBuffer; + new (byteLength: number): SharedArrayBuffer; +} +declare var SharedArrayBuffer: SharedArrayBufferConstructor; + +interface ArrayBufferTypes { + SharedArrayBuffer: SharedArrayBuffer; +} + +interface Atomics { + /** + * Adds a value to the value at the given position in the array, returning the original value. + * Until this atomic operation completes, any other read or write operation against the array + * will block. + */ + add(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Stores the bitwise AND of a value with the value at the given position in the array, + * returning the original value. Until this atomic operation completes, any other read or + * write operation against the array will block. + */ + and(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Replaces the value at the given position in the array if the original value equals the given + * expected value, returning the original value. Until this atomic operation completes, any + * other read or write operation against the array will block. + */ + compareExchange(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, expectedValue: number, replacementValue: number): number; + + /** + * Replaces the value at the given position in the array, returning the original value. Until + * this atomic operation completes, any other read or write operation against the array will + * block. + */ + exchange(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Returns a value indicating whether high-performance algorithms can use atomic operations + * (`true`) or must use locks (`false`) for the given number of bytes-per-element of a typed + * array. + */ + isLockFree(size: number): boolean; + + /** + * Returns the value at the given position in the array. Until this atomic operation completes, + * any other read or write operation against the array will block. + */ + load(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number): number; + + /** + * Stores the bitwise OR of a value with the value at the given position in the array, + * returning the original value. Until this atomic operation completes, any other read or write + * operation against the array will block. + */ + or(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Stores a value at the given position in the array, returning the new value. Until this + * atomic operation completes, any other read or write operation against the array will block. + */ + store(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Subtracts a value from the value at the given position in the array, returning the original + * value. Until this atomic operation completes, any other read or write operation against the + * array will block. + */ + sub(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * If the value at the given position in the array is equal to the provided value, the current + * agent is put to sleep causing execution to suspend until the timeout expires (returning + * `"timed-out"`) or until the agent is awoken (returning `"ok"`); otherwise, returns + * `"not-equal"`. + */ + wait(typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; + + /** + * Wakes up sleeping agents that are waiting on the given index of the array, returning the + * number of agents that were awoken. + */ + wake(typedArray: Int32Array, index: number, count: number): number; + + /** + * Stores the bitwise XOR of a value with the value at the given position in the array, + * returning the original value. Until this atomic operation completes, any other read or write + * operation against the array will block. + */ + xor(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + readonly [Symbol.toStringTag]: "Atomics"; +} + +declare var Atomics: Atomics; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.string.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.string.d.ts new file mode 100644 index 0000000..dad64f0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.string.d.ts @@ -0,0 +1,47 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface String { + /** + * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. + * The padding is applied from the start (left) of the current string. + * + * @param maxLength The length of the resulting string once the current string has been padded. + * If this parameter is smaller than the current string's length, the current string will be returned as it is. + * + * @param fillString The string to pad the current string with. + * If this string is too long, it will be truncated and the left-most part will be applied. + * The default value for this parameter is " " (U+0020). + */ + padStart(maxLength: number, fillString?: string): string; + + /** + * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. + * The padding is applied from the end (right) of the current string. + * + * @param maxLength The length of the resulting string once the current string has been padded. + * If this parameter is smaller than the current string's length, the current string will be returned as it is. + * + * @param fillString The string to pad the current string with. + * If this string is too long, it will be truncated and the left-most part will be applied. + * The default value for this parameter is " " (U+0020). + */ + padEnd(maxLength: number, fillString?: string): string; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.typedarrays.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.typedarrays.d.ts new file mode 100644 index 0000000..4f6f6e7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.typedarrays.d.ts @@ -0,0 +1,55 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Int8ArrayConstructor { + new (): Int8Array; +} + +interface Uint8ArrayConstructor { + new (): Uint8Array; +} + +interface Uint8ClampedArrayConstructor { + new (): Uint8ClampedArray; +} + +interface Int16ArrayConstructor { + new (): Int16Array; +} + +interface Uint16ArrayConstructor { + new (): Uint16Array; +} + +interface Int32ArrayConstructor { + new (): Int32Array; +} + +interface Uint32ArrayConstructor { + new (): Uint32Array; +} + +interface Float32ArrayConstructor { + new (): Float32Array; +} + +interface Float64ArrayConstructor { + new (): Float64Array; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.d.ts new file mode 100644 index 0000000..2a694e3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.d.ts @@ -0,0 +1,24 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.full.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.full.d.ts new file mode 100644 index 0000000..277d541 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.intl.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.intl.d.ts new file mode 100644 index 0000000..84e95f4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.intl.d.ts @@ -0,0 +1,51 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Intl { + interface PluralRulesOptions { + localeMatcher?: 'lookup' | 'best fit'; + type?: 'cardinal' | 'ordinal'; + } + + interface ResolvedPluralRulesOptions { + locale: string; + pluralCategories: string[]; + type: 'cardinal' | 'ordinal'; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits: number; + maximumSignificantDigits: number; + } + + interface PluralRules { + resolvedOptions(): ResolvedPluralRulesOptions; + select(n: number): string; + } + + const PluralRules: { + new (locales?: string | string[], options?: PluralRulesOptions): PluralRules; + (locales?: string | string[], options?: PluralRulesOptions): PluralRules; + supportedLocalesOf( + locales: string | string[], + options?: PluralRulesOptions, + ): string[]; + }; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.promise.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.promise.d.ts new file mode 100644 index 0000000..d73b4d4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.promise.d.ts @@ -0,0 +1,32 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/** + * Represents the completion of an asynchronous operation + */ +interface Promise { + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): Promise +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.regexp.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.regexp.d.ts new file mode 100644 index 0000000..4ba698f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.regexp.d.ts @@ -0,0 +1,39 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface RegExpMatchArray { + groups?: { + [key: string]: string + } +} + +interface RegExpExecArray { + groups?: { + [key: string]: string + } +} + +interface RegExp { + /** + * Returns a Boolean value indicating the state of the dotAll flag (s) used with a regular expression. + * Default is false. Read-only. + */ + readonly dotAll: boolean; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es5.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es5.d.ts new file mode 100644 index 0000000..d1a9d6f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es5.d.ts @@ -0,0 +1,4243 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// ECMAScript APIs +///////////////////////////// + +declare const NaN: number; +declare const Infinity: number; + +/** + * Evaluates JavaScript code and executes it. + * @param x A String value that contains valid JavaScript code. + */ +declare function eval(x: string): any; + +/** + * Converts A string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ +declare function parseInt(s: string, radix?: number): number; + +/** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ +declare function parseFloat(string: string): number; + +/** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). + * @param number A numeric value. + */ +declare function isNaN(number: number): boolean; + +/** + * Determines whether a supplied number is finite. + * @param number Any numeric value. + */ +declare function isFinite(number: number): boolean; + +/** + * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). + * @param encodedURI A value representing an encoded URI. + */ +declare function decodeURI(encodedURI: string): string; + +/** + * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). + * @param encodedURIComponent A value representing an encoded URI component. + */ +declare function decodeURIComponent(encodedURIComponent: string): string; + +/** + * Encodes a text string as a valid Uniform Resource Identifier (URI) + * @param uri A value representing an encoded URI. + */ +declare function encodeURI(uri: string): string; + +/** + * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). + * @param uriComponent A value representing an encoded URI component. + */ +declare function encodeURIComponent(uriComponent: string): string; + +/** + * Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence. + * @param string A string value + */ +declare function escape(string: string): string; + +/** + * Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents. + * @param string A string value + */ +declare function unescape(string: string): string; + +interface Symbol { + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): symbol; +} + +declare type PropertyKey = string | number | symbol; + +interface PropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + value?: any; + writable?: boolean; + get?(): any; + set?(v: any): void; +} + +interface PropertyDescriptorMap { + [s: string]: PropertyDescriptor; +} + +interface Object { + /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ + constructor: Function; + + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns a date converted to a string using the current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Object; + + /** + * Determines whether an object has a property with the specified name. + * @param v A property name. + */ + hasOwnProperty(v: PropertyKey): boolean; + + /** + * Determines whether an object exists in another object's prototype chain. + * @param v Another object whose prototype chain is to be checked. + */ + isPrototypeOf(v: Object): boolean; + + /** + * Determines whether a specified property is enumerable. + * @param v A property name. + */ + propertyIsEnumerable(v: PropertyKey): boolean; +} + +interface ObjectConstructor { + new(value?: any): Object; + (): any; + (value: any): any; + + /** A reference to the prototype for a class of objects. */ + readonly prototype: Object; + + /** + * Returns the prototype of an object. + * @param o The object that references the prototype. + */ + getPrototypeOf(o: any): any; + + /** + * Gets the own property descriptor of the specified object. + * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. + * @param o Object that contains the property. + * @param p Name of the property. + */ + getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined; + + /** + * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly + * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. + * @param o Object that contains the own properties. + */ + getOwnPropertyNames(o: any): string[]; + + /** + * Creates an object that has the specified prototype or that has null prototype. + * @param o Object to use as a prototype. May be null. + */ + create(o: object | null): any; + + /** + * Creates an object that has the specified prototype, and that optionally contains specified properties. + * @param o Object to use as a prototype. May be null + * @param properties JavaScript object that contains one or more property descriptors. + */ + create(o: object | null, properties: PropertyDescriptorMap & ThisType): any; + + /** + * Adds a property to an object, or modifies attributes of an existing property. + * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. + * @param p The property name. + * @param attributes Descriptor for the property. It can be for a data property or an accessor property. + */ + defineProperty(o: any, p: PropertyKey, attributes: PropertyDescriptor & ThisType): any; + + /** + * Adds one or more properties to an object, and/or modifies attributes of existing properties. + * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. + * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. + */ + defineProperties(o: any, properties: PropertyDescriptorMap & ThisType): any; + + /** + * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + seal(o: T): T; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(a: T[]): ReadonlyArray; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(f: T): T; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(o: T): Readonly; + + /** + * Prevents the addition of new properties to an object. + * @param o Object to make non-extensible. + */ + preventExtensions(o: T): T; + + /** + * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. + * @param o Object to test. + */ + isSealed(o: any): boolean; + + /** + * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. + * @param o Object to test. + */ + isFrozen(o: any): boolean; + + /** + * Returns a value that indicates whether new properties can be added to an object. + * @param o Object to test. + */ + isExtensible(o: any): boolean; + + /** + * Returns the names of the enumerable properties and methods of an object. + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + keys(o: {}): string[]; +} + +/** + * Provides functionality common to all JavaScript objects. + */ +declare const Object: ObjectConstructor; + +/** + * Creates a new function. + */ +interface Function { + /** + * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function. + * @param thisArg The object to be used as the this object. + * @param argArray A set of arguments to be passed to the function. + */ + apply(this: Function, thisArg: any, argArray?: any): any; + + /** + * Calls a method of an object, substituting another object for the current object. + * @param thisArg The object to be used as the current object. + * @param argArray A list of arguments to be passed to the method. + */ + call(this: Function, thisArg: any, ...argArray: any[]): any; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg An object to which the this keyword can refer inside the new function. + * @param argArray A list of arguments to be passed to the new function. + */ + bind(this: Function, thisArg: any, ...argArray: any[]): any; + + /** Returns a string representation of a function. */ + toString(): string; + + prototype: any; + readonly length: number; + + // Non-standard extensions + arguments: any; + caller: Function; +} + +interface FunctionConstructor { + /** + * Creates a new function. + * @param args A list of arguments the function accepts. + */ + new(...args: string[]): Function; + (...args: string[]): Function; + readonly prototype: Function; +} + +declare const Function: FunctionConstructor; + +interface CallableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: (this: T) => R, thisArg: T): R; + apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: (this: T, ...args: A) => R, thisArg: T): (...args: A) => R; + bind(this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; + bind(this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; +} + +interface NewableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: new () => T, thisArg: T): void; + apply(this: new (...args: A) => T, thisArg: T, args: A): void; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: new (...args: A) => T, thisArg: T, ...args: A): void; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: new (...args: A) => R, thisArg: any): new (...args: A) => R; + bind(this: new (arg0: A0, ...args: A) => R, thisArg: any, arg0: A0): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2, arg3: A3): new (...args: A) => R; + bind(this: new (...args: AX[]) => R, thisArg: any, ...args: AX[]): new (...args: AX[]) => R; +} + +interface IArguments { + [index: number]: any; + length: number; + callee: Function; +} + +interface String { + /** Returns a string representation of a string. */ + toString(): string; + + /** + * Returns the character at the specified index. + * @param pos The zero-based index of the desired character. + */ + charAt(pos: number): string; + + /** + * Returns the Unicode value of the character at the specified location. + * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. + */ + charCodeAt(index: number): number; + + /** + * Returns a string that contains the concatenation of two or more strings. + * @param strings The strings to append to the end of the string. + */ + concat(...strings: string[]): string; + + /** + * Returns the position of the first occurrence of a substring. + * @param searchString The substring to search for in the string + * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. + */ + indexOf(searchString: string, position?: number): number; + + /** + * Returns the last occurrence of a substring in the string. + * @param searchString The substring to search for. + * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. + */ + lastIndexOf(searchString: string, position?: number): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + */ + localeCompare(that: string): number; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A variable name or string literal containing the regular expression pattern and flags. + */ + match(regexp: string | RegExp): RegExpMatchArray | null; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A string to search for. + * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. + */ + replace(searchValue: string | RegExp, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A string to search for. + * @param replacer A function that returns the replacement text. + */ + replace(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: string | RegExp): number; + + /** + * Returns a section of a string. + * @param start The index to the beginning of the specified portion of stringObj. + * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. + * If this value is not specified, the substring continues to the end of stringObj. + */ + slice(start?: number, end?: number): string; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: string | RegExp, limit?: number): string[]; + + /** + * Returns the substring at the specified location within a String object. + * @param start The zero-based index number indicating the beginning of the substring. + * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. + * If end is omitted, the characters from start through the end of the original string are returned. + */ + substring(start: number, end?: number): string; + + /** Converts all the alphabetic characters in a string to lowercase. */ + toLowerCase(): string; + + /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ + toLocaleLowerCase(): string; + + /** Converts all the alphabetic characters in a string to uppercase. */ + toUpperCase(): string; + + /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ + toLocaleUpperCase(): string; + + /** Removes the leading and trailing white space and line terminator characters from a string. */ + trim(): string; + + /** Returns the length of a String object. */ + readonly length: number; + + // IE extensions + /** + * Gets a substring beginning at the specified location and having the specified length. + * @param from The starting position of the desired substring. The index of the first character in the string is zero. + * @param length The number of characters to include in the returned substring. + */ + substr(from: number, length?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): string; + + readonly [index: number]: string; +} + +interface StringConstructor { + new(value?: any): String; + (value?: any): string; + readonly prototype: String; + fromCharCode(...codes: number[]): string; +} + +/** + * Allows manipulation and formatting of text strings and determination and location of substrings within strings. + */ +declare const String: StringConstructor; + +interface Boolean { + /** Returns the primitive value of the specified object. */ + valueOf(): boolean; +} + +interface BooleanConstructor { + new(value?: any): Boolean; + (value?: any): boolean; + readonly prototype: Boolean; +} + +declare const Boolean: BooleanConstructor; + +interface Number { + /** + * Returns a string representation of an object. + * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. + */ + toString(radix?: number): string; + + /** + * Returns a string representing a number in fixed-point notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toFixed(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented in exponential notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toExponential(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. + * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. + */ + toPrecision(precision?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): number; +} + +interface NumberConstructor { + new(value?: any): Number; + (value?: any): number; + readonly prototype: Number; + + /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ + readonly MAX_VALUE: number; + + /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ + readonly MIN_VALUE: number; + + /** + * A value that is not a number. + * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. + */ + readonly NaN: number; + + /** + * A value that is less than the largest negative number that can be represented in JavaScript. + * JavaScript displays NEGATIVE_INFINITY values as -infinity. + */ + readonly NEGATIVE_INFINITY: number; + + /** + * A value greater than the largest number that can be represented in JavaScript. + * JavaScript displays POSITIVE_INFINITY values as infinity. + */ + readonly POSITIVE_INFINITY: number; +} + +/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ +declare const Number: NumberConstructor; + +interface TemplateStringsArray extends ReadonlyArray { + readonly raw: ReadonlyArray; +} + +/** + * The type of `import.meta`. + * + * If you need to declare that a given property exists on `import.meta`, + * this type may be augmented via interface merging. + */ +interface ImportMeta { +} + +interface Math { + /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ + readonly E: number; + /** The natural logarithm of 10. */ + readonly LN10: number; + /** The natural logarithm of 2. */ + readonly LN2: number; + /** The base-2 logarithm of e. */ + readonly LOG2E: number; + /** The base-10 logarithm of e. */ + readonly LOG10E: number; + /** Pi. This is the ratio of the circumference of a circle to its diameter. */ + readonly PI: number; + /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ + readonly SQRT1_2: number; + /** The square root of 2. */ + readonly SQRT2: number; + /** + * Returns the absolute value of a number (the value without regard to whether it is positive or negative). + * For example, the absolute value of -5 is the same as the absolute value of 5. + * @param x A numeric expression for which the absolute value is needed. + */ + abs(x: number): number; + /** + * Returns the arc cosine (or inverse cosine) of a number. + * @param x A numeric expression. + */ + acos(x: number): number; + /** + * Returns the arcsine of a number. + * @param x A numeric expression. + */ + asin(x: number): number; + /** + * Returns the arctangent of a number. + * @param x A numeric expression for which the arctangent is needed. + */ + atan(x: number): number; + /** + * Returns the angle (in radians) from the X axis to a point. + * @param y A numeric expression representing the cartesian y-coordinate. + * @param x A numeric expression representing the cartesian x-coordinate. + */ + atan2(y: number, x: number): number; + /** + * Returns the smallest integer greater than or equal to its numeric argument. + * @param x A numeric expression. + */ + ceil(x: number): number; + /** + * Returns the cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cos(x: number): number; + /** + * Returns e (the base of natural logarithms) raised to a power. + * @param x A numeric expression representing the power of e. + */ + exp(x: number): number; + /** + * Returns the greatest integer less than or equal to its numeric argument. + * @param x A numeric expression. + */ + floor(x: number): number; + /** + * Returns the natural logarithm (base e) of a number. + * @param x A numeric expression. + */ + log(x: number): number; + /** + * Returns the larger of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + max(...values: number[]): number; + /** + * Returns the smaller of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + min(...values: number[]): number; + /** + * Returns the value of a base expression taken to a specified power. + * @param x The base value of the expression. + * @param y The exponent value of the expression. + */ + pow(x: number, y: number): number; + /** Returns a pseudorandom number between 0 and 1. */ + random(): number; + /** + * Returns a supplied numeric expression rounded to the nearest number. + * @param x The value to be rounded to the nearest number. + */ + round(x: number): number; + /** + * Returns the sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sin(x: number): number; + /** + * Returns the square root of a number. + * @param x A numeric expression. + */ + sqrt(x: number): number; + /** + * Returns the tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tan(x: number): number; +} +/** An intrinsic object that provides basic mathematics functionality and constants. */ +declare const Math: Math; + +/** Enables basic storage and retrieval of dates and times. */ +interface Date { + /** Returns a string representation of a date. The format of the string depends on the locale. */ + toString(): string; + /** Returns a date as a string value. */ + toDateString(): string; + /** Returns a time as a string value. */ + toTimeString(): string; + /** Returns a value as a string value appropriate to the host environment's current locale. */ + toLocaleString(): string; + /** Returns a date as a string value appropriate to the host environment's current locale. */ + toLocaleDateString(): string; + /** Returns a time as a string value appropriate to the host environment's current locale. */ + toLocaleTimeString(): string; + /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ + valueOf(): number; + /** Gets the time value in milliseconds. */ + getTime(): number; + /** Gets the year, using local time. */ + getFullYear(): number; + /** Gets the year using Universal Coordinated Time (UTC). */ + getUTCFullYear(): number; + /** Gets the month, using local time. */ + getMonth(): number; + /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ + getUTCMonth(): number; + /** Gets the day-of-the-month, using local time. */ + getDate(): number; + /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ + getUTCDate(): number; + /** Gets the day of the week, using local time. */ + getDay(): number; + /** Gets the day of the week using Universal Coordinated Time (UTC). */ + getUTCDay(): number; + /** Gets the hours in a date, using local time. */ + getHours(): number; + /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ + getUTCHours(): number; + /** Gets the minutes of a Date object, using local time. */ + getMinutes(): number; + /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ + getUTCMinutes(): number; + /** Gets the seconds of a Date object, using local time. */ + getSeconds(): number; + /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCSeconds(): number; + /** Gets the milliseconds of a Date, using local time. */ + getMilliseconds(): number; + /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCMilliseconds(): number; + /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ + getTimezoneOffset(): number; + /** + * Sets the date and time value in the Date object. + * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. + */ + setTime(time: number): number; + /** + * Sets the milliseconds value in the Date object using local time. + * @param ms A numeric value equal to the millisecond value. + */ + setMilliseconds(ms: number): number; + /** + * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). + * @param ms A numeric value equal to the millisecond value. + */ + setUTCMilliseconds(ms: number): number; + + /** + * Sets the seconds value in the Date object using local time. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setSeconds(sec: number, ms?: number): number; + /** + * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCSeconds(sec: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using local time. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the hour value in the Date object using local time. + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the hours value in the Date object using Universal Coordinated Time (UTC). + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the numeric day-of-the-month value of the Date object using local time. + * @param date A numeric value equal to the day of the month. + */ + setDate(date: number): number; + /** + * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). + * @param date A numeric value equal to the day of the month. + */ + setUTCDate(date: number): number; + /** + * Sets the month value in the Date object using local time. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. + */ + setMonth(month: number, date?: number): number; + /** + * Sets the month value in the Date object using Universal Coordinated Time (UTC). + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. + */ + setUTCMonth(month: number, date?: number): number; + /** + * Sets the year of the Date object using local time. + * @param year A numeric value for the year. + * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. + * @param date A numeric value equal for the day of the month. + */ + setFullYear(year: number, month?: number, date?: number): number; + /** + * Sets the year value in the Date object using Universal Coordinated Time (UTC). + * @param year A numeric value equal to the year. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. + * @param date A numeric value equal to the day of the month. + */ + setUTCFullYear(year: number, month?: number, date?: number): number; + /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ + toUTCString(): string; + /** Returns a date as a string value in ISO format. */ + toISOString(): string; + /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ + toJSON(key?: any): string; +} + +interface DateConstructor { + new(): Date; + new(value: number | string): Date; + new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; + (): string; + readonly prototype: Date; + /** + * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. + * @param s A date string + */ + parse(s: string): number; + /** + * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. + * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. + * @param month The month as an number between 0 and 11 (January to December). + * @param date The date as an number between 1 and 31. + * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour. + * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes. + * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds. + * @param ms An number from 0 to 999 that specifies the milliseconds. + */ + UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + now(): number; +} + +declare const Date: DateConstructor; + +interface RegExpMatchArray extends Array { + index?: number; + input?: string; +} + +interface RegExpExecArray extends Array { + index: number; + input: string; +} + +interface RegExp { + /** + * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. + * @param string The String object or string literal on which to perform the search. + */ + exec(string: string): RegExpExecArray | null; + + /** + * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. + * @param string String on which to perform the search. + */ + test(string: string): boolean; + + /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */ + readonly source: string; + + /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ + readonly global: boolean; + + /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ + readonly ignoreCase: boolean; + + /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ + readonly multiline: boolean; + + lastIndex: number; + + // Non-standard extensions + compile(): this; +} + +interface RegExpConstructor { + new(pattern: RegExp | string): RegExp; + new(pattern: string, flags?: string): RegExp; + (pattern: RegExp | string): RegExp; + (pattern: string, flags?: string): RegExp; + readonly prototype: RegExp; + + // Non-standard extensions + $1: string; + $2: string; + $3: string; + $4: string; + $5: string; + $6: string; + $7: string; + $8: string; + $9: string; + lastMatch: string; +} + +declare const RegExp: RegExpConstructor; + +interface Error { + name: string; + message: string; + stack?: string; +} + +interface ErrorConstructor { + new(message?: string): Error; + (message?: string): Error; + readonly prototype: Error; +} + +declare const Error: ErrorConstructor; + +interface EvalError extends Error { +} + +interface EvalErrorConstructor { + new(message?: string): EvalError; + (message?: string): EvalError; + readonly prototype: EvalError; +} + +declare const EvalError: EvalErrorConstructor; + +interface RangeError extends Error { +} + +interface RangeErrorConstructor { + new(message?: string): RangeError; + (message?: string): RangeError; + readonly prototype: RangeError; +} + +declare const RangeError: RangeErrorConstructor; + +interface ReferenceError extends Error { +} + +interface ReferenceErrorConstructor { + new(message?: string): ReferenceError; + (message?: string): ReferenceError; + readonly prototype: ReferenceError; +} + +declare const ReferenceError: ReferenceErrorConstructor; + +interface SyntaxError extends Error { +} + +interface SyntaxErrorConstructor { + new(message?: string): SyntaxError; + (message?: string): SyntaxError; + readonly prototype: SyntaxError; +} + +declare const SyntaxError: SyntaxErrorConstructor; + +interface TypeError extends Error { +} + +interface TypeErrorConstructor { + new(message?: string): TypeError; + (message?: string): TypeError; + readonly prototype: TypeError; +} + +declare const TypeError: TypeErrorConstructor; + +interface URIError extends Error { +} + +interface URIErrorConstructor { + new(message?: string): URIError; + (message?: string): URIError; + readonly prototype: URIError; +} + +declare const URIError: URIErrorConstructor; + +interface JSON { + /** + * Converts a JavaScript Object Notation (JSON) string into an object. + * @param text A valid JSON string. + * @param reviver A function that transforms the results. This function is called for each member of the object. + * If a member contains nested objects, the nested objects are transformed before the parent object is. + */ + parse(text: string, reviver?: (key: any, value: any) => any): any; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer An array of strings and numbers that acts as a approved list for selecting the object properties that will be stringified. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string; +} + +/** + * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. + */ +declare const JSON: JSON; + + +///////////////////////////// +/// ECMAScript Array API (specially handled by compiler) +///////////////////////////// + +interface ReadonlyArray { + /** + * Gets the length of the array. This is a number one higher than the highest element defined in an array. + */ + readonly length: number; + /** + * Returns a string representation of an array. + */ + toString(): string; + /** + * Returns a string representation of an array. The elements are converted to string using their toLocalString methods. + */ + toLocaleString(): string; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: ConcatArray[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: (T | ConcatArray)[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): T[]; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: T, index: number, array: ReadonlyArray) => boolean, thisArg?: any): boolean; + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: T, index: number, array: ReadonlyArray) => boolean, thisArg?: any): boolean; + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: ReadonlyArray) => void, thisArg?: any): void; + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: ReadonlyArray) => U, thisArg?: any): U[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: ReadonlyArray) => value is S, thisArg?: any): S[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: ReadonlyArray) => any, thisArg?: any): T[]; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: ReadonlyArray) => U, initialValue: U): U; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: ReadonlyArray) => U, initialValue: U): U; + + readonly [n: number]: T; +} + +interface ConcatArray { + readonly length: number; + readonly [n: number]: T; + join(separator?: string): string; + slice(start?: number, end?: number): T[]; +} + +interface Array { + /** + * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. + */ + length: number; + /** + * Returns a string representation of an array. + */ + toString(): string; + /** + * Returns a string representation of an array. The elements are converted to string using their toLocalString methods. + */ + toLocaleString(): string; + /** + * Removes the last element from an array and returns it. + */ + pop(): T | undefined; + /** + * Appends new elements to an array, and returns the new length of the array. + * @param items New elements of the Array. + */ + push(...items: T[]): number; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: ConcatArray[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: (T | ConcatArray)[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Reverses the elements in an Array. + */ + reverse(): T[]; + /** + * Removes the first element from an array and returns it. + */ + shift(): T | undefined; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): T[]; + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: T, b: T) => number): this; + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + */ + splice(start: number, deleteCount?: number): T[]; + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + * @param items Elements to insert into the array in place of the deleted elements. + */ + splice(start: number, deleteCount: number, ...items: T[]): T[]; + /** + * Inserts new elements at the start of an array. + * @param items Elements to insert at the start of the Array. + */ + unshift(...items: T[]): number; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: T[]) => any, thisArg?: any): T[]; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + [n: number]: T; +} + +interface ArrayConstructor { + new(arrayLength?: number): any[]; + new (arrayLength: number): T[]; + new (...items: T[]): T[]; + (arrayLength?: number): any[]; + (arrayLength: number): T[]; + (...items: T[]): T[]; + isArray(arg: any): arg is Array; + readonly prototype: Array; +} + +declare const Array: ArrayConstructor; + +interface TypedPropertyDescriptor { + enumerable?: boolean; + configurable?: boolean; + writable?: boolean; + value?: T; + get?: () => T; + set?: (value: T) => void; +} + +declare type ClassDecorator = (target: TFunction) => TFunction | void; +declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; +declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; +declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; + +declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; + +interface PromiseLike { + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): PromiseLike; +} + +/** + * Represents the completion of an asynchronous operation + */ +interface Promise { + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; + + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; +} + +interface ArrayLike { + readonly length: number; + readonly [n: number]: T; +} + +/** + * Make all properties in T optional + */ +type Partial = { + [P in keyof T]?: T[P]; +}; + +/** + * Make all properties in T required + */ +type Required = { + [P in keyof T]-?: T[P]; +}; + +/** + * Make all properties in T readonly + */ +type Readonly = { + readonly [P in keyof T]: T[P]; +}; + +/** + * From T, pick a set of properties whose keys are in the union K + */ +type Pick = { + [P in K]: T[P]; +}; + +/** + * Construct a type with a set of properties K of type T + */ +type Record = { + [P in K]: T; +}; + +/** + * Exclude from T those types that are assignable to U + */ +type Exclude = T extends U ? never : T; + +/** + * Extract from T those types that are assignable to U + */ +type Extract = T extends U ? T : never; + +/** + * Exclude null and undefined from T + */ +type NonNullable = T extends null | undefined ? never : T; + +/** + * Obtain the parameters of a function type in a tuple + */ +type Parameters any> = T extends (...args: infer P) => any ? P : never; + +/** + * Obtain the parameters of a constructor function type in a tuple + */ +type ConstructorParameters any> = T extends new (...args: infer P) => any ? P : never; + +/** + * Obtain the return type of a function type + */ +type ReturnType any> = T extends (...args: any[]) => infer R ? R : any; + +/** + * Obtain the return type of a constructor function type + */ +type InstanceType any> = T extends new (...args: any[]) => infer R ? R : any; + +/** + * Marker for contextual 'this' type + */ +interface ThisType { } + +/** + * Represents a raw buffer of binary data, which is used to store data for the + * different typed arrays. ArrayBuffers cannot be read from or written to directly, + * but can be passed to a typed array or DataView Object to interpret the raw + * buffer as needed. + */ +interface ArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + readonly byteLength: number; + + /** + * Returns a section of an ArrayBuffer. + */ + slice(begin: number, end?: number): ArrayBuffer; +} + +/** + * Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays. + */ +interface ArrayBufferTypes { + ArrayBuffer: ArrayBuffer; +} +type ArrayBufferLike = ArrayBufferTypes[keyof ArrayBufferTypes]; + +interface ArrayBufferConstructor { + readonly prototype: ArrayBuffer; + new(byteLength: number): ArrayBuffer; + isView(arg: any): arg is ArrayBufferView; +} +declare const ArrayBuffer: ArrayBufferConstructor; + +interface ArrayBufferView { + /** + * The ArrayBuffer instance referenced by the array. + */ + buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + byteLength: number; + + /** + * The offset in bytes of the array. + */ + byteOffset: number; +} + +interface DataView { + readonly buffer: ArrayBuffer; + readonly byteLength: number; + readonly byteOffset: number; + /** + * Gets the Float32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Int8 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt8(byteOffset: number): number; + + /** + * Gets the Int16 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt16(byteOffset: number, littleEndian?: boolean): number; + /** + * Gets the Int32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint8 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint8(byteOffset: number): number; + + /** + * Gets the Uint16 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Stores an Float32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setInt8(byteOffset: number, value: number): void; + + /** + * Stores an Int16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setUint8(byteOffset: number, value: number): void; + + /** + * Stores an Uint16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; +} + +interface DataViewConstructor { + new(buffer: ArrayBufferLike, byteOffset?: number, byteLength?: number): DataView; +} +declare const DataView: DataViewConstructor; + +/** + * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested + * number of bytes could not be allocated an exception is raised. + */ +interface Int8Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Int8Array) => any, thisArg?: any): Int8Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int8Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Int8Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int8Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} +interface Int8ArrayConstructor { + readonly prototype: Int8Array; + new(length: number): Int8Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Int8Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Int8Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; + + +} +declare const Int8Array: Int8ArrayConstructor; + +/** + * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint8Array) => any, thisArg?: any): Uint8Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint8Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint8Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint8ArrayConstructor { + readonly prototype: Uint8Array; + new(length: number): Uint8Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint8Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint8Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; + +} +declare const Uint8Array: Uint8ArrayConstructor; + +/** + * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0. + * If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8ClampedArray { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any): Uint8ClampedArray; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint8ClampedArray; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint8ClampedArray; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8ClampedArray; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint8ClampedArrayConstructor { + readonly prototype: Uint8ClampedArray; + new(length: number): Uint8ClampedArray; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint8ClampedArray; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint8ClampedArray; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint8ClampedArray; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; +} +declare const Uint8ClampedArray: Uint8ClampedArrayConstructor; + +/** + * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Int16Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Int16Array) => any, thisArg?: any): Int16Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int16Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Int16Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int16Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Int16ArrayConstructor { + readonly prototype: Int16Array; + new(length: number): Int16Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Int16Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Int16Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; + + +} +declare const Int16Array: Int16ArrayConstructor; + +/** + * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint16Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint16Array) => any, thisArg?: any): Uint16Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint16Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint16Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint16Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint16ArrayConstructor { + readonly prototype: Uint16Array; + new(length: number): Uint16Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint16Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint16Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; + + +} +declare const Uint16Array: Uint16ArrayConstructor; +/** + * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Int32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Int32Array) => any, thisArg?: any): Int32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Int32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Int32ArrayConstructor { + readonly prototype: Int32Array; + new(length: number): Int32Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Int32Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Int32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; + +} +declare const Int32Array: Int32ArrayConstructor; + +/** + * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint32Array) => any, thisArg?: any): Uint32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint32ArrayConstructor { + readonly prototype: Uint32Array; + new(length: number): Uint32Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint32Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; + +} +declare const Uint32Array: Uint32ArrayConstructor; + +/** + * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number + * of bytes could not be allocated an exception is raised. + */ +interface Float32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Float32Array) => any, thisArg?: any): Float32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Float32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Float32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Float32ArrayConstructor { + readonly prototype: Float32Array; + new(length: number): Float32Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Float32Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Float32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Float32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; + + +} +declare const Float32Array: Float32ArrayConstructor; + +/** + * A typed array of 64-bit float values. The contents are initialized to 0. If the requested + * number of bytes could not be allocated an exception is raised. + */ +interface Float64Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Float64Array) => any, thisArg?: any): Float64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Float64Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Float64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float64Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Float64ArrayConstructor { + readonly prototype: Float64Array; + new(length: number): Float64Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Float64Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Float64Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Float64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; + +} +declare const Float64Array: Float64ArrayConstructor; + +///////////////////////////// +/// ECMAScript Internationalization API +///////////////////////////// + +declare namespace Intl { + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new(locales?: string | string[], options?: CollatorOptions): Collator; + (locales?: string | string[], options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string | string[], options?: CollatorOptions): string[]; + }; + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + minimumIntegerDigits?: number; + minimumFractionDigits?: number; + maximumFractionDigits?: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new(locales?: string | string[], options?: NumberFormatOptions): NumberFormat; + (locales?: string | string[], options?: NumberFormatOptions): NumberFormat; + supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; + }; + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12?: boolean; + timeZone?: string; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date?: Date | number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new(locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat; + (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat; + supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; + }; +} + +interface String { + /** + * Determines whether two strings are equivalent in the current or specified locale. + * @param that String to compare to target string + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; +} + +interface Number { + /** + * Converts a number to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string; +} + +interface Date { + /** + * Converts a date and time to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; + /** + * Converts a date to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleDateString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; + + /** + * Converts a time to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleTimeString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es6.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es6.d.ts new file mode 100644 index 0000000..6149c4a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.es6.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.array.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.array.d.ts new file mode 100644 index 0000000..6c75122 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.array.d.ts @@ -0,0 +1,223 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface ReadonlyArray { + + /** + * Calls a defined callback function on each element of an array. Then, flattens the result into + * a new array. + * This is identical to a map followed by flat with depth 1. + * + * @param callback A function that accepts up to three arguments. The flatMap method calls the + * callback function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callback function. If + * thisArg is omitted, undefined is used as the this value. + */ + flatMap ( + callback: (this: This, value: T, index: number, array: T[]) => U|ReadonlyArray, + thisArg?: This + ): U[] + + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + + ReadonlyArray> | + ReadonlyArray[]> | + ReadonlyArray[][]> | + ReadonlyArray[][][]> | + + ReadonlyArray>> | + ReadonlyArray[][]>> | + ReadonlyArray>[][]> | + ReadonlyArray[]>[]> | + ReadonlyArray>[]> | + ReadonlyArray[]>> | + + ReadonlyArray>>> | + ReadonlyArray[]>>> | + ReadonlyArray>[]>> | + ReadonlyArray>>[]> | + + ReadonlyArray>>>>, + depth: 4): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + + ReadonlyArray[][]> | + ReadonlyArray[]> | + ReadonlyArray> | + + ReadonlyArray>> | + ReadonlyArray[]>> | + ReadonlyArray>[]> | + + ReadonlyArray>>>, + depth: 3): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + + ReadonlyArray> | + ReadonlyArray[]> | + + ReadonlyArray>>, + depth: 2): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + ReadonlyArray>, + depth?: 1 + ): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray, + depth: 0 + ): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. If no depth is provided, flat method defaults to the depth of 1. + * + * @param depth The maximum recursion depth + */ + flat(depth?: number): any[]; + } + +interface Array { + + /** + * Calls a defined callback function on each element of an array. Then, flattens the result into + * a new array. + * This is identical to a map followed by flat with depth 1. + * + * @param callback A function that accepts up to three arguments. The flatMap method calls the + * callback function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callback function. If + * thisArg is omitted, undefined is used as the this value. + */ + flatMap ( + callback: (this: This, value: T, index: number, array: T[]) => U|ReadonlyArray, + thisArg?: This + ): U[] + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][][][][], depth: 7): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][][][], depth: 6): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][][], depth: 5): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][], depth: 4): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][], depth: 3): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][], depth: 2): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][], depth?: 1): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[], depth: 0): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. If no depth is provided, flat method defaults to the depth of 1. + * + * @param depth The maximum recursion depth + */ + flat(depth?: number): any[]; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.asynciterable.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.asynciterable.d.ts new file mode 100644 index 0000000..38e12a7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.asynciterable.d.ts @@ -0,0 +1,44 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// + +interface SymbolConstructor { + /** + * A method that returns the default async iterator for an object. Called by the semantics of + * the for-await-of statement. + */ + readonly asyncIterator: symbol; +} + +interface AsyncIterator { + next(value?: any): Promise>; + return?(value?: any): Promise>; + throw?(e?: any): Promise>; +} + +interface AsyncIterable { + [Symbol.asyncIterator](): AsyncIterator; +} + +interface AsyncIterableIterator extends AsyncIterator { + [Symbol.asyncIterator](): AsyncIterableIterator; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.bigint.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.bigint.d.ts new file mode 100644 index 0000000..ccb73be --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.bigint.d.ts @@ -0,0 +1,629 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface BigInt { + /** + * Returns a string representation of an object. + * @param radix Specifies a radix for converting numeric values to strings. + */ + toString(radix?: number): string; + + /** Returns a string representation appropriate to the host environment's current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): bigint; + + readonly [Symbol.toStringTag]: "BigInt"; +} + +interface BigIntConstructor { + (value?: any): bigint; + readonly prototype: BigInt; + + /** + * Interprets the low bits of a BigInt as a 2's-complement signed integer. + * All higher bits are discarded. + * @param bits The number of low bits to use + * @param int The BigInt whose bits to extract + */ + asIntN(bits: number, int: bigint): bigint; + /** + * Interprets the low bits of a BigInt as an unsigned integer. + * All higher bits are discarded. + * @param bits The number of low bits to use + * @param int The BigInt whose bits to extract + */ + asUintN(bits: number, int: bigint): bigint; +} + +declare const BigInt: BigIntConstructor; + +/** + * A typed array of 64-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated, an exception is raised. + */ +interface BigInt64Array { + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** The ArrayBuffer instance referenced by the array. */ + readonly buffer: ArrayBufferLike; + + /** The length in bytes of the array. */ + readonly byteLength: number; + + /** The offset in bytes of the array. */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** Yields index, value pairs for every entry in the array. */ + entries(): IterableIterator<[number, bigint]>; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in the array until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: bigint, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: bigint, index: number, array: BigInt64Array) => any, thisArg?: any): BigInt64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): bigint | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: bigint, index: number, array: BigInt64Array) => void, thisArg?: any): void; + + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: bigint, fromIndex?: number): boolean; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: bigint, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** Yields each index in the array. */ + keys(): IterableIterator; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: bigint, fromIndex?: number): number; + + /** The length of the array. */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: bigint, index: number, array: BigInt64Array) => bigint, thisArg?: any): BigInt64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array) => U, initialValue: U): U; + + /** Reverses the elements in the array. */ + reverse(): this; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): BigInt64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in the array until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts the array. + * @param compareFn The function used to determine the order of the elements. If omitted, the elements are sorted in ascending order. + */ + sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this; + + /** + * Gets a new BigInt64Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): BigInt64Array; + + /** Converts the array to a string by using the current locale. */ + toLocaleString(): string; + + /** Returns a string representation of the array. */ + toString(): string; + + /** Yields each value in the array. */ + values(): IterableIterator; + + [Symbol.iterator](): IterableIterator; + + readonly [Symbol.toStringTag]: "BigInt64Array"; + + [index: number]: bigint; +} + +interface BigInt64ArrayConstructor { + readonly prototype: BigInt64Array; + new(length?: number): BigInt64Array; + new(array: Iterable): BigInt64Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigInt64Array; + + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: bigint[]): BigInt64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike): BigInt64Array; + from(arrayLike: ArrayLike, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigInt64Array; +} + +declare const BigInt64Array: BigInt64ArrayConstructor; + +/** + * A typed array of 64-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated, an exception is raised. + */ +interface BigUint64Array { + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** The ArrayBuffer instance referenced by the array. */ + readonly buffer: ArrayBufferLike; + + /** The length in bytes of the array. */ + readonly byteLength: number; + + /** The offset in bytes of the array. */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** Yields index, value pairs for every entry in the array. */ + entries(): IterableIterator<[number, bigint]>; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in the array until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: bigint, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: bigint, index: number, array: BigUint64Array) => any, thisArg?: any): BigUint64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): bigint | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: bigint, index: number, array: BigUint64Array) => void, thisArg?: any): void; + + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: bigint, fromIndex?: number): boolean; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: bigint, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** Yields each index in the array. */ + keys(): IterableIterator; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: bigint, fromIndex?: number): number; + + /** The length of the array. */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: bigint, index: number, array: BigUint64Array) => bigint, thisArg?: any): BigUint64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array) => U, initialValue: U): U; + + /** Reverses the elements in the array. */ + reverse(): this; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): BigUint64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in the array until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts the array. + * @param compareFn The function used to determine the order of the elements. If omitted, the elements are sorted in ascending order. + */ + sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this; + + /** + * Gets a new BigUint64Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): BigUint64Array; + + /** Converts the array to a string by using the current locale. */ + toLocaleString(): string; + + /** Returns a string representation of the array. */ + toString(): string; + + /** Yields each value in the array. */ + values(): IterableIterator; + + [Symbol.iterator](): IterableIterator; + + readonly [Symbol.toStringTag]: "BigUint64Array"; + + [index: number]: bigint; +} + +interface BigUint64ArrayConstructor { + readonly prototype: BigUint64Array; + new(length?: number): BigUint64Array; + new(array: Iterable): BigUint64Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigUint64Array; + + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: bigint[]): BigUint64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike): BigUint64Array; + from(arrayLike: ArrayLike, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigUint64Array; +} + +declare const BigUint64Array: BigUint64ArrayConstructor; + +interface DataView { + /** + * Gets the BigInt64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getBigInt64(byteOffset: number, littleEndian?: boolean): bigint; + + /** + * Gets the BigUint64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getBigUint64(byteOffset: number, littleEndian?: boolean): bigint; + + /** + * Stores a BigInt64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setBigInt64(byteOffset: number, value: bigint, littleEndian?: boolean): void; + + /** + * Stores a BigUint64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setBigUint64(byteOffset: number, value: bigint, littleEndian?: boolean): void; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.d.ts new file mode 100644 index 0000000..f213999 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// +/// diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.full.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.full.d.ts new file mode 100644 index 0000000..e3c4fa5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.intl.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.intl.d.ts new file mode 100644 index 0000000..73a45ee --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.intl.d.ts @@ -0,0 +1,32 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Intl { + type NumberFormatPartTypes = "currency" | "decimal" | "fraction" | "group" | "infinity" | "integer" | "literal" | "minusSign" | "nan" | "plusSign" | "percentSign"; + + interface NumberFormatPart { + type: NumberFormatPartTypes; + value: string; + } + + interface NumberFormat { + formatToParts(number?: number): NumberFormatPart[]; + } + } diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.symbol.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.symbol.d.ts new file mode 100644 index 0000000..98293ea --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.symbol.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Symbol { + /** + * expose the [[Description]] internal slot of a symbol directly + */ + readonly description: string; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.scripthost.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.scripthost.d.ts new file mode 100644 index 0000000..5aab121 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.scripthost.d.ts @@ -0,0 +1,327 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + + + +///////////////////////////// +/// Windows Script Host APIS +///////////////////////////// + + +interface ActiveXObject { + new (s: string): any; +} +declare var ActiveXObject: ActiveXObject; + +interface ITextWriter { + Write(s: string): void; + WriteLine(s: string): void; + Close(): void; +} + +interface TextStreamBase { + /** + * The column number of the current character position in an input stream. + */ + Column: number; + + /** + * The current line number in an input stream. + */ + Line: number; + + /** + * Closes a text stream. + * It is not necessary to close standard streams; they close automatically when the process ends. If + * you close a standard stream, be aware that any other pointers to that standard stream become invalid. + */ + Close(): void; +} + +interface TextStreamWriter extends TextStreamBase { + /** + * Sends a string to an output stream. + */ + Write(s: string): void; + + /** + * Sends a specified number of blank lines (newline characters) to an output stream. + */ + WriteBlankLines(intLines: number): void; + + /** + * Sends a string followed by a newline character to an output stream. + */ + WriteLine(s: string): void; +} + +interface TextStreamReader extends TextStreamBase { + /** + * Returns a specified number of characters from an input stream, starting at the current pointer position. + * Does not return until the ENTER key is pressed. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + Read(characters: number): string; + + /** + * Returns all characters from an input stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadAll(): string; + + /** + * Returns an entire line from an input stream. + * Although this method extracts the newline character, it does not add it to the returned string. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadLine(): string; + + /** + * Skips a specified number of characters when reading from an input text stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) + */ + Skip(characters: number): void; + + /** + * Skips the next line when reading from an input text stream. + * Can only be used on a stream in reading mode, not writing or appending mode. + */ + SkipLine(): void; + + /** + * Indicates whether the stream pointer position is at the end of a line. + */ + AtEndOfLine: boolean; + + /** + * Indicates whether the stream pointer position is at the end of a stream. + */ + AtEndOfStream: boolean; +} + +declare var WScript: { + /** + * Outputs text to either a message box (under WScript.exe) or the command console window followed by + * a newline (under CScript.exe). + */ + Echo(s: any): void; + + /** + * Exposes the write-only error output stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdErr: TextStreamWriter; + + /** + * Exposes the write-only output stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdOut: TextStreamWriter; + Arguments: { length: number; Item(n: number): string; }; + + /** + * The full path of the currently running script. + */ + ScriptFullName: string; + + /** + * Forces the script to stop immediately, with an optional exit code. + */ + Quit(exitCode?: number): number; + + /** + * The Windows Script Host build version number. + */ + BuildVersion: number; + + /** + * Fully qualified path of the host executable. + */ + FullName: string; + + /** + * Gets/sets the script mode - interactive(true) or batch(false). + */ + Interactive: boolean; + + /** + * The name of the host executable (WScript.exe or CScript.exe). + */ + Name: string; + + /** + * Path of the directory containing the host executable. + */ + Path: string; + + /** + * The filename of the currently running script. + */ + ScriptName: string; + + /** + * Exposes the read-only input stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdIn: TextStreamReader; + + /** + * Windows Script Host version + */ + Version: string; + + /** + * Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event. + */ + ConnectObject(objEventSource: any, strPrefix: string): void; + + /** + * Creates a COM object. + * @param strProgiID + * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. + */ + CreateObject(strProgID: string, strPrefix?: string): any; + + /** + * Disconnects a COM object from its event sources. + */ + DisconnectObject(obj: any): void; + + /** + * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. + * @param strPathname Fully qualified path to the file containing the object persisted to disk. + * For objects in memory, pass a zero-length string. + * @param strProgID + * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. + */ + GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; + + /** + * Suspends script execution for a specified length of time, then continues execution. + * @param intTime Interval (in milliseconds) to suspend script execution. + */ + Sleep(intTime: number): void; +}; + +/** + * WSH is an alias for WScript under Windows Script Host + */ +declare var WSH: typeof WScript; + +/** + * Represents an Automation SAFEARRAY + */ +declare class SafeArray { + private constructor(); + private SafeArray_typekey: SafeArray; +} + +/** + * Allows enumerating over a COM collection, which may not have indexed item access. + */ +interface Enumerator { + /** + * Returns true if the current item is the last one in the collection, or the collection is empty, + * or the current item is undefined. + */ + atEnd(): boolean; + + /** + * Returns the current item in the collection + */ + item(): T; + + /** + * Resets the current item in the collection to the first item. If there are no items in the collection, + * the current item is set to undefined. + */ + moveFirst(): void; + + /** + * Moves the current item to the next item in the collection. If the enumerator is at the end of + * the collection or the collection is empty, the current item is set to undefined. + */ + moveNext(): void; +} + +interface EnumeratorConstructor { + new (safearray: SafeArray): Enumerator; + new (collection: { Item(index: any): T }): Enumerator; + new (collection: any): Enumerator; +} + +declare var Enumerator: EnumeratorConstructor; + +/** + * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions. + */ +interface VBArray { + /** + * Returns the number of dimensions (1-based). + */ + dimensions(): number; + + /** + * Takes an index for each dimension in the array, and returns the item at the corresponding location. + */ + getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; + + /** + * Returns the smallest available index for a given dimension. + * @param dimension 1-based dimension (defaults to 1) + */ + lbound(dimension?: number): number; + + /** + * Returns the largest available index for a given dimension. + * @param dimension 1-based dimension (defaults to 1) + */ + ubound(dimension?: number): number; + + /** + * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, + * each successive dimension is appended to the end of the array. + * Example: [[1,2,3],[4,5,6]] becomes [1,2,3,4,5,6] + */ + toArray(): T[]; +} + +interface VBArrayConstructor { + new (safeArray: SafeArray): VBArray; +} + +declare var VBArray: VBArrayConstructor; + +/** + * Automation date (VT_DATE) + */ +declare class VarDate { + private constructor(); + private VarDate_typekey: VarDate; +} + +interface DateConstructor { + new (vd: VarDate): Date; +} + +interface Date { + getVarDate: () => VarDate; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.d.ts new file mode 100644 index 0000000..2387027 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.d.ts @@ -0,0 +1,4294 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// Worker APIs +///////////////////////////// + +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; +} + +interface AesCbcParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCtrParams extends Algorithm { + counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + length: number; +} + +interface AesDerivedKeyParams extends Algorithm { + length: number; +} + +interface AesGcmParams extends Algorithm { + additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + tagLength?: number; +} + +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; +} + +interface AesKeyGenParams extends Algorithm { + length: number; +} + +interface Algorithm { + name: string; +} + +interface BlobPropertyBag { + endings?: EndingType; + type?: string; +} + +interface CacheQueryOptions { + cacheName?: string; + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; +} + +interface ClientQueryOptions { + includeUncontrolled?: boolean; + type?: ClientTypes; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + +interface CryptoKeyPair { + privateKey?: CryptoKey; + publicKey?: CryptoKey; +} + +interface CustomEventInit extends EventInit { + detail?: T; +} + +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface ErrorEventInit extends EventInit { + colno?: number; + error?: any; + filename?: string; + lineno?: number; + message?: string; +} + +interface EventInit { + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; +} + +interface EventListenerOptions { + capture?: boolean; +} + +interface ExtendableEventInit extends EventInit { +} + +interface ExtendableMessageEventInit extends ExtendableEventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: Client | ServiceWorker | MessagePort | null; +} + +interface FetchEventInit extends ExtendableEventInit { + clientId?: string; + preloadResponse?: Promise; + request: Request; + resultingClientId?: string; + targetClientId?: string; +} + +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + +interface GetNotificationOptions { + tag?: string; +} + +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; +} + +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; +} + +interface KeyAlgorithm { + name: string; +} + +interface MessageEventInit extends EventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; +} + +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + +interface NotificationEventInit extends ExtendableEventInit { + action?: string; + notification: Notification; +} + +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + tag?: string; + timestamp?: number; + vibrate?: VibratePattern; +} + +interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes: string[]; +} + +interface PipeOptions { + preventAbort?: boolean; + preventCancel?: boolean; + preventClose?: boolean; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + +interface PushEventInit extends ExtendableEventInit { + data?: PushMessageDataInit; +} + +interface PushSubscriptionChangeInit extends ExtendableEventInit { + newSubscription?: PushSubscription; + oldSubscription?: PushSubscription; +} + +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; +} + +interface QueuingStrategy { + highWaterMark?: number; + size?: QueuingStrategySizeCallback; +} + +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; +} + +interface RequestInit { + body?: BodyInit | null; + cache?: RequestCache; + credentials?: RequestCredentials; + headers?: HeadersInit; + integrity?: string; + keepalive?: boolean; + method?: string; + mode?: RequestMode; + redirect?: RequestRedirect; + referrer?: string; + referrerPolicy?: ReferrerPolicy; + signal?: AbortSignal | null; + window?: any; +} + +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: string; +} + +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; +} + +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaOaepParams extends Algorithm { + label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; +} + +interface RsaPssParams extends Algorithm { + saltLength: number; +} + +interface StorageEstimate { + quota?: number; + usage?: number; +} + +interface SyncEventInit extends ExtendableEventInit { + lastChance?: boolean; + tag: string; +} + +interface TextDecodeOptions { + stream?: boolean; +} + +interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; +} + +interface Transformer { + flush?: TransformStreamDefaultControllerCallback; + readableType?: undefined; + start?: TransformStreamDefaultControllerCallback; + transform?: TransformStreamDefaultControllerTransformCallback; + writableType?: undefined; +} + +interface UnderlyingByteSource { + autoAllocateChunkSize?: number; + cancel?: ReadableStreamErrorCallback; + pull?: ReadableByteStreamControllerCallback; + start?: ReadableByteStreamControllerCallback; + type: "bytes"; +} + +interface UnderlyingSink { + abort?: WritableStreamErrorCallback; + close?: WritableStreamDefaultControllerCloseCallback; + start?: WritableStreamDefaultControllerStartCallback; + type?: undefined; + write?: WritableStreamDefaultControllerWriteCallback; +} + +interface UnderlyingSource { + cancel?: ReadableStreamErrorCallback; + pull?: ReadableStreamDefaultControllerCallback; + start?: ReadableStreamDefaultControllerCallback; + type?: undefined; +} + +interface WebGLContextAttributes { + alpha?: GLboolean; + antialias?: GLboolean; + depth?: GLboolean; + failIfMajorPerformanceCaveat?: boolean; + powerPreference?: WebGLPowerPreference; + premultipliedAlpha?: GLboolean; + preserveDrawingBuffer?: GLboolean; + stencil?: GLboolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface WorkerOptions { + credentials?: RequestCredentials; + name?: string; + type?: WorkerType; +} + +interface EventListener { + (evt: Event): void; +} + +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; +} + +interface AbortController { + /** + * Returns the AbortSignal object associated with this object. + */ + readonly signal: AbortSignal; + /** + * Invoking this method will set this object's AbortSignal's aborted flag and + * signal to any observers that the associated activity is to be aborted. + */ + abort(): void; +} + +declare var AbortController: { + prototype: AbortController; + new(): AbortController; +}; + +interface AbortSignalEventMap { + "abort": ProgressEvent; +} + +interface AbortSignal extends EventTarget { + /** + * Returns true if this AbortSignal's AbortController has signaled to abort, and false + * otherwise. + */ + readonly aborted: boolean; + onabort: ((this: AbortSignal, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AbortSignal: { + prototype: AbortSignal; + new(): AbortSignal; +}; + +interface AbstractWorkerEventMap { + "error": ErrorEvent; +} + +interface AbstractWorker { + onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface AesCfbParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCmacParams extends Algorithm { + length: number; +} + +interface Blob { + readonly size: number; + readonly type: string; + slice(start?: number, end?: number, contentType?: string): Blob; +} + +declare var Blob: { + prototype: Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; +}; + +interface Body { + readonly body: ReadableStream | null; + readonly bodyUsed: boolean; + arrayBuffer(): Promise; + blob(): Promise; + formData(): Promise; + json(): Promise; + text(): Promise; +} + +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ + readonly name: string; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + +interface BroadcastChannelEventMap { + message: MessageEvent; + messageerror: MessageEvent; +} + +interface ByteLengthQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: ArrayBufferView): number; +} + +declare var ByteLengthQueuingStrategy: { + prototype: ByteLengthQueuingStrategy; + new(options: { highWaterMark: number }): ByteLengthQueuingStrategy; +}; + +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; +} + +declare var Cache: { + prototype: Cache; + new(): Cache; +}; + +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + open(cacheName: string): Promise; +} + +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; +}; + +interface CanvasGradient { + /** + * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset + * at one end of the gradient, 1.0 is the offset at the other end. + * Throws an "IndexSizeError" DOMException if the offset + * is out of range. Throws a "SyntaxError" DOMException if + * the color cannot be parsed. + */ + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasPattern { + /** + * Sets the transformation matrix that will be used when rendering the pattern during a fill or + * stroke painting operation. + */ + setTransform(transform?: DOMMatrix2DInit): void; +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +}; + +interface Client { + readonly id: string; + readonly type: ClientTypes; + readonly url: string; + postMessage(message: any, transfer?: Transferable[]): void; +} + +declare var Client: { + prototype: Client; + new(): Client; +}; + +interface Clients { + claim(): Promise; + get(id: string): Promise; + matchAll(options?: ClientQueryOptions): Promise>; + openWindow(url: string): Promise; +} + +declare var Clients: { + prototype: Clients; + new(): Clients; +}; + +interface CloseEvent extends Event { + readonly code: number; + readonly reason: string; + readonly wasClean: boolean; + /** @deprecated */ + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} + +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; +}; + +interface ConcatParams extends Algorithm { + algorithmId: Uint8Array; + hash?: string | Algorithm; + partyUInfo: Uint8Array; + partyVInfo: Uint8Array; + privateInfo?: Uint8Array; + publicInfo?: Uint8Array; +} + +interface Console { + memory: any; + assert(condition?: boolean, message?: string, ...data: any[]): void; + clear(): void; + count(label?: string): void; + debug(message?: any, ...optionalParams: any[]): void; + dir(value?: any, ...optionalParams: any[]): void; + dirxml(value: any): void; + error(message?: any, ...optionalParams: any[]): void; + exception(message?: string, ...optionalParams: any[]): void; + group(groupTitle?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void; + groupEnd(): void; + info(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + markTimeline(label?: string): void; + profile(reportName?: string): void; + profileEnd(reportName?: string): void; + table(...tabularData: any[]): void; + time(label?: string): void; + timeEnd(label?: string): void; + timeStamp(label?: string): void; + timeline(label?: string): void; + timelineEnd(label?: string): void; + trace(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; +} + +declare var Console: { + prototype: Console; + new(): Console; +}; + +interface CountQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: any): 1; +} + +declare var CountQueuingStrategy: { + prototype: CountQueuingStrategy; + new(options: { highWaterMark: number }): CountQueuingStrategy; +}; + +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: T): T; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +}; + +interface CryptoKey { + readonly algorithm: KeyAlgorithm; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: KeyUsage[]; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface CustomEvent extends Event { + /** + * Returns any custom data event was created with. + * Typically used for synthetic events. + */ + readonly detail: T; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +interface DOMException { + readonly code: number; + readonly message: string; + readonly name: string; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new(message?: string, name?: string): DOMException; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +}; + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; + toJSON(): any; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + +interface DOMStringList { + /** + * Returns the number of strings in strings. + */ + readonly length: number; + /** + * Returns true if strings contains string, and false + * otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ + item(index: number): string | null; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +}; + +interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "message": MessageEvent; +} + +interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { + onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; + close(): void; + postMessage(message: any, transfer?: Transferable[]): void; + addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var DedicatedWorkerGlobalScope: { + prototype: DedicatedWorkerGlobalScope; + new(): DedicatedWorkerGlobalScope; +}; + +interface DhImportKeyParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyAlgorithm extends KeyAlgorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface DhKeyGenParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface EXT_blend_minmax { + readonly MAX_EXT: GLenum; + readonly MIN_EXT: GLenum; +} + +interface EXT_frag_depth { +} + +interface EXT_sRGB { + readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum; + readonly SRGB8_ALPHA8_EXT: GLenum; + readonly SRGB_ALPHA_EXT: GLenum; + readonly SRGB_EXT: GLenum; +} + +interface EXT_shader_texture_lod { +} + +interface EXT_texture_filter_anisotropic { + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; +} + +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent; +}; + +interface Event { + /** + * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. + */ + readonly bubbles: boolean; + cancelBubble: boolean; + readonly cancelable: boolean; + /** + * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise. + */ + readonly composed: boolean; + /** + * Returns the object whose event listener's callback is currently being + * invoked. + */ + readonly currentTarget: EventTarget | null; + readonly defaultPrevented: boolean; + readonly eventPhase: number; + /** + * Returns true if event was dispatched by the user agent, and + * false otherwise. + */ + readonly isTrusted: boolean; + returnValue: boolean; + /** + * Returns the object to which event is dispatched (its target). + */ + readonly target: EventTarget | null; + /** + * Returns the event's timestamp as the number of milliseconds measured relative to + * the time origin. + */ + readonly timeStamp: number; + /** + * Returns the type of event, e.g. + * "click", "hashchange", or + * "submit". + */ + readonly type: string; + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + preventDefault(): void; + /** + * Invoking this method prevents event from reaching + * any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any + * other objects. + */ + stopImmediatePropagation(): void; + /** + * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object. + */ + stopPropagation(): void; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +}; + +interface EventListenerObject { + handleEvent(evt: Event): void; +} + +interface EventSource extends EventTarget { + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + onerror: (evt: MessageEvent) => any; + onmessage: (evt: MessageEvent) => any; + onopen: (evt: MessageEvent) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; +}; + +interface EventSourceInit { + readonly withCredentials: boolean; +} + +interface EventTarget { + /** + * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched. + * The options argument sets listener-specific options. For compatibility this can be a + * boolean, in which case the method behaves exactly as if the value was specified as options's capture. + * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET. + * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners. + * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will + * be removed. + * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture. + */ + addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void; + /** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ + dispatchEvent(event: Event): boolean; + /** + * Removes the event listener in target's event listener list with the same type, callback, and options. + */ + removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +}; + +interface ExtendableEvent extends Event { + waitUntil(f: Promise): void; +} + +declare var ExtendableEvent: { + prototype: ExtendableEvent; + new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; +}; + +interface ExtendableMessageEvent extends ExtendableEvent { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: Client | ServiceWorker | MessagePort | null; +} + +declare var ExtendableMessageEvent: { + prototype: ExtendableMessageEvent; + new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; +}; + +interface FetchEvent extends ExtendableEvent { + readonly clientId: string; + readonly preloadResponse: Promise; + readonly request: Request; + readonly resultingClientId: string; + readonly targetClientId: string; + respondWith(r: Promise): void; +} + +declare var FetchEvent: { + prototype: FetchEvent; + new(type: string, eventInitDict: FetchEventInit): FetchEvent; +}; + +interface File extends Blob { + readonly lastModified: number; + readonly name: string; +} + +declare var File: { + prototype: File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; +}; + +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +}; + +interface FileReaderEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; +} + +interface FileReader extends EventTarget { + readonly error: DOMException | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; + readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; +}; + +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsBinaryString(blob: Blob): string; + readAsDataURL(blob: Blob): string; + readAsText(blob: Blob, encoding?: string): string; +} + +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; +}; + +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; +} + +declare var FormData: { + prototype: FormData; + new(): FormData; +}; + +interface GlobalFetch { + fetch(input: RequestInfo, init?: RequestInit): Promise; +} + +interface Headers { + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; +} + +declare var Headers: { + prototype: Headers; + new(init?: HeadersInit): Headers; +}; + +interface HkdfCtrParams extends Algorithm { + context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + hash: string | Algorithm; + label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface IDBArrayKey extends Array { +} + +interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") + * of the cursor. + */ + readonly direction: IDBCursorDirection; + /** + * Returns the key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey | IDBKeyRange; + /** + * Returns the effective key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey | IDBKeyRange; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ + readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in + * range. + */ + advance(count: number): void; + /** + * Advances the cursor to the next record in range matching or + * after key. + */ + continue(key?: IDBValidKey | IDBKeyRange): void; + /** + * Advances the cursor to the next record in range matching + * or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey | IDBKeyRange, primaryKey: IDBValidKey | IDBKeyRange): void; + /** + * Delete the record pointed at by the cursor with a new value. + * If successful, request's result will be undefined. + */ + delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * If successful, request's result will be the record's key. + */ + update(value: any): IDBRequest; +} + +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; +}; + +interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ + readonly value: any; +} + +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +}; + +interface IDBDatabaseEventMap { + "abort": Event; + "close": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; +} + +interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ + readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; + onerror: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ + readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ + close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") + * and scope which can be a single object store name or an array of names. + */ + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +}; + +interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if + * the keys are equal. + * Throws a "DataError" DOMException if either input is not a valid key. + */ + cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the + * database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request + * is successful request's result will be null. + */ + deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the specified version. If the database already exists + * with a lower version and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close, then an upgrade + * will occur. If the database already exists with a higher + * version the request will fail. If the request is + * successful request's result will + * be the connection. + */ + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +}; + +interface IDBIndex { + readonly keyPath: string | string[]; + readonly multiEntry: boolean; + /** + * Updates the name of the store to newName. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + /** + * Retrieves the number of records matching the given key or key range in query. + * If successful, request's result will be the + * count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +}; + +interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ + readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ + readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ + readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ + readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; +} + +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. + * If lowerOpen is true, lower is not included in the range. + * If upperOpen is true, upper is not included in the range. + */ + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no + * upper bound. If open is true, key is not included in the + * range. + */ + lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ + only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ + upperBound(upper: any, open?: boolean): IDBKeyRange; +}; + +interface IDBObjectStore { + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ + readonly indexNames: DOMStringList; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Updates the name of the store to newName. + * Throws "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the associated transaction. + */ + readonly transaction: IDBTransaction; + add(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes all records in store. + * If successful, request's result will + * be undefined. + */ + clear(): IDBRequest; + /** + * Retrieves the number of records matching the + * given key or key range in query. + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be + * satisfied with the data already in store the upgrade + * transaction will abort with + * a "ConstraintError" DOMException. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * If successful, request's result will + * be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; + index(name: string): IDBIndex; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursor pointing at the first matching record, or + * null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; +} + +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +}; + +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": IDBVersionChangeEvent; +} + +interface IDBOpenDBRequest extends IDBRequest { + onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null; + onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +}; + +interface IDBRequestEventMap { + "error": Event; + "success": Event; +} + +interface IDBRequest extends EventTarget { + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws + * a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; + onerror: ((this: IDBRequest, ev: Event) => any) | null; + onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, + * then returns "done". + */ + readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, + * or undefined if the request failed. Throws a + * "InvalidStateError" DOMException if the request is still pending. + */ + readonly result: T; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open + * request. + */ + readonly source: IDBObjectStore | IDBIndex | IDBCursor; + /** + * Returns the IDBTransaction the request was made within. + * If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +}; + +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": Event; +} + +interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ + readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the + * error (a DOMException) providing the reason. + */ + readonly error: DOMException; + /** + * Returns the mode the transaction was created with + * ("readonly" or "readwrite"), or "versionchange" for + * an upgrade transaction. + */ + readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the + * transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBTransaction, ev: Event) => any) | null; + oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; + onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with + * a "AbortError" DOMException and all changes made to the database will be + * reverted. + */ + abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; +}; + +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; +} + +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; +}; + +interface ImageBitmap { + /** + * Returns the intrinsic height of the image, in CSS + * pixels. + */ + readonly height: number; + /** + * Returns the intrinsic width of the image, in CSS + * pixels. + */ + readonly width: number; + /** + * Releases imageBitmap's underlying bitmap data. + */ + close(): void; +} + +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; +}; + +interface ImageBitmapOptions { + colorSpaceConversion?: "none" | "default"; + imageOrientation?: "none" | "flipY"; + premultiplyAlpha?: "none" | "premultiply" | "default"; + resizeHeight?: number; + resizeQuality?: "pixelated" | "low" | "medium" | "high"; + resizeWidth?: number; +} + +interface ImageData { + /** + * Returns the one-dimensional array containing the data in RGBA order, as integers in the + * range 0 to 255. + */ + readonly data: Uint8ClampedArray; + /** + * Returns the actual dimensions of the data in the ImageData object, in + * pixels. + */ + readonly height: number; + readonly width: number; +} + +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; +}; + +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; +} + +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +}; + +interface MessageEvent extends Event { + /** + * Returns the data of the message. + */ + readonly data: any; + /** + * Returns the last event ID string, for + * server-sent events. + */ + readonly lastEventId: string; + /** + * Returns the origin of the message, for server-sent events and + * cross-document messaging. + */ + readonly origin: string; + /** + * Returns the MessagePort array sent with the message, for cross-document + * messaging and channel messaging. + */ + readonly ports: ReadonlyArray; + /** + * Returns the WindowProxy of the source window, for cross-document + * messaging, and the MessagePort being attached, in the connect event fired at + * SharedWorkerGlobalScope objects. + */ + readonly source: MessageEventSource | null; +} + +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +}; + +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface MessagePort extends EventTarget { + onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ + close(): void; + /** + * Posts a message through the channel. Objects listed in transfer are + * transferred, not just cloned, meaning that they are no longer usable on the sending side. + * Throws a "DataCloneError" DOMException if + * transfer contains duplicate objects or port, or if message + * could not be cloned. + */ + postMessage(message: any, transfer?: Transferable[]): void; + /** + * Begins dispatching messages received on the port. + */ + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +}; + +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + +interface NavigatorBeacon { + sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean; +} + +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly productSub: string; + readonly userAgent: string; + readonly vendor: string; + readonly vendorSub: string; +} + +interface NavigatorOnLine { + readonly onLine: boolean; +} + +interface NavigatorStorage { + readonly storage: StorageManager; +} + +interface NotificationEventMap { + "click": Event; + "close": Event; + "error": Event; + "show": Event; +} + +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + onclick: ((this: Notification, ev: Event) => any) | null; + onclose: ((this: Notification, ev: Event) => any) | null; + onerror: ((this: Notification, ev: Event) => any) | null; + onshow: ((this: Notification, ev: Event) => any) | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + readonly maxActions: number; + readonly permission: NotificationPermission; +}; + +interface NotificationEvent extends ExtendableEvent { + readonly action: string; + readonly notification: Notification; +} + +declare var NotificationEvent: { + prototype: NotificationEvent; + new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; +}; + +interface OES_element_index_uint { +} + +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; +} + +interface OES_texture_float { +} + +interface OES_texture_float_linear { +} + +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; +} + +interface OES_texture_half_float_linear { +} + +interface OES_vertex_array_object { + bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + createVertexArrayOES(): WebGLVertexArrayObjectOES | null; + deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean; + readonly VERTEX_ARRAY_BINDING_OES: GLenum; +} + +interface Path2D extends CanvasPath { + addPath(path: Path2D, transform?: DOMMatrix2DInit): void; +} + +declare var Path2D: { + prototype: Path2D; + new(path?: Path2D | string): Path2D; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; + readonly timeOrigin: number; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; +}; + +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; + toJSON(): any; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +}; + +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly decodedBodySize: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly encodedBodySize: number; + readonly fetchStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly transferSize: number; + readonly workerStart: number; + toJSON(): any; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +}; + +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; +} + +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; + +interface PushEvent extends ExtendableEvent { + readonly data: PushMessageData | null; +} + +declare var PushEvent: { + prototype: PushEvent; + new(type: string, eventInitDict?: PushEventInit): PushEvent; +}; + +interface PushManager { + getSubscription(): Promise; + permissionState(options?: PushSubscriptionOptionsInit): Promise; + subscribe(options?: PushSubscriptionOptionsInit): Promise; +} + +declare var PushManager: { + prototype: PushManager; + new(): PushManager; + readonly supportedContentEncodings: ReadonlyArray; +}; + +interface PushMessageData { + arrayBuffer(): ArrayBuffer; + blob(): Blob; + json(): any; + text(): string; +} + +declare var PushMessageData: { + prototype: PushMessageData; + new(): PushMessageData; +}; + +interface PushSubscription { + readonly endpoint: string; + readonly expirationTime: number | null; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + toJSON(): PushSubscriptionJSON; + unsubscribe(): Promise; +} + +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; +}; + +interface PushSubscriptionChangeEvent extends ExtendableEvent { + readonly newSubscription: PushSubscription | null; + readonly oldSubscription: PushSubscription | null; +} + +declare var PushSubscriptionChangeEvent: { + prototype: PushSubscriptionChangeEvent; + new(type: string, eventInitDict?: PushSubscriptionChangeInit): PushSubscriptionChangeEvent; +}; + +interface PushSubscriptionOptions { + readonly applicationServerKey: ArrayBuffer | null; + readonly userVisibleOnly: boolean; +} + +declare var PushSubscriptionOptions: { + prototype: PushSubscriptionOptions; + new(): PushSubscriptionOptions; +}; + +interface ReadableByteStreamController { + readonly byobRequest: ReadableStreamBYOBRequest | undefined; + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: ArrayBufferView): void; + error(error?: any): void; +} + +interface ReadableStream { + readonly locked: boolean; + cancel(reason?: any): Promise; + getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; + getReader(): ReadableStreamDefaultReader; + pipeThrough({ writable, readable }: { writable: WritableStream, readable: ReadableStream }, options?: PipeOptions): ReadableStream; + pipeTo(dest: WritableStream, options?: PipeOptions): Promise; + tee(): [ReadableStream, ReadableStream]; +} + +declare var ReadableStream: { + prototype: ReadableStream; + new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number, size?: undefined }): ReadableStream; + new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; +}; + +interface ReadableStreamBYOBReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(view: T): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; +}; + +interface ReadableStreamBYOBRequest { + readonly view: ArrayBufferView; + respond(bytesWritten: number): void; + respondWithNewView(view: ArrayBufferView): void; +} + +interface ReadableStreamDefaultController { + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: R): void; + error(error?: any): void; +} + +interface ReadableStreamDefaultReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(): Promise>; + releaseLock(): void; +} + +interface ReadableStreamReadResult { + done: boolean; + value: T; +} + +interface ReadableStreamReader { + cancel(): Promise; + read(): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamReader: { + prototype: ReadableStreamReader; + new(): ReadableStreamReader; +}; + +interface Request extends Body { + /** + * Returns the cache mode associated with request, which is a string indicating + * how the request will interact with the browser's cache when fetching. + */ + readonly cache: RequestCache; + /** + * Returns the credentials mode associated with request, which is a string + * indicating whether credentials will be sent with the request always, never, or only when sent to a + * same-origin URL. + */ + readonly credentials: RequestCredentials; + /** + * Returns the kind of resource requested by request, e.g., "document" or + * "script". + */ + readonly destination: RequestDestination; + /** + * Returns a Headers object consisting of the headers associated with request. + * Note that headers added in the network layer by the user agent will not be accounted for in this + * object, e.g., the "Host" header. + */ + readonly headers: Headers; + /** + * Returns request's subresource integrity metadata, which is a cryptographic hash of + * the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] + */ + readonly integrity: string; + /** + * Returns a boolean indicating whether or not request is for a history + * navigation (a.k.a. back-foward navigation). + */ + readonly isHistoryNavigation: boolean; + /** + * Returns a boolean indicating whether or not request is for a reload navigation. + */ + readonly isReloadNavigation: boolean; + /** + * Returns a boolean indicating whether or not request can outlive the global in which + * it was created. + */ + readonly keepalive: boolean; + /** + * Returns request's HTTP method, which is "GET" by default. + */ + readonly method: string; + /** + * Returns the mode associated with request, which is a string indicating + * whether the request will use CORS, or will be restricted to same-origin URLs. + */ + readonly mode: RequestMode; + /** + * Returns the redirect mode associated with request, which is a string + * indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. + */ + readonly redirect: RequestRedirect; + /** + * Returns the referrer of request. Its value can be a same-origin URL if + * explicitly set in init, the empty string to indicate no referrer, and + * "about:client" when defaulting to the global's default. This is used during + * fetching to determine the value of the `Referer` header of the request being made. + */ + readonly referrer: string; + /** + * Returns the referrer policy associated with request. This is used during + * fetching to compute the value of the request's referrer. + */ + readonly referrerPolicy: ReferrerPolicy; + /** + * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort + * event handler. + */ + readonly signal: AbortSignal; + /** + * Returns the URL of request as a string. + */ + readonly url: string; + clone(): Request; +} + +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; +}; + +interface Response extends Body { + readonly headers: Headers; + readonly ok: boolean; + readonly redirected: boolean; + readonly status: number; + readonly statusText: string; + readonly trailer: Promise; + readonly type: ResponseType; + readonly url: string; + clone(): Response; +} + +declare var Response: { + prototype: Response; + new(body?: BodyInit | null, init?: ResponseInit): Response; + error(): Response; + redirect(url: string, status?: number): Response; +}; + +interface ServiceWorkerEventMap extends AbstractWorkerEventMap { + "statechange": Event; +} + +interface ServiceWorker extends EventTarget, AbstractWorker { + onstatechange: ((this: ServiceWorker, ev: Event) => any) | null; + readonly scriptURL: string; + readonly state: ServiceWorkerState; + postMessage(message: any, transfer?: Transferable[]): void; + addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorker: { + prototype: ServiceWorker; + new(): ServiceWorker; +}; + +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null; + onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + readonly ready: Promise; + getRegistration(clientURL?: string): Promise; + getRegistrations(): Promise>; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; +}; + +interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "activate": ExtendableEvent; + "fetch": FetchEvent; + "install": ExtendableEvent; + "message": ExtendableMessageEvent; + "messageerror": MessageEvent; + "notificationclick": NotificationEvent; + "notificationclose": NotificationEvent; + "push": PushEvent; + "pushsubscriptionchange": PushSubscriptionChangeEvent; + "sync": SyncEvent; +} + +interface ServiceWorkerGlobalScope extends WorkerGlobalScope { + readonly clients: Clients; + onactivate: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null; + onfetch: ((this: ServiceWorkerGlobalScope, ev: FetchEvent) => any) | null; + oninstall: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null; + onmessage: ((this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerGlobalScope, ev: MessageEvent) => any) | null; + onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; + onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; + onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null; + onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any) | null; + onsync: ((this: ServiceWorkerGlobalScope, ev: SyncEvent) => any) | null; + readonly registration: ServiceWorkerRegistration; + skipWaiting(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerGlobalScope: { + prototype: ServiceWorkerGlobalScope; + new(): ServiceWorkerGlobalScope; +}; + +interface ServiceWorkerRegistrationEventMap { + "updatefound": Event; +} + +interface ServiceWorkerRegistration extends EventTarget { + readonly active: ServiceWorker | null; + readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; + readonly pushManager: PushManager; + readonly scope: string; + readonly sync: SyncManager; + readonly updateViaCache: ServiceWorkerUpdateViaCache; + readonly waiting: ServiceWorker | null; + getNotifications(filter?: GetNotificationOptions): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + unregister(): Promise; + update(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerRegistration: { + prototype: ServiceWorkerRegistration; + new(): ServiceWorkerRegistration; +}; + +interface StorageManager { + estimate(): Promise; + persisted(): Promise; +} + +declare var StorageManager: { + prototype: StorageManager; + new(): StorageManager; +}; + +interface SubtleCrypto { + decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike; + deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + digest(algorithm: string | Algorithm, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + exportKey(format: "jwk", key: CryptoKey): PromiseLike; + exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike; + exportKey(format: string, key: CryptoKey): PromiseLike; + generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + unwrapKey(format: string, wrappedKey: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike; +} + +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +}; + +interface SyncEvent extends ExtendableEvent { + readonly lastChance: boolean; + readonly tag: string; +} + +declare var SyncEvent: { + prototype: SyncEvent; + new(type: string, init: SyncEventInit): SyncEvent; +}; + +interface SyncManager { + getTags(): Promise; + register(tag: string): Promise; +} + +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; +}; + +interface TextDecoder { + /** + * Returns encoding's name, lowercased. + */ + readonly encoding: string; + /** + * Returns true if error mode is "fatal", and false + * otherwise. + */ + readonly fatal: boolean; + /** + * Returns true if ignore BOM flag is set, and false otherwise. + */ + readonly ignoreBOM: boolean; + /** + * Returns the result of running encoding's decoder. The + * method can be invoked zero or more times with options's stream set to + * true, and then once without options's stream (or set to false), to process + * a fragmented stream. If the invocation without options's stream (or set to + * false) has no input, it's clearest to omit both arguments. + * var string = "", decoder = new TextDecoder(encoding), buffer; + * while(buffer = next_chunk()) { + * string += decoder.decode(buffer, {stream:true}); + * } + * string += decoder.decode(); // end-of-stream + * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. + */ + decode(input?: BufferSource, options?: TextDecodeOptions): string; +} + +declare var TextDecoder: { + prototype: TextDecoder; + new(label?: string, options?: TextDecoderOptions): TextDecoder; +}; + +interface TextEncoder { + /** + * Returns "utf-8". + */ + readonly encoding: string; + /** + * Returns the result of running UTF-8's encoder. + */ + encode(input?: string): Uint8Array; +} + +declare var TextEncoder: { + prototype: TextEncoder; + new(): TextEncoder; +}; + +interface TextMetrics { + readonly actualBoundingBoxAscent: number; + readonly actualBoundingBoxDescent: number; + readonly actualBoundingBoxLeft: number; + readonly actualBoundingBoxRight: number; + readonly alphabeticBaseline: number; + readonly emHeightAscent: number; + readonly emHeightDescent: number; + readonly fontBoundingBoxAscent: number; + readonly fontBoundingBoxDescent: number; + readonly hangingBaseline: number; + /** + * Returns the measurement described below. + */ + readonly ideographicBaseline: number; + readonly width: number; +} + +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +}; + +interface TransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; +} + +declare var TransformStream: { + prototype: TransformStream; + new(transformer?: Transformer, writableStrategy?: QueuingStrategy, readableStrategy?: QueuingStrategy): TransformStream; +}; + +interface TransformStreamDefaultController { + readonly desiredSize: number | null; + enqueue(chunk: O): void; + error(reason?: any): void; + terminate(): void; +} + +interface URL { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toJSON(): string; +} + +declare var URL: { + prototype: URL; + new(url: string, base?: string | URL): URL; + createObjectURL(object: any): string; + revokeObjectURL(url: string): void; +}; + +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; +} + +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; +}; + +interface WEBGL_color_buffer_float { + readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum; + readonly RGBA32F_EXT: GLenum; + readonly UNSIGNED_NORMALIZED_EXT: GLenum; +} + +interface WEBGL_compressed_texture_astc { + getSupportedProfiles(): string[]; + readonly COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum; +} + +interface WEBGL_compressed_texture_s3tc { + readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_compressed_texture_s3tc_srgb { + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_debug_renderer_info { + readonly UNMASKED_RENDERER_WEBGL: GLenum; + readonly UNMASKED_VENDOR_WEBGL: GLenum; +} + +interface WEBGL_debug_shaders { + getTranslatedShaderSource(shader: WebGLShader): string; +} + +interface WEBGL_depth_texture { + readonly UNSIGNED_INT_24_8_WEBGL: GLenum; +} + +interface WEBGL_draw_buffers { + drawBuffersWEBGL(buffers: GLenum[]): void; + readonly COLOR_ATTACHMENT0_WEBGL: GLenum; + readonly COLOR_ATTACHMENT10_WEBGL: GLenum; + readonly COLOR_ATTACHMENT11_WEBGL: GLenum; + readonly COLOR_ATTACHMENT12_WEBGL: GLenum; + readonly COLOR_ATTACHMENT13_WEBGL: GLenum; + readonly COLOR_ATTACHMENT14_WEBGL: GLenum; + readonly COLOR_ATTACHMENT15_WEBGL: GLenum; + readonly COLOR_ATTACHMENT1_WEBGL: GLenum; + readonly COLOR_ATTACHMENT2_WEBGL: GLenum; + readonly COLOR_ATTACHMENT3_WEBGL: GLenum; + readonly COLOR_ATTACHMENT4_WEBGL: GLenum; + readonly COLOR_ATTACHMENT5_WEBGL: GLenum; + readonly COLOR_ATTACHMENT6_WEBGL: GLenum; + readonly COLOR_ATTACHMENT7_WEBGL: GLenum; + readonly COLOR_ATTACHMENT8_WEBGL: GLenum; + readonly COLOR_ATTACHMENT9_WEBGL: GLenum; + readonly DRAW_BUFFER0_WEBGL: GLenum; + readonly DRAW_BUFFER10_WEBGL: GLenum; + readonly DRAW_BUFFER11_WEBGL: GLenum; + readonly DRAW_BUFFER12_WEBGL: GLenum; + readonly DRAW_BUFFER13_WEBGL: GLenum; + readonly DRAW_BUFFER14_WEBGL: GLenum; + readonly DRAW_BUFFER15_WEBGL: GLenum; + readonly DRAW_BUFFER1_WEBGL: GLenum; + readonly DRAW_BUFFER2_WEBGL: GLenum; + readonly DRAW_BUFFER3_WEBGL: GLenum; + readonly DRAW_BUFFER4_WEBGL: GLenum; + readonly DRAW_BUFFER5_WEBGL: GLenum; + readonly DRAW_BUFFER6_WEBGL: GLenum; + readonly DRAW_BUFFER7_WEBGL: GLenum; + readonly DRAW_BUFFER8_WEBGL: GLenum; + readonly DRAW_BUFFER9_WEBGL: GLenum; + readonly MAX_COLOR_ATTACHMENTS_WEBGL: GLenum; + readonly MAX_DRAW_BUFFERS_WEBGL: GLenum; +} + +interface WEBGL_lose_context { + loseContext(): void; + restoreContext(): void; +} + +interface WebGLActiveInfo { + readonly name: string; + readonly size: GLint; + readonly type: GLenum; +} + +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +}; + +interface WebGLBuffer extends WebGLObject { +} + +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +}; + +interface WebGLContextEvent extends Event { + readonly statusMessage: string; +} + +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; +}; + +interface WebGLFramebuffer extends WebGLObject { +} + +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +}; + +interface WebGLObject { +} + +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +}; + +interface WebGLProgram extends WebGLObject { +} + +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +}; + +interface WebGLRenderbuffer extends WebGLObject { +} + +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +}; + +interface WebGLRenderingContext extends WebGLRenderingContextBase { +} + +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +}; + +interface WebGLRenderingContextBase { + readonly drawingBufferHeight: GLsizei; + readonly drawingBufferWidth: GLsizei; + activeTexture(texture: GLenum): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; + bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void; + bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void; + bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + bindTexture(target: GLenum, texture: WebGLTexture | null): void; + blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + blendEquation(mode: GLenum): void; + blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; + blendFunc(sfactor: GLenum, dfactor: GLenum): void; + blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; + bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void; + bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void; + checkFramebufferStatus(target: GLenum): GLenum; + clear(mask: GLbitfield): void; + clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + clearDepth(depth: GLclampf): void; + clearStencil(s: GLint): void; + colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; + compileShader(shader: WebGLShader): void; + compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; + compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; + copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + createBuffer(): WebGLBuffer | null; + createFramebuffer(): WebGLFramebuffer | null; + createProgram(): WebGLProgram | null; + createRenderbuffer(): WebGLRenderbuffer | null; + createShader(type: GLenum): WebGLShader | null; + createTexture(): WebGLTexture | null; + cullFace(mode: GLenum): void; + deleteBuffer(buffer: WebGLBuffer | null): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void; + deleteProgram(program: WebGLProgram | null): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void; + deleteShader(shader: WebGLShader | null): void; + deleteTexture(texture: WebGLTexture | null): void; + depthFunc(func: GLenum): void; + depthMask(flag: GLboolean): void; + depthRange(zNear: GLclampf, zFar: GLclampf): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + disable(cap: GLenum): void; + disableVertexAttribArray(index: GLuint): void; + drawArrays(mode: GLenum, first: GLint, count: GLsizei): void; + drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void; + enable(cap: GLenum): void; + enableVertexAttribArray(index: GLuint): void; + finish(): void; + flush(): void; + framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void; + frontFace(mode: GLenum): void; + generateMipmap(target: GLenum): void; + getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getAttachedShaders(program: WebGLProgram): WebGLShader[] | null; + getAttribLocation(program: WebGLProgram, name: string): GLint; + getBufferParameter(target: GLenum, pname: GLenum): any; + getContextAttributes(): WebGLContextAttributes | null; + getError(): GLenum; + getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null; + getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null; + getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null; + getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null; + getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null; + getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null; + getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null; + getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null; + getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null; + getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null; + getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null; + getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null; + getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null; + getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null; + getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null; + getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null; + getExtension(extensionName: "OES_texture_float"): OES_texture_float | null; + getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null; + getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null; + getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null; + getExtension(extensionName: string): any; + getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; + getParameter(pname: GLenum): any; + getProgramInfoLog(program: WebGLProgram): string | null; + getProgramParameter(program: WebGLProgram, pname: GLenum): any; + getRenderbufferParameter(target: GLenum, pname: GLenum): any; + getShaderInfoLog(shader: WebGLShader): string | null; + getShaderParameter(shader: WebGLShader, pname: GLenum): any; + getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null; + getShaderSource(shader: WebGLShader): string | null; + getSupportedExtensions(): string[] | null; + getTexParameter(target: GLenum, pname: GLenum): any; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null; + getVertexAttrib(index: GLuint, pname: GLenum): any; + getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; + hint(target: GLenum, mode: GLenum): void; + isBuffer(buffer: WebGLBuffer | null): GLboolean; + isContextLost(): boolean; + isEnabled(cap: GLenum): GLboolean; + isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean; + isProgram(program: WebGLProgram | null): GLboolean; + isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean; + isShader(shader: WebGLShader | null): GLboolean; + isTexture(texture: WebGLTexture | null): GLboolean; + lineWidth(width: GLfloat): void; + linkProgram(program: WebGLProgram): void; + pixelStorei(pname: GLenum, param: GLint): void; + polygonOffset(factor: GLfloat, units: GLfloat): void; + readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void; + sampleCoverage(value: GLclampf, invert: GLboolean): void; + scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + shaderSource(shader: WebGLShader, source: string): void; + stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void; + stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; + stencilMask(mask: GLuint): void; + stencilMaskSeparate(face: GLenum, mask: GLuint): void; + stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void; + stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; + texParameteri(target: GLenum, pname: GLenum, param: GLint): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void; + uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform1i(location: WebGLUniformLocation | null, x: GLint): void; + uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; + uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; + uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; + uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; + uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; + uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + useProgram(program: WebGLProgram | null): void; + validateProgram(program: WebGLProgram): void; + vertexAttrib1f(index: GLuint, x: GLfloat): void; + vertexAttrib1fv(index: GLuint, values: Float32List): void; + vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; + vertexAttrib2fv(index: GLuint, values: Float32List): void; + vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; + vertexAttrib3fv(index: GLuint, values: Float32List): void; + vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + vertexAttrib4fv(index: GLuint, values: Float32List): void; + vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; + viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +} + +interface WebGLShader extends WebGLObject { +} + +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +}; + +interface WebGLShaderPrecisionFormat { + readonly precision: GLint; + readonly rangeMax: GLint; + readonly rangeMin: GLint; +} + +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +}; + +interface WebGLTexture extends WebGLObject { +} + +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +}; + +interface WebGLUniformLocation { +} + +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +}; + +interface WebGLVertexArrayObjectOES extends WebGLObject { +} + +interface WebSocketEventMap { + "close": CloseEvent; + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface WebSocket extends EventTarget { + binaryType: BinaryType; + readonly bufferedAmount: number; + readonly extensions: string; + onclose: ((this: WebSocket, ev: CloseEvent) => any) | null; + onerror: ((this: WebSocket, ev: Event) => any) | null; + onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null; + onopen: ((this: WebSocket, ev: Event) => any) | null; + readonly protocol: string; + readonly readyState: number; + readonly url: string; + close(code?: number, reason?: string): void; + send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; +}; + +interface WindowBase64 { + atob(encodedString: string): string; + btoa(rawString: string): string; +} + +interface WindowClient extends Client { + readonly ancestorOrigins: ReadonlyArray; + readonly focused: boolean; + readonly visibilityState: VisibilityState; + focus(): Promise; + navigate(url: string): Promise; +} + +declare var WindowClient: { + prototype: WindowClient; + new(): WindowClient; +}; + +interface WindowConsole { + readonly console: Console; +} + +interface WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly crypto: Crypto; + readonly indexedDB: IDBFactory; + readonly origin: string; + readonly performance: Performance; + atob(data: string): string; + btoa(data: string): string; + clearInterval(handle?: number): void; + clearTimeout(handle?: number): void; + createImageBitmap(image: ImageBitmapSource): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; + queueMicrotask(callback: Function): void; + setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; + setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +} + +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; +} + +interface Worker extends EventTarget, AbstractWorker { + onmessage: ((this: Worker, ev: MessageEvent) => any) | null; + postMessage(message: any, transfer?: Transferable[]): void; + terminate(): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Worker: { + prototype: Worker; + new(stringUrl: string, options?: WorkerOptions): Worker; +}; + +interface WorkerGlobalScopeEventMap { + "error": ErrorEvent; +} + +interface WorkerGlobalScope extends EventTarget, WorkerUtils, WindowConsole, GlobalFetch, WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly isSecureContext: boolean; + readonly location: WorkerLocation; + onerror: ((this: WorkerGlobalScope, ev: ErrorEvent) => any) | null; + readonly performance: Performance; + readonly self: WorkerGlobalScope; + msWriteProfilerMark(profilerMarkName: string): void; + addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var WorkerGlobalScope: { + prototype: WorkerGlobalScope; + new(): WorkerGlobalScope; +}; + +interface WorkerLocation { + readonly hash: string; + readonly host: string; + readonly hostname: string; + readonly href: string; + readonly origin: string; + readonly pathname: string; + readonly port: string; + readonly protocol: string; + readonly search: string; + toString(): string; +} + +declare var WorkerLocation: { + prototype: WorkerLocation; + new(): WorkerLocation; +}; + +interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorStorage { + readonly serviceWorker: ServiceWorkerContainer; +} + +declare var WorkerNavigator: { + prototype: WorkerNavigator; + new(): WorkerNavigator; +}; + +interface WorkerUtils extends WindowBase64 { + readonly indexedDB: IDBFactory; + readonly msIndexedDB: IDBFactory; + readonly navigator: WorkerNavigator; + importScripts(...urls: string[]): void; +} + +interface WritableStream { + readonly locked: boolean; + abort(reason?: any): Promise; + getWriter(): WritableStreamDefaultWriter; +} + +declare var WritableStream: { + prototype: WritableStream; + new(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy): WritableStream; +}; + +interface WritableStreamDefaultController { + error(error?: any): void; +} + +interface WritableStreamDefaultWriter { + readonly closed: Promise; + readonly desiredSize: number | null; + readonly ready: Promise; + abort(reason?: any): Promise; + close(): Promise; + releaseLock(): void; + write(chunk: W): Promise; +} + +interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { + "readystatechange": Event; +} + +interface XMLHttpRequest extends XMLHttpRequestEventTarget { + onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null; + /** + * Returns client's state. + */ + readonly readyState: number; + /** + * Returns the response's body. + */ + readonly response: any; + /** + * Returns the text response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text". + */ + readonly responseText: string; + /** + * Returns the response type. + * Can be set to change the response type. Values are: + * the empty string (default), + * "arraybuffer", + * "blob", + * "document", + * "json", and + * "text". + * When set: setting to "document" is ignored if current global object is not a Window object. + * When set: throws an "InvalidStateError" DOMException if state is loading or done. + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + responseType: XMLHttpRequestResponseType; + readonly responseURL: string; + readonly status: number; + readonly statusText: string; + /** + * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the + * request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a + * "TimeoutError" DOMException will be thrown otherwise (for the send() method). + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + timeout: number; + /** + * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is + * transferred to a server. + */ + readonly upload: XMLHttpRequestUpload; + /** + * True when credentials are to be included in a cross-origin request. False when they are + * to be excluded in a cross-origin request and when cookies are to be ignored in its response. + * Initially false. + * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set. + */ + withCredentials: boolean; + /** + * Cancels any network activity. + */ + abort(): void; + getAllResponseHeaders(): string; + getResponseHeader(name: string): string | null; + /** + * Sets the request method, request URL, and synchronous flag. + * Throws a "SyntaxError" DOMException if either method is not a + * valid HTTP method or url cannot be parsed. + * Throws a "SecurityError" DOMException if method is a + * case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`. + * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string. + */ + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void; + /** + * Acts as if the `Content-Type` header value for response is mime. + * (It does not actually change the header though.) + * Throws an "InvalidStateError" DOMException if state is loading or done. + */ + overrideMimeType(mime: string): void; + /** + * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + */ + send(body?: BodyInit | null): void; + /** + * Combines a header in author request headers. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + * Throws a "SyntaxError" DOMException if name is not a header name + * or if value is not a header value. + */ + setRequestHeader(name: string, value: string): void; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; + addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; +}; + +interface XMLHttpRequestEventTargetEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; + "timeout": ProgressEvent; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; +}; + +declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; + +interface EventHandlerNonNull { + (event: Event): any; +} + +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; +} + +interface QueuingStrategySizeCallback { + (chunk: T): number; +} + +interface ReadableByteStreamControllerCallback { + (controller: ReadableByteStreamController): void | PromiseLike; +} + +interface ReadableStreamDefaultControllerCallback { + (controller: ReadableStreamDefaultController): void | PromiseLike; +} + +interface ReadableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +interface TransformStreamDefaultControllerCallback { + (controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface TransformStreamDefaultControllerTransformCallback { + (chunk: I, controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamDefaultControllerCloseCallback { + (): void | PromiseLike; +} + +interface WritableStreamDefaultControllerStartCallback { + (controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamDefaultControllerWriteCallback { + (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +declare var onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; +declare function close(): void; +declare function postMessage(message: any, transfer?: Transferable[]): void; +/** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ +declare function dispatchEvent(event: Event): boolean; +declare var caches: CacheStorage; +declare var isSecureContext: boolean; +declare var location: WorkerLocation; +declare var onerror: ((this: DedicatedWorkerGlobalScope, ev: ErrorEvent) => any) | null; +declare var performance: Performance; +declare var self: WorkerGlobalScope; +declare function msWriteProfilerMark(profilerMarkName: string): void; +/** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ +declare function dispatchEvent(event: Event): boolean; +declare var indexedDB: IDBFactory; +declare var msIndexedDB: IDBFactory; +declare var navigator: WorkerNavigator; +declare function importScripts(...urls: string[]): void; +declare function atob(encodedString: string): string; +declare function btoa(rawString: string): string; +declare var console: Console; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare var caches: CacheStorage; +declare var crypto: Crypto; +declare var indexedDB: IDBFactory; +declare var origin: string; +declare var performance: Performance; +declare function atob(data: string): string; +declare function btoa(data: string): string; +declare function clearInterval(handle?: number): void; +declare function clearTimeout(handle?: number): void; +declare function createImageBitmap(image: ImageBitmapSource): Promise; +declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare function queueMicrotask(callback: Function): void; +declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; +declare function removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +type BlobPart = BufferSource | Blob | string; +type HeadersInit = Headers | string[][] | Record; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type RequestInfo = Request | string; +type DOMHighResTimeStamp = number; +type CanvasImageSource = ImageBitmap; +type MessageEventSource = MessagePort | ServiceWorker; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; +type TimerHandler = string | Function; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; +type VibratePattern = number | number[]; +type AlgorithmIdentifier = string | Algorithm; +type HashAlgorithmIdentifier = AlgorithmIdentifier; +type BigInteger = Uint8Array; +type NamedCurve = string; +type GLenum = number; +type GLboolean = boolean; +type GLbitfield = number; +type GLint = number; +type GLsizei = number; +type GLintptr = number; +type GLsizeiptr = number; +type GLuint = number; +type GLfloat = number; +type GLclampf = number; +type TexImageSource = ImageBitmap | ImageData; +type Float32List = Float32Array | GLfloat[]; +type Int32List = Int32Array | GLint[]; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type FormDataEntryValue = File | string; +type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; +type Transferable = ArrayBuffer | MessagePort | ImageBitmap; +type BinaryType = "blob" | "arraybuffer"; +type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type EndingType = "transparent" | "native"; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; +type IDBRequestReadyState = "pending" | "done"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; +type NotificationDirection = "auto" | "ltr" | "rtl"; +type NotificationPermission = "default" | "denied" | "granted"; +type PushEncryptionKeyName = "p256dh" | "auth"; +type PushPermissionState = "denied" | "granted" | "prompt"; +type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestRedirect = "follow" | "error" | "manual"; +type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ServiceWorkerUpdateViaCache = "imports" | "all" | "none"; +type VisibilityState = "hidden" | "visible" | "prerender"; +type WebGLPowerPreference = "default" | "low-power" | "high-performance"; +type WorkerType = "classic" | "module"; +type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.importscripts.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.importscripts.d.ts new file mode 100644 index 0000000..c373ba8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.importscripts.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + + +///////////////////////////// +/// WorkerGlobalScope APIs +///////////////////////////// +// These are only available in a Web Worker +declare function importScripts(...urls: string[]): void; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/protocol.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/protocol.d.ts new file mode 100644 index 0000000..74855bf --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/protocol.d.ts @@ -0,0 +1,2552 @@ +/** + * Declaration module describing the TypeScript Server protocol + */ +declare namespace ts.server.protocol { + const enum CommandTypes { + JsxClosingTag = "jsxClosingTag", + Brace = "brace", + BraceCompletion = "braceCompletion", + GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", + Change = "change", + Close = "close", + /** @deprecated Prefer CompletionInfo -- see comment on CompletionsResponse */ + Completions = "completions", + CompletionInfo = "completionInfo", + CompletionDetails = "completionEntryDetails", + CompileOnSaveAffectedFileList = "compileOnSaveAffectedFileList", + CompileOnSaveEmitFile = "compileOnSaveEmitFile", + Configure = "configure", + Definition = "definition", + DefinitionAndBoundSpan = "definitionAndBoundSpan", + Implementation = "implementation", + Exit = "exit", + Format = "format", + Formatonkey = "formatonkey", + Geterr = "geterr", + GeterrForProject = "geterrForProject", + SemanticDiagnosticsSync = "semanticDiagnosticsSync", + SyntacticDiagnosticsSync = "syntacticDiagnosticsSync", + SuggestionDiagnosticsSync = "suggestionDiagnosticsSync", + NavBar = "navbar", + Navto = "navto", + NavTree = "navtree", + NavTreeFull = "navtree-full", + /** @deprecated */ + Occurrences = "occurrences", + DocumentHighlights = "documentHighlights", + Open = "open", + Quickinfo = "quickinfo", + References = "references", + Reload = "reload", + Rename = "rename", + Saveto = "saveto", + SignatureHelp = "signatureHelp", + Status = "status", + TypeDefinition = "typeDefinition", + ProjectInfo = "projectInfo", + ReloadProjects = "reloadProjects", + Unknown = "unknown", + OpenExternalProject = "openExternalProject", + OpenExternalProjects = "openExternalProjects", + CloseExternalProject = "closeExternalProject", + GetOutliningSpans = "getOutliningSpans", + TodoComments = "todoComments", + Indentation = "indentation", + DocCommentTemplate = "docCommentTemplate", + CompilerOptionsForInferredProjects = "compilerOptionsForInferredProjects", + GetCodeFixes = "getCodeFixes", + GetCombinedCodeFix = "getCombinedCodeFix", + ApplyCodeActionCommand = "applyCodeActionCommand", + GetSupportedCodeFixes = "getSupportedCodeFixes", + GetApplicableRefactors = "getApplicableRefactors", + GetEditsForRefactor = "getEditsForRefactor", + OrganizeImports = "organizeImports", + GetEditsForFileRename = "getEditsForFileRename", + ConfigurePlugin = "configurePlugin" + } + /** + * A TypeScript Server message + */ + interface Message { + /** + * Sequence number of the message + */ + seq: number; + /** + * One of "request", "response", or "event" + */ + type: "request" | "response" | "event"; + } + /** + * Client-initiated request message + */ + interface Request extends Message { + type: "request"; + /** + * The command to execute + */ + command: string; + /** + * Object containing arguments for the command + */ + arguments?: any; + } + /** + * Request to reload the project structure for all the opened files + */ + interface ReloadProjectsRequest extends Message { + command: CommandTypes.ReloadProjects; + } + /** + * Server-initiated event message + */ + interface Event extends Message { + type: "event"; + /** + * Name of event + */ + event: string; + /** + * Event-specific information + */ + body?: any; + } + /** + * Response by server to client request message. + */ + interface Response extends Message { + type: "response"; + /** + * Sequence number of the request message. + */ + request_seq: number; + /** + * Outcome of the request. + */ + success: boolean; + /** + * The command requested. + */ + command: string; + /** + * If success === false, this should always be provided. + * Otherwise, may (or may not) contain a success message. + */ + message?: string; + /** + * Contains message body if success === true. + */ + body?: any; + /** + * Contains extra information that plugin can include to be passed on + */ + metadata?: unknown; + } + /** + * Arguments for FileRequest messages. + */ + interface FileRequestArgs { + /** + * The file for the request (absolute pathname required). + */ + file: string; + projectFileName?: string; + } + interface StatusRequest extends Request { + command: CommandTypes.Status; + } + interface StatusResponseBody { + /** + * The TypeScript version (`ts.version`). + */ + version: string; + } + /** + * Response to StatusRequest + */ + interface StatusResponse extends Response { + body: StatusResponseBody; + } + /** + * Requests a JS Doc comment template for a given position + */ + interface DocCommentTemplateRequest extends FileLocationRequest { + command: CommandTypes.DocCommentTemplate; + } + /** + * Response to DocCommentTemplateRequest + */ + interface DocCommandTemplateResponse extends Response { + body?: TextInsertion; + } + /** + * A request to get TODO comments from the file + */ + interface TodoCommentRequest extends FileRequest { + command: CommandTypes.TodoComments; + arguments: TodoCommentRequestArgs; + } + /** + * Arguments for TodoCommentRequest request. + */ + interface TodoCommentRequestArgs extends FileRequestArgs { + /** + * Array of target TodoCommentDescriptors that describes TODO comments to be found + */ + descriptors: TodoCommentDescriptor[]; + } + /** + * Response for TodoCommentRequest request. + */ + interface TodoCommentsResponse extends Response { + body?: TodoComment[]; + } + /** + * A request to determine if the caret is inside a comment. + */ + interface SpanOfEnclosingCommentRequest extends FileLocationRequest { + command: CommandTypes.GetSpanOfEnclosingComment; + arguments: SpanOfEnclosingCommentRequestArgs; + } + interface SpanOfEnclosingCommentRequestArgs extends FileLocationRequestArgs { + /** + * Requires that the enclosing span be a multi-line comment, or else the request returns undefined. + */ + onlyMultiLine: boolean; + } + /** + * Request to obtain outlining spans in file. + */ + interface OutliningSpansRequest extends FileRequest { + command: CommandTypes.GetOutliningSpans; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + /** + * Response to OutliningSpansRequest request. + */ + interface OutliningSpansResponse extends Response { + body?: OutliningSpan[]; + } + /** + * A request to get indentation for a location in file + */ + interface IndentationRequest extends FileLocationRequest { + command: CommandTypes.Indentation; + arguments: IndentationRequestArgs; + } + /** + * Response for IndentationRequest request. + */ + interface IndentationResponse extends Response { + body?: IndentationResult; + } + /** + * Indentation result representing where indentation should be placed + */ + interface IndentationResult { + /** + * The base position in the document that the indent should be relative to + */ + position: number; + /** + * The number of columns the indent should be at relative to the position's column. + */ + indentation: number; + } + /** + * Arguments for IndentationRequest request. + */ + interface IndentationRequestArgs extends FileLocationRequestArgs { + /** + * An optional set of settings to be used when computing indentation. + * If argument is omitted - then it will use settings for file that were previously set via 'configure' request or global settings. + */ + options?: EditorSettings; + } + /** + * Arguments for ProjectInfoRequest request. + */ + interface ProjectInfoRequestArgs extends FileRequestArgs { + /** + * Indicate if the file name list of the project is needed + */ + needFileNameList: boolean; + } + /** + * A request to get the project information of the current file. + */ + interface ProjectInfoRequest extends Request { + command: CommandTypes.ProjectInfo; + arguments: ProjectInfoRequestArgs; + } + /** + * A request to retrieve compiler options diagnostics for a project + */ + interface CompilerOptionsDiagnosticsRequest extends Request { + arguments: CompilerOptionsDiagnosticsRequestArgs; + } + /** + * Arguments for CompilerOptionsDiagnosticsRequest request. + */ + interface CompilerOptionsDiagnosticsRequestArgs { + /** + * Name of the project to retrieve compiler options diagnostics. + */ + projectFileName: string; + } + /** + * Response message body for "projectInfo" request + */ + interface ProjectInfo { + /** + * For configured project, this is the normalized path of the 'tsconfig.json' file + * For inferred project, this is undefined + */ + configFileName: string; + /** + * The list of normalized file name in the project, including 'lib.d.ts' + */ + fileNames?: string[]; + /** + * Indicates if the project has a active language service instance + */ + languageServiceDisabled?: boolean; + } + /** + * Represents diagnostic info that includes location of diagnostic in two forms + * - start position and length of the error span + * - startLocation and endLocation - a pair of Location objects that store start/end line and offset of the error span. + */ + interface DiagnosticWithLinePosition { + message: string; + start: number; + length: number; + startLocation: Location; + endLocation: Location; + category: string; + code: number; + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + relatedInformation?: DiagnosticRelatedInformation[]; + } + /** + * Response message for "projectInfo" request + */ + interface ProjectInfoResponse extends Response { + body?: ProjectInfo; + } + /** + * Request whose sole parameter is a file name. + */ + interface FileRequest extends Request { + arguments: FileRequestArgs; + } + /** + * Instances of this interface specify a location in a source file: + * (file, line, character offset), where line and character offset are 1-based. + */ + interface FileLocationRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + line: number; + /** + * The character offset (on the line) for the request (1-based). + */ + offset: number; + } + type FileLocationOrRangeRequestArgs = FileLocationRequestArgs | FileRangeRequestArgs; + /** + * Request refactorings at a given position or selection area. + */ + interface GetApplicableRefactorsRequest extends Request { + command: CommandTypes.GetApplicableRefactors; + arguments: GetApplicableRefactorsRequestArgs; + } + type GetApplicableRefactorsRequestArgs = FileLocationOrRangeRequestArgs; + /** + * Response is a list of available refactorings. + * Each refactoring exposes one or more "Actions"; a user selects one action to invoke a refactoring + */ + interface GetApplicableRefactorsResponse extends Response { + body?: ApplicableRefactorInfo[]; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + interface GetEditsForRefactorRequest extends Request { + command: CommandTypes.GetEditsForRefactor; + arguments: GetEditsForRefactorRequestArgs; + } + /** + * Request the edits that a particular refactoring action produces. + * Callers must specify the name of the refactor and the name of the action. + */ + type GetEditsForRefactorRequestArgs = FileLocationOrRangeRequestArgs & { + refactor: string; + action: string; + }; + interface GetEditsForRefactorResponse extends Response { + body?: RefactorEditInfo; + } + interface RefactorEditInfo { + edits: FileCodeEdits[]; + /** + * An optional location where the editor should start a rename operation once + * the refactoring edits have been applied + */ + renameLocation?: Location; + renameFilename?: string; + } + /** + * Organize imports by: + * 1) Removing unused imports + * 2) Coalescing imports from the same module + * 3) Sorting imports + */ + interface OrganizeImportsRequest extends Request { + command: CommandTypes.OrganizeImports; + arguments: OrganizeImportsRequestArgs; + } + type OrganizeImportsScope = GetCombinedCodeFixScope; + interface OrganizeImportsRequestArgs { + scope: OrganizeImportsScope; + } + interface OrganizeImportsResponse extends Response { + body: ReadonlyArray; + } + interface GetEditsForFileRenameRequest extends Request { + command: CommandTypes.GetEditsForFileRename; + arguments: GetEditsForFileRenameRequestArgs; + } + /** Note: Paths may also be directories. */ + interface GetEditsForFileRenameRequestArgs { + readonly oldFilePath: string; + readonly newFilePath: string; + } + interface GetEditsForFileRenameResponse extends Response { + body: ReadonlyArray; + } + /** + * Request for the available codefixes at a specific position. + */ + interface CodeFixRequest extends Request { + command: CommandTypes.GetCodeFixes; + arguments: CodeFixRequestArgs; + } + interface GetCombinedCodeFixRequest extends Request { + command: CommandTypes.GetCombinedCodeFix; + arguments: GetCombinedCodeFixRequestArgs; + } + interface GetCombinedCodeFixResponse extends Response { + body: CombinedCodeActions; + } + interface ApplyCodeActionCommandRequest extends Request { + command: CommandTypes.ApplyCodeActionCommand; + arguments: ApplyCodeActionCommandRequestArgs; + } + interface ApplyCodeActionCommandResponse extends Response { + } + interface FileRangeRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + startLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + startOffset: number; + /** + * The line number for the request (1-based). + */ + endLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + endOffset: number; + } + /** + * Instances of this interface specify errorcodes on a specific location in a sourcefile. + */ + interface CodeFixRequestArgs extends FileRangeRequestArgs { + /** + * Errorcodes we want to get the fixes for. + */ + errorCodes: ReadonlyArray; + } + interface GetCombinedCodeFixRequestArgs { + scope: GetCombinedCodeFixScope; + fixId: {}; + } + interface GetCombinedCodeFixScope { + type: "file"; + args: FileRequestArgs; + } + interface ApplyCodeActionCommandRequestArgs { + /** May also be an array of commands. */ + command: {}; + } + /** + * Response for GetCodeFixes request. + */ + interface GetCodeFixesResponse extends Response { + body?: CodeAction[]; + } + /** + * A request whose arguments specify a file location (file, line, col). + */ + interface FileLocationRequest extends FileRequest { + arguments: FileLocationRequestArgs; + } + /** + * A request to get codes of supported code fixes. + */ + interface GetSupportedCodeFixesRequest extends Request { + command: CommandTypes.GetSupportedCodeFixes; + } + /** + * A response for GetSupportedCodeFixesRequest request. + */ + interface GetSupportedCodeFixesResponse extends Response { + /** + * List of error codes supported by the server. + */ + body?: string[]; + } + /** + * Arguments for EncodedSemanticClassificationsRequest request. + */ + interface EncodedSemanticClassificationsRequestArgs extends FileRequestArgs { + /** + * Start position of the span. + */ + start: number; + /** + * Length of the span. + */ + length: number; + } + /** + * Arguments in document highlight request; include: filesToSearch, file, + * line, offset. + */ + interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs { + /** + * List of files to search for document highlights. + */ + filesToSearch: string[]; + } + /** + * Go to definition request; value of command field is + * "definition". Return response giving the file locations that + * define the symbol found in file at location line, col. + */ + interface DefinitionRequest extends FileLocationRequest { + command: CommandTypes.Definition; + } + interface DefinitionAndBoundSpanRequest extends FileLocationRequest { + readonly command: CommandTypes.DefinitionAndBoundSpan; + } + interface DefinitionAndBoundSpanResponse extends Response { + readonly body: DefinitionInfoAndBoundSpan; + } + /** + * Go to type request; value of command field is + * "typeDefinition". Return response giving the file locations that + * define the type for the symbol found in file at location line, col. + */ + interface TypeDefinitionRequest extends FileLocationRequest { + command: CommandTypes.TypeDefinition; + } + /** + * Go to implementation request; value of command field is + * "implementation". Return response giving the file locations that + * implement the symbol found in file at location line, col. + */ + interface ImplementationRequest extends FileLocationRequest { + command: CommandTypes.Implementation; + } + /** + * Location in source code expressed as (one-based) line and (one-based) column offset. + */ + interface Location { + line: number; + offset: number; + } + /** + * Object found in response messages defining a span of text in source code. + */ + interface TextSpan { + /** + * First character of the definition. + */ + start: Location; + /** + * One character past last character of the definition. + */ + end: Location; + } + /** + * Object found in response messages defining a span of text in a specific source file. + */ + interface FileSpan extends TextSpan { + /** + * File containing text span. + */ + file: string; + } + interface DefinitionInfoAndBoundSpan { + definitions: ReadonlyArray; + textSpan: TextSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface DefinitionResponse extends Response { + body?: FileSpan[]; + } + interface DefinitionInfoAndBoundSpanReponse extends Response { + body?: DefinitionInfoAndBoundSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface TypeDefinitionResponse extends Response { + body?: FileSpan[]; + } + /** + * Implementation response message. Gives text range for implementations. + */ + interface ImplementationResponse extends Response { + body?: FileSpan[]; + } + /** + * Request to get brace completion for a location in the file. + */ + interface BraceCompletionRequest extends FileLocationRequest { + command: CommandTypes.BraceCompletion; + arguments: BraceCompletionRequestArgs; + } + /** + * Argument for BraceCompletionRequest request. + */ + interface BraceCompletionRequestArgs extends FileLocationRequestArgs { + /** + * Kind of opening brace + */ + openingBrace: string; + } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } + /** + * @deprecated + * Get occurrences request; value of command field is + * "occurrences". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface OccurrencesRequest extends FileLocationRequest { + command: CommandTypes.Occurrences; + } + /** @deprecated */ + interface OccurrencesResponseItem extends FileSpan { + /** + * True if the occurrence is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if the occurrence is in a string, undefined otherwise; + */ + isInString?: true; + } + /** @deprecated */ + interface OccurrencesResponse extends Response { + body?: OccurrencesResponseItem[]; + } + /** + * Get document highlights request; value of command field is + * "documentHighlights". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface DocumentHighlightsRequest extends FileLocationRequest { + command: CommandTypes.DocumentHighlights; + arguments: DocumentHighlightsRequestArgs; + } + /** + * Span augmented with extra information that denotes the kind of the highlighting to be used for span. + */ + interface HighlightSpan extends TextSpan { + kind: HighlightSpanKind; + } + /** + * Represents a set of highligh spans for a give name + */ + interface DocumentHighlightsItem { + /** + * File containing highlight spans. + */ + file: string; + /** + * Spans to highlight in file. + */ + highlightSpans: HighlightSpan[]; + } + /** + * Response for a DocumentHighlightsRequest request. + */ + interface DocumentHighlightsResponse extends Response { + body?: DocumentHighlightsItem[]; + } + /** + * Find references request; value of command field is + * "references". Return response giving the file locations that + * reference the symbol found in file at location line, col. + */ + interface ReferencesRequest extends FileLocationRequest { + command: CommandTypes.References; + } + interface ReferencesResponseItem extends FileSpan { + /** Text of line containing the reference. Including this + * with the response avoids latency of editor loading files + * to show text of reference line (the server already has + * loaded the referencing files). + */ + lineText: string; + /** + * True if reference is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if reference is a definition, false otherwise. + */ + isDefinition: boolean; + } + /** + * The body of a "references" response message. + */ + interface ReferencesResponseBody { + /** + * The file locations referencing the symbol. + */ + refs: ReadonlyArray; + /** + * The name of the symbol. + */ + symbolName: string; + /** + * The start character offset of the symbol (on the line provided by the references request). + */ + symbolStartOffset: number; + /** + * The full display name of the symbol. + */ + symbolDisplayString: string; + } + /** + * Response to "references" request. + */ + interface ReferencesResponse extends Response { + body?: ReferencesResponseBody; + } + /** + * Argument for RenameRequest request. + */ + interface RenameRequestArgs extends FileLocationRequestArgs { + /** + * Should text at specified location be found/changed in comments? + */ + findInComments?: boolean; + /** + * Should text at specified location be found/changed in strings? + */ + findInStrings?: boolean; + } + /** + * Rename request; value of command field is "rename". Return + * response giving the file locations that reference the symbol + * found in file at location line, col. Also return full display + * name of the symbol so that client can print it unambiguously. + */ + interface RenameRequest extends FileLocationRequest { + command: CommandTypes.Rename; + arguments: RenameRequestArgs; + } + /** + * Information about the item to be renamed. + */ + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + /** + * True if item can be renamed. + */ + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + /** + * Display name of the item to be renamed. + */ + displayName: string; + /** + * Full display name of item to be renamed. + */ + fullDisplayName: string; + /** + * The items's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** Span of text to rename. */ + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + /** + * Error message if item can not be renamed. + */ + localizedErrorMessage: string; + } + /** + * A group of text spans, all in 'file'. + */ + interface SpanGroup { + /** The file to which the spans apply */ + file: string; + /** The text spans in this group */ + locs: RenameTextSpan[]; + } + interface RenameTextSpan extends TextSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface RenameResponseBody { + /** + * Information about the item to be renamed. + */ + info: RenameInfo; + /** + * An array of span groups (one per file) that refer to the item to be renamed. + */ + locs: ReadonlyArray; + } + /** + * Rename response message. + */ + interface RenameResponse extends Response { + body?: RenameResponseBody; + } + /** + * Represents a file in external project. + * External project is project whose set of files, compilation options and open\close state + * is maintained by the client (i.e. if all this data come from .csproj file in Visual Studio). + * External project will exist even if all files in it are closed and should be closed explicitly. + * If external project includes one or more tsconfig.json/jsconfig.json files then tsserver will + * create configured project for every config file but will maintain a link that these projects were created + * as a result of opening external project so they should be removed once external project is closed. + */ + interface ExternalFile { + /** + * Name of file file + */ + fileName: string; + /** + * Script kind of the file + */ + scriptKind?: ScriptKindName | ts.ScriptKind; + /** + * Whether file has mixed content (i.e. .cshtml file that combines html markup with C#/JavaScript) + */ + hasMixedContent?: boolean; + /** + * Content of the file + */ + content?: string; + } + /** + * Represent an external project + */ + interface ExternalProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of root files in project + */ + rootFiles: ExternalFile[]; + /** + * Compiler options for the project + */ + options: ExternalProjectCompilerOptions; + /** + * @deprecated typingOptions. Use typeAcquisition instead + */ + typingOptions?: TypeAcquisition; + /** + * Explicitly specified type acquisition for the project + */ + typeAcquisition?: TypeAcquisition; + } + interface CompileOnSaveMixin { + /** + * If compile on save is enabled for the project + */ + compileOnSave?: boolean; + } + /** + * For external projects, some of the project settings are sent together with + * compiler settings. + */ + type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin; + /** + * Represents a set of changes that happen in project + */ + interface ProjectChanges { + /** + * List of added files + */ + added: string[]; + /** + * List of removed files + */ + removed: string[]; + /** + * List of updated files + */ + updated: string[]; + } + /** + * Information found in a configure request. + */ + interface ConfigureRequestArguments { + /** + * Information about the host, for example 'Emacs 24.4' or + * 'Sublime Text version 3075' + */ + hostInfo?: string; + /** + * If present, tab settings apply only to this file. + */ + file?: string; + /** + * The format options to use during formatting and other code editing features. + */ + formatOptions?: FormatCodeSettings; + preferences?: UserPreferences; + /** + * The host's additional supported .js file extensions + */ + extraFileExtensions?: FileExtensionInfo[]; + } + /** + * Configure request; value of command field is "configure". Specifies + * host information, such as host type, tab size, and indent size. + */ + interface ConfigureRequest extends Request { + command: CommandTypes.Configure; + arguments: ConfigureRequestArguments; + } + /** + * Response to "configure" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ConfigureResponse extends Response { + } + interface ConfigurePluginRequestArguments { + pluginName: string; + configuration: any; + } + interface ConfigurePluginRequest extends Request { + command: CommandTypes.ConfigurePlugin; + arguments: ConfigurePluginRequestArguments; + } + /** + * Information found in an "open" request. + */ + interface OpenRequestArgs extends FileRequestArgs { + /** + * Used when a version of the file content is known to be more up to date than the one on disk. + * Then the known content will be used upon opening instead of the disk copy + */ + fileContent?: string; + /** + * Used to specify the script kind of the file explicitly. It could be one of the following: + * "TS", "JS", "TSX", "JSX" + */ + scriptKindName?: ScriptKindName; + /** + * Used to limit the searching for project config file. If given the searching will stop at this + * root path; otherwise it will go all the way up to the dist root path. + */ + projectRootPath?: string; + } + type ScriptKindName = "TS" | "JS" | "TSX" | "JSX"; + /** + * Open request; value of command field is "open". Notify the + * server that the client has file open. The server will not + * monitor the filesystem for changes in this file and will assume + * that the client is updating the server (using the change and/or + * reload messages) when the file changes. Server does not currently + * send a response to an open request. + */ + interface OpenRequest extends Request { + command: CommandTypes.Open; + arguments: OpenRequestArgs; + } + /** + * Request to open or update external project + */ + interface OpenExternalProjectRequest extends Request { + command: CommandTypes.OpenExternalProject; + arguments: OpenExternalProjectArgs; + } + /** + * Arguments to OpenExternalProjectRequest request + */ + type OpenExternalProjectArgs = ExternalProject; + /** + * Request to open multiple external projects + */ + interface OpenExternalProjectsRequest extends Request { + command: CommandTypes.OpenExternalProjects; + arguments: OpenExternalProjectsArgs; + } + /** + * Arguments to OpenExternalProjectsRequest + */ + interface OpenExternalProjectsArgs { + /** + * List of external projects to open or update + */ + projects: ExternalProject[]; + } + /** + * Response to OpenExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectResponse extends Response { + } + /** + * Response to OpenExternalProjectsRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectsResponse extends Response { + } + /** + * Request to close external project. + */ + interface CloseExternalProjectRequest extends Request { + command: CommandTypes.CloseExternalProject; + arguments: CloseExternalProjectRequestArgs; + } + /** + * Arguments to CloseExternalProjectRequest request + */ + interface CloseExternalProjectRequestArgs { + /** + * Name of the project to close + */ + projectFileName: string; + } + /** + * Response to CloseExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface CloseExternalProjectResponse extends Response { + } + /** + * Request to set compiler options for inferred projects. + * External projects are opened / closed explicitly. + * Configured projects are opened when user opens loose file that has 'tsconfig.json' or 'jsconfig.json' anywhere in one of containing folders. + * This configuration file will be used to obtain a list of files and configuration settings for the project. + * Inferred projects are created when user opens a loose file that is not the part of external project + * or configured project and will contain only open file and transitive closure of referenced files if 'useOneInferredProject' is false, + * or all open loose files and its transitive closure of referenced files if 'useOneInferredProject' is true. + */ + interface SetCompilerOptionsForInferredProjectsRequest extends Request { + command: CommandTypes.CompilerOptionsForInferredProjects; + arguments: SetCompilerOptionsForInferredProjectsArgs; + } + /** + * Argument for SetCompilerOptionsForInferredProjectsRequest request. + */ + interface SetCompilerOptionsForInferredProjectsArgs { + /** + * Compiler options to be used with inferred projects. + */ + options: ExternalProjectCompilerOptions; + /** + * Specifies the project root path used to scope compiler options. + * It is an error to provide this property if the server has not been started with + * `useInferredProjectPerProjectRoot` enabled. + */ + projectRootPath?: string; + } + /** + * Response to SetCompilerOptionsForInferredProjectsResponse request. This is just an acknowledgement, so + * no body field is required. + */ + interface SetCompilerOptionsForInferredProjectsResponse extends Response { + } + /** + * Exit request; value of command field is "exit". Ask the server process + * to exit. + */ + interface ExitRequest extends Request { + command: CommandTypes.Exit; + } + /** + * Close request; value of command field is "close". Notify the + * server that the client has closed a previously open file. If + * file is still referenced by open files, the server will resume + * monitoring the filesystem for changes to file. Server does not + * currently send a response to a close request. + */ + interface CloseRequest extends FileRequest { + command: CommandTypes.Close; + } + /** + * Request to obtain the list of files that should be regenerated if target file is recompiled. + * NOTE: this us query-only operation and does not generate any output on disk. + */ + interface CompileOnSaveAffectedFileListRequest extends FileRequest { + command: CommandTypes.CompileOnSaveAffectedFileList; + } + /** + * Contains a list of files that should be regenerated in a project + */ + interface CompileOnSaveAffectedFileListSingleProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of files names that should be recompiled + */ + fileNames: string[]; + /** + * true if project uses outFile or out compiler option + */ + projectUsesOutFile: boolean; + } + /** + * Response for CompileOnSaveAffectedFileListRequest request; + */ + interface CompileOnSaveAffectedFileListResponse extends Response { + body: CompileOnSaveAffectedFileListSingleProject[]; + } + /** + * Request to recompile the file. All generated outputs (.js, .d.ts or .js.map files) is written on disk. + */ + interface CompileOnSaveEmitFileRequest extends FileRequest { + command: CommandTypes.CompileOnSaveEmitFile; + arguments: CompileOnSaveEmitFileRequestArgs; + } + /** + * Arguments for CompileOnSaveEmitFileRequest + */ + interface CompileOnSaveEmitFileRequestArgs extends FileRequestArgs { + /** + * if true - then file should be recompiled even if it does not have any changes. + */ + forced?: boolean; + } + /** + * Quickinfo request; value of command field is + * "quickinfo". Return response giving a quick type and + * documentation string for the symbol found in file at location + * line, col. + */ + interface QuickInfoRequest extends FileLocationRequest { + command: CommandTypes.Quickinfo; + } + /** + * Body of QuickInfoResponse. + */ + interface QuickInfoResponseBody { + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Starting file location of symbol. + */ + start: Location; + /** + * One past last character of symbol. + */ + end: Location; + /** + * Type and kind of symbol. + */ + displayString: string; + /** + * Documentation associated with symbol. + */ + documentation: string; + /** + * JSDoc tags associated with symbol. + */ + tags: JSDocTagInfo[]; + } + /** + * Quickinfo response message. + */ + interface QuickInfoResponse extends Response { + body?: QuickInfoResponseBody; + } + /** + * Arguments for format messages. + */ + interface FormatRequestArgs extends FileLocationRequestArgs { + /** + * Last line of range for which to format text in file. + */ + endLine: number; + /** + * Character offset on last line of range for which to format text in file. + */ + endOffset: number; + /** + * Format options to be used. + */ + options?: FormatCodeSettings; + } + /** + * Format request; value of command field is "format". Return + * response giving zero or more edit instructions. The edit + * instructions will be sorted in file order. Applying the edit + * instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatRequest extends FileLocationRequest { + command: CommandTypes.Format; + arguments: FormatRequestArgs; + } + /** + * Object found in response messages defining an editing + * instruction for a span of text in source code. The effect of + * this instruction is to replace the text starting at start and + * ending one character before end with newText. For an insertion, + * the text span is empty. For a deletion, newText is empty. + */ + interface CodeEdit { + /** + * First character of the text span to edit. + */ + start: Location; + /** + * One character past last character of the text span to edit. + */ + end: Location; + /** + * Replace the span defined above with this string (may be + * the empty string). + */ + newText: string; + } + interface FileCodeEdits { + fileName: string; + textChanges: CodeEdit[]; + } + interface CodeFixResponse extends Response { + /** The code actions that are available */ + body?: CodeFixAction[]; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileCodeEdits[]; + /** A command is an opaque object that should be passed to `ApplyCodeActionCommandRequestArgs` without modification. */ + commands?: {}[]; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray<{}>; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + /** Should be present if and only if 'fixId' is. */ + fixAllDescription?: string; + } + /** + * Format and format on key response message. + */ + interface FormatResponse extends Response { + body?: CodeEdit[]; + } + /** + * Arguments for format on key messages. + */ + interface FormatOnKeyRequestArgs extends FileLocationRequestArgs { + /** + * Key pressed (';', '\n', or '}'). + */ + key: string; + options?: FormatCodeSettings; + } + /** + * Format on key request; value of command field is + * "formatonkey". Given file location and key typed (as string), + * return response giving zero or more edit instructions. The + * edit instructions will be sorted in file order. Applying the + * edit instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatOnKeyRequest extends FileLocationRequest { + command: CommandTypes.Formatonkey; + arguments: FormatOnKeyRequestArgs; + } + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + /** + * Arguments for completions messages. + */ + interface CompletionsRequestArgs extends FileLocationRequestArgs { + /** + * Optional prefix to apply to possible completions. + */ + prefix?: string; + /** + * Character that was responsible for triggering completion. + * Should be `undefined` if a user manually requested completion. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** + * @deprecated Use UserPreferences.includeCompletionsForModuleExports + */ + includeExternalModuleExports?: boolean; + /** + * @deprecated Use UserPreferences.includeCompletionsWithInsertText + */ + includeInsertTextCompletions?: boolean; + } + /** + * Completions request; value of command field is "completions". + * Given a file location (file, line, col) and a prefix (which may + * be the empty string), return the possible completions that + * begin with prefix. + */ + interface CompletionsRequest extends FileLocationRequest { + command: CommandTypes.Completions | CommandTypes.CompletionInfo; + arguments: CompletionsRequestArgs; + } + /** + * Arguments for completion details request. + */ + interface CompletionDetailsRequestArgs extends FileLocationRequestArgs { + /** + * Names of one or more entries for which to obtain details. + */ + entryNames: (string | CompletionEntryIdentifier)[]; + } + interface CompletionEntryIdentifier { + name: string; + source?: string; + } + /** + * Completion entry details request; value of command field is + * "completionEntryDetails". Given a file location (file, line, + * col) and an array of completion entry names return more + * detailed information for each completion entry. + */ + interface CompletionDetailsRequest extends FileLocationRequest { + command: CommandTypes.CompletionDetails; + arguments: CompletionDetailsRequestArgs; + } + /** + * Part of a symbol description. + */ + interface SymbolDisplayPart { + /** + * Text of an item describing the symbol. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: string; + } + /** + * An item found in a completion response. + */ + interface CompletionEntry { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * A string that is used for comparing completion items so that they can be ordered. This + * is often the same as the name but may be different in certain circumstances. + */ + sortText: string; + /** + * Text to insert instead of `name`. + * This is used to support bracketed completions; If `name` might be "a-b" but `insertText` would be `["a-b"]`, + * coupled with `replacementSpan` to replace a dotted access with a bracket access. + */ + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + /** + * Indicates whether commiting this completion entry will require additional code actions to be + * made to avoid errors. The CompletionEntryDetails will have these actions. + */ + hasAction?: true; + /** + * Identifier (not necessarily human-readable) identifying where this completion came from. + */ + source?: string; + /** + * If true, this completion should be highlighted as recommended. There will only be one of these. + * This will be set when we know the user should write an expression with a certain type and that type is an enum or constructable class. + * Then either that enum/class or a namespace containing it will be the recommended symbol. + */ + isRecommended?: true; + } + /** + * Additional completion entry details, available on demand + */ + interface CompletionEntryDetails { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Display parts of the symbol (similar to quick info). + */ + displayParts: SymbolDisplayPart[]; + /** + * Documentation strings for the symbol. + */ + documentation?: SymbolDisplayPart[]; + /** + * JSDoc tags for the symbol. + */ + tags?: JSDocTagInfo[]; + /** + * The associated code actions for this entry + */ + codeActions?: CodeAction[]; + /** + * Human-readable description of the `source` from the CompletionEntry. + */ + source?: SymbolDisplayPart[]; + } + /** @deprecated Prefer CompletionInfoResponse, which supports several top-level fields in addition to the array of entries. */ + interface CompletionsResponse extends Response { + body?: CompletionEntry[]; + } + interface CompletionInfoResponse extends Response { + body?: CompletionInfo; + } + interface CompletionInfo { + readonly isGlobalCompletion: boolean; + readonly isMemberCompletion: boolean; + readonly isNewIdentifierLocation: boolean; + readonly entries: ReadonlyArray; + } + interface CompletionDetailsResponse extends Response { + body?: CompletionEntryDetails[]; + } + /** + * Signature help information for a single parameter + */ + interface SignatureHelpParameter { + /** + * The parameter's name + */ + name: string; + /** + * Documentation of the parameter. + */ + documentation: SymbolDisplayPart[]; + /** + * Display parts of the parameter. + */ + displayParts: SymbolDisplayPart[]; + /** + * Whether the parameter is optional or not. + */ + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + */ + interface SignatureHelpItem { + /** + * Whether the signature accepts a variable number of arguments. + */ + isVariadic: boolean; + /** + * The prefix display parts. + */ + prefixDisplayParts: SymbolDisplayPart[]; + /** + * The suffix display parts. + */ + suffixDisplayParts: SymbolDisplayPart[]; + /** + * The separator display parts. + */ + separatorDisplayParts: SymbolDisplayPart[]; + /** + * The signature helps items for the parameters. + */ + parameters: SignatureHelpParameter[]; + /** + * The signature's documentation + */ + documentation: SymbolDisplayPart[]; + /** + * The signature's JSDoc tags + */ + tags: JSDocTagInfo[]; + } + /** + * Signature help items found in the response of a signature help request. + */ + interface SignatureHelpItems { + /** + * The signature help items. + */ + items: SignatureHelpItem[]; + /** + * The span for which signature help should appear on a signature + */ + applicableSpan: TextSpan; + /** + * The item selected in the set of available help items. + */ + selectedItemIndex: number; + /** + * The argument selected in the set of parameters. + */ + argumentIndex: number; + /** + * The argument count + */ + argumentCount: number; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + /** + * Arguments of a signature help request. + */ + interface SignatureHelpRequestArgs extends FileLocationRequestArgs { + /** + * Reason why signature help was invoked. + * See each individual possible + */ + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + /** + * Signature help request; value of command field is "signatureHelp". + * Given a file location (file, line, col), return the signature + * help. + */ + interface SignatureHelpRequest extends FileLocationRequest { + command: CommandTypes.SignatureHelp; + arguments: SignatureHelpRequestArgs; + } + /** + * Response object for a SignatureHelpRequest. + */ + interface SignatureHelpResponse extends Response { + body?: SignatureHelpItems; + } + /** + * Synchronous request for semantic diagnostics of one file. + */ + interface SemanticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SemanticDiagnosticsSync; + arguments: SemanticDiagnosticsSyncRequestArgs; + } + interface SemanticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous sematic diagnostics request. + */ + interface SemanticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + interface SuggestionDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SuggestionDiagnosticsSync; + arguments: SuggestionDiagnosticsSyncRequestArgs; + } + type SuggestionDiagnosticsSyncRequestArgs = SemanticDiagnosticsSyncRequestArgs; + type SuggestionDiagnosticsSyncResponse = SemanticDiagnosticsSyncResponse; + /** + * Synchronous request for syntactic diagnostics of one file. + */ + interface SyntacticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SyntacticDiagnosticsSync; + arguments: SyntacticDiagnosticsSyncRequestArgs; + } + interface SyntacticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous syntactic diagnostics request. + */ + interface SyntacticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + /** + * Arguments for GeterrForProject request. + */ + interface GeterrForProjectRequestArgs { + /** + * the file requesting project error list + */ + file: string; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * GeterrForProjectRequest request; value of command field is + * "geterrForProject". It works similarly with 'Geterr', only + * it request for every file in this project. + */ + interface GeterrForProjectRequest extends Request { + command: CommandTypes.GeterrForProject; + arguments: GeterrForProjectRequestArgs; + } + /** + * Arguments for geterr messages. + */ + interface GeterrRequestArgs { + /** + * List of file names for which to compute compiler errors. + * The files will be checked in list order. + */ + files: string[]; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * Geterr request; value of command field is "geterr". Wait for + * delay milliseconds and then, if during the wait no change or + * reload messages have arrived for the first file in the files + * list, get the syntactic errors for the file, field requests, + * and then get the semantic errors for the file. Repeat with a + * smaller delay for each subsequent file on the files list. Best + * practice for an editor is to send a file list containing each + * file that is currently visible, in most-recently-used order. + */ + interface GeterrRequest extends Request { + command: CommandTypes.Geterr; + arguments: GeterrRequestArgs; + } + type RequestCompletedEventName = "requestCompleted"; + /** + * Event that is sent when server have finished processing request with specified id. + */ + interface RequestCompletedEvent extends Event { + event: RequestCompletedEventName; + body: RequestCompletedEventBody; + } + interface RequestCompletedEventBody { + request_seq: number; + } + /** + * Item of diagnostic information found in a DiagnosticEvent message. + */ + interface Diagnostic { + /** + * Starting file location at which text applies. + */ + start: Location; + /** + * The last file location at which the text applies. + */ + end: Location; + /** + * Text of diagnostic message. + */ + text: string; + /** + * The category of the diagnostic message, e.g. "error", "warning", or "suggestion". + */ + category: string; + reportsUnnecessary?: {}; + /** + * Any related spans the diagnostic may have, such as other locations relevant to an error, such as declarartion sites + */ + relatedInformation?: DiagnosticRelatedInformation[]; + /** + * The error code of the diagnostic message. + */ + code?: number; + /** + * The name of the plugin reporting the message. + */ + source?: string; + } + interface DiagnosticWithFileName extends Diagnostic { + /** + * Name of the file the diagnostic is in + */ + fileName: string; + } + /** + * Represents additional spans returned with a diagnostic which are relevant to it + */ + interface DiagnosticRelatedInformation { + /** + * The category of the related information message, e.g. "error", "warning", or "suggestion". + */ + category: string; + /** + * The code used ot identify the related information + */ + code: number; + /** + * Text of related or additional information. + */ + message: string; + /** + * Associated location + */ + span?: FileSpan; + } + interface DiagnosticEventBody { + /** + * The file for which diagnostic information is reported. + */ + file: string; + /** + * An array of diagnostic information items. + */ + diagnostics: Diagnostic[]; + } + type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag"; + /** + * Event message for DiagnosticEventKind event types. + * These events provide syntactic and semantic errors for a file. + */ + interface DiagnosticEvent extends Event { + body?: DiagnosticEventBody; + event: DiagnosticEventKind; + } + interface ConfigFileDiagnosticEventBody { + /** + * The file which trigged the searching and error-checking of the config file + */ + triggerFile: string; + /** + * The name of the found config file. + */ + configFile: string; + /** + * An arry of diagnostic information items for the found config file. + */ + diagnostics: DiagnosticWithFileName[]; + } + /** + * Event message for "configFileDiag" event type. + * This event provides errors for a found config file. + */ + interface ConfigFileDiagnosticEvent extends Event { + body?: ConfigFileDiagnosticEventBody; + event: "configFileDiag"; + } + type ProjectLanguageServiceStateEventName = "projectLanguageServiceState"; + interface ProjectLanguageServiceStateEvent extends Event { + event: ProjectLanguageServiceStateEventName; + body?: ProjectLanguageServiceStateEventBody; + } + interface ProjectLanguageServiceStateEventBody { + /** + * Project name that has changes in the state of language service. + * For configured projects this will be the config file path. + * For external projects this will be the name of the projects specified when project was open. + * For inferred projects this event is not raised. + */ + projectName: string; + /** + * True if language service state switched from disabled to enabled + * and false otherwise. + */ + languageServiceEnabled: boolean; + } + type ProjectsUpdatedInBackgroundEventName = "projectsUpdatedInBackground"; + interface ProjectsUpdatedInBackgroundEvent extends Event { + event: ProjectsUpdatedInBackgroundEventName; + body: ProjectsUpdatedInBackgroundEventBody; + } + interface ProjectsUpdatedInBackgroundEventBody { + /** + * Current set of open files + */ + openFiles: string[]; + } + type ProjectLoadingStartEventName = "projectLoadingStart"; + interface ProjectLoadingStartEvent extends Event { + event: ProjectLoadingStartEventName; + body: ProjectLoadingStartEventBody; + } + interface ProjectLoadingStartEventBody { + /** name of the project */ + projectName: string; + /** reason for loading */ + reason: string; + } + type ProjectLoadingFinishEventName = "projectLoadingFinish"; + interface ProjectLoadingFinishEvent extends Event { + event: ProjectLoadingFinishEventName; + body: ProjectLoadingFinishEventBody; + } + interface ProjectLoadingFinishEventBody { + /** name of the project */ + projectName: string; + } + type SurveyReadyEventName = "surveyReady"; + interface SurveyReadyEvent extends Event { + event: SurveyReadyEventName; + body: SurveyReadyEventBody; + } + interface SurveyReadyEventBody { + /** Name of the survey. This is an internal machine- and programmer-friendly name */ + surveyId: string; + } + type LargeFileReferencedEventName = "largeFileReferenced"; + interface LargeFileReferencedEvent extends Event { + event: LargeFileReferencedEventName; + body: LargeFileReferencedEventBody; + } + interface LargeFileReferencedEventBody { + /** + * name of the large file being loaded + */ + file: string; + /** + * size of the file + */ + fileSize: number; + /** + * max file size allowed on the server + */ + maxFileSize: number; + } + /** + * Arguments for reload request. + */ + interface ReloadRequestArgs extends FileRequestArgs { + /** + * Name of temporary file from which to reload file + * contents. May be same as file. + */ + tmpfile: string; + } + /** + * Reload request message; value of command field is "reload". + * Reload contents of file with name given by the 'file' argument + * from temporary file with name given by the 'tmpfile' argument. + * The two names can be identical. + */ + interface ReloadRequest extends FileRequest { + command: CommandTypes.Reload; + arguments: ReloadRequestArgs; + } + /** + * Response to "reload" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ReloadResponse extends Response { + } + /** + * Arguments for saveto request. + */ + interface SavetoRequestArgs extends FileRequestArgs { + /** + * Name of temporary file into which to save server's view of + * file contents. + */ + tmpfile: string; + } + /** + * Saveto request message; value of command field is "saveto". + * For debugging purposes, save to a temporaryfile (named by + * argument 'tmpfile') the contents of file named by argument + * 'file'. The server does not currently send a response to a + * "saveto" request. + */ + interface SavetoRequest extends FileRequest { + command: CommandTypes.Saveto; + arguments: SavetoRequestArgs; + } + /** + * Arguments for navto request message. + */ + interface NavtoRequestArgs extends FileRequestArgs { + /** + * Search term to navigate to from current location; term can + * be '.*' or an identifier prefix. + */ + searchValue: string; + /** + * Optional limit on the number of items to return. + */ + maxResultCount?: number; + /** + * Optional flag to indicate we want results for just the current file + * or the entire project. + */ + currentFileOnly?: boolean; + projectFileName?: string; + } + /** + * Navto request message; value of command field is "navto". + * Return list of objects giving file locations and symbols that + * match the search term given in argument 'searchTerm'. The + * context for the search is given by the named file. + */ + interface NavtoRequest extends FileRequest { + command: CommandTypes.Navto; + arguments: NavtoRequestArgs; + } + /** + * An item found in a navto response. + */ + interface NavtoItem extends FileSpan { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * exact, substring, or prefix. + */ + matchKind: string; + /** + * If this was a case sensitive or insensitive match. + */ + isCaseSensitive: boolean; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * Name of symbol's container symbol (if any); for example, + * the class name if symbol is a class member. + */ + containerName?: string; + /** + * Kind of symbol's container symbol (if any). + */ + containerKind?: ScriptElementKind; + } + /** + * Navto response message. Body is an array of navto items. Each + * item gives a symbol that matched the search term. + */ + interface NavtoResponse extends Response { + body?: NavtoItem[]; + } + /** + * Arguments for change request message. + */ + interface ChangeRequestArgs extends FormatRequestArgs { + /** + * Optional string to insert at location (file, line, offset). + */ + insertString?: string; + } + /** + * Change request message; value of command field is "change". + * Update the server's view of the file named by argument 'file'. + * Server does not currently send a response to a change request. + */ + interface ChangeRequest extends FileLocationRequest { + command: CommandTypes.Change; + arguments: ChangeRequestArgs; + } + /** + * Response to "brace" request. + */ + interface BraceResponse extends Response { + body?: TextSpan[]; + } + /** + * Brace matching request; value of command field is "brace". + * Return response giving the file locations of matching braces + * found in file at location line, offset. + */ + interface BraceRequest extends FileLocationRequest { + command: CommandTypes.Brace; + } + /** + * NavBar items request; value of command field is "navbar". + * Return response giving the list of navigation bar entries + * extracted from the requested file. + */ + interface NavBarRequest extends FileRequest { + command: CommandTypes.NavBar; + } + /** + * NavTree request; value of command field is "navtree". + * Return response giving the navigation tree of the requested file. + */ + interface NavTreeRequest extends FileRequest { + command: CommandTypes.NavTree; + } + interface NavigationBarItem { + /** + * The item's display text. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * The definition locations of the item. + */ + spans: TextSpan[]; + /** + * Optional children. + */ + childItems?: NavigationBarItem[]; + /** + * Number of levels deep this item should appear. + */ + indent: number; + } + /** protocol.NavigationTree is identical to ts.NavigationTree, except using protocol.TextSpan instead of ts.TextSpan */ + interface NavigationTree { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + childItems?: NavigationTree[]; + } + type TelemetryEventName = "telemetry"; + interface TelemetryEvent extends Event { + event: TelemetryEventName; + body: TelemetryEventBody; + } + interface TelemetryEventBody { + telemetryEventName: string; + payload: any; + } + type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed"; + interface TypesInstallerInitializationFailedEvent extends Event { + event: TypesInstallerInitializationFailedEventName; + body: TypesInstallerInitializationFailedEventBody; + } + interface TypesInstallerInitializationFailedEventBody { + message: string; + } + type TypingsInstalledTelemetryEventName = "typingsInstalled"; + interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody { + telemetryEventName: TypingsInstalledTelemetryEventName; + payload: TypingsInstalledTelemetryEventPayload; + } + interface TypingsInstalledTelemetryEventPayload { + /** + * Comma separated list of installed typing packages + */ + installedPackages: string; + /** + * true if install request succeeded, otherwise - false + */ + installSuccess: boolean; + /** + * version of typings installer + */ + typingsInstallerVersion: string; + } + type BeginInstallTypesEventName = "beginInstallTypes"; + type EndInstallTypesEventName = "endInstallTypes"; + interface BeginInstallTypesEvent extends Event { + event: BeginInstallTypesEventName; + body: BeginInstallTypesEventBody; + } + interface EndInstallTypesEvent extends Event { + event: EndInstallTypesEventName; + body: EndInstallTypesEventBody; + } + interface InstallTypesEventBody { + /** + * correlation id to match begin and end events + */ + eventId: number; + /** + * list of packages to install + */ + packages: ReadonlyArray; + } + interface BeginInstallTypesEventBody extends InstallTypesEventBody { + } + interface EndInstallTypesEventBody extends InstallTypesEventBody { + /** + * true if installation succeeded, otherwise false + */ + success: boolean; + } + interface NavBarResponse extends Response { + body?: NavigationBarItem[]; + } + interface NavTreeResponse extends Response { + body?: NavigationTree; + } + const enum IndentStyle { + None = "None", + Block = "Block", + Smart = "Smart" + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle | ts.IndentStyle; + } + interface FormatCodeSettings extends EditorSettings { + insertSpaceAfterCommaDelimiter?: boolean; + insertSpaceAfterSemicolonInForStatements?: boolean; + insertSpaceBeforeAndAfterBinaryOperators?: boolean; + insertSpaceAfterConstructor?: boolean; + insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + insertSpaceAfterTypeAssertion?: boolean; + insertSpaceBeforeFunctionParenthesis?: boolean; + placeOpenBraceOnNewLineForFunctions?: boolean; + placeOpenBraceOnNewLineForControlBlocks?: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + /** + * If enabled, TypeScript will search through all external modules' exports and add them to the completions list. + * This affects lone identifier completions but not completions on the right hand side of `obj.`. + */ + readonly includeCompletionsForModuleExports?: boolean; + /** + * If enabled, the completion list will include completions with invalid identifier names. + * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`. + */ + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + readonly allowTextChangesInNewFiles?: boolean; + readonly lazyConfiguredProjectsFromExternalProject?: boolean; + } + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit | ts.JsxEmit; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind | ts.ModuleKind; + moduleResolution?: ModuleResolutionKind | ts.ModuleResolutionKind; + newLine?: NewLineKind | ts.NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + plugins?: PluginImport[]; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + removeComments?: boolean; + references?: ProjectReference[]; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictNullChecks?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget | ts.ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to used to compute primary types search locations */ + typeRoots?: string[]; + [option: string]: CompilerOptionsValue | undefined; + } + const enum JsxEmit { + None = "None", + Preserve = "Preserve", + ReactNative = "ReactNative", + React = "React" + } + const enum ModuleKind { + None = "None", + CommonJS = "CommonJS", + AMD = "AMD", + UMD = "UMD", + System = "System", + ES6 = "ES6", + ES2015 = "ES2015", + ESNext = "ESNext" + } + const enum ModuleResolutionKind { + Classic = "Classic", + Node = "Node" + } + const enum NewLineKind { + Crlf = "Crlf", + Lf = "Lf" + } + const enum ScriptTarget { + ES3 = "ES3", + ES5 = "ES5", + ES6 = "ES6", + ES2015 = "ES2015", + ES2016 = "ES2016", + ES2017 = "ES2017", + ESNext = "ESNext" + } +} +declare namespace ts.server.protocol { + + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + + interface TodoCommentDescriptor { + text: string; + priority: number; + } + + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + + interface JSDocTagInfo { + name: string; + text?: string; + } + + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + + interface PluginImport { + name: string; + } + + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; +} +declare namespace ts { + // these types are empty stubs for types from services and should not be used directly + export type ScriptKind = never; + export type IndentStyle = never; + export type JsxEmit = never; + export type ModuleKind = never; + export type ModuleResolutionKind = never; + export type NewLineKind = never; + export type ScriptTarget = never; +} +import protocol = ts.server.protocol; +export = protocol; +export as namespace protocol; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/tsserverlibrary.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/tsserverlibrary.d.ts new file mode 100644 index 0000000..e67f6d3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/tsserverlibrary.d.ts @@ -0,0 +1,8943 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +declare namespace ts { + const versionMajorMinor = "3.2"; + /** The version of the TypeScript compiler release */ + const version: string; +} +declare namespace ts { + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + interface SortedReadonlyArray extends ReadonlyArray { + " __sortedArrayBrand": any; + } + interface SortedArray extends Array { + " __sortedArrayBrand": any; + } + /** ES6 Map interface, only read methods included. */ + interface ReadonlyMap { + get(key: string): T | undefined; + has(key: string): boolean; + forEach(action: (value: T, key: string) => void): void; + readonly size: number; + keys(): Iterator; + values(): Iterator; + entries(): Iterator<[string, T]>; + } + /** ES6 Map interface. */ + interface Map extends ReadonlyMap { + set(key: string, value: T): this; + delete(key: string): boolean; + clear(): void; + } + /** ES6 Iterator type. */ + interface Iterator { + next(): { + value: T; + done: false; + } | { + value: never; + done: true; + }; + } + /** Array that is only intended to be pushed to, never read. */ + interface Push { + push(...values: T[]): void; + } +} +declare namespace ts { + type Path = string & { + __pathBrand: any; + }; + interface TextRange { + pos: number; + end: number; + } + type JsDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.Unknown | KeywordSyntaxKind; + type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InferKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.OfKeyword; + type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; + enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + BigIntLiteral = 9, + StringLiteral = 10, + JsxText = 11, + JsxTextAllWhiteSpaces = 12, + RegularExpressionLiteral = 13, + NoSubstitutionTemplateLiteral = 14, + TemplateHead = 15, + TemplateMiddle = 16, + TemplateTail = 17, + OpenBraceToken = 18, + CloseBraceToken = 19, + OpenParenToken = 20, + CloseParenToken = 21, + OpenBracketToken = 22, + CloseBracketToken = 23, + DotToken = 24, + DotDotDotToken = 25, + SemicolonToken = 26, + CommaToken = 27, + LessThanToken = 28, + LessThanSlashToken = 29, + GreaterThanToken = 30, + LessThanEqualsToken = 31, + GreaterThanEqualsToken = 32, + EqualsEqualsToken = 33, + ExclamationEqualsToken = 34, + EqualsEqualsEqualsToken = 35, + ExclamationEqualsEqualsToken = 36, + EqualsGreaterThanToken = 37, + PlusToken = 38, + MinusToken = 39, + AsteriskToken = 40, + AsteriskAsteriskToken = 41, + SlashToken = 42, + PercentToken = 43, + PlusPlusToken = 44, + MinusMinusToken = 45, + LessThanLessThanToken = 46, + GreaterThanGreaterThanToken = 47, + GreaterThanGreaterThanGreaterThanToken = 48, + AmpersandToken = 49, + BarToken = 50, + CaretToken = 51, + ExclamationToken = 52, + TildeToken = 53, + AmpersandAmpersandToken = 54, + BarBarToken = 55, + QuestionToken = 56, + ColonToken = 57, + AtToken = 58, + EqualsToken = 59, + PlusEqualsToken = 60, + MinusEqualsToken = 61, + AsteriskEqualsToken = 62, + AsteriskAsteriskEqualsToken = 63, + SlashEqualsToken = 64, + PercentEqualsToken = 65, + LessThanLessThanEqualsToken = 66, + GreaterThanGreaterThanEqualsToken = 67, + GreaterThanGreaterThanGreaterThanEqualsToken = 68, + AmpersandEqualsToken = 69, + BarEqualsToken = 70, + CaretEqualsToken = 71, + Identifier = 72, + BreakKeyword = 73, + CaseKeyword = 74, + CatchKeyword = 75, + ClassKeyword = 76, + ConstKeyword = 77, + ContinueKeyword = 78, + DebuggerKeyword = 79, + DefaultKeyword = 80, + DeleteKeyword = 81, + DoKeyword = 82, + ElseKeyword = 83, + EnumKeyword = 84, + ExportKeyword = 85, + ExtendsKeyword = 86, + FalseKeyword = 87, + FinallyKeyword = 88, + ForKeyword = 89, + FunctionKeyword = 90, + IfKeyword = 91, + ImportKeyword = 92, + InKeyword = 93, + InstanceOfKeyword = 94, + NewKeyword = 95, + NullKeyword = 96, + ReturnKeyword = 97, + SuperKeyword = 98, + SwitchKeyword = 99, + ThisKeyword = 100, + ThrowKeyword = 101, + TrueKeyword = 102, + TryKeyword = 103, + TypeOfKeyword = 104, + VarKeyword = 105, + VoidKeyword = 106, + WhileKeyword = 107, + WithKeyword = 108, + ImplementsKeyword = 109, + InterfaceKeyword = 110, + LetKeyword = 111, + PackageKeyword = 112, + PrivateKeyword = 113, + ProtectedKeyword = 114, + PublicKeyword = 115, + StaticKeyword = 116, + YieldKeyword = 117, + AbstractKeyword = 118, + AsKeyword = 119, + AnyKeyword = 120, + AsyncKeyword = 121, + AwaitKeyword = 122, + BooleanKeyword = 123, + ConstructorKeyword = 124, + DeclareKeyword = 125, + GetKeyword = 126, + InferKeyword = 127, + IsKeyword = 128, + KeyOfKeyword = 129, + ModuleKeyword = 130, + NamespaceKeyword = 131, + NeverKeyword = 132, + ReadonlyKeyword = 133, + RequireKeyword = 134, + NumberKeyword = 135, + ObjectKeyword = 136, + SetKeyword = 137, + StringKeyword = 138, + SymbolKeyword = 139, + TypeKeyword = 140, + UndefinedKeyword = 141, + UniqueKeyword = 142, + UnknownKeyword = 143, + FromKeyword = 144, + GlobalKeyword = 145, + BigIntKeyword = 146, + OfKeyword = 147, + QualifiedName = 148, + ComputedPropertyName = 149, + TypeParameter = 150, + Parameter = 151, + Decorator = 152, + PropertySignature = 153, + PropertyDeclaration = 154, + MethodSignature = 155, + MethodDeclaration = 156, + Constructor = 157, + GetAccessor = 158, + SetAccessor = 159, + CallSignature = 160, + ConstructSignature = 161, + IndexSignature = 162, + TypePredicate = 163, + TypeReference = 164, + FunctionType = 165, + ConstructorType = 166, + TypeQuery = 167, + TypeLiteral = 168, + ArrayType = 169, + TupleType = 170, + OptionalType = 171, + RestType = 172, + UnionType = 173, + IntersectionType = 174, + ConditionalType = 175, + InferType = 176, + ParenthesizedType = 177, + ThisType = 178, + TypeOperator = 179, + IndexedAccessType = 180, + MappedType = 181, + LiteralType = 182, + ImportType = 183, + ObjectBindingPattern = 184, + ArrayBindingPattern = 185, + BindingElement = 186, + ArrayLiteralExpression = 187, + ObjectLiteralExpression = 188, + PropertyAccessExpression = 189, + ElementAccessExpression = 190, + CallExpression = 191, + NewExpression = 192, + TaggedTemplateExpression = 193, + TypeAssertionExpression = 194, + ParenthesizedExpression = 195, + FunctionExpression = 196, + ArrowFunction = 197, + DeleteExpression = 198, + TypeOfExpression = 199, + VoidExpression = 200, + AwaitExpression = 201, + PrefixUnaryExpression = 202, + PostfixUnaryExpression = 203, + BinaryExpression = 204, + ConditionalExpression = 205, + TemplateExpression = 206, + YieldExpression = 207, + SpreadElement = 208, + ClassExpression = 209, + OmittedExpression = 210, + ExpressionWithTypeArguments = 211, + AsExpression = 212, + NonNullExpression = 213, + MetaProperty = 214, + SyntheticExpression = 215, + TemplateSpan = 216, + SemicolonClassElement = 217, + Block = 218, + VariableStatement = 219, + EmptyStatement = 220, + ExpressionStatement = 221, + IfStatement = 222, + DoStatement = 223, + WhileStatement = 224, + ForStatement = 225, + ForInStatement = 226, + ForOfStatement = 227, + ContinueStatement = 228, + BreakStatement = 229, + ReturnStatement = 230, + WithStatement = 231, + SwitchStatement = 232, + LabeledStatement = 233, + ThrowStatement = 234, + TryStatement = 235, + DebuggerStatement = 236, + VariableDeclaration = 237, + VariableDeclarationList = 238, + FunctionDeclaration = 239, + ClassDeclaration = 240, + InterfaceDeclaration = 241, + TypeAliasDeclaration = 242, + EnumDeclaration = 243, + ModuleDeclaration = 244, + ModuleBlock = 245, + CaseBlock = 246, + NamespaceExportDeclaration = 247, + ImportEqualsDeclaration = 248, + ImportDeclaration = 249, + ImportClause = 250, + NamespaceImport = 251, + NamedImports = 252, + ImportSpecifier = 253, + ExportAssignment = 254, + ExportDeclaration = 255, + NamedExports = 256, + ExportSpecifier = 257, + MissingDeclaration = 258, + ExternalModuleReference = 259, + JsxElement = 260, + JsxSelfClosingElement = 261, + JsxOpeningElement = 262, + JsxClosingElement = 263, + JsxFragment = 264, + JsxOpeningFragment = 265, + JsxClosingFragment = 266, + JsxAttribute = 267, + JsxAttributes = 268, + JsxSpreadAttribute = 269, + JsxExpression = 270, + CaseClause = 271, + DefaultClause = 272, + HeritageClause = 273, + CatchClause = 274, + PropertyAssignment = 275, + ShorthandPropertyAssignment = 276, + SpreadAssignment = 277, + EnumMember = 278, + SourceFile = 279, + Bundle = 280, + UnparsedSource = 281, + InputFiles = 282, + JSDocTypeExpression = 283, + JSDocAllType = 284, + JSDocUnknownType = 285, + JSDocNullableType = 286, + JSDocNonNullableType = 287, + JSDocOptionalType = 288, + JSDocFunctionType = 289, + JSDocVariadicType = 290, + JSDocComment = 291, + JSDocTypeLiteral = 292, + JSDocSignature = 293, + JSDocTag = 294, + JSDocAugmentsTag = 295, + JSDocClassTag = 296, + JSDocCallbackTag = 297, + JSDocEnumTag = 298, + JSDocParameterTag = 299, + JSDocReturnTag = 300, + JSDocThisTag = 301, + JSDocTypeTag = 302, + JSDocTemplateTag = 303, + JSDocTypedefTag = 304, + JSDocPropertyTag = 305, + SyntaxList = 306, + NotEmittedStatement = 307, + PartiallyEmittedExpression = 308, + CommaListExpression = 309, + MergeDeclarationMarker = 310, + EndOfDeclarationMarker = 311, + Count = 312, + FirstAssignment = 59, + LastAssignment = 71, + FirstCompoundAssignment = 60, + LastCompoundAssignment = 71, + FirstReservedWord = 73, + LastReservedWord = 108, + FirstKeyword = 73, + LastKeyword = 147, + FirstFutureReservedWord = 109, + LastFutureReservedWord = 117, + FirstTypeNode = 163, + LastTypeNode = 183, + FirstPunctuation = 18, + LastPunctuation = 71, + FirstToken = 0, + LastToken = 147, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 14, + FirstTemplateToken = 14, + LastTemplateToken = 17, + FirstBinaryOperator = 28, + LastBinaryOperator = 71, + FirstNode = 148, + FirstJSDocNode = 283, + LastJSDocNode = 305, + FirstJSDocTagNode = 294, + LastJSDocTagNode = 305 + } + enum NodeFlags { + None = 0, + Let = 1, + Const = 2, + NestedNamespace = 4, + Synthesized = 8, + Namespace = 16, + ExportContext = 32, + ContainsThis = 64, + HasImplicitReturn = 128, + HasExplicitReturn = 256, + GlobalAugmentation = 512, + HasAsyncFunctions = 1024, + DisallowInContext = 2048, + YieldContext = 4096, + DecoratorContext = 8192, + AwaitContext = 16384, + ThisNodeHasError = 32768, + JavaScriptFile = 65536, + ThisNodeOrAnySubNodesHasError = 131072, + HasAggregatedChildData = 262144, + JSDoc = 2097152, + JsonFile = 16777216, + BlockScoped = 3, + ReachabilityCheckFlags = 384, + ReachabilityAndEmitFlags = 1408, + ContextFlags = 12679168, + TypeExcludesFlags = 20480 + } + enum ModifierFlags { + None = 0, + Export = 1, + Ambient = 2, + Public = 4, + Private = 8, + Protected = 16, + Static = 32, + Readonly = 64, + Abstract = 128, + Async = 256, + Default = 512, + Const = 2048, + HasComputedFlags = 536870912, + AccessibilityModifier = 28, + ParameterPropertyModifier = 92, + NonPublicAccessibilityModifier = 24, + TypeScriptModifier = 2270, + ExportDefault = 513, + All = 3071 + } + enum JsxFlags { + None = 0, + /** An element from a named property of the JSX.IntrinsicElements interface */ + IntrinsicNamedElement = 1, + /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ + IntrinsicIndexedElement = 2, + IntrinsicElement = 3 + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent: Node; + } + interface JSDocContainer { + } + type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | EndOfFileToken; + type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; + type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; + type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + interface NodeArray extends ReadonlyArray, TextRange { + hasTrailingComma?: boolean; + } + interface Token extends Node { + kind: TKind; + } + type DotDotDotToken = Token; + type QuestionToken = Token; + type ExclamationToken = Token; + type ColonToken = Token; + type EqualsToken = Token; + type AsteriskToken = Token; + type EqualsGreaterThanToken = Token; + type EndOfFileToken = Token & JSDocContainer; + type ReadonlyToken = Token; + type AwaitKeywordToken = Token; + type PlusToken = Token; + type MinusToken = Token; + type Modifier = Token | Token | Token | Token | Token | Token | Token | Token | Token | Token | Token; + type ModifiersArray = NodeArray; + interface Identifier extends PrimaryExpression, Declaration { + kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + escapedText: __String; + originalKeywordKind?: SyntaxKind; + isInJSDocNamespace?: boolean; + } + interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + interface QualifiedName extends Node { + kind: SyntaxKind.QualifiedName; + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName; + type DeclarationName = Identifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + } + interface NamedDeclaration extends Declaration { + name?: DeclarationName; + } + interface DeclarationStatement extends NamedDeclaration, Statement { + name?: Identifier | StringLiteral | NumericLiteral; + } + interface ComputedPropertyName extends Node { + parent: Declaration; + kind: SyntaxKind.ComputedPropertyName; + expression: Expression; + } + interface Decorator extends Node { + kind: SyntaxKind.Decorator; + parent: NamedDeclaration; + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends NamedDeclaration { + kind: SyntaxKind.TypeParameter; + parent: DeclarationWithTypeParameterChildren | InferTypeNode; + name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + constraint?: TypeNode; + default?: TypeNode; + expression?: Expression; + } + interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SignatureDeclaration["kind"]; + name?: PropertyName; + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; + interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.CallSignature; + } + interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.ConstructSignature; + } + type BindingName = Identifier | BindingPattern; + interface VariableDeclaration extends NamedDeclaration { + kind: SyntaxKind.VariableDeclaration; + parent: VariableDeclarationList | CatchClause; + name: BindingName; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + kind: SyntaxKind.VariableDeclarationList; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + declarations: NodeArray; + } + interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.Parameter; + parent: SignatureDeclaration; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends NamedDeclaration { + kind: SyntaxKind.BindingElement; + parent: BindingPattern; + propertyName?: PropertyName; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + initializer?: Expression; + } + interface PropertySignature extends TypeElement, JSDocContainer { + kind: SyntaxKind.PropertySignature; + name: PropertyName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface PropertyDeclaration extends ClassElement, JSDocContainer { + kind: SyntaxKind.PropertyDeclaration; + parent: ClassLikeDeclaration; + name: PropertyName; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrandBrand: any; + name?: PropertyName; + } + /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ + type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration; + interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.PropertyAssignment; + name: PropertyName; + questionToken?: QuestionToken; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.ShorthandPropertyAssignment; + name: Identifier; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + equalsToken?: Token; + objectAssignmentInitializer?: Expression; + } + interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.SpreadAssignment; + expression: Expression; + } + type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag; + interface PropertyLikeDeclaration extends NamedDeclaration { + name: PropertyName; + } + interface ObjectBindingPattern extends Node { + kind: SyntaxKind.ObjectBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + interface ArrayBindingPattern extends Node { + kind: SyntaxKind.ArrayBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + type ArrayBindingElement = BindingElement | OmittedExpression; + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + asteriskToken?: AsteriskToken; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + body?: Block | Expression; + } + type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; + /** @deprecated Use SignatureDeclaration */ + type FunctionLike = SignatureDeclaration; + interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.FunctionDeclaration; + name?: Identifier; + body?: FunctionBody; + } + interface MethodSignature extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.MethodSignature; + parent: ObjectTypeDeclaration; + name: PropertyName; + } + interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.MethodDeclaration; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { + kind: SyntaxKind.Constructor; + parent: ClassLikeDeclaration; + body?: FunctionBody; + } + /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ + interface SemicolonClassElement extends ClassElement { + kind: SyntaxKind.SemicolonClassElement; + parent: ClassLikeDeclaration; + } + interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.GetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.SetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + kind: SyntaxKind.IndexSignature; + parent: ObjectTypeDeclaration; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface KeywordTypeNode extends TypeNode { + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + } + interface ImportTypeNode extends NodeWithTypeArguments { + kind: SyntaxKind.ImportType; + isTypeOf?: boolean; + argument: TypeNode; + qualifier?: EntityName; + } + interface ThisTypeNode extends TypeNode { + kind: SyntaxKind.ThisType; + } + type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.FunctionType; + } + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.ConstructorType; + } + interface NodeWithTypeArguments extends TypeNode { + typeArguments?: NodeArray; + } + type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + interface TypeReferenceNode extends NodeWithTypeArguments { + kind: SyntaxKind.TypeReference; + typeName: EntityName; + } + interface TypePredicateNode extends TypeNode { + kind: SyntaxKind.TypePredicate; + parent: SignatureDeclaration | JSDocTypeExpression; + parameterName: Identifier | ThisTypeNode; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + kind: SyntaxKind.TypeQuery; + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + kind: SyntaxKind.TypeLiteral; + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + kind: SyntaxKind.ArrayType; + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + kind: SyntaxKind.TupleType; + elementTypes: NodeArray; + } + interface OptionalTypeNode extends TypeNode { + kind: SyntaxKind.OptionalType; + type: TypeNode; + } + interface RestTypeNode extends TypeNode { + kind: SyntaxKind.RestType; + type: TypeNode; + } + type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + interface UnionTypeNode extends TypeNode { + kind: SyntaxKind.UnionType; + types: NodeArray; + } + interface IntersectionTypeNode extends TypeNode { + kind: SyntaxKind.IntersectionType; + types: NodeArray; + } + interface ConditionalTypeNode extends TypeNode { + kind: SyntaxKind.ConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; + } + interface InferTypeNode extends TypeNode { + kind: SyntaxKind.InferType; + typeParameter: TypeParameterDeclaration; + } + interface ParenthesizedTypeNode extends TypeNode { + kind: SyntaxKind.ParenthesizedType; + type: TypeNode; + } + interface TypeOperatorNode extends TypeNode { + kind: SyntaxKind.TypeOperator; + operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword; + type: TypeNode; + } + interface IndexedAccessTypeNode extends TypeNode { + kind: SyntaxKind.IndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; + } + interface MappedTypeNode extends TypeNode, Declaration { + kind: SyntaxKind.MappedType; + readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + typeParameter: TypeParameterDeclaration; + questionToken?: QuestionToken | PlusToken | MinusToken; + type?: TypeNode; + } + interface LiteralTypeNode extends TypeNode { + kind: SyntaxKind.LiteralType; + literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression; + } + interface StringLiteral extends LiteralExpression { + kind: SyntaxKind.StringLiteral; + } + type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; + interface Expression extends Node { + _expressionBrand: any; + } + interface OmittedExpression extends Expression { + kind: SyntaxKind.OmittedExpression; + } + interface PartiallyEmittedExpression extends LeftHandSideExpression { + kind: SyntaxKind.PartiallyEmittedExpression; + expression: Expression; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + /** Deprecated, please use UpdateExpression */ + type IncrementExpression = UpdateExpression; + interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; + } + type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken; + interface PrefixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: PrefixUnaryOperator; + operand: UnaryExpression; + } + type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken; + interface PostfixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PostfixUnaryExpression; + operand: LeftHandSideExpression; + operator: PostfixUnaryOperator; + } + interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface NullLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.NullKeyword; + } + interface BooleanLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword; + } + interface ThisExpression extends PrimaryExpression, KeywordTypeNode { + kind: SyntaxKind.ThisKeyword; + } + interface SuperExpression extends PrimaryExpression { + kind: SyntaxKind.SuperKeyword; + } + interface ImportExpression extends PrimaryExpression { + kind: SyntaxKind.ImportKeyword; + } + interface DeleteExpression extends UnaryExpression { + kind: SyntaxKind.DeleteExpression; + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + kind: SyntaxKind.TypeOfExpression; + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + kind: SyntaxKind.VoidExpression; + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + kind: SyntaxKind.AwaitExpression; + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + kind: SyntaxKind.YieldExpression; + asteriskToken?: AsteriskToken; + expression?: Expression; + } + interface SyntheticExpression extends Expression { + kind: SyntaxKind.SyntheticExpression; + isSpread: boolean; + type: Type; + } + type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken; + type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator; + type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken; + type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator; + type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator; + type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword; + type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator; + type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken; + type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator; + type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken; + type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator; + type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken; + type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator; + type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken; + type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator; + type AssignmentOperatorOrHigher = LogicalOperatorOrHigher | AssignmentOperator; + type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken; + type BinaryOperatorToken = Token; + interface BinaryExpression extends Expression, Declaration { + kind: SyntaxKind.BinaryExpression; + left: Expression; + operatorToken: BinaryOperatorToken; + right: Expression; + } + type AssignmentOperatorToken = Token; + interface AssignmentExpression extends BinaryExpression { + left: LeftHandSideExpression; + operatorToken: TOperator; + } + interface ObjectDestructuringAssignment extends AssignmentExpression { + left: ObjectLiteralExpression; + } + interface ArrayDestructuringAssignment extends AssignmentExpression { + left: ArrayLiteralExpression; + } + type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment; + type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression | Identifier | PropertyAccessExpression | ElementAccessExpression; + type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment; + type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression; + type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression; + type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression; + type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + interface ConditionalExpression extends Expression { + kind: SyntaxKind.ConditionalExpression; + condition: Expression; + questionToken: QuestionToken; + whenTrue: Expression; + colonToken: ColonToken; + whenFalse: Expression; + } + type FunctionBody = Block; + type ConciseBody = FunctionBody | Expression; + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.FunctionExpression; + name?: Identifier; + body: FunctionBody; + } + interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.ArrowFunction; + equalsGreaterThanToken: EqualsGreaterThanToken; + body: ConciseBody; + name: never; + } + interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; + } + interface RegularExpressionLiteral extends LiteralExpression { + kind: SyntaxKind.RegularExpressionLiteral; + } + interface NoSubstitutionTemplateLiteral extends LiteralExpression { + kind: SyntaxKind.NoSubstitutionTemplateLiteral; + } + interface NumericLiteral extends LiteralExpression { + kind: SyntaxKind.NumericLiteral; + } + interface BigIntLiteral extends LiteralExpression { + kind: SyntaxKind.BigIntLiteral; + } + interface TemplateHead extends LiteralLikeNode { + kind: SyntaxKind.TemplateHead; + parent: TemplateExpression; + } + interface TemplateMiddle extends LiteralLikeNode { + kind: SyntaxKind.TemplateMiddle; + parent: TemplateSpan; + } + interface TemplateTail extends LiteralLikeNode { + kind: SyntaxKind.TemplateTail; + parent: TemplateSpan; + } + type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; + interface TemplateExpression extends PrimaryExpression { + kind: SyntaxKind.TemplateExpression; + head: TemplateHead; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + kind: SyntaxKind.TemplateSpan; + parent: TemplateExpression; + expression: Expression; + literal: TemplateMiddle | TemplateTail; + } + interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer { + kind: SyntaxKind.ParenthesizedExpression; + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + kind: SyntaxKind.ArrayLiteralExpression; + elements: NodeArray; + } + interface SpreadElement extends Expression { + kind: SyntaxKind.SpreadElement; + parent: ArrayLiteralExpression | CallExpression | NewExpression; + expression: Expression; + } + /** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ + interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + kind: SyntaxKind.ObjectLiteralExpression; + } + type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + kind: SyntaxKind.PropertyAccessExpression; + expression: LeftHandSideExpression; + name: Identifier; + } + interface SuperPropertyAccessExpression extends PropertyAccessExpression { + expression: SuperExpression; + } + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } + interface ElementAccessExpression extends MemberExpression { + kind: SyntaxKind.ElementAccessExpression; + expression: LeftHandSideExpression; + argumentExpression: Expression; + } + interface SuperElementAccessExpression extends ElementAccessExpression { + expression: SuperExpression; + } + type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + interface CallExpression extends LeftHandSideExpression, Declaration { + kind: SyntaxKind.CallExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface SuperCall extends CallExpression { + expression: SuperExpression; + } + interface ImportCall extends CallExpression { + expression: ImportExpression; + } + interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + kind: SyntaxKind.ExpressionWithTypeArguments; + parent: HeritageClause | JSDocAugmentsTag; + expression: LeftHandSideExpression; + } + interface NewExpression extends PrimaryExpression, Declaration { + kind: SyntaxKind.NewExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments?: NodeArray; + } + interface TaggedTemplateExpression extends MemberExpression { + kind: SyntaxKind.TaggedTemplateExpression; + tag: LeftHandSideExpression; + typeArguments?: NodeArray; + template: TemplateLiteral; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement; + interface AsExpression extends Expression { + kind: SyntaxKind.AsExpression; + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + kind: SyntaxKind.TypeAssertionExpression; + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface NonNullExpression extends LeftHandSideExpression { + kind: SyntaxKind.NonNullExpression; + expression: Expression; + } + interface MetaProperty extends PrimaryExpression { + kind: SyntaxKind.MetaProperty; + keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + name: Identifier; + } + interface JsxElement extends PrimaryExpression { + kind: SyntaxKind.JsxElement; + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; + type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess; + interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + expression: JsxTagNameExpression; + } + interface JsxAttributes extends ObjectLiteralExpressionBase { + parent: JsxOpeningLikeElement; + } + interface JsxOpeningElement extends Expression { + kind: SyntaxKind.JsxOpeningElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxSelfClosingElement extends PrimaryExpression { + kind: SyntaxKind.JsxSelfClosingElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxFragment extends PrimaryExpression { + kind: SyntaxKind.JsxFragment; + openingFragment: JsxOpeningFragment; + children: NodeArray; + closingFragment: JsxClosingFragment; + } + interface JsxOpeningFragment extends Expression { + kind: SyntaxKind.JsxOpeningFragment; + parent: JsxFragment; + } + interface JsxClosingFragment extends Expression { + kind: SyntaxKind.JsxClosingFragment; + parent: JsxFragment; + } + interface JsxAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxAttribute; + parent: JsxAttributes; + name: Identifier; + initializer?: StringLiteral | JsxExpression; + } + interface JsxSpreadAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxSpreadAttribute; + parent: JsxAttributes; + expression: Expression; + } + interface JsxClosingElement extends Node { + kind: SyntaxKind.JsxClosingElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + } + interface JsxExpression extends Expression { + kind: SyntaxKind.JsxExpression; + parent: JsxElement | JsxAttributeLike; + dotDotDotToken?: Token; + expression?: Expression; + } + interface JsxText extends Node { + kind: SyntaxKind.JsxText; + containsOnlyWhiteSpaces: boolean; + parent: JsxElement; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; + interface Statement extends Node { + _statementBrand: any; + } + interface NotEmittedStatement extends Statement { + kind: SyntaxKind.NotEmittedStatement; + } + /** + * A list of comma-separated expressions. This node is only created by transformations. + */ + interface CommaListExpression extends Expression { + kind: SyntaxKind.CommaListExpression; + elements: NodeArray; + } + interface EmptyStatement extends Statement { + kind: SyntaxKind.EmptyStatement; + } + interface DebuggerStatement extends Statement { + kind: SyntaxKind.DebuggerStatement; + } + interface MissingDeclaration extends DeclarationStatement { + kind: SyntaxKind.MissingDeclaration; + name?: Identifier; + } + type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause; + interface Block extends Statement { + kind: SyntaxKind.Block; + statements: NodeArray; + } + interface VariableStatement extends Statement, JSDocContainer { + kind: SyntaxKind.VariableStatement; + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement, JSDocContainer { + kind: SyntaxKind.ExpressionStatement; + expression: Expression; + } + interface IfStatement extends Statement { + kind: SyntaxKind.IfStatement; + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + kind: SyntaxKind.DoStatement; + expression: Expression; + } + interface WhileStatement extends IterationStatement { + kind: SyntaxKind.WhileStatement; + expression: Expression; + } + type ForInitializer = VariableDeclarationList | Expression; + interface ForStatement extends IterationStatement { + kind: SyntaxKind.ForStatement; + initializer?: ForInitializer; + condition?: Expression; + incrementor?: Expression; + } + type ForInOrOfStatement = ForInStatement | ForOfStatement; + interface ForInStatement extends IterationStatement { + kind: SyntaxKind.ForInStatement; + initializer: ForInitializer; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + kind: SyntaxKind.ForOfStatement; + awaitModifier?: AwaitKeywordToken; + initializer: ForInitializer; + expression: Expression; + } + interface BreakStatement extends Statement { + kind: SyntaxKind.BreakStatement; + label?: Identifier; + } + interface ContinueStatement extends Statement { + kind: SyntaxKind.ContinueStatement; + label?: Identifier; + } + type BreakOrContinueStatement = BreakStatement | ContinueStatement; + interface ReturnStatement extends Statement { + kind: SyntaxKind.ReturnStatement; + expression?: Expression; + } + interface WithStatement extends Statement { + kind: SyntaxKind.WithStatement; + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + kind: SyntaxKind.SwitchStatement; + expression: Expression; + caseBlock: CaseBlock; + possiblyExhaustive?: boolean; + } + interface CaseBlock extends Node { + kind: SyntaxKind.CaseBlock; + parent: SwitchStatement; + clauses: NodeArray; + } + interface CaseClause extends Node { + kind: SyntaxKind.CaseClause; + parent: CaseBlock; + expression: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + kind: SyntaxKind.DefaultClause; + parent: CaseBlock; + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement, JSDocContainer { + kind: SyntaxKind.LabeledStatement; + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + kind: SyntaxKind.ThrowStatement; + expression?: Expression; + } + interface TryStatement extends Statement { + kind: SyntaxKind.TryStatement; + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + kind: SyntaxKind.CatchClause; + parent: TryStatement; + variableDeclaration?: VariableDeclaration; + block: Block; + } + type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode; + type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature; + type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag; + interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.ClassDeclaration; + /** May be undefined in `export default class { ... }`. */ + name?: Identifier; + } + interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + kind: SyntaxKind.ClassExpression; + } + type ClassLikeDeclaration = ClassDeclaration | ClassExpression; + interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + name?: PropertyName; + } + interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + name?: PropertyName; + questionToken?: QuestionToken; + } + interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.InterfaceDeclaration; + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + kind: SyntaxKind.HeritageClause; + parent: InterfaceDeclaration | ClassLikeDeclaration; + token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + types: NodeArray; + } + interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.TypeAliasDeclaration; + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.EnumMember; + parent: EnumDeclaration; + name: PropertyName; + initializer?: Expression; + } + interface EnumDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.EnumDeclaration; + name: Identifier; + members: NodeArray; + } + type ModuleName = Identifier | StringLiteral; + type ModuleBody = NamespaceBody | JSDocNamespaceBody; + interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ModuleDeclaration; + parent: ModuleBody | SourceFile; + name: ModuleName; + body?: ModuleBody | JSDocNamespaceDeclaration; + } + type NamespaceBody = ModuleBlock | NamespaceDeclaration; + interface NamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body: NamespaceBody; + } + type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; + interface JSDocNamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body?: JSDocNamespaceBody; + } + interface ModuleBlock extends Node, Statement { + kind: SyntaxKind.ModuleBlock; + parent: ModuleDeclaration; + statements: NodeArray; + } + type ModuleReference = EntityName | ExternalModuleReference; + /** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ + interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ImportEqualsDeclaration; + parent: SourceFile | ModuleBlock; + name: Identifier; + moduleReference: ModuleReference; + } + interface ExternalModuleReference extends Node { + kind: SyntaxKind.ExternalModuleReference; + parent: ImportEqualsDeclaration; + expression: Expression; + } + interface ImportDeclaration extends Statement { + kind: SyntaxKind.ImportDeclaration; + parent: SourceFile | ModuleBlock; + importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier: Expression; + } + type NamedImportBindings = NamespaceImport | NamedImports; + interface ImportClause extends NamedDeclaration { + kind: SyntaxKind.ImportClause; + parent: ImportDeclaration; + name?: Identifier; + namedBindings?: NamedImportBindings; + } + interface NamespaceImport extends NamedDeclaration { + kind: SyntaxKind.NamespaceImport; + parent: ImportClause; + name: Identifier; + } + interface NamespaceExportDeclaration extends DeclarationStatement { + kind: SyntaxKind.NamespaceExportDeclaration; + name: Identifier; + } + interface ExportDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ExportDeclaration; + parent: SourceFile | ModuleBlock; + /** Will not be assigned in the case of `export * from "foo";` */ + exportClause?: NamedExports; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier?: Expression; + } + interface NamedImports extends Node { + kind: SyntaxKind.NamedImports; + parent: ImportClause; + elements: NodeArray; + } + interface NamedExports extends Node { + kind: SyntaxKind.NamedExports; + parent: ExportDeclaration; + elements: NodeArray; + } + type NamedImportsOrExports = NamedImports | NamedExports; + interface ImportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ImportSpecifier; + parent: NamedImports; + propertyName?: Identifier; + name: Identifier; + } + interface ExportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ExportSpecifier; + parent: NamedExports; + propertyName?: Identifier; + name: Identifier; + } + type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier; + /** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ + interface ExportAssignment extends DeclarationStatement { + kind: SyntaxKind.ExportAssignment; + parent: SourceFile; + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CheckJsDirective extends TextRange { + enabled: boolean; + } + type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia; + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: CommentKind; + } + interface SynthesizedComment extends CommentRange { + text: string; + pos: -1; + end: -1; + } + interface JSDocTypeExpression extends TypeNode { + kind: SyntaxKind.JSDocTypeExpression; + type: TypeNode; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + kind: SyntaxKind.JSDocAllType; + } + interface JSDocUnknownType extends JSDocType { + kind: SyntaxKind.JSDocUnknownType; + } + interface JSDocNonNullableType extends JSDocType { + kind: SyntaxKind.JSDocNonNullableType; + type: TypeNode; + } + interface JSDocNullableType extends JSDocType { + kind: SyntaxKind.JSDocNullableType; + type: TypeNode; + } + interface JSDocOptionalType extends JSDocType { + kind: SyntaxKind.JSDocOptionalType; + type: TypeNode; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase { + kind: SyntaxKind.JSDocFunctionType; + } + interface JSDocVariadicType extends JSDocType { + kind: SyntaxKind.JSDocVariadicType; + type: TypeNode; + } + type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; + interface JSDoc extends Node { + kind: SyntaxKind.JSDocComment; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; + } + interface JSDocTag extends Node { + parent: JSDoc | JSDocTypeLiteral; + tagName: Identifier; + comment?: string; + } + interface JSDocUnknownTag extends JSDocTag { + kind: SyntaxKind.JSDocTag; + } + /** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ + interface JSDocAugmentsTag extends JSDocTag { + kind: SyntaxKind.JSDocAugmentsTag; + class: ExpressionWithTypeArguments & { + expression: Identifier | PropertyAccessEntityNameExpression; + }; + } + interface JSDocClassTag extends JSDocTag { + kind: SyntaxKind.JSDocClassTag; + } + interface JSDocEnumTag extends JSDocTag { + kind: SyntaxKind.JSDocEnumTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocThisTag extends JSDocTag { + kind: SyntaxKind.JSDocThisTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTemplateTag extends JSDocTag { + kind: SyntaxKind.JSDocTemplateTag; + constraint: JSDocTypeExpression | undefined; + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + kind: SyntaxKind.JSDocReturnTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + kind: SyntaxKind.JSDocTypeTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocTypedefTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; + } + interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocCallbackTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression: JSDocSignature; + } + interface JSDocSignature extends JSDocType, Declaration { + kind: SyntaxKind.JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + type: JSDocReturnTag | undefined; + } + interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + parent: JSDoc; + name: EntityName; + typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + isNameFirst: boolean; + isBracketed: boolean; + } + interface JSDocPropertyTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocPropertyTag; + } + interface JSDocParameterTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocParameterTag; + } + interface JSDocTypeLiteral extends JSDocType { + kind: SyntaxKind.JSDocTypeLiteral; + jsDocPropertyTags?: ReadonlyArray; + /** If true, then this type literal represents an *array* of its type. */ + isArrayType?: boolean; + } + enum FlowFlags { + Unreachable = 1, + Start = 2, + BranchLabel = 4, + LoopLabel = 8, + Assignment = 16, + TrueCondition = 32, + FalseCondition = 64, + SwitchClause = 128, + ArrayMutation = 256, + Referenced = 512, + Shared = 1024, + PreFinally = 2048, + AfterFinally = 4096, + Label = 12, + Condition = 96 + } + interface FlowLock { + locked?: boolean; + } + interface AfterFinallyFlow extends FlowNodeBase, FlowLock { + antecedent: FlowNode; + } + interface PreFinallyFlow extends FlowNodeBase { + antecedent: FlowNode; + lock: FlowLock; + } + type FlowNode = AfterFinallyFlow | PreFinallyFlow | FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation; + interface FlowNodeBase { + flags: FlowFlags; + id?: number; + } + interface FlowStart extends FlowNodeBase { + container?: FunctionExpression | ArrowFunction | MethodDeclaration; + } + interface FlowLabel extends FlowNodeBase { + antecedents: FlowNode[] | undefined; + } + interface FlowAssignment extends FlowNodeBase { + node: Expression | VariableDeclaration | BindingElement; + antecedent: FlowNode; + } + interface FlowCondition extends FlowNodeBase { + expression: Expression; + antecedent: FlowNode; + } + interface FlowSwitchClause extends FlowNodeBase { + switchStatement: SwitchStatement; + clauseStart: number; + clauseEnd: number; + antecedent: FlowNode; + } + interface FlowArrayMutation extends FlowNodeBase { + node: CallExpression | BinaryExpression; + antecedent: FlowNode; + } + type FlowType = Type | IncompleteType; + interface IncompleteType { + flags: TypeFlags; + type: Type; + } + interface AmdDependency { + path: string; + name?: string; + } + interface SourceFile extends Declaration { + kind: SyntaxKind.SourceFile; + statements: NodeArray; + endOfFileToken: Token; + fileName: string; + text: string; + amdDependencies: ReadonlyArray; + moduleName?: string; + referencedFiles: ReadonlyArray; + typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; + languageVariant: LanguageVariant; + isDeclarationFile: boolean; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface Bundle extends Node { + kind: SyntaxKind.Bundle; + prepends: ReadonlyArray; + sourceFiles: ReadonlyArray; + } + interface InputFiles extends Node { + kind: SyntaxKind.InputFiles; + javascriptText: string; + javascriptMapPath?: string; + javascriptMapText?: string; + declarationText: string; + declarationMapPath?: string; + declarationMapText?: string; + } + interface UnparsedSource extends Node { + kind: SyntaxKind.UnparsedSource; + text: string; + sourceMapPath?: string; + sourceMapText?: string; + } + interface JsonSourceFile extends SourceFile { + statements: NodeArray; + } + interface TsConfigSourceFile extends JsonSourceFile { + extendedSourceFiles?: string[]; + } + interface JsonMinusNumericLiteral extends PrefixUnaryExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: SyntaxKind.MinusToken; + operand: NumericLiteral; + } + interface JsonObjectExpressionStatement extends ExpressionStatement { + expression: ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile | undefined; + getSourceFileByPath(path: Path): SourceFile | undefined; + getCurrentDirectory(): string; + } + interface ParseConfigHost { + useCaseSensitiveFileNames: boolean; + readDirectory(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): ReadonlyArray; + /** + * Gets a value indicating whether the specified path exists and is a file. + * @param path The path to test. + */ + fileExists(path: string): boolean; + readFile(path: string): string | undefined; + trace?(s: string): void; + } + /** + * Branded string for keeping track of when we've turned an ambiguous path + * specified like "./blah" to an absolute path to an actual + * tsconfig file, e.g. "/root/blah/tsconfig.json" + */ + type ResolvedConfigFileName = string & { + _isResolvedConfigFileName: never; + }; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): ReadonlyArray; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Gets a type checker that can be used to semantically analyze source files in the program. + */ + getTypeChecker(): TypeChecker; + isSourceFileFromExternalLibrary(file: SourceFile): boolean; + isSourceFileDefaultLibrary(file: SourceFile): boolean; + getProjectReferences(): ReadonlyArray | undefined; + getResolvedProjectReferences(): ReadonlyArray | undefined; + } + interface ResolvedProjectReference { + commandLine: ParsedCommandLine; + sourceFile: SourceFile; + references?: ReadonlyArray; + } + interface CustomTransformers { + /** Custom transformers to evaluate before built-in .js transformations. */ + before?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .js transformations. */ + after?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .d.ts transformations. */ + afterDeclarations?: TransformerFactory[]; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2 + } + interface EmitResult { + emitSkipped: boolean; + /** Contains declaration emit diagnostics */ + diagnostics: ReadonlyArray; + emittedFiles?: string[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol | undefined; + getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; + getSignaturesOfType(type: Type, kind: SignatureKind): ReadonlyArray; + getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; + getBaseTypes(type: InterfaceType): BaseType[]; + getBaseTypeOfLiteralType(type: Type): Type; + getWidenedType(type: Type): Type; + getReturnTypeOfSignature(signature: Signature): Type; + getNullableType(type: Type, flags: TypeFlags): Type; + getNonNullableType(type: Type): Type; + /** Note that the resulting nodes cannot be checked. */ + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; + /** Note that the resulting nodes cannot be checked. */ + signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { + typeArguments?: NodeArray; + }) | undefined; + /** Note that the resulting nodes cannot be checked. */ + indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, kind: IndexKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): IndexSignatureDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): EntityName | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Expression | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): NodeArray | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): ParameterDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeParameterDeclaration | undefined; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[]; + /** + * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment. + * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value. + */ + getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined; + getExportSpecifierLocalTargetSymbol(location: ExportSpecifier): Symbol | undefined; + /** + * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol. + * Otherwise returns its input. + * For example, at `export type T = number;`: + * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`. + * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol. + * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol. + */ + getExportSymbolOfSymbol(symbol: Symbol): Symbol; + getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeAtLocation(node: Node): Type; + getTypeFromTypeNode(node: TypeNode): Type; + signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string; + typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): ReadonlyArray; + getContextualType(node: Expression): Type | undefined; + /** + * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. + * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. + */ + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; + isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + isUnknownSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean; + /** Follow all aliases to get the original symbol. */ + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxIntrinsicTagNamesAt(location: Node): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + getAmbientModules(): Symbol[]; + tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined; + getApparentType(type: Type): Type; + getBaseConstraintOfType(type: Type): Type | undefined; + getDefaultFromTypeParameter(type: Type): Type | undefined; + /** + * Depending on the operation performed, it may be appropriate to throw away the checker + * if the cancellation token is triggered. Typically, if it is used for error checking + * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. + */ + runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + } + enum NodeBuilderFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, + UseStructuralFallback = 8, + ForbidIndexedAccessSymbolReferences = 16, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + UseOnlyExternalAliasing = 128, + SuppressAnyReturnType = 256, + WriteTypeParametersInQualifiedName = 512, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowThisInObjectLiteral = 32768, + AllowQualifedNameInPlaceOfIdentifier = 65536, + AllowAnonymousIdentifier = 131072, + AllowEmptyUnionOrIntersection = 262144, + AllowEmptyTuple = 524288, + AllowUniqueESSymbolType = 1048576, + AllowEmptyIndexInfoType = 2097152, + AllowNodeModulesRelativePaths = 67108864, + IgnoreErrors = 70221824, + InObjectTypeLiteral = 4194304, + InTypeAlias = 8388608, + InInitialEntityName = 16777216, + InReverseMappedType = 33554432 + } + enum TypeFormatFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + UseStructuralFallback = 8, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + SuppressAnyReturnType = 256, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowUniqueESSymbolType = 1048576, + AddUndefined = 131072, + WriteArrowStyleSignature = 262144, + InArrayType = 524288, + InElementType = 2097152, + InFirstTypeArgument = 4194304, + InTypeAlias = 8388608, + /** @deprecated */ WriteOwnNameForAnyLike = 0, + NodeBuilderFlagsMask = 9469291 + } + enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + AllowAnyNodeKind = 4, + UseAliasDefinedOutsideCurrentScope = 8 + } + enum TypePredicateKind { + This = 0, + Identifier = 1 + } + interface TypePredicateBase { + kind: TypePredicateKind; + type: Type; + } + interface ThisTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.This; + } + interface IdentifierTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.Identifier; + parameterName: string; + parameterIndex: number; + } + type TypePredicate = IdentifierTypePredicate | ThisTypePredicate; + enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + Alias = 2097152, + Prototype = 4194304, + ExportStar = 8388608, + Optional = 16777216, + Transient = 33554432, + Assignment = 67108864, + ModuleExports = 134217728, + Enum = 384, + Variable = 3, + Value = 67220415, + Type = 67897832, + Namespace = 1920, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 67220414, + BlockScopedVariableExcludes = 67220415, + ParameterExcludes = 67220415, + PropertyExcludes = 0, + EnumMemberExcludes = 68008959, + FunctionExcludes = 67219887, + ClassExcludes = 68008383, + InterfaceExcludes = 67897736, + RegularEnumExcludes = 68008191, + ConstEnumExcludes = 68008831, + ValueModuleExcludes = 110735, + NamespaceModuleExcludes = 0, + MethodExcludes = 67212223, + GetAccessorExcludes = 67154879, + SetAccessorExcludes = 67187647, + TypeParameterExcludes = 67635688, + TypeAliasExcludes = 67897832, + AliasExcludes = 2097152, + ModuleMember = 2623475, + ExportHasLocal = 944, + BlockScoped = 418, + PropertyOrAccessor = 98308, + ClassMember = 106500 + } + interface Symbol { + flags: SymbolFlags; + escapedName: __String; + declarations: Declaration[]; + valueDeclaration: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + globalExports?: SymbolTable; + } + enum InternalSymbolName { + Call = "__call", + Constructor = "__constructor", + New = "__new", + Index = "__index", + ExportStar = "__export", + Global = "__global", + Missing = "__missing", + Type = "__type", + Object = "__object", + JSXAttributes = "__jsxAttributes", + Class = "__class", + Function = "__function", + Computed = "__computed", + Resolving = "__resolving__", + ExportEquals = "export=", + Default = "default", + This = "this" + } + /** + * This represents a string whose leading underscore have been escaped by adding extra leading underscores. + * The shape of this brand is rather unique compared to others we've used. + * Instead of just an intersection of a string and an object, it is that union-ed + * with an intersection of void and an object. This makes it wholly incompatible + * with a normal string (which is good, it cannot be misused on assignment or on usage), + * while still being comparable with a normal string via === (also good) and castable from a string. + */ + type __String = (string & { + __escapedIdentifier: void; + }) | (void & { + __escapedIdentifier: void; + }) | InternalSymbolName; + /** ReadonlyMap where keys are `__String`s. */ + interface ReadonlyUnderscoreEscapedMap { + get(key: __String): T | undefined; + has(key: __String): boolean; + forEach(action: (value: T, key: __String) => void): void; + readonly size: number; + keys(): Iterator<__String>; + values(): Iterator; + entries(): Iterator<[__String, T]>; + } + /** Map where keys are `__String`s. */ + interface UnderscoreEscapedMap extends ReadonlyUnderscoreEscapedMap { + set(key: __String, value: T): this; + delete(key: __String): boolean; + clear(): void; + } + /** SymbolTable based on ES6 Map interface. */ + type SymbolTable = UnderscoreEscapedMap; + enum TypeFlags { + Any = 1, + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + BigInt = 64, + StringLiteral = 128, + NumberLiteral = 256, + BooleanLiteral = 512, + EnumLiteral = 1024, + BigIntLiteral = 2048, + ESSymbol = 4096, + UniqueESSymbol = 8192, + Void = 16384, + Undefined = 32768, + Null = 65536, + Never = 131072, + TypeParameter = 262144, + Object = 524288, + Union = 1048576, + Intersection = 2097152, + Index = 4194304, + IndexedAccess = 8388608, + Conditional = 16777216, + Substitution = 33554432, + NonPrimitive = 67108864, + Literal = 2944, + Unit = 109440, + StringOrNumberLiteral = 384, + PossiblyFalsy = 117724, + StringLike = 132, + NumberLike = 296, + BigIntLike = 2112, + BooleanLike = 528, + EnumLike = 1056, + ESSymbolLike = 12288, + VoidLike = 49152, + UnionOrIntersection = 3145728, + StructuredType = 3670016, + TypeVariable = 8650752, + InstantiableNonPrimitive = 58982400, + InstantiablePrimitive = 4194304, + Instantiable = 63176704, + StructuredOrInstantiable = 66846720, + Narrowable = 133970943, + NotUnionOrUnit = 67637251 + } + type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; + interface Type { + flags: TypeFlags; + symbol: Symbol; + pattern?: DestructuringPattern; + aliasSymbol?: Symbol; + aliasTypeArguments?: ReadonlyArray; + } + interface LiteralType extends Type { + value: string | number | PseudoBigInt; + freshType: LiteralType; + regularType: LiteralType; + } + interface UniqueESSymbolType extends Type { + symbol: Symbol; + } + interface StringLiteralType extends LiteralType { + value: string; + } + interface NumberLiteralType extends LiteralType { + value: number; + } + interface BigIntLiteralType extends LiteralType { + value: PseudoBigInt; + } + interface EnumType extends Type { + } + enum ObjectFlags { + Class = 1, + Interface = 2, + Reference = 4, + Tuple = 8, + Anonymous = 16, + Mapped = 32, + Instantiated = 64, + ObjectLiteral = 128, + EvolvingArray = 256, + ObjectLiteralPatternWithComputedProperties = 512, + ContainsSpread = 1024, + ReverseMapped = 2048, + JsxAttributes = 4096, + MarkerType = 8192, + JSLiteral = 16384, + FreshLiteral = 32768, + ClassOrInterface = 3 + } + interface ObjectType extends Type { + objectFlags: ObjectFlags; + } + /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; + } + type BaseType = ObjectType | IntersectionType; + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; + } + /** + * Type references (ObjectFlags.Reference). When a class or interface has type parameters or + * a "this" type, references to the class or interface are made using type references. The + * typeArguments property specifies the types to substitute for the type parameters of the + * class or interface and optionally includes an extra element that specifies the type to + * substitute for "this" in the resulting instantiation. When no extra argument is present, + * the type reference itself is substituted for "this". The typeArguments property is undefined + * if the class or interface has no type parameters and the reference isn't specifying an + * explicit "this" argument. + */ + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments?: ReadonlyArray; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends GenericType { + minLength: number; + hasRestElement: boolean; + associatedNames?: __String[]; + } + interface TupleTypeReference extends TypeReference { + target: TupleType; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + type StructuredType = ObjectType | UnionType | IntersectionType; + interface EvolvingArrayType extends ObjectType { + elementType: Type; + finalArrayType?: Type; + } + interface InstantiableType extends Type { + } + interface TypeParameter extends InstantiableType { + } + interface IndexedAccessType extends InstantiableType { + objectType: Type; + indexType: Type; + constraint?: Type; + simplified?: Type; + } + type TypeVariable = TypeParameter | IndexedAccessType; + interface IndexType extends InstantiableType { + type: InstantiableType | UnionOrIntersectionType; + } + interface ConditionalRoot { + node: ConditionalTypeNode; + checkType: Type; + extendsType: Type; + trueType: Type; + falseType: Type; + isDistributive: boolean; + inferTypeParameters?: TypeParameter[]; + outerTypeParameters?: TypeParameter[]; + instantiations?: Map; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; + } + interface ConditionalType extends InstantiableType { + root: ConditionalRoot; + checkType: Type; + extendsType: Type; + resolvedTrueType?: Type; + resolvedFalseType?: Type; + } + interface SubstitutionType extends InstantiableType { + typeVariable: TypeVariable; + substitute: Type; + } + enum SignatureKind { + Call = 0, + Construct = 1 + } + interface Signature { + declaration?: SignatureDeclaration | JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + } + enum IndexKind { + String = 0, + Number = 1 + } + interface IndexInfo { + type: Type; + isReadonly: boolean; + declaration?: IndexSignatureDeclaration; + } + enum InferencePriority { + NakedTypeVariable = 1, + HomomorphicMappedType = 2, + MappedTypeConstraint = 4, + ReturnType = 8, + LiteralKeyof = 16, + NoConstraints = 32, + AlwaysStrict = 64, + PriorityImpliesCombination = 28 + } + /** @deprecated Use FileExtensionInfo instead. */ + type JsFileExtensionInfo = FileExtensionInfo; + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + message: string; + reportsUnnecessary?: {}; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + interface DiagnosticRelatedInformation { + category: DiagnosticCategory; + code: number; + file: SourceFile | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Suggestion = 2, + Message = 3 + } + enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface PluginImport { + name: string; + } + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined; + } + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 6 + } + enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3 + } + enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + interface LineAndCharacter { + /** 0-based. */ + line: number; + character: number; + } + enum ScriptKind { + Unknown = 0, + JS = 1, + JSX = 2, + TS = 3, + TSX = 4, + External = 5, + JSON = 6, + /** + * Used on extensions that doesn't define the ScriptKind but the content defines it. + * Deferred extensions are going to be included in all project contexts. + */ + Deferred = 7 + } + enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ESNext = 6, + JSON = 100, + Latest = 6 + } + enum LanguageVariant { + Standard = 0, + JSX = 1 + } + /** Either a parsed command line or a parsed tsconfig.json */ + interface ParsedCommandLine { + options: CompilerOptions; + typeAcquisition?: TypeAcquisition; + fileNames: string[]; + projectReferences?: ReadonlyArray; + raw?: any; + errors: Diagnostic[]; + wildcardDirectories?: MapLike; + compileOnSave?: boolean; + } + enum WatchDirectoryFlags { + None = 0, + Recursive = 1 + } + interface ExpandResult { + fileNames: string[]; + wildcardDirectories: MapLike; + } + interface CreateProgramOptions { + rootNames: ReadonlyArray; + options: CompilerOptions; + projectReferences?: ReadonlyArray; + host?: CompilerHost; + oldProgram?: Program; + configFileParsingDiagnostics?: ReadonlyArray; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + trace?(s: string): void; + directoryExists?(directoryName: string): boolean; + /** + * Resolve a symbolic link. + * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options + */ + realpath?(path: string): string; + getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; + } + /** + * Represents the result of module resolution. + * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off. + * The Program will then filter results based on these flags. + * + * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred. + */ + interface ResolvedModule { + /** Path of the file the module was resolved to. */ + resolvedFileName: string; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + /** + * ResolvedModule with an explicitly provided `extension` property. + * Prefer this over `ResolvedModule`. + * If changing this, remember to change `moduleResolutionIsEqualTo`. + */ + interface ResolvedModuleFull extends ResolvedModule { + /** + * Extension of resolvedFileName. This must match what's at the end of resolvedFileName. + * This is optional for backwards-compatibility, but will be added if not provided. + */ + extension: Extension; + packageId?: PackageId; + } + /** + * Unique identifier with a package name and version. + * If changing this, remember to change `packageIdIsEqual`. + */ + interface PackageId { + /** + * Name of the package. + * Should not include `@types`. + * If accessing a non-index file, this should include its name e.g. "foo/bar". + */ + name: string; + /** + * Name of a submodule within this package. + * May be "". + */ + subModuleName: string; + /** Version of the package, e.g. "1.2.3" */ + version: string; + } + enum Extension { + Ts = ".ts", + Tsx = ".tsx", + Dts = ".d.ts", + Js = ".js", + Jsx = ".jsx", + Json = ".json" + } + interface ResolvedModuleWithFailedLookupLocations { + readonly resolvedModule: ResolvedModuleFull | undefined; + } + interface ResolvedTypeReferenceDirective { + primary: boolean; + resolvedFileName: string | undefined; + packageId?: PackageId; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; + readonly failedLookupLocations: ReadonlyArray; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + readDirectory?(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): string[]; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** + * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files + */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getEnvironmentVariable?(name: string): string | undefined; + createHash?(data: string): string; + } + interface SourceMapRange extends TextRange { + source?: SourceMapSource; + } + interface SourceMapSource { + fileName: string; + text: string; + skipTrivia?: (pos: number) => number; + } + enum EmitFlags { + None = 0, + SingleLine = 1, + AdviseOnEmitNode = 2, + NoSubstitution = 4, + CapturesThis = 8, + NoLeadingSourceMap = 16, + NoTrailingSourceMap = 32, + NoSourceMap = 48, + NoNestedSourceMaps = 64, + NoTokenLeadingSourceMaps = 128, + NoTokenTrailingSourceMaps = 256, + NoTokenSourceMaps = 384, + NoLeadingComments = 512, + NoTrailingComments = 1024, + NoComments = 1536, + NoNestedComments = 2048, + HelperName = 4096, + ExportName = 8192, + LocalName = 16384, + InternalName = 32768, + Indented = 65536, + NoIndentation = 131072, + AsyncFunctionBody = 262144, + ReuseTempVariableScope = 524288, + CustomPrologue = 1048576, + NoHoisting = 2097152, + HasEndOfDeclarationMarker = 4194304, + Iterator = 8388608, + NoAsciiEscaping = 16777216 + } + interface EmitHelper { + readonly name: string; + readonly scoped: boolean; + readonly text: string | ((node: EmitHelperUniqueNameCallback) => string); + readonly priority?: number; + } + type EmitHelperUniqueNameCallback = (name: string) => string; + enum EmitHint { + SourceFile = 0, + Expression = 1, + IdentifierName = 2, + MappedTypeParameter = 3, + Unspecified = 4, + EmbeddedStatement = 5 + } + interface TransformationContext { + /** Gets the compiler options supplied to the transformer. */ + getCompilerOptions(): CompilerOptions; + /** Starts a new lexical environment. */ + startLexicalEnvironment(): void; + /** Suspends the current lexical environment, usually after visiting a parameter list. */ + suspendLexicalEnvironment(): void; + /** Resumes a suspended lexical environment, usually before visiting a function body. */ + resumeLexicalEnvironment(): void; + /** Ends a lexical environment, returning any declarations. */ + endLexicalEnvironment(): Statement[] | undefined; + /** Hoists a function declaration to the containing scope. */ + hoistFunctionDeclaration(node: FunctionDeclaration): void; + /** Hoists a variable declaration to the containing scope. */ + hoistVariableDeclaration(node: Identifier): void; + /** Records a request for a non-scoped emit helper in the current context. */ + requestEmitHelper(helper: EmitHelper): void; + /** Gets and resets the requested non-scoped emit helpers. */ + readEmitHelpers(): EmitHelper[] | undefined; + /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ + enableSubstitution(kind: SyntaxKind): void; + /** Determines whether expression substitutions are enabled for the provided node. */ + isSubstitutionEnabled(node: Node): boolean; + /** + * Hook used by transformers to substitute expressions just before they + * are emitted by the pretty printer. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onSubstituteNode: (hint: EmitHint, node: Node) => Node; + /** + * Enables before/after emit notifications in the pretty printer for the provided + * SyntaxKind. + */ + enableEmitNotification(kind: SyntaxKind): void; + /** + * Determines whether before/after emit notifications should be raised in the pretty + * printer when it emits a node. + */ + isEmitNotificationEnabled(node: Node): boolean; + /** + * Hook used to allow transformers to capture state before or after + * the printer emits a node. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void; + } + interface TransformationResult { + /** Gets the transformed source files. */ + transformed: T[]; + /** Gets diagnostics for the transformation. */ + diagnostics?: DiagnosticWithLocation[]; + /** + * Gets a substitute for a node, if one is available; otherwise, returns the original node. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + substituteNode(hint: EmitHint, node: Node): Node; + /** + * Emits a node with possible notification. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to emit. + * @param emitCallback A callback used to emit the node. + */ + emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + /** + * Clean up EmitNode entries on any parse-tree nodes. + */ + dispose(): void; + } + /** + * A function that is used to initialize and return a `Transformer` callback, which in turn + * will be used to transform one or more nodes. + */ + type TransformerFactory = (context: TransformationContext) => Transformer; + /** + * A function that transforms a node. + */ + type Transformer = (node: T) => T; + /** + * A function that accepts and possibly transforms a node. + */ + type Visitor = (node: Node) => VisitResult; + type VisitResult = T | T[] | undefined; + interface Printer { + /** + * Print a node and its subtree as-is, without any emit transformations. + * @param hint A value indicating the purpose of a node. This is primarily used to + * distinguish between an `Identifier` used in an expression position, versus an + * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you + * should just pass `Unspecified`. + * @param node The node to print. The node and its subtree are printed as-is, without any + * emit transformations. + * @param sourceFile A source file that provides context for the node. The source text of + * the file is used to emit the original source content for literals and identifiers, while + * the identifiers of the source file are used when generating unique names to avoid + * collisions. + */ + printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string; + /** + * Prints a list of nodes using the given format flags + */ + printList(format: ListFormat, list: NodeArray, sourceFile: SourceFile): string; + /** + * Prints a source file as-is, without any emit transformations. + */ + printFile(sourceFile: SourceFile): string; + /** + * Prints a bundle of source files as-is, without any emit transformations. + */ + printBundle(bundle: Bundle): string; + } + interface PrintHandlers { + /** + * A hook used by the Printer when generating unique names to avoid collisions with + * globally defined names that exist outside of the current source file. + */ + hasGlobalName?(name: string): boolean; + /** + * A hook used by the Printer to provide notifications prior to emitting a node. A + * compatible implementation **must** invoke `emitCallback` with the provided `hint` and + * `node` values. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @param emitCallback A callback that, when invoked, will emit the node. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * onEmitNode(hint, node, emitCallback) { + * // set up or track state prior to emitting the node... + * emitCallback(hint, node); + * // restore state after emitting the node... + * } + * }); + * ``` + */ + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; + /** + * A hook used by the Printer to perform just-in-time substitution of a node. This is + * primarily used by node transformations that need to substitute one node for another, + * such as replacing `myExportedVar` with `exports.myExportedVar`. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * substituteNode(hint, node) { + * // perform substitution if necessary... + * return node; + * } + * }); + * ``` + */ + substituteNode?(hint: EmitHint, node: Node): Node; + } + interface PrinterOptions { + removeComments?: boolean; + newLine?: NewLineKind; + omitTrailingSemicolon?: boolean; + noEmitHelpers?: boolean; + } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } + interface SyntaxList extends Node { + _children: Node[]; + } + enum ListFormat { + None = 0, + SingleLine = 0, + MultiLine = 1, + PreserveLines = 2, + LinesMask = 3, + NotDelimited = 0, + BarDelimited = 4, + AmpersandDelimited = 8, + CommaDelimited = 16, + AsteriskDelimited = 32, + DelimitersMask = 60, + AllowTrailingComma = 64, + Indented = 128, + SpaceBetweenBraces = 256, + SpaceBetweenSiblings = 512, + Braces = 1024, + Parenthesis = 2048, + AngleBrackets = 4096, + SquareBrackets = 8192, + BracketsMask = 15360, + OptionalIfUndefined = 16384, + OptionalIfEmpty = 32768, + Optional = 49152, + PreferNewLine = 65536, + NoTrailingNewLine = 131072, + NoInterveningComments = 262144, + NoSpaceIfEmpty = 524288, + SingleElement = 1048576, + Modifiers = 262656, + HeritageClauses = 512, + SingleLineTypeLiteralMembers = 768, + MultiLineTypeLiteralMembers = 32897, + TupleTypeElements = 528, + UnionTypeConstituents = 516, + IntersectionTypeConstituents = 520, + ObjectBindingPatternElements = 525136, + ArrayBindingPatternElements = 524880, + ObjectLiteralExpressionProperties = 526226, + ArrayLiteralExpressionElements = 8914, + CommaListElements = 528, + CallExpressionArguments = 2576, + NewExpressionArguments = 18960, + TemplateExpressionSpans = 262144, + SingleLineBlockStatements = 768, + MultiLineBlockStatements = 129, + VariableDeclarationList = 528, + SingleLineFunctionBodyStatements = 768, + MultiLineFunctionBodyStatements = 1, + ClassHeritageClauses = 0, + ClassMembers = 129, + InterfaceMembers = 129, + EnumMembers = 145, + CaseBlockClauses = 129, + NamedImportsOrExportsElements = 525136, + JsxElementOrFragmentChildren = 262144, + JsxElementAttributes = 262656, + CaseOrDefaultClauseStatements = 163969, + HeritageClauseTypes = 528, + SourceFileStatements = 131073, + Decorators = 49153, + TypeArguments = 53776, + TypeParameters = 53776, + Parameters = 2576, + IndexSignatureParameters = 8848, + JSDocComment = 33 + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + readonly includeCompletionsForModuleExports?: boolean; + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ + readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; + readonly allowTextChangesInNewFiles?: boolean; + } + /** Represents a bigint literal value without requiring bigint support */ + interface PseudoBigInt { + negative: boolean; + base10Value: string; + } +} +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; +declare function clearTimeout(handle: any): void; +declare namespace ts { + enum FileWatcherEventKind { + Created = 0, + Changed = 1, + Deleted = 2 + } + type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + type DirectoryWatcherCallback = (fileName: string) => void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + writeOutputIsTTY?(): boolean; + readFile(path: string, encoding?: string): string | undefined; + getFileSize?(path: string): number; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + /** + * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that + * use native OS file watching + */ + watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + getModifiedTime?(path: string): Date | undefined; + setModifiedTime?(path: string, time: Date): void; + deleteFile?(path: string): void; + /** + * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) + */ + createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + realpath?(path: string): string; + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout?(timeoutId: any): void; + clearScreen?(): void; + base64decode?(input: string): string; + base64encode?(input: string): string; + } + interface FileWatcher { + close(): void; + } + function getNodeMajorVersion(): number | undefined; + let sys: System; +} +declare namespace ts { + type ErrorCallback = (message: DiagnosticMessage, length: number) => void; + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + scanJsxAttributeValue(): SyntaxKind; + reScanJsxToken(): JsxTokenSyntaxKind; + scanJsxToken(): JsxTokenSyntaxKind; + scanJSDocToken(): JsDocSyntaxKind; + scan(): SyntaxKind; + getText(): string; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + scanRange(start: number, length: number, callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string | undefined; + function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter; + function isWhiteSpaceLike(ch: number): boolean; + /** Does not include line breaks. For that, see isWhiteSpaceLike. */ + function isWhiteSpaceSingleLine(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + /** Optionally, get the shebang */ + function getShebang(text: string): string | undefined; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function isExternalModuleNameRelative(moduleName: string): boolean; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): SortedReadonlyArray; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; + type ParameterPropertyDeclaration = ParameterDeclaration & { + parent: ConstructorDeclaration; + name: Identifier; + }; + function isParameterPropertyDeclaration(node: Node): node is ParameterPropertyDeclaration; + function isEmptyBindingPattern(node: BindingName): node is BindingPattern; + function isEmptyBindingElement(node: BindingElement): boolean; + function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration; + function getCombinedModifierFlags(node: Declaration): ModifierFlags; + function getCombinedNodeFlags(node: Node): NodeFlags; + /** + * Checks to see if the locale is in the appropriate format, + * and if it is, attempts to set the appropriate language. + */ + function validateLocaleAndSetLanguage(locale: string, sys: { + getExecutingFilePath(): string; + resolvePath(path: string): string; + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + }, errors?: Push): void; + function getOriginalNode(node: Node): Node; + function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; + /** + * Gets a value indicating whether a node originated in the parse tree. + * + * @param node The node to test. + */ + function isParseTreeNode(node: Node): boolean; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node): Node; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; + /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ + function escapeLeadingUnderscores(identifier: string): __String; + /** + * Remove extra underscore from escaped identifier text content. + * + * @param identifier The escaped identifier text. + * @returns The unescaped identifier text. + */ + function unescapeLeadingUnderscores(identifier: __String): string; + function idText(identifier: Identifier): string; + function symbolName(symbol: Symbol): string; + function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + /** + * Gets the JSDoc parameter tags for the node if present. + * + * @remarks Returns any JSDoc param tag whose name matches the provided + * parameter, whether a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the param + * tag on the containing function expression would be first. + * + * For binding patterns, parameter tags are matched by position. + */ + function getJSDocParameterTags(param: ParameterDeclaration): ReadonlyArray; + /** + * Gets the JSDoc type parameter tags for the node if present. + * + * @remarks Returns any JSDoc template tag whose names match the provided + * parameter, whether a template tag on a containing function + * expression, or a template tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the template + * tag on the containing function expression would be first. + */ + function getJSDocTypeParameterTags(param: TypeParameterDeclaration): ReadonlyArray; + /** + * Return true if the node has JSDoc parameter tags. + * + * @remarks Includes parameter tags that are not directly on the node, + * for example on a variable declaration whose initializer is a function expression. + */ + function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean; + /** Gets the JSDoc augments tag for the node if present */ + function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined; + /** Gets the JSDoc class tag for the node if present */ + function getJSDocClassTag(node: Node): JSDocClassTag | undefined; + /** Gets the JSDoc enum tag for the node if present */ + function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined; + /** Gets the JSDoc this tag for the node if present */ + function getJSDocThisTag(node: Node): JSDocThisTag | undefined; + /** Gets the JSDoc return tag for the node if present */ + function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined; + /** Gets the JSDoc template tag for the node if present */ + function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined; + /** Gets the JSDoc type tag for the node if present and valid */ + function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined; + /** + * Gets the type node for the node if provided via JSDoc. + * + * @remarks The search includes any JSDoc param tag that relates + * to the provided parameter, for example a type tag on the + * parameter itself, or a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are examined first, so in the previous example, the type + * tag directly on the node would be returned. + */ + function getJSDocType(node: Node): TypeNode | undefined; + /** + * Gets the return type node for the node if provided via JSDoc return tag or type tag. + * + * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function + * gets the type from inside the braces, after the fat arrow, etc. + */ + function getJSDocReturnType(node: Node): TypeNode | undefined; + /** Get all JSDoc tags related to a node, including those on parent nodes. */ + function getJSDocTags(node: Node): ReadonlyArray; + /** Gets all JSDoc tags of a specified kind, or undefined if not present. */ + function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): ReadonlyArray; + /** + * Gets the effective type parameters. If the node was parsed in a + * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + */ + function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray; + function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; +} +declare namespace ts { + function isNumericLiteral(node: Node): node is NumericLiteral; + function isBigIntLiteral(node: Node): node is BigIntLiteral; + function isStringLiteral(node: Node): node is StringLiteral; + function isJsxText(node: Node): node is JsxText; + function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral; + function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral; + function isTemplateHead(node: Node): node is TemplateHead; + function isTemplateMiddle(node: Node): node is TemplateMiddle; + function isTemplateTail(node: Node): node is TemplateTail; + function isIdentifier(node: Node): node is Identifier; + function isQualifiedName(node: Node): node is QualifiedName; + function isComputedPropertyName(node: Node): node is ComputedPropertyName; + function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration; + function isParameter(node: Node): node is ParameterDeclaration; + function isDecorator(node: Node): node is Decorator; + function isPropertySignature(node: Node): node is PropertySignature; + function isPropertyDeclaration(node: Node): node is PropertyDeclaration; + function isMethodSignature(node: Node): node is MethodSignature; + function isMethodDeclaration(node: Node): node is MethodDeclaration; + function isConstructorDeclaration(node: Node): node is ConstructorDeclaration; + function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration; + function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration; + function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration; + function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration; + function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration; + function isTypePredicateNode(node: Node): node is TypePredicateNode; + function isTypeReferenceNode(node: Node): node is TypeReferenceNode; + function isFunctionTypeNode(node: Node): node is FunctionTypeNode; + function isConstructorTypeNode(node: Node): node is ConstructorTypeNode; + function isTypeQueryNode(node: Node): node is TypeQueryNode; + function isTypeLiteralNode(node: Node): node is TypeLiteralNode; + function isArrayTypeNode(node: Node): node is ArrayTypeNode; + function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isUnionTypeNode(node: Node): node is UnionTypeNode; + function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode; + function isConditionalTypeNode(node: Node): node is ConditionalTypeNode; + function isInferTypeNode(node: Node): node is InferTypeNode; + function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode; + function isThisTypeNode(node: Node): node is ThisTypeNode; + function isTypeOperatorNode(node: Node): node is TypeOperatorNode; + function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode; + function isMappedTypeNode(node: Node): node is MappedTypeNode; + function isLiteralTypeNode(node: Node): node is LiteralTypeNode; + function isImportTypeNode(node: Node): node is ImportTypeNode; + function isObjectBindingPattern(node: Node): node is ObjectBindingPattern; + function isArrayBindingPattern(node: Node): node is ArrayBindingPattern; + function isBindingElement(node: Node): node is BindingElement; + function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression; + function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression; + function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression; + function isElementAccessExpression(node: Node): node is ElementAccessExpression; + function isCallExpression(node: Node): node is CallExpression; + function isNewExpression(node: Node): node is NewExpression; + function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression; + function isTypeAssertion(node: Node): node is TypeAssertion; + function isParenthesizedExpression(node: Node): node is ParenthesizedExpression; + function skipPartiallyEmittedExpressions(node: Expression): Expression; + function skipPartiallyEmittedExpressions(node: Node): Node; + function isFunctionExpression(node: Node): node is FunctionExpression; + function isArrowFunction(node: Node): node is ArrowFunction; + function isDeleteExpression(node: Node): node is DeleteExpression; + function isTypeOfExpression(node: Node): node is TypeOfExpression; + function isVoidExpression(node: Node): node is VoidExpression; + function isAwaitExpression(node: Node): node is AwaitExpression; + function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression; + function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression; + function isBinaryExpression(node: Node): node is BinaryExpression; + function isConditionalExpression(node: Node): node is ConditionalExpression; + function isTemplateExpression(node: Node): node is TemplateExpression; + function isYieldExpression(node: Node): node is YieldExpression; + function isSpreadElement(node: Node): node is SpreadElement; + function isClassExpression(node: Node): node is ClassExpression; + function isOmittedExpression(node: Node): node is OmittedExpression; + function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; + function isAsExpression(node: Node): node is AsExpression; + function isNonNullExpression(node: Node): node is NonNullExpression; + function isMetaProperty(node: Node): node is MetaProperty; + function isTemplateSpan(node: Node): node is TemplateSpan; + function isSemicolonClassElement(node: Node): node is SemicolonClassElement; + function isBlock(node: Node): node is Block; + function isVariableStatement(node: Node): node is VariableStatement; + function isEmptyStatement(node: Node): node is EmptyStatement; + function isExpressionStatement(node: Node): node is ExpressionStatement; + function isIfStatement(node: Node): node is IfStatement; + function isDoStatement(node: Node): node is DoStatement; + function isWhileStatement(node: Node): node is WhileStatement; + function isForStatement(node: Node): node is ForStatement; + function isForInStatement(node: Node): node is ForInStatement; + function isForOfStatement(node: Node): node is ForOfStatement; + function isContinueStatement(node: Node): node is ContinueStatement; + function isBreakStatement(node: Node): node is BreakStatement; + function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement; + function isReturnStatement(node: Node): node is ReturnStatement; + function isWithStatement(node: Node): node is WithStatement; + function isSwitchStatement(node: Node): node is SwitchStatement; + function isLabeledStatement(node: Node): node is LabeledStatement; + function isThrowStatement(node: Node): node is ThrowStatement; + function isTryStatement(node: Node): node is TryStatement; + function isDebuggerStatement(node: Node): node is DebuggerStatement; + function isVariableDeclaration(node: Node): node is VariableDeclaration; + function isVariableDeclarationList(node: Node): node is VariableDeclarationList; + function isFunctionDeclaration(node: Node): node is FunctionDeclaration; + function isClassDeclaration(node: Node): node is ClassDeclaration; + function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration; + function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration; + function isEnumDeclaration(node: Node): node is EnumDeclaration; + function isModuleDeclaration(node: Node): node is ModuleDeclaration; + function isModuleBlock(node: Node): node is ModuleBlock; + function isCaseBlock(node: Node): node is CaseBlock; + function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration; + function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; + function isImportDeclaration(node: Node): node is ImportDeclaration; + function isImportClause(node: Node): node is ImportClause; + function isNamespaceImport(node: Node): node is NamespaceImport; + function isNamedImports(node: Node): node is NamedImports; + function isImportSpecifier(node: Node): node is ImportSpecifier; + function isExportAssignment(node: Node): node is ExportAssignment; + function isExportDeclaration(node: Node): node is ExportDeclaration; + function isNamedExports(node: Node): node is NamedExports; + function isExportSpecifier(node: Node): node is ExportSpecifier; + function isMissingDeclaration(node: Node): node is MissingDeclaration; + function isExternalModuleReference(node: Node): node is ExternalModuleReference; + function isJsxElement(node: Node): node is JsxElement; + function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement; + function isJsxOpeningElement(node: Node): node is JsxOpeningElement; + function isJsxClosingElement(node: Node): node is JsxClosingElement; + function isJsxFragment(node: Node): node is JsxFragment; + function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment; + function isJsxClosingFragment(node: Node): node is JsxClosingFragment; + function isJsxAttribute(node: Node): node is JsxAttribute; + function isJsxAttributes(node: Node): node is JsxAttributes; + function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute; + function isJsxExpression(node: Node): node is JsxExpression; + function isCaseClause(node: Node): node is CaseClause; + function isDefaultClause(node: Node): node is DefaultClause; + function isHeritageClause(node: Node): node is HeritageClause; + function isCatchClause(node: Node): node is CatchClause; + function isPropertyAssignment(node: Node): node is PropertyAssignment; + function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment; + function isSpreadAssignment(node: Node): node is SpreadAssignment; + function isEnumMember(node: Node): node is EnumMember; + function isSourceFile(node: Node): node is SourceFile; + function isBundle(node: Node): node is Bundle; + function isUnparsedSource(node: Node): node is UnparsedSource; + function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression; + function isJSDocAllType(node: JSDocAllType): node is JSDocAllType; + function isJSDocUnknownType(node: Node): node is JSDocUnknownType; + function isJSDocNullableType(node: Node): node is JSDocNullableType; + function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType; + function isJSDocOptionalType(node: Node): node is JSDocOptionalType; + function isJSDocFunctionType(node: Node): node is JSDocFunctionType; + function isJSDocVariadicType(node: Node): node is JSDocVariadicType; + function isJSDoc(node: Node): node is JSDoc; + function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag; + function isJSDocClassTag(node: Node): node is JSDocClassTag; + function isJSDocEnumTag(node: Node): node is JSDocEnumTag; + function isJSDocThisTag(node: Node): node is JSDocThisTag; + function isJSDocParameterTag(node: Node): node is JSDocParameterTag; + function isJSDocReturnTag(node: Node): node is JSDocReturnTag; + function isJSDocTypeTag(node: Node): node is JSDocTypeTag; + function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag; + function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag; + function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag; + function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag; + function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral; + function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag; + function isJSDocSignature(node: Node): node is JSDocSignature; +} +declare namespace ts { + /** + * True if node is of some token syntax kind. + * For example, this is true for an IfKeyword but not for an IfStatement. + * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. + */ + function isToken(n: Node): boolean; + function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; + function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; + function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; + function isModifier(node: Node): node is Modifier; + function isEntityName(node: Node): node is EntityName; + function isPropertyName(node: Node): node is PropertyName; + function isBindingName(node: Node): node is BindingName; + function isFunctionLike(node: Node): node is SignatureDeclaration; + function isClassElement(node: Node): node is ClassElement; + function isClassLike(node: Node): node is ClassLikeDeclaration; + function isAccessor(node: Node): node is AccessorDeclaration; + function isTypeElement(node: Node): node is TypeElement; + function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; + function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; + /** + * Node test that determines whether a node is a valid type node. + * This differs from the `isPartOfTypeNode` function which determines whether a node is *part* + * of a TypeNode. + */ + function isTypeNode(node: Node): node is TypeNode; + function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode; + function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName; + function isCallLikeExpression(node: Node): node is CallLikeExpression; + function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression; + function isTemplateLiteral(node: Node): node is TemplateLiteral; + function isAssertionExpression(node: Node): node is AssertionExpression; + function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement; + function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement; + function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement; + function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause; + /** True if node is of a kind that may contain comment text. */ + function isJSDocCommentContainingNode(node: Node): boolean; + function isSetAccessor(node: Node): node is SetAccessorDeclaration; + function isGetAccessor(node: Node): node is GetAccessorDeclaration; + function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; + function isStringLiteralLike(node: Node): node is StringLiteralLike; +} +declare namespace ts { + function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes + * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, + * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns + * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned. + * + * @param node a given node to visit its children + * @param cbNode a callback to be invoked for all child nodes + * @param cbNodes a callback to be invoked for embedded array + * + * @remarks `forEachChild` must visit the children of a node in the order + * that they appear in the source code. The language service depends on this property to locate nodes by position. + */ + function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; + /** + * Parse json text into SyntaxTree and return node and parse errors if any + * @param fileName + * @param sourceText + */ + function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; + function isExternalModule(file: SourceFile): boolean; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + function parseCommandLine(commandLine: ReadonlyArray, readFile?: (path: string) => string | undefined): ParsedCommandLine; + type DiagnosticReporter = (diagnostic: Diagnostic) => void; + /** + * Reports config file diagnostics + */ + interface ConfigFileDiagnosticsReporter { + /** + * Reports unrecoverable error when parsing config file + */ + onUnRecoverableConfigFileDiagnostic: DiagnosticReporter; + } + /** + * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors + */ + interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter { + getCurrentDirectory(): string; + } + /** + * Reads the config file, reports errors if any and exits if the config file cannot be found + */ + function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost): ParsedCommandLine | undefined; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileTextToJson(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile; + /** + * Convert the json syntax tree into the json value + */ + function convertToObject(sourceFile: JsonSourceFile, errors: Push): any; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + /** + * Parse the contents of a config file (tsconfig.json). + * @param jsonNode The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: CompilerOptions; + errors: Diagnostic[]; + }; + function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: TypeAcquisition; + errors: Diagnostic[]; + }; +} +declare namespace ts { + function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; + /** + * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. + * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups + * is assumed to be the same as root directory of the project. + */ + function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + /** + * Given a set of options, returns the set of type directive names + * that should be included for this program automatically. + * This list could either come from the config file, + * or from enumerating the types root + initial secondary types lookup location. + * More type directives might appear in the program later as a result of loading actual source files; + * this list is only the set of defaults that are implicitly included. + */ + function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[]; + /** + * Cached module resolutions per containing directory. + * This assumes that any module id will have the same resolution for sibling files located in the same folder. + */ + interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache { + getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map; + } + /** + * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory + * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive. + */ + interface NonRelativeModuleNameResolutionCache { + getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache; + } + interface PerModuleNameCache { + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; + set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; + } + function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; + function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; +} +declare namespace ts { + function createNodeArray(elements?: ReadonlyArray, hasTrailingComma?: boolean): NodeArray; + /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ + function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; + function createLiteral(value: number | PseudoBigInt): NumericLiteral; + function createLiteral(value: boolean): BooleanLiteral; + function createLiteral(value: string | number | PseudoBigInt | boolean): PrimaryExpression; + function createNumericLiteral(value: string): NumericLiteral; + function createBigIntLiteral(value: string): BigIntLiteral; + function createStringLiteral(text: string): StringLiteral; + function createRegularExpressionLiteral(text: string): RegularExpressionLiteral; + function createIdentifier(text: string): Identifier; + function updateIdentifier(node: Identifier): Identifier; + /** Create a unique temporary variable. */ + function createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier; + /** Create a unique temporary variable for use in a loop. */ + function createLoopVariable(): Identifier; + /** Create a unique name based on the supplied text. */ + function createUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. */ + function createOptimisticUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. This does not consider names injected by the transformer. */ + function createFileLevelUniqueName(text: string): Identifier; + /** Create a unique name generated for a node. */ + function getGeneratedNameForNode(node: Node | undefined): Identifier; + function createToken(token: TKind): Token; + function createSuper(): SuperExpression; + function createThis(): ThisExpression & Token; + function createNull(): NullLiteral & Token; + function createTrue(): BooleanLiteral & Token; + function createFalse(): BooleanLiteral & Token; + function createModifier(kind: T): Token; + function createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + function createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; + function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; + function createComputedPropertyName(expression: Expression): ComputedPropertyName; + function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + function createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + function updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + function createParameter(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + function updateParameter(node: ParameterDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + function createDecorator(expression: Expression): Decorator; + function updateDecorator(node: Decorator, expression: Expression): Decorator; + function createPropertySignature(modifiers: ReadonlyArray | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function updatePropertySignature(node: PropertySignature, modifiers: ReadonlyArray | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function createProperty(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function updateProperty(node: PropertyDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function createMethodSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function updateMethodSignature(node: MethodSignature, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined, name: PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function createMethod(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function updateMethod(node: MethodDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function createConstructor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function updateConstructor(node: ConstructorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function createGetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function updateGetAccessor(node: GetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function createSetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function updateSetAccessor(node: SetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function createCallSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): CallSignatureDeclaration; + function updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; + function createConstructSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function createIndexSignature(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function updateIndexSignature(node: IndexSignatureDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function createKeywordTypeNode(kind: KeywordTypeNode["kind"]): KeywordTypeNode; + function createTypePredicateNode(parameterName: Identifier | ThisTypeNode | string, type: TypeNode): TypePredicateNode; + function updateTypePredicateNode(node: TypePredicateNode, parameterName: Identifier | ThisTypeNode, type: TypeNode): TypePredicateNode; + function createTypeReferenceNode(typeName: string | EntityName, typeArguments: ReadonlyArray | undefined): TypeReferenceNode; + function updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray | undefined): TypeReferenceNode; + function createFunctionTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): FunctionTypeNode; + function updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): FunctionTypeNode; + function createConstructorTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructorTypeNode; + function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; + function createTypeQueryNode(exprName: EntityName): TypeQueryNode; + function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; + function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; + function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; + function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; + function createTupleTypeNode(elementTypes: ReadonlyArray): TupleTypeNode; + function updateTupleTypeNode(node: TupleTypeNode, elementTypes: ReadonlyArray): TupleTypeNode; + function createOptionalTypeNode(type: TypeNode): OptionalTypeNode; + function updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode; + function createRestTypeNode(type: TypeNode): RestTypeNode; + function updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode; + function createUnionTypeNode(types: ReadonlyArray): UnionTypeNode; + function updateUnionTypeNode(node: UnionTypeNode, types: NodeArray): UnionTypeNode; + function createIntersectionTypeNode(types: ReadonlyArray): IntersectionTypeNode; + function updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray): IntersectionTypeNode; + function createUnionOrIntersectionTypeNode(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, types: ReadonlyArray): UnionOrIntersectionTypeNode; + function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; + function updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; + function createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; + function updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; + function createThisTypeNode(): ThisTypeNode; + function createTypeOperatorNode(type: TypeNode): TypeOperatorNode; + function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode; + function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode; + function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function createMappedTypeNode(readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function createObjectBindingPattern(elements: ReadonlyArray): ObjectBindingPattern; + function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray): ObjectBindingPattern; + function createArrayBindingPattern(elements: ReadonlyArray): ArrayBindingPattern; + function updateArrayBindingPattern(node: ArrayBindingPattern, elements: ReadonlyArray): ArrayBindingPattern; + function createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement; + function updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement; + function createArrayLiteral(elements?: ReadonlyArray, multiLine?: boolean): ArrayLiteralExpression; + function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; + function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; + function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; + function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; + function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; + function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + /** @deprecated */ function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + /** @deprecated */ function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; + function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; + function createParen(expression: Expression): ParenthesizedExpression; + function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; + function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; + function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: Token, body: ConciseBody): ArrowFunction; + function createDelete(expression: Expression): DeleteExpression; + function updateDelete(node: DeleteExpression, expression: Expression): DeleteExpression; + function createTypeOf(expression: Expression): TypeOfExpression; + function updateTypeOf(node: TypeOfExpression, expression: Expression): TypeOfExpression; + function createVoid(expression: Expression): VoidExpression; + function updateVoid(node: VoidExpression, expression: Expression): VoidExpression; + function createAwait(expression: Expression): AwaitExpression; + function updateAwait(node: AwaitExpression, expression: Expression): AwaitExpression; + function createPrefix(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression; + function updatePrefix(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression; + function createPostfix(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression; + function updatePostfix(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression; + function createBinary(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression; + function updateBinary(node: BinaryExpression, left: Expression, right: Expression, operator?: BinaryOperator | BinaryOperatorToken): BinaryExpression; + /** @deprecated */ function createConditional(condition: Expression, whenTrue: Expression, whenFalse: Expression): ConditionalExpression; + function createConditional(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression; + function updateConditional(node: ConditionalExpression, condition: Expression, questionToken: Token, whenTrue: Expression, colonToken: Token, whenFalse: Expression): ConditionalExpression; + function createTemplateExpression(head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function createTemplateHead(text: string): TemplateHead; + function createTemplateMiddle(text: string): TemplateMiddle; + function createTemplateTail(text: string): TemplateTail; + function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; + function createYield(expression?: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function createSpread(expression: Expression): SpreadElement; + function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function createOmittedExpression(): OmittedExpression; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function createAsExpression(expression: Expression, type: TypeNode): AsExpression; + function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; + function createNonNullExpression(expression: Expression): NonNullExpression; + function updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression; + function createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; + function updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + function createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function createSemicolonClassElement(): SemicolonClassElement; + function createBlock(statements: ReadonlyArray, multiLine?: boolean): Block; + function updateBlock(node: Block, statements: ReadonlyArray): Block; + function createVariableStatement(modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList | ReadonlyArray): VariableStatement; + function updateVariableStatement(node: VariableStatement, modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList): VariableStatement; + function createEmptyStatement(): EmptyStatement; + function createExpressionStatement(expression: Expression): ExpressionStatement; + function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement; + /** @deprecated Use `createExpressionStatement` instead. */ + const createStatement: typeof createExpressionStatement; + /** @deprecated Use `updateExpressionStatement` instead. */ + const updateStatement: typeof updateExpressionStatement; + function createIf(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement; + function updateIf(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement; + function createDo(statement: Statement, expression: Expression): DoStatement; + function updateDo(node: DoStatement, statement: Statement, expression: Expression): DoStatement; + function createWhile(expression: Expression, statement: Statement): WhileStatement; + function updateWhile(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement; + function createFor(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createContinue(label?: string | Identifier): ContinueStatement; + function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; + function createBreak(label?: string | Identifier): BreakStatement; + function updateBreak(node: BreakStatement, label: Identifier | undefined): BreakStatement; + function createReturn(expression?: Expression): ReturnStatement; + function updateReturn(node: ReturnStatement, expression: Expression | undefined): ReturnStatement; + function createWith(expression: Expression, statement: Statement): WithStatement; + function updateWith(node: WithStatement, expression: Expression, statement: Statement): WithStatement; + function createSwitch(expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function updateSwitch(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function createLabel(label: string | Identifier, statement: Statement): LabeledStatement; + function updateLabel(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement; + function createThrow(expression: Expression): ThrowStatement; + function updateThrow(node: ThrowStatement, expression: Expression): ThrowStatement; + function createTry(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function updateTry(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function createDebuggerStatement(): DebuggerStatement; + function createVariableDeclaration(name: string | BindingName, type?: TypeNode, initializer?: Expression): VariableDeclaration; + function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; + function createVariableDeclarationList(declarations: ReadonlyArray, flags?: NodeFlags): VariableDeclarationList; + function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; + function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function createEnumDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, members: ReadonlyArray): EnumDeclaration; + function updateEnumDeclaration(node: EnumDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, members: ReadonlyArray): EnumDeclaration; + function createModuleDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + function updateModuleDeclaration(node: ModuleDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + function createModuleBlock(statements: ReadonlyArray): ModuleBlock; + function updateModuleBlock(node: ModuleBlock, statements: ReadonlyArray): ModuleBlock; + function createCaseBlock(clauses: ReadonlyArray): CaseBlock; + function updateCaseBlock(node: CaseBlock, clauses: ReadonlyArray): CaseBlock; + function createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; + function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; + function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function createNamespaceImport(name: Identifier): NamespaceImport; + function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; + function createNamedImports(elements: ReadonlyArray): NamedImports; + function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; + function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; + function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; + function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; + function createNamedExports(elements: ReadonlyArray): NamedExports; + function updateNamedExports(node: NamedExports, elements: ReadonlyArray): NamedExports; + function createExportSpecifier(propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; + function updateExportSpecifier(node: ExportSpecifier, propertyName: Identifier | undefined, name: Identifier): ExportSpecifier; + function createExternalModuleReference(expression: Expression): ExternalModuleReference; + function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; + function createJsxElement(openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement; + function updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement; + function createJsxFragment(openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function createJsxAttributes(properties: ReadonlyArray): JsxAttributes; + function updateJsxAttributes(node: JsxAttributes, properties: ReadonlyArray): JsxAttributes; + function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; + function updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute; + function createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression; + function updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression; + function createCaseClause(expression: Expression, statements: ReadonlyArray): CaseClause; + function updateCaseClause(node: CaseClause, expression: Expression, statements: ReadonlyArray): CaseClause; + function createDefaultClause(statements: ReadonlyArray): DefaultClause; + function updateDefaultClause(node: DefaultClause, statements: ReadonlyArray): DefaultClause; + function createHeritageClause(token: HeritageClause["token"], types: ReadonlyArray): HeritageClause; + function updateHeritageClause(node: HeritageClause, types: ReadonlyArray): HeritageClause; + function createCatchClause(variableDeclaration: string | VariableDeclaration | undefined, block: Block): CatchClause; + function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause; + function createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment; + function updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment; + function createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment; + function updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment; + function createSpreadAssignment(expression: Expression): SpreadAssignment; + function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; + function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; + function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; + /** + * Creates a shallow, memberwise clone of a node for mutation. + */ + function getMutableClone(node: T): T; + /** + * Creates a synthetic statement to act as a placeholder for a not-emitted statement in + * order to preserve comments. + * + * @param original The original statement. + */ + function createNotEmittedStatement(original: Node): NotEmittedStatement; + /** + * Creates a synthetic expression to act as a placeholder for a not-emitted expression in + * order to preserve comments or sourcemap positions. + * + * @param expression The inner expression to emit. + * @param original The original outer expression. + * @param location The location for the expression. Defaults to the positions from "original" if provided. + */ + function createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression; + function updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression; + function createCommaList(elements: ReadonlyArray): CommaListExpression; + function updateCommaList(node: CommaListExpression, elements: ReadonlyArray): CommaListExpression; + function createBundle(sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createUnparsedSourceFile(text: string): UnparsedSource; + function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource; + function createInputFiles(javascript: string, declaration: string): InputFiles; + function createInputFiles(javascript: string, declaration: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createComma(left: Expression, right: Expression): Expression; + function createLessThan(left: Expression, right: Expression): Expression; + function createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment; + function createAssignment(left: Expression, right: Expression): BinaryExpression; + function createStrictEquality(left: Expression, right: Expression): BinaryExpression; + function createStrictInequality(left: Expression, right: Expression): BinaryExpression; + function createAdd(left: Expression, right: Expression): BinaryExpression; + function createSubtract(left: Expression, right: Expression): BinaryExpression; + function createPostfixIncrement(operand: Expression): PostfixUnaryExpression; + function createLogicalAnd(left: Expression, right: Expression): BinaryExpression; + function createLogicalOr(left: Expression, right: Expression): BinaryExpression; + function createLogicalNot(operand: Expression): PrefixUnaryExpression; + function createVoidZero(): VoidExpression; + function createExportDefault(expression: Expression): ExportAssignment; + function createExternalModuleExport(exportName: Identifier): ExportDeclaration; + /** + * Clears any EmitNode entries from parse-tree nodes. + * @param sourceFile A source file. + */ + function disposeEmitNodes(sourceFile: SourceFile): void; + function setTextRange(range: T, location: TextRange | undefined): T; + /** + * Sets flags that control emit behavior of a node. + */ + function setEmitFlags(node: T, emitFlags: EmitFlags): T; + /** + * Gets a custom text range to use when emitting source maps. + */ + function getSourceMapRange(node: Node): SourceMapRange; + /** + * Sets a custom text range to use when emitting source maps. + */ + function setSourceMapRange(node: T, range: SourceMapRange | undefined): T; + /** + * Create an external source map source file reference + */ + function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource; + /** + * Gets the TextRange to use for source maps for a token of a node. + */ + function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined; + /** + * Sets the TextRange to use for source maps for a token of a node. + */ + function setTokenSourceMapRange(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T; + /** + * Gets a custom text range to use when emitting comments. + */ + function getCommentRange(node: Node): TextRange; + /** + * Sets a custom text range to use when emitting comments. + */ + function setCommentRange(node: T, range: TextRange): T; + function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; + /** + * Gets the constant value to emit for an expression. + */ + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + /** + * Sets the constant value to emit for an expression. + */ + function setConstantValue(node: PropertyAccessExpression | ElementAccessExpression, value: string | number): PropertyAccessExpression | ElementAccessExpression; + /** + * Adds an EmitHelper to a node. + */ + function addEmitHelper(node: T, helper: EmitHelper): T; + /** + * Add EmitHelpers to a node. + */ + function addEmitHelpers(node: T, helpers: EmitHelper[] | undefined): T; + /** + * Removes an EmitHelper from a node. + */ + function removeEmitHelper(node: Node, helper: EmitHelper): boolean; + /** + * Gets the EmitHelpers of a node. + */ + function getEmitHelpers(node: Node): EmitHelper[] | undefined; + /** + * Moves matching emit helpers from a source node to a target node. + */ + function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void; + function setOriginalNode(node: T, original: Node | undefined): T; +} +declare namespace ts { + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; + /** + * Starts a new lexical environment and visits a statement list, ending the lexical environment + * and merging hoisted declarations upon completion. + */ + function visitLexicalEnvironment(statements: NodeArray, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean): NodeArray; + /** + * Starts a new lexical environment and visits a parameter list, suspending the lexical + * environment upon completion. + */ + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined; + /** + * Resumes a suspended lexical environment and visits a concise body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +} +declare namespace ts { + function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer; +} +declare namespace ts { + function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + interface FormatDiagnosticsHost { + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; + } + function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; + function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; + function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param rootNames - A set of root files. + * @param options - The compiler options which should be used. + * @param host - The host interacts with the underlying file system. + * @param oldProgram - Reuses an old program structure. + * @param configFileParsingDiagnostics - error during config file parsing + * @returns A 'Program' object. + */ + function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; + /** @deprecated */ interface ResolveProjectReferencePathHost { + fileExists(fileName: string): boolean; + } + /** + * Returns the target config filename of a project reference. + * Note: The file might not exist. + */ + function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName; + /** @deprecated */ function resolveProjectReferencePath(host: ResolveProjectReferencePathHost, ref: ProjectReference): ResolvedConfigFileName; +} +declare namespace ts { + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } +} +declare namespace ts { + type AffectedFileResult = { + result: T; + affected: SourceFile | Program; + } | undefined; + interface BuilderProgramHost { + /** + * return true if file names are treated with case sensitivity + */ + useCaseSensitiveFileNames(): boolean; + /** + * If provided this would be used this hash instead of actual file shape text for detecting changes + */ + createHash?: (data: string) => string; + /** + * When emit or emitNextAffectedFile are called without writeFile, + * this callback if present would be used to write files + */ + writeFile?: WriteFileCallback; + } + /** + * Builder to manage the program state changes + */ + interface BuilderProgram { + /** + * Returns current program + */ + getProgram(): Program; + /** + * Get compiler options of the program + */ + getCompilerOptions(): CompilerOptions; + /** + * Get the source file in the program with file name + */ + getSourceFile(fileName: string): SourceFile | undefined; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Get the diagnostics for compiler options + */ + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics that dont belong to any file + */ + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics from config file parsing + */ + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Get the syntax diagnostics, for all source files if source file is not supplied + */ + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get all the dependencies of the file + */ + getAllDependencies(sourceFile: SourceFile): ReadonlyArray; + /** + * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program + * The semantic diagnostics are cached and managed here + * Note that it is assumed that when asked about semantic diagnostics through this API, + * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics + * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided, + * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics + */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. + * When targetSource file is specified, emits the files corresponding to that source file, + * otherwise for the whole program. + * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified, + * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified, + * it will only emit all the affected files instead of whole program + * + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + /** + * Get the current directory of the program + */ + getCurrentDirectory(): string; + } + /** + * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files + */ + interface SemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Gets the semantic diagnostics from the program for the next affected file and caches it + * Returns undefined if the iteration is complete + */ + getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult>; + } + /** + * The builder that can handle the changes in program and iterate through changed file to emit the files + * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files + */ + interface EmitAndSemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult; + } + /** + * Create the builder to manage semantic diagnostics and cache them + */ + function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + /** + * Create the builder that can handle the changes in program and iterate through changed files + * to emit the those files and manage semantic diagnostics cache as well + */ + function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + /** + * Creates a builder thats just abstraction over program and can be used with watch + */ + function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): BuilderProgram; +} +declare namespace ts { + type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; + /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */ + type CreateProgram = (rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray | undefined) => T; + /** Host that has watch functionality used in --watch mode */ + interface WatchHost { + /** If provided, called with Diagnostic message that informs about change in watch status */ + onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions): void; + /** Used to watch changes in source files, missing files needed to update the program or config file */ + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + /** If provided, will be used to reset existing delayed compilation */ + clearTimeout?(timeoutId: any): void; + } + interface WatchCompilerHost extends WatchHost { + /** + * Used to create the program when need for program creation or recreation detected + */ + createProgram: CreateProgram; + /** If provided, callback to invoke after every new program creation */ + afterProgramCreate?(program: T): void; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + createHash?(data: string): string; + /** + * Use to check file presence for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + fileExists(path: string): boolean; + /** + * Use to read file text for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + readFile(path: string, encoding?: string): string | undefined; + /** If provided, used for module resolution as well as to handle directory structure */ + directoryExists?(path: string): boolean; + /** If provided, used in resolutions as well as handling directory structure */ + getDirectories?(path: string): string[]; + /** If provided, used to cache and handle directory structure modifications */ + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + /** Symbol links resolution */ + realpath?(path: string): string; + /** If provided would be used to write log about compilation */ + trace?(s: string): void; + /** If provided is used to get the environment variable */ + getEnvironmentVariable?(name: string): string | undefined; + /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + } + /** + * Host to create watch with root files and options + */ + interface WatchCompilerHostOfFilesAndCompilerOptions extends WatchCompilerHost { + /** root files to use to generate program */ + rootFiles: string[]; + /** Compiler options */ + options: CompilerOptions; + /** Project References */ + projectReferences?: ReadonlyArray; + } + /** + * Host to create watch with config file + */ + interface WatchCompilerHostOfConfigFile extends WatchCompilerHost, ConfigFileDiagnosticsReporter { + /** Name of the config file to compile */ + configFileName: string; + /** Options to extend */ + optionsToExtend?: CompilerOptions; + /** + * Used to generate source file names from the config file and its include, exclude, files rules + * and also to cache the directory stucture + */ + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + } + interface Watch { + /** Synchronize with host and get updated program */ + getProgram(): T; + } + /** + * Creates the watch what generates program using the config file + */ + interface WatchOfConfigFile extends Watch { + } + /** + * Creates the watch that generates program using the root files and compiler options + */ + interface WatchOfFilesAndCompilerOptions extends Watch { + /** Updates the root files in the program, only if this is not config file compilation */ + updateRootFileNames(fileNames: string[]): void; + } + /** + * Create the watch compiler host for either configFile or fileNames and its options + */ + function createWatchCompilerHost(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): WatchCompilerHostOfConfigFile; + function createWatchCompilerHost(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: ReadonlyArray): WatchCompilerHostOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for root files and compiler options + */ + function createWatchProgram(host: WatchCompilerHostOfFilesAndCompilerOptions): WatchOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for config file + */ + function createWatchProgram(host: WatchCompilerHostOfConfigFile): WatchOfConfigFile; +} +declare namespace ts.server { + type ActionSet = "action::set"; + type ActionInvalidate = "action::invalidate"; + type ActionPackageInstalled = "action::packageInstalled"; + type ActionValueInspected = "action::valueInspected"; + type EventTypesRegistry = "event::typesRegistry"; + type EventBeginInstallTypes = "event::beginInstallTypes"; + type EventEndInstallTypes = "event::endInstallTypes"; + type EventInitializationFailed = "event::initializationFailed"; + interface TypingInstallerResponse { + readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | ActionValueInspected | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed; + } + interface TypingInstallerRequestWithProjectName { + readonly projectName: string; + } + interface DiscoverTypings extends TypingInstallerRequestWithProjectName { + readonly fileNames: string[]; + readonly projectRootPath: Path; + readonly compilerOptions: CompilerOptions; + readonly typeAcquisition: TypeAcquisition; + readonly unresolvedImports: SortedReadonlyArray; + readonly cachePath?: string; + readonly kind: "discover"; + } + interface CloseProject extends TypingInstallerRequestWithProjectName { + readonly kind: "closeProject"; + } + interface TypesRegistryRequest { + readonly kind: "typesRegistry"; + } + interface InstallPackageRequest extends TypingInstallerRequestWithProjectName { + readonly kind: "installPackage"; + readonly fileName: Path; + readonly packageName: string; + readonly projectRootPath: Path; + } + interface PackageInstalledResponse extends ProjectResponse { + readonly kind: ActionPackageInstalled; + readonly success: boolean; + readonly message: string; + } + interface InitializationFailedResponse extends TypingInstallerResponse { + readonly kind: EventInitializationFailed; + readonly message: string; + } + interface ProjectResponse extends TypingInstallerResponse { + readonly projectName: string; + } + interface InvalidateCachedTypings extends ProjectResponse { + readonly kind: ActionInvalidate; + } + interface InstallTypes extends ProjectResponse { + readonly kind: EventBeginInstallTypes | EventEndInstallTypes; + readonly eventId: number; + readonly typingsInstallerVersion: string; + readonly packagesToInstall: ReadonlyArray; + } + interface BeginInstallTypes extends InstallTypes { + readonly kind: EventBeginInstallTypes; + } + interface EndInstallTypes extends InstallTypes { + readonly kind: EventEndInstallTypes; + readonly installSuccess: boolean; + } + interface SetTypings extends ProjectResponse { + readonly typeAcquisition: TypeAcquisition; + readonly compilerOptions: CompilerOptions; + readonly typings: string[]; + readonly unresolvedImports: SortedReadonlyArray; + readonly kind: ActionSet; + } +} +declare namespace ts { + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFileLike): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; + forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; + } + interface Identifier { + readonly text: string; + } + interface Symbol { + readonly name: string; + getFlags(): SymbolFlags; + getEscapedName(): __String; + getName(): string; + getDeclarations(): Declaration[] | undefined; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol | undefined; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol | undefined; + getApparentProperties(): Symbol[]; + getCallSignatures(): ReadonlyArray; + getConstructSignatures(): ReadonlyArray; + getStringIndexType(): Type | undefined; + getNumberIndexType(): Type | undefined; + getBaseTypes(): BaseType[] | undefined; + getNonNullableType(): Type; + getConstraint(): Type | undefined; + getDefault(): Type | undefined; + isUnion(): this is UnionType; + isIntersection(): this is IntersectionType; + isUnionOrIntersection(): this is UnionOrIntersectionType; + isLiteral(): this is LiteralType; + isStringLiteral(): this is StringLiteralType; + isNumberLiteral(): this is NumberLiteralType; + isTypeParameter(): this is TypeParameter; + isClassOrInterface(): this is InterfaceType; + isClass(): this is InterfaceType; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): TypeParameter[] | undefined; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineEndOfPosition(pos: number): number; + getLineStarts(): ReadonlyArray; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + interface SourceFileLike { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + interface SourceMapSource { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + namespace ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules?: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface InstallPackageOptions { + fileName: Path; + packageName: string; + } + interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getProjectReferences?(): ReadonlyArray | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile?(path: string, encoding?: string): string | undefined; + realpath?(path: string): string; + fileExists?(path: string): boolean; + getTypeRootsVersion?(): number; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getDirectories?(directoryName: string): string[]; + /** + * Gets a set of custom transformers to use during emit. + */ + getCustomTransformers?(): CustomTransformers | undefined; + isKnownTypesPackageName?(name: string): boolean; + installPackage?(options: InstallPackageOptions): Promise; + writeFile?(fileName: string, content: string): void; + } + type WithMetadata = T & { + metadata?: unknown; + }; + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReadonlyArray | undefined; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getImplementationAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getNavigationTree(fileName: string): NavigationTree; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; + toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; + getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; + applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise; + getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; + getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; + organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; + getProgram(): Program | undefined; + dispose(): void; + } + interface JsxClosingTagInfo { + readonly newText: string; + } + interface CombinedCodeFixScope { + type: "file"; + fileName: string; + } + type OrganizeImportsScope = CombinedCodeFixScope; + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + interface GetCompletionsAtPositionOptions extends UserPreferences { + /** + * If the editor is asking for completions because a certain character was typed + * (as opposed to when the user explicitly requested them) this should be set. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** @deprecated Use includeCompletionsForModuleExports */ + includeExternalModuleExports?: boolean; + /** @deprecated Use includeCompletionsWithInsertText */ + includeInsertTextCompletions?: boolean; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + interface SignatureHelpItemsOptions { + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + interface ApplyCodeActionCommandResult { + successMessage: string; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: ClassificationTypeNames; + } + /** + * Navigation bar interface designed for visual studio's dual-column layout. + * This does not form a proper tree. + * The navbar is returned as a list of top-level items, each of which has a list of child items. + * Child items always have an empty array for their `childItems`. + */ + interface NavigationBarItem { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + /** + * Node in a tree of nested declarations in a file. + * The top node is always a script or module node. + */ + interface NavigationTree { + /** Name of the declaration, or a short description, e.g. "". */ + text: string; + kind: ScriptElementKind; + /** ScriptElementKindModifier separated by commas, e.g. "public,abstract" */ + kindModifiers: string; + /** + * Spans of the nodes that generated this declaration. + * There will be more than one if this is the result of merging. + */ + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + /** Present if non-empty */ + childItems?: NavigationTree[]; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + interface TextChange { + span: TextSpan; + newText: string; + } + interface FileTextChanges { + fileName: string; + textChanges: TextChange[]; + isNewFile?: boolean; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileTextChanges[]; + /** + * If the user accepts the code fix, the editor should send the action back in a `applyAction` request. + * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix. + */ + commands?: CodeActionCommand[]; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + fixAllDescription?: string; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray; + } + type CodeActionCommand = InstallPackageAction | GenerateTypesAction; + interface InstallPackageAction { + } + interface GenerateTypesAction extends GenerateTypesOptions { + } + interface GenerateTypesOptions { + readonly file: string; + readonly fileToGenerateTypesFor: string; + readonly outputFileName: string; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + /** + * A set of edits to make in response to a refactor action, plus an optional + * location where renaming should be invoked from + */ + interface RefactorEditInfo { + edits: FileTextChanges[]; + renameFilename?: string; + renameLocation?: number; + commands?: CodeActionCommand[]; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface DocumentSpan { + textSpan: TextSpan; + fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; + } + interface RenameLocation extends DocumentSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface ReferenceEntry extends DocumentSpan { + isWriteAccess: boolean; + isDefinition: boolean; + isInString?: true; + } + interface ImplementationLocation extends DocumentSpan { + kind: ScriptElementKind; + displayParts: SymbolDisplayPart[]; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + interface HighlightSpan { + fileName?: string; + isInString?: true; + textSpan: TextSpan; + kind: HighlightSpanKind; + } + interface NavigateToItem { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + matchKind: "exact" | "prefix" | "substring" | "camelCase"; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: ScriptElementKind; + } + enum IndentStyle { + None = 0, + Block = 1, + Smart = 2 + } + interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterConstructor?: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + InsertSpaceAfterTypeAssertion?: boolean; + InsertSpaceBeforeFunctionParenthesis?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface FormatCodeSettings extends EditorSettings { + readonly insertSpaceAfterCommaDelimiter?: boolean; + readonly insertSpaceAfterSemicolonInForStatements?: boolean; + readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean; + readonly insertSpaceAfterConstructor?: boolean; + readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + readonly insertSpaceAfterTypeAssertion?: boolean; + readonly insertSpaceBeforeFunctionParenthesis?: boolean; + readonly placeOpenBraceOnNewLineForFunctions?: boolean; + readonly placeOpenBraceOnNewLineForControlBlocks?: boolean; + readonly insertSpaceBeforeTypeAnnotation?: boolean; + readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; + } + function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings; + interface DefinitionInfo extends DocumentSpan { + kind: ScriptElementKind; + name: string; + containerKind: ScriptElementKind; + containerName: string; + } + interface DefinitionInfoAndBoundSpan { + definitions?: ReadonlyArray; + textSpan: TextSpan; + } + interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21 + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface JSDocTagInfo { + name: string; + text?: string; + } + interface QuickInfo { + kind: ScriptElementKind; + kindModifiers: string; + textSpan: TextSpan; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + } + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + displayName: string; + fullDisplayName: string; + kind: ScriptElementKind; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + localizedErrorMessage: string; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + tags: JSDocTagInfo[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + /** Not true for all glboal completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ + isGlobalCompletion: boolean; + isMemberCompletion: boolean; + /** + * true when the current location also allows for a new identifier + */ + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: ScriptElementKind; + kindModifiers?: string; + sortText: string; + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + hasAction?: true; + source?: string; + isRecommended?: true; + } + interface CompletionEntryDetails { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + codeActions?: CodeAction[]; + source?: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2 + } + enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6 + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + BigIntLiteral = 7, + StringLiteral = 8, + RegExpLiteral = 9 + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + enum ScriptElementKindModifier { + none = "", + publicMemberModifier = "public", + privateMemberModifier = "private", + protectedMemberModifier = "protected", + exportedModifier = "export", + ambientModifier = "declare", + staticModifier = "static", + abstractModifier = "abstract", + optionalModifier = "optional", + dtsModifier = ".d.ts", + tsModifier = ".ts", + tsxModifier = ".tsx", + jsModifier = ".js", + jsxModifier = ".jsx", + jsonModifier = ".json" + } + enum ClassificationTypeNames { + comment = "comment", + identifier = "identifier", + keyword = "keyword", + numericLiteral = "number", + bigintLiteral = "bigint", + operator = "operator", + stringLiteral = "string", + whiteSpace = "whitespace", + text = "text", + punctuation = "punctuation", + className = "class name", + enumName = "enum name", + interfaceName = "interface name", + moduleName = "module name", + typeParameterName = "type parameter name", + typeAliasName = "type alias name", + parameterName = "parameter name", + docCommentTagName = "doc comment tag name", + jsxOpenTagName = "jsx open tag name", + jsxCloseTagName = "jsx close tag name", + jsxSelfClosingTagName = "jsx self closing tag name", + jsxAttribute = "jsx attribute", + jsxText = "jsx text", + jsxAttributeStringLiteralValue = "jsx attribute string literal value" + } + enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + bigintLiteral = 25 + } +} +declare namespace ts { + function createClassifier(): Classifier; +} +declare namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @param version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + reportStats(): string; + } + type DocumentRegistryBucketKey = string & { + __bucketKey: any; + }; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string): DocumentRegistry; +} +declare namespace ts { + function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; +} +declare namespace ts { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + transformers?: CustomTransformers; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; +} +declare namespace ts { + function generateTypesForModule(name: string, moduleValue: unknown, formatSettings: FormatCodeSettings): string; + function generateTypesForGlobal(name: string, globalValue: unknown, formatSettings: FormatCodeSettings): string; +} +declare namespace ts { + /** The version of the language service API */ + const servicesVersion = "0.8"; + function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; + function getDefaultCompilerOptions(): CompilerOptions; + function getSupportedCodeFixes(): string[]; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} +declare namespace ts { + /** + * Transform one or more nodes using the supplied transformers. + * @param source A single `Node` or an array of `Node` objects. + * @param transformers An array of `TransformerFactory` callbacks used to process the transformation. + * @param compilerOptions Optional compiler options. + */ + function transform(source: T | T[], transformers: TransformerFactory[], compilerOptions?: CompilerOptions): TransformationResult; +} +declare namespace ts.server { + interface CompressedData { + length: number; + compressionKind: string; + data: any; + } + type RequireResult = { + module: {}; + error: undefined; + } | { + module: undefined; + error: { + stack?: string; + message?: string; + }; + }; + interface ServerHost extends System { + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout(timeoutId: any): void; + setImmediate(callback: (...args: any[]) => void, ...args: any[]): any; + clearImmediate(timeoutId: any): void; + gc?(): void; + trace?(s: string): void; + require?(initialPath: string, moduleName: string): RequireResult; + } +} +declare namespace ts.server { + enum LogLevel { + terse = 0, + normal = 1, + requestTime = 2, + verbose = 3 + } + const emptyArray: SortedReadonlyArray; + interface Logger { + close(): void; + hasLevel(level: LogLevel): boolean; + loggingEnabled(): boolean; + perftrc(s: string): void; + info(s: string): void; + startGroup(): void; + endGroup(): void; + msg(s: string, type?: Msg): void; + getLogFileName(): string | undefined; + } + enum Msg { + Err = "Err", + Info = "Info", + Perf = "Perf" + } + namespace Msg { + /** @deprecated Only here for backwards-compatibility. Prefer just `Msg`. */ + type Types = Msg; + } + function createInstallTypingsRequest(project: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray, cachePath?: string): DiscoverTypings; + namespace Errors { + function ThrowNoProject(): never; + function ThrowProjectLanguageServiceDisabled(): never; + function ThrowProjectDoesNotContainDocument(fileName: string, project: Project): never; + } + type NormalizedPath = string & { + __normalizedPathTag: any; + }; + function toNormalizedPath(fileName: string): NormalizedPath; + function normalizedPathToPath(normalizedPath: NormalizedPath, currentDirectory: string, getCanonicalFileName: (f: string) => string): Path; + function asNormalizedPath(fileName: string): NormalizedPath; + interface NormalizedPathMap { + get(path: NormalizedPath): T | undefined; + set(path: NormalizedPath, value: T): void; + contains(path: NormalizedPath): boolean; + remove(path: NormalizedPath): void; + } + function createNormalizedPathMap(): NormalizedPathMap; + function isInferredProjectName(name: string): boolean; + function makeInferredProjectName(counter: number): string; + function createSortedArray(): SortedArray; +} +/** + * Declaration module describing the TypeScript Server protocol + */ +declare namespace ts.server.protocol { + enum CommandTypes { + JsxClosingTag = "jsxClosingTag", + Brace = "brace", + BraceCompletion = "braceCompletion", + GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", + Change = "change", + Close = "close", + /** @deprecated Prefer CompletionInfo -- see comment on CompletionsResponse */ + Completions = "completions", + CompletionInfo = "completionInfo", + CompletionDetails = "completionEntryDetails", + CompileOnSaveAffectedFileList = "compileOnSaveAffectedFileList", + CompileOnSaveEmitFile = "compileOnSaveEmitFile", + Configure = "configure", + Definition = "definition", + DefinitionAndBoundSpan = "definitionAndBoundSpan", + Implementation = "implementation", + Exit = "exit", + Format = "format", + Formatonkey = "formatonkey", + Geterr = "geterr", + GeterrForProject = "geterrForProject", + SemanticDiagnosticsSync = "semanticDiagnosticsSync", + SyntacticDiagnosticsSync = "syntacticDiagnosticsSync", + SuggestionDiagnosticsSync = "suggestionDiagnosticsSync", + NavBar = "navbar", + Navto = "navto", + NavTree = "navtree", + NavTreeFull = "navtree-full", + /** @deprecated */ + Occurrences = "occurrences", + DocumentHighlights = "documentHighlights", + Open = "open", + Quickinfo = "quickinfo", + References = "references", + Reload = "reload", + Rename = "rename", + Saveto = "saveto", + SignatureHelp = "signatureHelp", + Status = "status", + TypeDefinition = "typeDefinition", + ProjectInfo = "projectInfo", + ReloadProjects = "reloadProjects", + Unknown = "unknown", + OpenExternalProject = "openExternalProject", + OpenExternalProjects = "openExternalProjects", + CloseExternalProject = "closeExternalProject", + GetOutliningSpans = "getOutliningSpans", + TodoComments = "todoComments", + Indentation = "indentation", + DocCommentTemplate = "docCommentTemplate", + CompilerOptionsForInferredProjects = "compilerOptionsForInferredProjects", + GetCodeFixes = "getCodeFixes", + GetCombinedCodeFix = "getCombinedCodeFix", + ApplyCodeActionCommand = "applyCodeActionCommand", + GetSupportedCodeFixes = "getSupportedCodeFixes", + GetApplicableRefactors = "getApplicableRefactors", + GetEditsForRefactor = "getEditsForRefactor", + OrganizeImports = "organizeImports", + GetEditsForFileRename = "getEditsForFileRename", + ConfigurePlugin = "configurePlugin" + } + /** + * A TypeScript Server message + */ + interface Message { + /** + * Sequence number of the message + */ + seq: number; + /** + * One of "request", "response", or "event" + */ + type: "request" | "response" | "event"; + } + /** + * Client-initiated request message + */ + interface Request extends Message { + type: "request"; + /** + * The command to execute + */ + command: string; + /** + * Object containing arguments for the command + */ + arguments?: any; + } + /** + * Request to reload the project structure for all the opened files + */ + interface ReloadProjectsRequest extends Message { + command: CommandTypes.ReloadProjects; + } + /** + * Server-initiated event message + */ + interface Event extends Message { + type: "event"; + /** + * Name of event + */ + event: string; + /** + * Event-specific information + */ + body?: any; + } + /** + * Response by server to client request message. + */ + interface Response extends Message { + type: "response"; + /** + * Sequence number of the request message. + */ + request_seq: number; + /** + * Outcome of the request. + */ + success: boolean; + /** + * The command requested. + */ + command: string; + /** + * If success === false, this should always be provided. + * Otherwise, may (or may not) contain a success message. + */ + message?: string; + /** + * Contains message body if success === true. + */ + body?: any; + /** + * Contains extra information that plugin can include to be passed on + */ + metadata?: unknown; + } + /** + * Arguments for FileRequest messages. + */ + interface FileRequestArgs { + /** + * The file for the request (absolute pathname required). + */ + file: string; + projectFileName?: string; + } + interface StatusRequest extends Request { + command: CommandTypes.Status; + } + interface StatusResponseBody { + /** + * The TypeScript version (`ts.version`). + */ + version: string; + } + /** + * Response to StatusRequest + */ + interface StatusResponse extends Response { + body: StatusResponseBody; + } + /** + * Requests a JS Doc comment template for a given position + */ + interface DocCommentTemplateRequest extends FileLocationRequest { + command: CommandTypes.DocCommentTemplate; + } + /** + * Response to DocCommentTemplateRequest + */ + interface DocCommandTemplateResponse extends Response { + body?: TextInsertion; + } + /** + * A request to get TODO comments from the file + */ + interface TodoCommentRequest extends FileRequest { + command: CommandTypes.TodoComments; + arguments: TodoCommentRequestArgs; + } + /** + * Arguments for TodoCommentRequest request. + */ + interface TodoCommentRequestArgs extends FileRequestArgs { + /** + * Array of target TodoCommentDescriptors that describes TODO comments to be found + */ + descriptors: TodoCommentDescriptor[]; + } + /** + * Response for TodoCommentRequest request. + */ + interface TodoCommentsResponse extends Response { + body?: TodoComment[]; + } + /** + * A request to determine if the caret is inside a comment. + */ + interface SpanOfEnclosingCommentRequest extends FileLocationRequest { + command: CommandTypes.GetSpanOfEnclosingComment; + arguments: SpanOfEnclosingCommentRequestArgs; + } + interface SpanOfEnclosingCommentRequestArgs extends FileLocationRequestArgs { + /** + * Requires that the enclosing span be a multi-line comment, or else the request returns undefined. + */ + onlyMultiLine: boolean; + } + /** + * Request to obtain outlining spans in file. + */ + interface OutliningSpansRequest extends FileRequest { + command: CommandTypes.GetOutliningSpans; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + /** + * Response to OutliningSpansRequest request. + */ + interface OutliningSpansResponse extends Response { + body?: OutliningSpan[]; + } + /** + * A request to get indentation for a location in file + */ + interface IndentationRequest extends FileLocationRequest { + command: CommandTypes.Indentation; + arguments: IndentationRequestArgs; + } + /** + * Response for IndentationRequest request. + */ + interface IndentationResponse extends Response { + body?: IndentationResult; + } + /** + * Indentation result representing where indentation should be placed + */ + interface IndentationResult { + /** + * The base position in the document that the indent should be relative to + */ + position: number; + /** + * The number of columns the indent should be at relative to the position's column. + */ + indentation: number; + } + /** + * Arguments for IndentationRequest request. + */ + interface IndentationRequestArgs extends FileLocationRequestArgs { + /** + * An optional set of settings to be used when computing indentation. + * If argument is omitted - then it will use settings for file that were previously set via 'configure' request or global settings. + */ + options?: EditorSettings; + } + /** + * Arguments for ProjectInfoRequest request. + */ + interface ProjectInfoRequestArgs extends FileRequestArgs { + /** + * Indicate if the file name list of the project is needed + */ + needFileNameList: boolean; + } + /** + * A request to get the project information of the current file. + */ + interface ProjectInfoRequest extends Request { + command: CommandTypes.ProjectInfo; + arguments: ProjectInfoRequestArgs; + } + /** + * A request to retrieve compiler options diagnostics for a project + */ + interface CompilerOptionsDiagnosticsRequest extends Request { + arguments: CompilerOptionsDiagnosticsRequestArgs; + } + /** + * Arguments for CompilerOptionsDiagnosticsRequest request. + */ + interface CompilerOptionsDiagnosticsRequestArgs { + /** + * Name of the project to retrieve compiler options diagnostics. + */ + projectFileName: string; + } + /** + * Response message body for "projectInfo" request + */ + interface ProjectInfo { + /** + * For configured project, this is the normalized path of the 'tsconfig.json' file + * For inferred project, this is undefined + */ + configFileName: string; + /** + * The list of normalized file name in the project, including 'lib.d.ts' + */ + fileNames?: string[]; + /** + * Indicates if the project has a active language service instance + */ + languageServiceDisabled?: boolean; + } + /** + * Represents diagnostic info that includes location of diagnostic in two forms + * - start position and length of the error span + * - startLocation and endLocation - a pair of Location objects that store start/end line and offset of the error span. + */ + interface DiagnosticWithLinePosition { + message: string; + start: number; + length: number; + startLocation: Location; + endLocation: Location; + category: string; + code: number; + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + relatedInformation?: DiagnosticRelatedInformation[]; + } + /** + * Response message for "projectInfo" request + */ + interface ProjectInfoResponse extends Response { + body?: ProjectInfo; + } + /** + * Request whose sole parameter is a file name. + */ + interface FileRequest extends Request { + arguments: FileRequestArgs; + } + /** + * Instances of this interface specify a location in a source file: + * (file, line, character offset), where line and character offset are 1-based. + */ + interface FileLocationRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + line: number; + /** + * The character offset (on the line) for the request (1-based). + */ + offset: number; + } + type FileLocationOrRangeRequestArgs = FileLocationRequestArgs | FileRangeRequestArgs; + /** + * Request refactorings at a given position or selection area. + */ + interface GetApplicableRefactorsRequest extends Request { + command: CommandTypes.GetApplicableRefactors; + arguments: GetApplicableRefactorsRequestArgs; + } + type GetApplicableRefactorsRequestArgs = FileLocationOrRangeRequestArgs; + /** + * Response is a list of available refactorings. + * Each refactoring exposes one or more "Actions"; a user selects one action to invoke a refactoring + */ + interface GetApplicableRefactorsResponse extends Response { + body?: ApplicableRefactorInfo[]; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + interface GetEditsForRefactorRequest extends Request { + command: CommandTypes.GetEditsForRefactor; + arguments: GetEditsForRefactorRequestArgs; + } + /** + * Request the edits that a particular refactoring action produces. + * Callers must specify the name of the refactor and the name of the action. + */ + type GetEditsForRefactorRequestArgs = FileLocationOrRangeRequestArgs & { + refactor: string; + action: string; + }; + interface GetEditsForRefactorResponse extends Response { + body?: RefactorEditInfo; + } + interface RefactorEditInfo { + edits: FileCodeEdits[]; + /** + * An optional location where the editor should start a rename operation once + * the refactoring edits have been applied + */ + renameLocation?: Location; + renameFilename?: string; + } + /** + * Organize imports by: + * 1) Removing unused imports + * 2) Coalescing imports from the same module + * 3) Sorting imports + */ + interface OrganizeImportsRequest extends Request { + command: CommandTypes.OrganizeImports; + arguments: OrganizeImportsRequestArgs; + } + type OrganizeImportsScope = GetCombinedCodeFixScope; + interface OrganizeImportsRequestArgs { + scope: OrganizeImportsScope; + } + interface OrganizeImportsResponse extends Response { + body: ReadonlyArray; + } + interface GetEditsForFileRenameRequest extends Request { + command: CommandTypes.GetEditsForFileRename; + arguments: GetEditsForFileRenameRequestArgs; + } + /** Note: Paths may also be directories. */ + interface GetEditsForFileRenameRequestArgs { + readonly oldFilePath: string; + readonly newFilePath: string; + } + interface GetEditsForFileRenameResponse extends Response { + body: ReadonlyArray; + } + /** + * Request for the available codefixes at a specific position. + */ + interface CodeFixRequest extends Request { + command: CommandTypes.GetCodeFixes; + arguments: CodeFixRequestArgs; + } + interface GetCombinedCodeFixRequest extends Request { + command: CommandTypes.GetCombinedCodeFix; + arguments: GetCombinedCodeFixRequestArgs; + } + interface GetCombinedCodeFixResponse extends Response { + body: CombinedCodeActions; + } + interface ApplyCodeActionCommandRequest extends Request { + command: CommandTypes.ApplyCodeActionCommand; + arguments: ApplyCodeActionCommandRequestArgs; + } + interface ApplyCodeActionCommandResponse extends Response { + } + interface FileRangeRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + startLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + startOffset: number; + /** + * The line number for the request (1-based). + */ + endLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + endOffset: number; + } + /** + * Instances of this interface specify errorcodes on a specific location in a sourcefile. + */ + interface CodeFixRequestArgs extends FileRangeRequestArgs { + /** + * Errorcodes we want to get the fixes for. + */ + errorCodes: ReadonlyArray; + } + interface GetCombinedCodeFixRequestArgs { + scope: GetCombinedCodeFixScope; + fixId: {}; + } + interface GetCombinedCodeFixScope { + type: "file"; + args: FileRequestArgs; + } + interface ApplyCodeActionCommandRequestArgs { + /** May also be an array of commands. */ + command: {}; + } + /** + * Response for GetCodeFixes request. + */ + interface GetCodeFixesResponse extends Response { + body?: CodeAction[]; + } + /** + * A request whose arguments specify a file location (file, line, col). + */ + interface FileLocationRequest extends FileRequest { + arguments: FileLocationRequestArgs; + } + /** + * A request to get codes of supported code fixes. + */ + interface GetSupportedCodeFixesRequest extends Request { + command: CommandTypes.GetSupportedCodeFixes; + } + /** + * A response for GetSupportedCodeFixesRequest request. + */ + interface GetSupportedCodeFixesResponse extends Response { + /** + * List of error codes supported by the server. + */ + body?: string[]; + } + /** + * Arguments for EncodedSemanticClassificationsRequest request. + */ + interface EncodedSemanticClassificationsRequestArgs extends FileRequestArgs { + /** + * Start position of the span. + */ + start: number; + /** + * Length of the span. + */ + length: number; + } + /** + * Arguments in document highlight request; include: filesToSearch, file, + * line, offset. + */ + interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs { + /** + * List of files to search for document highlights. + */ + filesToSearch: string[]; + } + /** + * Go to definition request; value of command field is + * "definition". Return response giving the file locations that + * define the symbol found in file at location line, col. + */ + interface DefinitionRequest extends FileLocationRequest { + command: CommandTypes.Definition; + } + interface DefinitionAndBoundSpanRequest extends FileLocationRequest { + readonly command: CommandTypes.DefinitionAndBoundSpan; + } + interface DefinitionAndBoundSpanResponse extends Response { + readonly body: DefinitionInfoAndBoundSpan; + } + /** + * Go to type request; value of command field is + * "typeDefinition". Return response giving the file locations that + * define the type for the symbol found in file at location line, col. + */ + interface TypeDefinitionRequest extends FileLocationRequest { + command: CommandTypes.TypeDefinition; + } + /** + * Go to implementation request; value of command field is + * "implementation". Return response giving the file locations that + * implement the symbol found in file at location line, col. + */ + interface ImplementationRequest extends FileLocationRequest { + command: CommandTypes.Implementation; + } + /** + * Location in source code expressed as (one-based) line and (one-based) column offset. + */ + interface Location { + line: number; + offset: number; + } + /** + * Object found in response messages defining a span of text in source code. + */ + interface TextSpan { + /** + * First character of the definition. + */ + start: Location; + /** + * One character past last character of the definition. + */ + end: Location; + } + /** + * Object found in response messages defining a span of text in a specific source file. + */ + interface FileSpan extends TextSpan { + /** + * File containing text span. + */ + file: string; + } + interface DefinitionInfoAndBoundSpan { + definitions: ReadonlyArray; + textSpan: TextSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface DefinitionResponse extends Response { + body?: FileSpan[]; + } + interface DefinitionInfoAndBoundSpanReponse extends Response { + body?: DefinitionInfoAndBoundSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface TypeDefinitionResponse extends Response { + body?: FileSpan[]; + } + /** + * Implementation response message. Gives text range for implementations. + */ + interface ImplementationResponse extends Response { + body?: FileSpan[]; + } + /** + * Request to get brace completion for a location in the file. + */ + interface BraceCompletionRequest extends FileLocationRequest { + command: CommandTypes.BraceCompletion; + arguments: BraceCompletionRequestArgs; + } + /** + * Argument for BraceCompletionRequest request. + */ + interface BraceCompletionRequestArgs extends FileLocationRequestArgs { + /** + * Kind of opening brace + */ + openingBrace: string; + } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } + /** + * @deprecated + * Get occurrences request; value of command field is + * "occurrences". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface OccurrencesRequest extends FileLocationRequest { + command: CommandTypes.Occurrences; + } + /** @deprecated */ + interface OccurrencesResponseItem extends FileSpan { + /** + * True if the occurrence is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if the occurrence is in a string, undefined otherwise; + */ + isInString?: true; + } + /** @deprecated */ + interface OccurrencesResponse extends Response { + body?: OccurrencesResponseItem[]; + } + /** + * Get document highlights request; value of command field is + * "documentHighlights". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface DocumentHighlightsRequest extends FileLocationRequest { + command: CommandTypes.DocumentHighlights; + arguments: DocumentHighlightsRequestArgs; + } + /** + * Span augmented with extra information that denotes the kind of the highlighting to be used for span. + */ + interface HighlightSpan extends TextSpan { + kind: HighlightSpanKind; + } + /** + * Represents a set of highligh spans for a give name + */ + interface DocumentHighlightsItem { + /** + * File containing highlight spans. + */ + file: string; + /** + * Spans to highlight in file. + */ + highlightSpans: HighlightSpan[]; + } + /** + * Response for a DocumentHighlightsRequest request. + */ + interface DocumentHighlightsResponse extends Response { + body?: DocumentHighlightsItem[]; + } + /** + * Find references request; value of command field is + * "references". Return response giving the file locations that + * reference the symbol found in file at location line, col. + */ + interface ReferencesRequest extends FileLocationRequest { + command: CommandTypes.References; + } + interface ReferencesResponseItem extends FileSpan { + /** Text of line containing the reference. Including this + * with the response avoids latency of editor loading files + * to show text of reference line (the server already has + * loaded the referencing files). + */ + lineText: string; + /** + * True if reference is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if reference is a definition, false otherwise. + */ + isDefinition: boolean; + } + /** + * The body of a "references" response message. + */ + interface ReferencesResponseBody { + /** + * The file locations referencing the symbol. + */ + refs: ReadonlyArray; + /** + * The name of the symbol. + */ + symbolName: string; + /** + * The start character offset of the symbol (on the line provided by the references request). + */ + symbolStartOffset: number; + /** + * The full display name of the symbol. + */ + symbolDisplayString: string; + } + /** + * Response to "references" request. + */ + interface ReferencesResponse extends Response { + body?: ReferencesResponseBody; + } + /** + * Argument for RenameRequest request. + */ + interface RenameRequestArgs extends FileLocationRequestArgs { + /** + * Should text at specified location be found/changed in comments? + */ + findInComments?: boolean; + /** + * Should text at specified location be found/changed in strings? + */ + findInStrings?: boolean; + } + /** + * Rename request; value of command field is "rename". Return + * response giving the file locations that reference the symbol + * found in file at location line, col. Also return full display + * name of the symbol so that client can print it unambiguously. + */ + interface RenameRequest extends FileLocationRequest { + command: CommandTypes.Rename; + arguments: RenameRequestArgs; + } + /** + * Information about the item to be renamed. + */ + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + /** + * True if item can be renamed. + */ + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + /** + * Display name of the item to be renamed. + */ + displayName: string; + /** + * Full display name of item to be renamed. + */ + fullDisplayName: string; + /** + * The items's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** Span of text to rename. */ + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + /** + * Error message if item can not be renamed. + */ + localizedErrorMessage: string; + } + /** + * A group of text spans, all in 'file'. + */ + interface SpanGroup { + /** The file to which the spans apply */ + file: string; + /** The text spans in this group */ + locs: RenameTextSpan[]; + } + interface RenameTextSpan extends TextSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface RenameResponseBody { + /** + * Information about the item to be renamed. + */ + info: RenameInfo; + /** + * An array of span groups (one per file) that refer to the item to be renamed. + */ + locs: ReadonlyArray; + } + /** + * Rename response message. + */ + interface RenameResponse extends Response { + body?: RenameResponseBody; + } + /** + * Represents a file in external project. + * External project is project whose set of files, compilation options and open\close state + * is maintained by the client (i.e. if all this data come from .csproj file in Visual Studio). + * External project will exist even if all files in it are closed and should be closed explicitly. + * If external project includes one or more tsconfig.json/jsconfig.json files then tsserver will + * create configured project for every config file but will maintain a link that these projects were created + * as a result of opening external project so they should be removed once external project is closed. + */ + interface ExternalFile { + /** + * Name of file file + */ + fileName: string; + /** + * Script kind of the file + */ + scriptKind?: ScriptKindName | ts.ScriptKind; + /** + * Whether file has mixed content (i.e. .cshtml file that combines html markup with C#/JavaScript) + */ + hasMixedContent?: boolean; + /** + * Content of the file + */ + content?: string; + } + /** + * Represent an external project + */ + interface ExternalProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of root files in project + */ + rootFiles: ExternalFile[]; + /** + * Compiler options for the project + */ + options: ExternalProjectCompilerOptions; + /** + * @deprecated typingOptions. Use typeAcquisition instead + */ + typingOptions?: TypeAcquisition; + /** + * Explicitly specified type acquisition for the project + */ + typeAcquisition?: TypeAcquisition; + } + interface CompileOnSaveMixin { + /** + * If compile on save is enabled for the project + */ + compileOnSave?: boolean; + } + /** + * For external projects, some of the project settings are sent together with + * compiler settings. + */ + type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin; + /** + * Represents a set of changes that happen in project + */ + interface ProjectChanges { + /** + * List of added files + */ + added: string[]; + /** + * List of removed files + */ + removed: string[]; + /** + * List of updated files + */ + updated: string[]; + } + /** + * Information found in a configure request. + */ + interface ConfigureRequestArguments { + /** + * Information about the host, for example 'Emacs 24.4' or + * 'Sublime Text version 3075' + */ + hostInfo?: string; + /** + * If present, tab settings apply only to this file. + */ + file?: string; + /** + * The format options to use during formatting and other code editing features. + */ + formatOptions?: FormatCodeSettings; + preferences?: UserPreferences; + /** + * The host's additional supported .js file extensions + */ + extraFileExtensions?: FileExtensionInfo[]; + } + /** + * Configure request; value of command field is "configure". Specifies + * host information, such as host type, tab size, and indent size. + */ + interface ConfigureRequest extends Request { + command: CommandTypes.Configure; + arguments: ConfigureRequestArguments; + } + /** + * Response to "configure" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ConfigureResponse extends Response { + } + interface ConfigurePluginRequestArguments { + pluginName: string; + configuration: any; + } + interface ConfigurePluginRequest extends Request { + command: CommandTypes.ConfigurePlugin; + arguments: ConfigurePluginRequestArguments; + } + /** + * Information found in an "open" request. + */ + interface OpenRequestArgs extends FileRequestArgs { + /** + * Used when a version of the file content is known to be more up to date than the one on disk. + * Then the known content will be used upon opening instead of the disk copy + */ + fileContent?: string; + /** + * Used to specify the script kind of the file explicitly. It could be one of the following: + * "TS", "JS", "TSX", "JSX" + */ + scriptKindName?: ScriptKindName; + /** + * Used to limit the searching for project config file. If given the searching will stop at this + * root path; otherwise it will go all the way up to the dist root path. + */ + projectRootPath?: string; + } + type ScriptKindName = "TS" | "JS" | "TSX" | "JSX"; + /** + * Open request; value of command field is "open". Notify the + * server that the client has file open. The server will not + * monitor the filesystem for changes in this file and will assume + * that the client is updating the server (using the change and/or + * reload messages) when the file changes. Server does not currently + * send a response to an open request. + */ + interface OpenRequest extends Request { + command: CommandTypes.Open; + arguments: OpenRequestArgs; + } + /** + * Request to open or update external project + */ + interface OpenExternalProjectRequest extends Request { + command: CommandTypes.OpenExternalProject; + arguments: OpenExternalProjectArgs; + } + /** + * Arguments to OpenExternalProjectRequest request + */ + type OpenExternalProjectArgs = ExternalProject; + /** + * Request to open multiple external projects + */ + interface OpenExternalProjectsRequest extends Request { + command: CommandTypes.OpenExternalProjects; + arguments: OpenExternalProjectsArgs; + } + /** + * Arguments to OpenExternalProjectsRequest + */ + interface OpenExternalProjectsArgs { + /** + * List of external projects to open or update + */ + projects: ExternalProject[]; + } + /** + * Response to OpenExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectResponse extends Response { + } + /** + * Response to OpenExternalProjectsRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectsResponse extends Response { + } + /** + * Request to close external project. + */ + interface CloseExternalProjectRequest extends Request { + command: CommandTypes.CloseExternalProject; + arguments: CloseExternalProjectRequestArgs; + } + /** + * Arguments to CloseExternalProjectRequest request + */ + interface CloseExternalProjectRequestArgs { + /** + * Name of the project to close + */ + projectFileName: string; + } + /** + * Response to CloseExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface CloseExternalProjectResponse extends Response { + } + /** + * Request to set compiler options for inferred projects. + * External projects are opened / closed explicitly. + * Configured projects are opened when user opens loose file that has 'tsconfig.json' or 'jsconfig.json' anywhere in one of containing folders. + * This configuration file will be used to obtain a list of files and configuration settings for the project. + * Inferred projects are created when user opens a loose file that is not the part of external project + * or configured project and will contain only open file and transitive closure of referenced files if 'useOneInferredProject' is false, + * or all open loose files and its transitive closure of referenced files if 'useOneInferredProject' is true. + */ + interface SetCompilerOptionsForInferredProjectsRequest extends Request { + command: CommandTypes.CompilerOptionsForInferredProjects; + arguments: SetCompilerOptionsForInferredProjectsArgs; + } + /** + * Argument for SetCompilerOptionsForInferredProjectsRequest request. + */ + interface SetCompilerOptionsForInferredProjectsArgs { + /** + * Compiler options to be used with inferred projects. + */ + options: ExternalProjectCompilerOptions; + /** + * Specifies the project root path used to scope compiler options. + * It is an error to provide this property if the server has not been started with + * `useInferredProjectPerProjectRoot` enabled. + */ + projectRootPath?: string; + } + /** + * Response to SetCompilerOptionsForInferredProjectsResponse request. This is just an acknowledgement, so + * no body field is required. + */ + interface SetCompilerOptionsForInferredProjectsResponse extends Response { + } + /** + * Exit request; value of command field is "exit". Ask the server process + * to exit. + */ + interface ExitRequest extends Request { + command: CommandTypes.Exit; + } + /** + * Close request; value of command field is "close". Notify the + * server that the client has closed a previously open file. If + * file is still referenced by open files, the server will resume + * monitoring the filesystem for changes to file. Server does not + * currently send a response to a close request. + */ + interface CloseRequest extends FileRequest { + command: CommandTypes.Close; + } + /** + * Request to obtain the list of files that should be regenerated if target file is recompiled. + * NOTE: this us query-only operation and does not generate any output on disk. + */ + interface CompileOnSaveAffectedFileListRequest extends FileRequest { + command: CommandTypes.CompileOnSaveAffectedFileList; + } + /** + * Contains a list of files that should be regenerated in a project + */ + interface CompileOnSaveAffectedFileListSingleProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of files names that should be recompiled + */ + fileNames: string[]; + /** + * true if project uses outFile or out compiler option + */ + projectUsesOutFile: boolean; + } + /** + * Response for CompileOnSaveAffectedFileListRequest request; + */ + interface CompileOnSaveAffectedFileListResponse extends Response { + body: CompileOnSaveAffectedFileListSingleProject[]; + } + /** + * Request to recompile the file. All generated outputs (.js, .d.ts or .js.map files) is written on disk. + */ + interface CompileOnSaveEmitFileRequest extends FileRequest { + command: CommandTypes.CompileOnSaveEmitFile; + arguments: CompileOnSaveEmitFileRequestArgs; + } + /** + * Arguments for CompileOnSaveEmitFileRequest + */ + interface CompileOnSaveEmitFileRequestArgs extends FileRequestArgs { + /** + * if true - then file should be recompiled even if it does not have any changes. + */ + forced?: boolean; + } + /** + * Quickinfo request; value of command field is + * "quickinfo". Return response giving a quick type and + * documentation string for the symbol found in file at location + * line, col. + */ + interface QuickInfoRequest extends FileLocationRequest { + command: CommandTypes.Quickinfo; + } + /** + * Body of QuickInfoResponse. + */ + interface QuickInfoResponseBody { + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Starting file location of symbol. + */ + start: Location; + /** + * One past last character of symbol. + */ + end: Location; + /** + * Type and kind of symbol. + */ + displayString: string; + /** + * Documentation associated with symbol. + */ + documentation: string; + /** + * JSDoc tags associated with symbol. + */ + tags: JSDocTagInfo[]; + } + /** + * Quickinfo response message. + */ + interface QuickInfoResponse extends Response { + body?: QuickInfoResponseBody; + } + /** + * Arguments for format messages. + */ + interface FormatRequestArgs extends FileLocationRequestArgs { + /** + * Last line of range for which to format text in file. + */ + endLine: number; + /** + * Character offset on last line of range for which to format text in file. + */ + endOffset: number; + /** + * Format options to be used. + */ + options?: FormatCodeSettings; + } + /** + * Format request; value of command field is "format". Return + * response giving zero or more edit instructions. The edit + * instructions will be sorted in file order. Applying the edit + * instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatRequest extends FileLocationRequest { + command: CommandTypes.Format; + arguments: FormatRequestArgs; + } + /** + * Object found in response messages defining an editing + * instruction for a span of text in source code. The effect of + * this instruction is to replace the text starting at start and + * ending one character before end with newText. For an insertion, + * the text span is empty. For a deletion, newText is empty. + */ + interface CodeEdit { + /** + * First character of the text span to edit. + */ + start: Location; + /** + * One character past last character of the text span to edit. + */ + end: Location; + /** + * Replace the span defined above with this string (may be + * the empty string). + */ + newText: string; + } + interface FileCodeEdits { + fileName: string; + textChanges: CodeEdit[]; + } + interface CodeFixResponse extends Response { + /** The code actions that are available */ + body?: CodeFixAction[]; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileCodeEdits[]; + /** A command is an opaque object that should be passed to `ApplyCodeActionCommandRequestArgs` without modification. */ + commands?: {}[]; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray<{}>; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + /** Should be present if and only if 'fixId' is. */ + fixAllDescription?: string; + } + /** + * Format and format on key response message. + */ + interface FormatResponse extends Response { + body?: CodeEdit[]; + } + /** + * Arguments for format on key messages. + */ + interface FormatOnKeyRequestArgs extends FileLocationRequestArgs { + /** + * Key pressed (';', '\n', or '}'). + */ + key: string; + options?: FormatCodeSettings; + } + /** + * Format on key request; value of command field is + * "formatonkey". Given file location and key typed (as string), + * return response giving zero or more edit instructions. The + * edit instructions will be sorted in file order. Applying the + * edit instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatOnKeyRequest extends FileLocationRequest { + command: CommandTypes.Formatonkey; + arguments: FormatOnKeyRequestArgs; + } + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + /** + * Arguments for completions messages. + */ + interface CompletionsRequestArgs extends FileLocationRequestArgs { + /** + * Optional prefix to apply to possible completions. + */ + prefix?: string; + /** + * Character that was responsible for triggering completion. + * Should be `undefined` if a user manually requested completion. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** + * @deprecated Use UserPreferences.includeCompletionsForModuleExports + */ + includeExternalModuleExports?: boolean; + /** + * @deprecated Use UserPreferences.includeCompletionsWithInsertText + */ + includeInsertTextCompletions?: boolean; + } + /** + * Completions request; value of command field is "completions". + * Given a file location (file, line, col) and a prefix (which may + * be the empty string), return the possible completions that + * begin with prefix. + */ + interface CompletionsRequest extends FileLocationRequest { + command: CommandTypes.Completions | CommandTypes.CompletionInfo; + arguments: CompletionsRequestArgs; + } + /** + * Arguments for completion details request. + */ + interface CompletionDetailsRequestArgs extends FileLocationRequestArgs { + /** + * Names of one or more entries for which to obtain details. + */ + entryNames: (string | CompletionEntryIdentifier)[]; + } + interface CompletionEntryIdentifier { + name: string; + source?: string; + } + /** + * Completion entry details request; value of command field is + * "completionEntryDetails". Given a file location (file, line, + * col) and an array of completion entry names return more + * detailed information for each completion entry. + */ + interface CompletionDetailsRequest extends FileLocationRequest { + command: CommandTypes.CompletionDetails; + arguments: CompletionDetailsRequestArgs; + } + /** + * Part of a symbol description. + */ + interface SymbolDisplayPart { + /** + * Text of an item describing the symbol. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: string; + } + /** + * An item found in a completion response. + */ + interface CompletionEntry { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * A string that is used for comparing completion items so that they can be ordered. This + * is often the same as the name but may be different in certain circumstances. + */ + sortText: string; + /** + * Text to insert instead of `name`. + * This is used to support bracketed completions; If `name` might be "a-b" but `insertText` would be `["a-b"]`, + * coupled with `replacementSpan` to replace a dotted access with a bracket access. + */ + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + /** + * Indicates whether commiting this completion entry will require additional code actions to be + * made to avoid errors. The CompletionEntryDetails will have these actions. + */ + hasAction?: true; + /** + * Identifier (not necessarily human-readable) identifying where this completion came from. + */ + source?: string; + /** + * If true, this completion should be highlighted as recommended. There will only be one of these. + * This will be set when we know the user should write an expression with a certain type and that type is an enum or constructable class. + * Then either that enum/class or a namespace containing it will be the recommended symbol. + */ + isRecommended?: true; + } + /** + * Additional completion entry details, available on demand + */ + interface CompletionEntryDetails { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Display parts of the symbol (similar to quick info). + */ + displayParts: SymbolDisplayPart[]; + /** + * Documentation strings for the symbol. + */ + documentation?: SymbolDisplayPart[]; + /** + * JSDoc tags for the symbol. + */ + tags?: JSDocTagInfo[]; + /** + * The associated code actions for this entry + */ + codeActions?: CodeAction[]; + /** + * Human-readable description of the `source` from the CompletionEntry. + */ + source?: SymbolDisplayPart[]; + } + /** @deprecated Prefer CompletionInfoResponse, which supports several top-level fields in addition to the array of entries. */ + interface CompletionsResponse extends Response { + body?: CompletionEntry[]; + } + interface CompletionInfoResponse extends Response { + body?: CompletionInfo; + } + interface CompletionInfo { + readonly isGlobalCompletion: boolean; + readonly isMemberCompletion: boolean; + readonly isNewIdentifierLocation: boolean; + readonly entries: ReadonlyArray; + } + interface CompletionDetailsResponse extends Response { + body?: CompletionEntryDetails[]; + } + /** + * Signature help information for a single parameter + */ + interface SignatureHelpParameter { + /** + * The parameter's name + */ + name: string; + /** + * Documentation of the parameter. + */ + documentation: SymbolDisplayPart[]; + /** + * Display parts of the parameter. + */ + displayParts: SymbolDisplayPart[]; + /** + * Whether the parameter is optional or not. + */ + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + */ + interface SignatureHelpItem { + /** + * Whether the signature accepts a variable number of arguments. + */ + isVariadic: boolean; + /** + * The prefix display parts. + */ + prefixDisplayParts: SymbolDisplayPart[]; + /** + * The suffix display parts. + */ + suffixDisplayParts: SymbolDisplayPart[]; + /** + * The separator display parts. + */ + separatorDisplayParts: SymbolDisplayPart[]; + /** + * The signature helps items for the parameters. + */ + parameters: SignatureHelpParameter[]; + /** + * The signature's documentation + */ + documentation: SymbolDisplayPart[]; + /** + * The signature's JSDoc tags + */ + tags: JSDocTagInfo[]; + } + /** + * Signature help items found in the response of a signature help request. + */ + interface SignatureHelpItems { + /** + * The signature help items. + */ + items: SignatureHelpItem[]; + /** + * The span for which signature help should appear on a signature + */ + applicableSpan: TextSpan; + /** + * The item selected in the set of available help items. + */ + selectedItemIndex: number; + /** + * The argument selected in the set of parameters. + */ + argumentIndex: number; + /** + * The argument count + */ + argumentCount: number; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + /** + * Arguments of a signature help request. + */ + interface SignatureHelpRequestArgs extends FileLocationRequestArgs { + /** + * Reason why signature help was invoked. + * See each individual possible + */ + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + /** + * Signature help request; value of command field is "signatureHelp". + * Given a file location (file, line, col), return the signature + * help. + */ + interface SignatureHelpRequest extends FileLocationRequest { + command: CommandTypes.SignatureHelp; + arguments: SignatureHelpRequestArgs; + } + /** + * Response object for a SignatureHelpRequest. + */ + interface SignatureHelpResponse extends Response { + body?: SignatureHelpItems; + } + /** + * Synchronous request for semantic diagnostics of one file. + */ + interface SemanticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SemanticDiagnosticsSync; + arguments: SemanticDiagnosticsSyncRequestArgs; + } + interface SemanticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous sematic diagnostics request. + */ + interface SemanticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + interface SuggestionDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SuggestionDiagnosticsSync; + arguments: SuggestionDiagnosticsSyncRequestArgs; + } + type SuggestionDiagnosticsSyncRequestArgs = SemanticDiagnosticsSyncRequestArgs; + type SuggestionDiagnosticsSyncResponse = SemanticDiagnosticsSyncResponse; + /** + * Synchronous request for syntactic diagnostics of one file. + */ + interface SyntacticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SyntacticDiagnosticsSync; + arguments: SyntacticDiagnosticsSyncRequestArgs; + } + interface SyntacticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous syntactic diagnostics request. + */ + interface SyntacticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + /** + * Arguments for GeterrForProject request. + */ + interface GeterrForProjectRequestArgs { + /** + * the file requesting project error list + */ + file: string; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * GeterrForProjectRequest request; value of command field is + * "geterrForProject". It works similarly with 'Geterr', only + * it request for every file in this project. + */ + interface GeterrForProjectRequest extends Request { + command: CommandTypes.GeterrForProject; + arguments: GeterrForProjectRequestArgs; + } + /** + * Arguments for geterr messages. + */ + interface GeterrRequestArgs { + /** + * List of file names for which to compute compiler errors. + * The files will be checked in list order. + */ + files: string[]; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * Geterr request; value of command field is "geterr". Wait for + * delay milliseconds and then, if during the wait no change or + * reload messages have arrived for the first file in the files + * list, get the syntactic errors for the file, field requests, + * and then get the semantic errors for the file. Repeat with a + * smaller delay for each subsequent file on the files list. Best + * practice for an editor is to send a file list containing each + * file that is currently visible, in most-recently-used order. + */ + interface GeterrRequest extends Request { + command: CommandTypes.Geterr; + arguments: GeterrRequestArgs; + } + type RequestCompletedEventName = "requestCompleted"; + /** + * Event that is sent when server have finished processing request with specified id. + */ + interface RequestCompletedEvent extends Event { + event: RequestCompletedEventName; + body: RequestCompletedEventBody; + } + interface RequestCompletedEventBody { + request_seq: number; + } + /** + * Item of diagnostic information found in a DiagnosticEvent message. + */ + interface Diagnostic { + /** + * Starting file location at which text applies. + */ + start: Location; + /** + * The last file location at which the text applies. + */ + end: Location; + /** + * Text of diagnostic message. + */ + text: string; + /** + * The category of the diagnostic message, e.g. "error", "warning", or "suggestion". + */ + category: string; + reportsUnnecessary?: {}; + /** + * Any related spans the diagnostic may have, such as other locations relevant to an error, such as declarartion sites + */ + relatedInformation?: DiagnosticRelatedInformation[]; + /** + * The error code of the diagnostic message. + */ + code?: number; + /** + * The name of the plugin reporting the message. + */ + source?: string; + } + interface DiagnosticWithFileName extends Diagnostic { + /** + * Name of the file the diagnostic is in + */ + fileName: string; + } + /** + * Represents additional spans returned with a diagnostic which are relevant to it + */ + interface DiagnosticRelatedInformation { + /** + * The category of the related information message, e.g. "error", "warning", or "suggestion". + */ + category: string; + /** + * The code used ot identify the related information + */ + code: number; + /** + * Text of related or additional information. + */ + message: string; + /** + * Associated location + */ + span?: FileSpan; + } + interface DiagnosticEventBody { + /** + * The file for which diagnostic information is reported. + */ + file: string; + /** + * An array of diagnostic information items. + */ + diagnostics: Diagnostic[]; + } + type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag"; + /** + * Event message for DiagnosticEventKind event types. + * These events provide syntactic and semantic errors for a file. + */ + interface DiagnosticEvent extends Event { + body?: DiagnosticEventBody; + event: DiagnosticEventKind; + } + interface ConfigFileDiagnosticEventBody { + /** + * The file which trigged the searching and error-checking of the config file + */ + triggerFile: string; + /** + * The name of the found config file. + */ + configFile: string; + /** + * An arry of diagnostic information items for the found config file. + */ + diagnostics: DiagnosticWithFileName[]; + } + /** + * Event message for "configFileDiag" event type. + * This event provides errors for a found config file. + */ + interface ConfigFileDiagnosticEvent extends Event { + body?: ConfigFileDiagnosticEventBody; + event: "configFileDiag"; + } + type ProjectLanguageServiceStateEventName = "projectLanguageServiceState"; + interface ProjectLanguageServiceStateEvent extends Event { + event: ProjectLanguageServiceStateEventName; + body?: ProjectLanguageServiceStateEventBody; + } + interface ProjectLanguageServiceStateEventBody { + /** + * Project name that has changes in the state of language service. + * For configured projects this will be the config file path. + * For external projects this will be the name of the projects specified when project was open. + * For inferred projects this event is not raised. + */ + projectName: string; + /** + * True if language service state switched from disabled to enabled + * and false otherwise. + */ + languageServiceEnabled: boolean; + } + type ProjectsUpdatedInBackgroundEventName = "projectsUpdatedInBackground"; + interface ProjectsUpdatedInBackgroundEvent extends Event { + event: ProjectsUpdatedInBackgroundEventName; + body: ProjectsUpdatedInBackgroundEventBody; + } + interface ProjectsUpdatedInBackgroundEventBody { + /** + * Current set of open files + */ + openFiles: string[]; + } + type ProjectLoadingStartEventName = "projectLoadingStart"; + interface ProjectLoadingStartEvent extends Event { + event: ProjectLoadingStartEventName; + body: ProjectLoadingStartEventBody; + } + interface ProjectLoadingStartEventBody { + /** name of the project */ + projectName: string; + /** reason for loading */ + reason: string; + } + type ProjectLoadingFinishEventName = "projectLoadingFinish"; + interface ProjectLoadingFinishEvent extends Event { + event: ProjectLoadingFinishEventName; + body: ProjectLoadingFinishEventBody; + } + interface ProjectLoadingFinishEventBody { + /** name of the project */ + projectName: string; + } + type SurveyReadyEventName = "surveyReady"; + interface SurveyReadyEvent extends Event { + event: SurveyReadyEventName; + body: SurveyReadyEventBody; + } + interface SurveyReadyEventBody { + /** Name of the survey. This is an internal machine- and programmer-friendly name */ + surveyId: string; + } + type LargeFileReferencedEventName = "largeFileReferenced"; + interface LargeFileReferencedEvent extends Event { + event: LargeFileReferencedEventName; + body: LargeFileReferencedEventBody; + } + interface LargeFileReferencedEventBody { + /** + * name of the large file being loaded + */ + file: string; + /** + * size of the file + */ + fileSize: number; + /** + * max file size allowed on the server + */ + maxFileSize: number; + } + /** + * Arguments for reload request. + */ + interface ReloadRequestArgs extends FileRequestArgs { + /** + * Name of temporary file from which to reload file + * contents. May be same as file. + */ + tmpfile: string; + } + /** + * Reload request message; value of command field is "reload". + * Reload contents of file with name given by the 'file' argument + * from temporary file with name given by the 'tmpfile' argument. + * The two names can be identical. + */ + interface ReloadRequest extends FileRequest { + command: CommandTypes.Reload; + arguments: ReloadRequestArgs; + } + /** + * Response to "reload" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ReloadResponse extends Response { + } + /** + * Arguments for saveto request. + */ + interface SavetoRequestArgs extends FileRequestArgs { + /** + * Name of temporary file into which to save server's view of + * file contents. + */ + tmpfile: string; + } + /** + * Saveto request message; value of command field is "saveto". + * For debugging purposes, save to a temporaryfile (named by + * argument 'tmpfile') the contents of file named by argument + * 'file'. The server does not currently send a response to a + * "saveto" request. + */ + interface SavetoRequest extends FileRequest { + command: CommandTypes.Saveto; + arguments: SavetoRequestArgs; + } + /** + * Arguments for navto request message. + */ + interface NavtoRequestArgs extends FileRequestArgs { + /** + * Search term to navigate to from current location; term can + * be '.*' or an identifier prefix. + */ + searchValue: string; + /** + * Optional limit on the number of items to return. + */ + maxResultCount?: number; + /** + * Optional flag to indicate we want results for just the current file + * or the entire project. + */ + currentFileOnly?: boolean; + projectFileName?: string; + } + /** + * Navto request message; value of command field is "navto". + * Return list of objects giving file locations and symbols that + * match the search term given in argument 'searchTerm'. The + * context for the search is given by the named file. + */ + interface NavtoRequest extends FileRequest { + command: CommandTypes.Navto; + arguments: NavtoRequestArgs; + } + /** + * An item found in a navto response. + */ + interface NavtoItem extends FileSpan { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * exact, substring, or prefix. + */ + matchKind: string; + /** + * If this was a case sensitive or insensitive match. + */ + isCaseSensitive: boolean; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * Name of symbol's container symbol (if any); for example, + * the class name if symbol is a class member. + */ + containerName?: string; + /** + * Kind of symbol's container symbol (if any). + */ + containerKind?: ScriptElementKind; + } + /** + * Navto response message. Body is an array of navto items. Each + * item gives a symbol that matched the search term. + */ + interface NavtoResponse extends Response { + body?: NavtoItem[]; + } + /** + * Arguments for change request message. + */ + interface ChangeRequestArgs extends FormatRequestArgs { + /** + * Optional string to insert at location (file, line, offset). + */ + insertString?: string; + } + /** + * Change request message; value of command field is "change". + * Update the server's view of the file named by argument 'file'. + * Server does not currently send a response to a change request. + */ + interface ChangeRequest extends FileLocationRequest { + command: CommandTypes.Change; + arguments: ChangeRequestArgs; + } + /** + * Response to "brace" request. + */ + interface BraceResponse extends Response { + body?: TextSpan[]; + } + /** + * Brace matching request; value of command field is "brace". + * Return response giving the file locations of matching braces + * found in file at location line, offset. + */ + interface BraceRequest extends FileLocationRequest { + command: CommandTypes.Brace; + } + /** + * NavBar items request; value of command field is "navbar". + * Return response giving the list of navigation bar entries + * extracted from the requested file. + */ + interface NavBarRequest extends FileRequest { + command: CommandTypes.NavBar; + } + /** + * NavTree request; value of command field is "navtree". + * Return response giving the navigation tree of the requested file. + */ + interface NavTreeRequest extends FileRequest { + command: CommandTypes.NavTree; + } + interface NavigationBarItem { + /** + * The item's display text. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * The definition locations of the item. + */ + spans: TextSpan[]; + /** + * Optional children. + */ + childItems?: NavigationBarItem[]; + /** + * Number of levels deep this item should appear. + */ + indent: number; + } + /** protocol.NavigationTree is identical to ts.NavigationTree, except using protocol.TextSpan instead of ts.TextSpan */ + interface NavigationTree { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + childItems?: NavigationTree[]; + } + type TelemetryEventName = "telemetry"; + interface TelemetryEvent extends Event { + event: TelemetryEventName; + body: TelemetryEventBody; + } + interface TelemetryEventBody { + telemetryEventName: string; + payload: any; + } + type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed"; + interface TypesInstallerInitializationFailedEvent extends Event { + event: TypesInstallerInitializationFailedEventName; + body: TypesInstallerInitializationFailedEventBody; + } + interface TypesInstallerInitializationFailedEventBody { + message: string; + } + type TypingsInstalledTelemetryEventName = "typingsInstalled"; + interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody { + telemetryEventName: TypingsInstalledTelemetryEventName; + payload: TypingsInstalledTelemetryEventPayload; + } + interface TypingsInstalledTelemetryEventPayload { + /** + * Comma separated list of installed typing packages + */ + installedPackages: string; + /** + * true if install request succeeded, otherwise - false + */ + installSuccess: boolean; + /** + * version of typings installer + */ + typingsInstallerVersion: string; + } + type BeginInstallTypesEventName = "beginInstallTypes"; + type EndInstallTypesEventName = "endInstallTypes"; + interface BeginInstallTypesEvent extends Event { + event: BeginInstallTypesEventName; + body: BeginInstallTypesEventBody; + } + interface EndInstallTypesEvent extends Event { + event: EndInstallTypesEventName; + body: EndInstallTypesEventBody; + } + interface InstallTypesEventBody { + /** + * correlation id to match begin and end events + */ + eventId: number; + /** + * list of packages to install + */ + packages: ReadonlyArray; + } + interface BeginInstallTypesEventBody extends InstallTypesEventBody { + } + interface EndInstallTypesEventBody extends InstallTypesEventBody { + /** + * true if installation succeeded, otherwise false + */ + success: boolean; + } + interface NavBarResponse extends Response { + body?: NavigationBarItem[]; + } + interface NavTreeResponse extends Response { + body?: NavigationTree; + } + enum IndentStyle { + None = "None", + Block = "Block", + Smart = "Smart" + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle | ts.IndentStyle; + } + interface FormatCodeSettings extends EditorSettings { + insertSpaceAfterCommaDelimiter?: boolean; + insertSpaceAfterSemicolonInForStatements?: boolean; + insertSpaceBeforeAndAfterBinaryOperators?: boolean; + insertSpaceAfterConstructor?: boolean; + insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + insertSpaceAfterTypeAssertion?: boolean; + insertSpaceBeforeFunctionParenthesis?: boolean; + placeOpenBraceOnNewLineForFunctions?: boolean; + placeOpenBraceOnNewLineForControlBlocks?: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + /** + * If enabled, TypeScript will search through all external modules' exports and add them to the completions list. + * This affects lone identifier completions but not completions on the right hand side of `obj.`. + */ + readonly includeCompletionsForModuleExports?: boolean; + /** + * If enabled, the completion list will include completions with invalid identifier names. + * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`. + */ + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + readonly allowTextChangesInNewFiles?: boolean; + readonly lazyConfiguredProjectsFromExternalProject?: boolean; + } + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit | ts.JsxEmit; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind | ts.ModuleKind; + moduleResolution?: ModuleResolutionKind | ts.ModuleResolutionKind; + newLine?: NewLineKind | ts.NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + plugins?: PluginImport[]; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + removeComments?: boolean; + references?: ProjectReference[]; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictNullChecks?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget | ts.ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to used to compute primary types search locations */ + typeRoots?: string[]; + [option: string]: CompilerOptionsValue | undefined; + } + enum JsxEmit { + None = "None", + Preserve = "Preserve", + ReactNative = "ReactNative", + React = "React" + } + enum ModuleKind { + None = "None", + CommonJS = "CommonJS", + AMD = "AMD", + UMD = "UMD", + System = "System", + ES6 = "ES6", + ES2015 = "ES2015", + ESNext = "ESNext" + } + enum ModuleResolutionKind { + Classic = "Classic", + Node = "Node" + } + enum NewLineKind { + Crlf = "Crlf", + Lf = "Lf" + } + enum ScriptTarget { + ES3 = "ES3", + ES5 = "ES5", + ES6 = "ES6", + ES2015 = "ES2015", + ES2016 = "ES2016", + ES2017 = "ES2017", + ESNext = "ESNext" + } +} +declare namespace ts.server { + interface ScriptInfoVersion { + svc: number; + text: number; + } + class ScriptInfo { + private readonly host; + readonly fileName: NormalizedPath; + readonly scriptKind: ScriptKind; + readonly hasMixedContent: boolean; + readonly path: Path; + /** + * All projects that include this file + */ + readonly containingProjects: Project[]; + private formatSettings; + private preferences; + private textStorage; + constructor(host: ServerHost, fileName: NormalizedPath, scriptKind: ScriptKind, hasMixedContent: boolean, path: Path, initialVersion?: ScriptInfoVersion); + isScriptOpen(): boolean; + open(newText: string): void; + close(fileExists?: boolean): void; + getSnapshot(): IScriptSnapshot; + private ensureRealPath; + getFormatCodeSettings(): FormatCodeSettings | undefined; + getPreferences(): protocol.UserPreferences | undefined; + attachToProject(project: Project): boolean; + isAttached(project: Project): boolean; + detachFromProject(project: Project): void; + detachAllProjects(): void; + getDefaultProject(): Project; + registerFileUpdate(): void; + setOptions(formatSettings: FormatCodeSettings, preferences: protocol.UserPreferences | undefined): void; + getLatestVersion(): string; + saveTo(fileName: string): void; + reloadFromFile(tempFileName?: NormalizedPath): boolean; + editContent(start: number, end: number, newText: string): void; + markContainingProjectsAsDirty(): void; + isOrphan(): boolean; + /** + * @param line 1 based index + */ + lineToTextSpan(line: number): TextSpan; + /** + * @param line 1 based index + * @param offset 1 based index + */ + lineOffsetToPosition(line: number, offset: number): number; + positionToLineOffset(position: number): protocol.Location; + isJavaScript(): boolean; + } +} +declare namespace ts.server { + interface InstallPackageOptionsWithProject extends InstallPackageOptions { + projectName: string; + projectRootPath: Path; + } + interface ITypingsInstaller { + isKnownTypesPackageName(name: string): boolean; + installPackage(options: InstallPackageOptionsWithProject): Promise; + enqueueInstallTypingsRequest(p: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray | undefined): void; + attach(projectService: ProjectService): void; + onProjectClosed(p: Project): void; + readonly globalTypingsCacheLocation: string | undefined; + } + const nullTypingsInstaller: ITypingsInstaller; +} +declare namespace ts.server { + enum ProjectKind { + Inferred = 0, + Configured = 1, + External = 2 + } + function allRootFilesAreJsOrDts(project: Project): boolean; + function allFilesAreJsOrDts(project: Project): boolean; + interface PluginCreateInfo { + project: Project; + languageService: LanguageService; + languageServiceHost: LanguageServiceHost; + serverHost: ServerHost; + config: any; + } + interface PluginModule { + create(createInfo: PluginCreateInfo): LanguageService; + getExternalFiles?(proj: Project): string[]; + onConfigurationChanged?(config: any): void; + } + interface PluginModuleWithName { + name: string; + module: PluginModule; + } + type PluginModuleFactory = (mod: { + typescript: typeof ts; + }) => PluginModule; + /** + * The project root can be script info - if root is present, + * or it could be just normalized path if root wasnt present on the host(only for non inferred project) + */ + type ProjectRoot = ScriptInfo | NormalizedPath; + abstract class Project implements LanguageServiceHost, ModuleResolutionHost { + readonly projectName: string; + readonly projectKind: ProjectKind; + readonly projectService: ProjectService; + private documentRegistry; + private compilerOptions; + compileOnSaveEnabled: boolean; + private rootFiles; + private rootFilesMap; + private program; + private externalFiles; + private missingFilesMap; + private plugins; + private lastFileExceededProgramSize; + protected languageService: LanguageService; + languageServiceEnabled: boolean; + readonly trace?: (s: string) => void; + readonly realpath?: (path: string) => string; + private builderState; + /** + * Set of files names that were updated since the last call to getChangesSinceVersion. + */ + private updatedFileNames; + /** + * Set of files that was returned from the last call to getChangesSinceVersion. + */ + private lastReportedFileNames; + /** + * Last version that was reported. + */ + private lastReportedVersion; + /** + * Current project's program version. (incremented everytime new program is created that is not complete reuse from the old one) + * This property is changed in 'updateGraph' based on the set of files in program + */ + private projectProgramVersion; + /** + * Current version of the project state. It is changed when: + * - new root file was added/removed + * - edit happen in some file that is currently included in the project. + * This property is different from projectStructureVersion since in most cases edits don't affect set of files in the project + */ + private projectStateVersion; + protected isInitialLoadPending: () => boolean; + private readonly cancellationToken; + isNonTsProject(): boolean; + isJsOnlyProject(): boolean; + static resolveModule(moduleName: string, initialDir: string, host: ServerHost, log: (message: string) => void): {} | undefined; + isKnownTypesPackageName(name: string): boolean; + installPackage(options: InstallPackageOptions): Promise; + private readonly typingsCache; + getCompilationSettings(): CompilerOptions; + getCompilerOptions(): CompilerOptions; + getNewLine(): string; + getProjectVersion(): string; + getProjectReferences(): ReadonlyArray | undefined; + getScriptFileNames(): string[]; + private getOrCreateScriptInfoAndAttachToProject; + getScriptKind(fileName: string): ScriptKind; + getScriptVersion(filename: string): string; + getScriptSnapshot(filename: string): IScriptSnapshot | undefined; + getCancellationToken(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(): string; + useCaseSensitiveFileNames(): boolean; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile(fileName: string): string | undefined; + writeFile(fileName: string, content: string): void; + fileExists(file: string): boolean; + resolveModuleNames(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModuleFull | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache(moduleName: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + directoryExists(path: string): boolean; + getDirectories(path: string): string[]; + log(s: string): void; + error(s: string): void; + private setInternalCompilerOptionsForEmittingJsFiles; + /** + * Get the errors that dont have any file name associated + */ + getGlobalProjectErrors(): ReadonlyArray; + getAllProjectErrors(): ReadonlyArray; + getLanguageService(ensureSynchronized?: boolean): LanguageService; + private shouldEmitFile; + getCompileOnSaveAffectedFileList(scriptInfo: ScriptInfo): string[]; + /** + * Returns true if emit was conducted + */ + emitFile(scriptInfo: ScriptInfo, writeFile: (path: string, data: string, writeByteOrderMark?: boolean) => void): boolean; + enableLanguageService(): void; + disableLanguageService(lastFileExceededProgramSize?: string): void; + getProjectName(): string; + abstract getTypeAcquisition(): TypeAcquisition; + protected removeLocalTypingsFromTypeAcquisition(newTypeAcquisition: TypeAcquisition): TypeAcquisition; + getExternalFiles(): SortedReadonlyArray; + getSourceFile(path: Path): SourceFile | undefined; + close(): void; + private detachScriptInfoIfNotRoot; + isClosed(): boolean; + hasRoots(): boolean; + getRootFiles(): NormalizedPath[]; + getRootScriptInfos(): ScriptInfo[]; + getScriptInfos(): ScriptInfo[]; + getExcludedFiles(): ReadonlyArray; + getFileNames(excludeFilesFromExternalLibraries?: boolean, excludeConfigFiles?: boolean): NormalizedPath[]; + hasConfigFile(configFilePath: NormalizedPath): boolean; + containsScriptInfo(info: ScriptInfo): boolean; + containsFile(filename: NormalizedPath, requireOpen?: boolean): boolean; + isRoot(info: ScriptInfo): boolean; + addRoot(info: ScriptInfo): void; + addMissingFileRoot(fileName: NormalizedPath): void; + removeFile(info: ScriptInfo, fileExists: boolean, detachFromProject: boolean): void; + registerFileUpdate(fileName: string): void; + markAsDirty(): void; + /** + * Updates set of files that contribute to this project + * @returns: true if set of files in the project stays the same and false - otherwise. + */ + updateGraph(): boolean; + protected removeExistingTypings(include: string[]): string[]; + private updateGraphWorker; + private detachScriptInfoFromProject; + private addMissingFileWatcher; + private isWatchedMissingFile; + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; + getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined; + filesToString(writeProjectFileNames: boolean): string; + setCompilerOptions(compilerOptions: CompilerOptions): void; + protected removeRoot(info: ScriptInfo): void; + protected enableGlobalPlugins(options: CompilerOptions, pluginConfigOverrides: Map | undefined): void; + protected enablePlugin(pluginConfigEntry: PluginImport, searchPaths: string[], pluginConfigOverrides: Map | undefined): void; + private enableProxy; + /** Starts a new check for diagnostics. Call this if some file has updated that would cause diagnostics to be changed. */ + refreshDiagnostics(): void; + } + /** + * If a file is opened and no tsconfig (or jsconfig) is found, + * the file and its imports/references are put into an InferredProject. + */ + class InferredProject extends Project { + private static readonly newName; + private _isJsInferredProject; + toggleJsInferredProject(isJsInferredProject: boolean): void; + setCompilerOptions(options?: CompilerOptions): void; + /** this is canonical project root path */ + readonly projectRootPath: string | undefined; + addRoot(info: ScriptInfo): void; + removeRoot(info: ScriptInfo): void; + isProjectWithSingleRoot(): boolean; + close(): void; + getTypeAcquisition(): TypeAcquisition; + } + /** + * If a file is opened, the server will look for a tsconfig (or jsconfig) + * and if successfull create a ConfiguredProject for it. + * Otherwise it will create an InferredProject. + */ + class ConfiguredProject extends Project { + private typeAcquisition; + private directoriesWatchedForWildcards; + readonly canonicalConfigFilePath: NormalizedPath; + /** Ref count to the project when opened from external project */ + private externalProjectRefCount; + private projectErrors; + private projectReferences; + protected isInitialLoadPending: () => boolean; + /** + * If the project has reload from disk pending, it reloads (and then updates graph as part of that) instead of just updating the graph + * @returns: true if set of files in the project stays the same and false - otherwise. + */ + updateGraph(): boolean; + getConfigFilePath(): NormalizedPath; + getProjectReferences(): ReadonlyArray | undefined; + updateReferences(refs: ReadonlyArray | undefined): void; + /** + * Get the errors that dont have any file name associated + */ + getGlobalProjectErrors(): ReadonlyArray; + /** + * Get all the project errors + */ + getAllProjectErrors(): ReadonlyArray; + setProjectErrors(projectErrors: Diagnostic[]): void; + setTypeAcquisition(newTypeAcquisition: TypeAcquisition): void; + getTypeAcquisition(): TypeAcquisition; + close(): void; + getEffectiveTypeRoots(): string[]; + } + /** + * Project whose configuration is handled externally, such as in a '.csproj'. + * These are created only if a host explicitly calls `openExternalProject`. + */ + class ExternalProject extends Project { + externalProjectName: string; + compileOnSaveEnabled: boolean; + excludedFiles: ReadonlyArray; + private typeAcquisition; + updateGraph(): boolean; + getExcludedFiles(): ReadonlyArray; + getTypeAcquisition(): TypeAcquisition; + setTypeAcquisition(newTypeAcquisition: TypeAcquisition): void; + } +} +declare namespace ts.server { + const maxProgramSizeForNonTsFiles: number; + const ProjectsUpdatedInBackgroundEvent = "projectsUpdatedInBackground"; + const ProjectLoadingStartEvent = "projectLoadingStart"; + const ProjectLoadingFinishEvent = "projectLoadingFinish"; + const SurveyReady = "surveyReady"; + const LargeFileReferencedEvent = "largeFileReferenced"; + const ConfigFileDiagEvent = "configFileDiag"; + const ProjectLanguageServiceStateEvent = "projectLanguageServiceState"; + const ProjectInfoTelemetryEvent = "projectInfo"; + const OpenFileInfoTelemetryEvent = "openFileInfo"; + interface ProjectsUpdatedInBackgroundEvent { + eventName: typeof ProjectsUpdatedInBackgroundEvent; + data: { + openFiles: string[]; + }; + } + interface ProjectLoadingStartEvent { + eventName: typeof ProjectLoadingStartEvent; + data: { + project: Project; + reason: string; + }; + } + interface ProjectLoadingFinishEvent { + eventName: typeof ProjectLoadingFinishEvent; + data: { + project: Project; + }; + } + interface SurveyReady { + eventName: typeof SurveyReady; + data: { + surveyId: string; + }; + } + interface LargeFileReferencedEvent { + eventName: typeof LargeFileReferencedEvent; + data: { + file: string; + fileSize: number; + maxFileSize: number; + }; + } + interface ConfigFileDiagEvent { + eventName: typeof ConfigFileDiagEvent; + data: { + triggerFile: string; + configFileName: string; + diagnostics: ReadonlyArray; + }; + } + interface ProjectLanguageServiceStateEvent { + eventName: typeof ProjectLanguageServiceStateEvent; + data: { + project: Project; + languageServiceEnabled: boolean; + }; + } + /** This will be converted to the payload of a protocol.TelemetryEvent in session.defaultEventHandler. */ + interface ProjectInfoTelemetryEvent { + readonly eventName: typeof ProjectInfoTelemetryEvent; + readonly data: ProjectInfoTelemetryEventData; + } + interface ProjectInfoTelemetryEventData { + /** Cryptographically secure hash of project file location. */ + readonly projectId: string; + /** Count of file extensions seen in the project. */ + readonly fileStats: FileStats; + /** + * Any compiler options that might contain paths will be taken out. + * Enum compiler options will be converted to strings. + */ + readonly compilerOptions: CompilerOptions; + readonly extends: boolean | undefined; + readonly files: boolean | undefined; + readonly include: boolean | undefined; + readonly exclude: boolean | undefined; + readonly compileOnSave: boolean; + readonly typeAcquisition: ProjectInfoTypeAcquisitionData; + readonly configFileName: "tsconfig.json" | "jsconfig.json" | "other"; + readonly projectType: "external" | "configured"; + readonly languageServiceEnabled: boolean; + /** TypeScript version used by the server. */ + readonly version: string; + } + /** + * Info that we may send about a file that was just opened. + * Info about a file will only be sent once per session, even if the file changes in ways that might affect the info. + * Currently this is only sent for '.js' files. + */ + interface OpenFileInfoTelemetryEvent { + readonly eventName: typeof OpenFileInfoTelemetryEvent; + readonly data: OpenFileInfoTelemetryEventData; + } + interface OpenFileInfoTelemetryEventData { + readonly info: OpenFileInfo; + } + interface ProjectInfoTypeAcquisitionData { + readonly enable: boolean | undefined; + readonly include: boolean; + readonly exclude: boolean; + } + interface FileStats { + readonly js: number; + readonly jsSize?: number; + readonly jsx: number; + readonly jsxSize?: number; + readonly ts: number; + readonly tsSize?: number; + readonly tsx: number; + readonly tsxSize?: number; + readonly dts: number; + readonly dtsSize?: number; + readonly deferred: number; + readonly deferredSize?: number; + } + interface OpenFileInfo { + readonly checkJs: boolean; + } + type ProjectServiceEvent = LargeFileReferencedEvent | SurveyReady | ProjectsUpdatedInBackgroundEvent | ProjectLoadingStartEvent | ProjectLoadingFinishEvent | ConfigFileDiagEvent | ProjectLanguageServiceStateEvent | ProjectInfoTelemetryEvent | OpenFileInfoTelemetryEvent; + type ProjectServiceEventHandler = (event: ProjectServiceEvent) => void; + interface SafeList { + [name: string]: { + match: RegExp; + exclude?: (string | number)[][]; + types?: string[]; + }; + } + interface TypesMapFile { + typesMap: SafeList; + simpleMap: { + [libName: string]: string; + }; + } + function convertFormatOptions(protocolOptions: protocol.FormatCodeSettings): FormatCodeSettings; + function convertCompilerOptions(protocolOptions: protocol.ExternalProjectCompilerOptions): CompilerOptions & protocol.CompileOnSaveMixin; + function tryConvertScriptKindName(scriptKindName: protocol.ScriptKindName | ScriptKind): ScriptKind; + function convertScriptKindName(scriptKindName: protocol.ScriptKindName): ScriptKind.Unknown | ScriptKind.JS | ScriptKind.JSX | ScriptKind.TS | ScriptKind.TSX; + interface HostConfiguration { + formatCodeOptions: FormatCodeSettings; + preferences: protocol.UserPreferences; + hostInfo: string; + extraFileExtensions?: FileExtensionInfo[]; + } + interface OpenConfiguredProjectResult { + configFileName?: NormalizedPath; + configFileErrors?: ReadonlyArray; + } + interface ProjectServiceOptions { + host: ServerHost; + logger: Logger; + cancellationToken: HostCancellationToken; + useSingleInferredProject: boolean; + useInferredProjectPerProjectRoot: boolean; + typingsInstaller: ITypingsInstaller; + eventHandler?: ProjectServiceEventHandler; + suppressDiagnosticEvents?: boolean; + throttleWaitMilliseconds?: number; + globalPlugins?: ReadonlyArray; + pluginProbeLocations?: ReadonlyArray; + allowLocalPluginLoads?: boolean; + typesMapLocation?: string; + syntaxOnly?: boolean; + } + class ProjectService { + /** + * Container of all known scripts + */ + private readonly filenameToScriptInfo; + private readonly scriptInfoInNodeModulesWatchers; + /** + * Contains all the deleted script info's version information so that + * it does not reset when creating script info again + * (and could have potentially collided with version where contents mismatch) + */ + private readonly filenameToScriptInfoVersion; + private readonly allJsFilesForOpenFileTelemetry; + /** + * maps external project file name to list of config files that were the part of this project + */ + private readonly externalProjectToConfiguredProjectMap; + /** + * external projects (configuration and list of root files is not controlled by tsserver) + */ + readonly externalProjects: ExternalProject[]; + /** + * projects built from openFileRoots + */ + readonly inferredProjects: InferredProject[]; + /** + * projects specified by a tsconfig.json file + */ + readonly configuredProjects: Map; + /** + * Open files: with value being project root path, and key being Path of the file that is open + */ + readonly openFiles: Map; + /** + * Map of open files that are opened without complete path but have projectRoot as current directory + */ + private readonly openFilesWithNonRootedDiskPath; + private compilerOptionsForInferredProjects; + private compilerOptionsForInferredProjectsPerProjectRoot; + /** + * Project size for configured or external projects + */ + private readonly projectToSizeMap; + /** + * This is a map of config file paths existance that doesnt need query to disk + * - The entry can be present because there is inferred project that needs to watch addition of config file to directory + * In this case the exists could be true/false based on config file is present or not + * - Or it is present if we have configured project open with config file at that location + * In this case the exists property is always true + */ + private readonly configFileExistenceInfoCache; + private readonly throttledOperations; + private readonly hostConfiguration; + private safelist; + private readonly legacySafelist; + private pendingProjectUpdates; + readonly currentDirectory: NormalizedPath; + readonly toCanonicalFileName: (f: string) => string; + readonly host: ServerHost; + readonly logger: Logger; + readonly cancellationToken: HostCancellationToken; + readonly useSingleInferredProject: boolean; + readonly useInferredProjectPerProjectRoot: boolean; + readonly typingsInstaller: ITypingsInstaller; + private readonly globalCacheLocationDirectoryPath; + readonly throttleWaitMilliseconds?: number; + private readonly eventHandler?; + private readonly suppressDiagnosticEvents?; + readonly globalPlugins: ReadonlyArray; + readonly pluginProbeLocations: ReadonlyArray; + readonly allowLocalPluginLoads: boolean; + private currentPluginConfigOverrides; + readonly typesMapLocation: string | undefined; + readonly syntaxOnly?: boolean; + /** Tracks projects that we have already sent telemetry for. */ + private readonly seenProjects; + /** Tracks projects that we have already sent survey events for. */ + private readonly seenSurveyProjects; + constructor(opts: ProjectServiceOptions); + toPath(fileName: string): Path; + private loadTypesMap; + updateTypingsForProject(response: SetTypings | InvalidateCachedTypings | PackageInstalledResponse): void; + private delayEnsureProjectForOpenFiles; + private delayUpdateProjectGraph; + private delayUpdateProjectGraphs; + setCompilerOptionsForInferredProjects(projectCompilerOptions: protocol.ExternalProjectCompilerOptions, projectRootPath?: string): void; + findProject(projectName: string): Project | undefined; + getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project | undefined; + private doEnsureDefaultProjectForFile; + getScriptInfoEnsuringProjectsUptoDate(uncheckedFileName: string): ScriptInfo | undefined; + /** + * Ensures the project structures are upto date + * This means, + * - we go through all the projects and update them if they are dirty + * - if updates reflect some change in structure or there was pending request to ensure projects for open files + * ensure that each open script info has project + */ + private ensureProjectStructuresUptoDate; + getFormatCodeOptions(file: NormalizedPath): FormatCodeSettings; + getPreferences(file: NormalizedPath): protocol.UserPreferences; + getHostFormatCodeOptions(): FormatCodeSettings; + getHostPreferences(): protocol.UserPreferences; + private onSourceFileChanged; + private handleDeletedFile; + private onConfigChangedForConfiguredProject; + /** + * This is the callback function for the config file add/remove/change at any location + * that matters to open script info but doesnt have configured project open + * for the config file + */ + private onConfigFileChangeForOpenScriptInfo; + private removeProject; + /** + * Remove this file from the set of open, non-configured files. + * @param info The file that has been closed or newly configured + */ + private closeOpenFile; + private deleteScriptInfo; + private configFileExists; + private setConfigFileExistenceByNewConfiguredProject; + /** + * Returns true if the configFileExistenceInfo is needed/impacted by open files that are root of inferred project + */ + private configFileExistenceImpactsRootOfInferredProject; + private setConfigFileExistenceInfoByClosedConfiguredProject; + private logConfigFileWatchUpdate; + /** + * Create the watcher for the configFileExistenceInfo + */ + private createConfigFileWatcherOfConfigFileExistence; + /** + * Close the config file watcher in the cached ConfigFileExistenceInfo + * if there arent any open files that are root of inferred project + */ + private closeConfigFileWatcherOfConfigFileExistenceInfo; + /** + * This is called on file close, so that we stop watching the config file for this script info + */ + private stopWatchingConfigFilesForClosedScriptInfo; + /** + * This function tries to search for a tsconfig.json for the given file. + * This is different from the method the compiler uses because + * the compiler can assume it will always start searching in the + * current directory (the directory in which tsc was invoked). + * The server must start searching from the directory containing + * the newly opened file. + */ + private forEachConfigFileLocation; + /** + * This function tries to search for a tsconfig.json for the given file. + * This is different from the method the compiler uses because + * the compiler can assume it will always start searching in the + * current directory (the directory in which tsc was invoked). + * The server must start searching from the directory containing + * the newly opened file. + * If script info is passed in, it is asserted to be open script info + * otherwise just file name + */ + private getConfigFileNameForFile; + private printProjects; + private findConfiguredProjectByProjectName; + private getConfiguredProjectByCanonicalConfigFilePath; + private findExternalProjectByProjectName; + /** Get a filename if the language service exceeds the maximum allowed program size; otherwise returns undefined. */ + private getFilenameForExceededTotalSizeLimitForNonTsFiles; + private createExternalProject; + private addFilesToNonInferredProject; + private createConfiguredProject; + private updateNonInferredProjectFiles; + private updateRootAndOptionsOfNonInferredProject; + private sendConfigFileDiagEvent; + private getOrCreateInferredProjectForProjectRootPathIfEnabled; + private getOrCreateSingleInferredProjectIfEnabled; + private getOrCreateSingleInferredWithoutProjectRoot; + private createInferredProject; + getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined; + private watchClosedScriptInfo; + private watchClosedScriptInfoInNodeModules; + private getModifiedTime; + private refreshScriptInfo; + private refreshScriptInfosInDirectory; + private stopWatchingScriptInfo; + private getOrCreateScriptInfoNotOpenedByClientForNormalizedPath; + private getOrCreateScriptInfoOpenedByClientForNormalizedPath; + getOrCreateScriptInfoForNormalizedPath(fileName: NormalizedPath, openedByClient: boolean, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, hostToQueryFileExistsOn?: { + fileExists(path: string): boolean; + }): ScriptInfo | undefined; + private getOrCreateScriptInfoWorker; + /** + * This gets the script info for the normalized path. If the path is not rooted disk path then the open script info with project root context is preferred + */ + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; + getScriptInfoForPath(fileName: Path): ScriptInfo | undefined; + setHostConfiguration(args: protocol.ConfigureRequestArguments): void; + closeLog(): void; + /** + * This function rebuilds the project for every file opened by the client + * This does not reload contents of open files from disk. But we could do that if needed + */ + reloadProjects(): void; + private delayReloadConfiguredProjectForFiles; + /** + * This function goes through all the openFiles and tries to file the config file for them. + * If the config file is found and it refers to existing project, it reloads it either immediately + * or schedules it for reload depending on delayReload option + * If the there is no existing project it just opens the configured project for the config file + * reloadForInfo provides a way to filter out files to reload configured project for + */ + private reloadConfiguredProjectForFiles; + /** + * Remove the root of inferred project if script info is part of another project + */ + private removeRootOfInferredProjectIfNowPartOfOtherProject; + /** + * This function is to update the project structure for every inferred project. + * It is called on the premise that all the configured projects are + * up to date. + * This will go through open files and assign them to inferred project if open file is not part of any other project + * After that all the inferred project graphs are updated + */ + private ensureProjectForOpenFiles; + /** + * Open file whose contents is managed by the client + * @param filename is absolute pathname + * @param fileContent is a known version of the file content that is more up to date than the one on disk + */ + openClientFile(fileName: string, fileContent?: string, scriptKind?: ScriptKind, projectRootPath?: string): OpenConfiguredProjectResult; + private findExternalProjectContainingOpenScriptInfo; + openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult; + private removeOrphanConfiguredProjects; + private telemetryOnOpenFile; + /** + * Close file whose contents is managed by the client + * @param filename is absolute pathname + */ + closeClientFile(uncheckedFileName: string): void; + private collectChanges; + private closeConfiguredProjectReferencedFromExternalProject; + closeExternalProject(uncheckedFileName: string): void; + openExternalProjects(projects: protocol.ExternalProject[]): void; + /** Makes a filename safe to insert in a RegExp */ + private static readonly filenameEscapeRegexp; + private static escapeFilenameForRegex; + resetSafeList(): void; + applySafeList(proj: protocol.ExternalProject): NormalizedPath[]; + openExternalProject(proj: protocol.ExternalProject): void; + hasDeferredExtension(): boolean; + configurePlugin(args: protocol.ConfigurePluginRequestArguments): void; + } +} +declare namespace ts.server { + interface ServerCancellationToken extends HostCancellationToken { + setRequest(requestId: number): void; + resetRequest(requestId: number): void; + } + const nullCancellationToken: ServerCancellationToken; + interface PendingErrorCheck { + fileName: NormalizedPath; + project: Project; + } + type CommandNames = protocol.CommandTypes; + const CommandNames: any; + function formatMessage(msg: T, logger: Logger, byteLength: (s: string, encoding: string) => number, newLine: string): string; + type Event = (body: T, eventName: string) => void; + interface EventSender { + event: Event; + } + interface SessionOptions { + host: ServerHost; + cancellationToken: ServerCancellationToken; + useSingleInferredProject: boolean; + useInferredProjectPerProjectRoot: boolean; + typingsInstaller: ITypingsInstaller; + byteLength: (buf: string, encoding?: string) => number; + hrtime: (start?: number[]) => number[]; + logger: Logger; + /** + * If falsy, all events are suppressed. + */ + canUseEvents: boolean; + eventHandler?: ProjectServiceEventHandler; + /** Has no effect if eventHandler is also specified. */ + suppressDiagnosticEvents?: boolean; + syntaxOnly?: boolean; + throttleWaitMilliseconds?: number; + noGetErrOnBackgroundUpdate?: boolean; + globalPlugins?: ReadonlyArray; + pluginProbeLocations?: ReadonlyArray; + allowLocalPluginLoads?: boolean; + typesMapLocation?: string; + } + class Session implements EventSender { + private readonly gcTimer; + protected projectService: ProjectService; + private changeSeq; + private currentRequestId; + private errorCheck; + protected host: ServerHost; + private readonly cancellationToken; + protected readonly typingsInstaller: ITypingsInstaller; + protected byteLength: (buf: string, encoding?: string) => number; + private hrtime; + protected logger: Logger; + protected canUseEvents: boolean; + private suppressDiagnosticEvents?; + private eventHandler; + private readonly noGetErrOnBackgroundUpdate?; + constructor(opts: SessionOptions); + private sendRequestCompletedEvent; + private defaultEventHandler; + private projectsUpdatedInBackgroundEvent; + logError(err: Error, cmd: string): void; + private logErrorWorker; + send(msg: protocol.Message): void; + event(body: T, eventName: string): void; + /** @deprecated */ + output(info: any, cmdName: string, reqSeq?: number, errorMsg?: string): void; + private doOutput; + private semanticCheck; + private syntacticCheck; + private suggestionCheck; + private sendDiagnosticsEvent; + /** It is the caller's responsibility to verify that `!this.suppressDiagnosticEvents`. */ + private updateErrorCheck; + private cleanProjects; + private cleanup; + private getEncodedSemanticClassifications; + private getProject; + private getConfigFileAndProject; + private getConfigFileDiagnostics; + private convertToDiagnosticsWithLinePositionFromDiagnosticFile; + private getCompilerOptionsDiagnostics; + private convertToDiagnosticsWithLinePosition; + private getDiagnosticsWorker; + private getDefinition; + private mapDefinitionInfoLocations; + private getDefinitionAndBoundSpan; + private getEmitOutput; + private mapDefinitionInfo; + private static mapToOriginalLocation; + private toFileSpan; + private getTypeDefinition; + private mapImplementationLocations; + private getImplementation; + private getOccurrences; + private getSyntacticDiagnosticsSync; + private getSemanticDiagnosticsSync; + private getSuggestionDiagnosticsSync; + private getJsxClosingTag; + private getDocumentHighlights; + private setCompilerOptionsForInferredProjects; + private getProjectInfo; + private getProjectInfoWorker; + private getRenameInfo; + private getProjects; + private getDefaultProject; + private getRenameLocations; + private mapRenameInfo; + private toSpanGroups; + private getReferences; + /** + * @param fileName is the name of the file to be opened + * @param fileContent is a version of the file content that is known to be more up to date than the one on disk + */ + private openClientFile; + private getPosition; + private getPositionInFile; + private getFileAndProject; + private getFileAndLanguageServiceForSyntacticOperation; + private getFileAndProjectWorker; + private getOutliningSpans; + private getTodoComments; + private getDocCommentTemplate; + private getSpanOfEnclosingComment; + private getIndentation; + private getBreakpointStatement; + private getNameOrDottedNameSpan; + private isValidBraceCompletion; + private getQuickInfoWorker; + private getFormattingEditsForRange; + private getFormattingEditsForRangeFull; + private getFormattingEditsForDocumentFull; + private getFormattingEditsAfterKeystrokeFull; + private getFormattingEditsAfterKeystroke; + private getCompletions; + private getCompletionEntryDetails; + private getCompileOnSaveAffectedFileList; + private emitFile; + private getSignatureHelpItems; + private createCheckList; + private getDiagnostics; + private change; + private reload; + private saveToTmp; + private closeClientFile; + private mapLocationNavigationBarItems; + private getNavigationBarItems; + private toLocationNavigationTree; + private toLocationTextSpan; + private getNavigationTree; + private getNavigateToItems; + private getFullNavigateToItems; + private getSupportedCodeFixes; + private isLocation; + private extractPositionOrRange; + private getApplicableRefactors; + private getEditsForRefactor; + private organizeImports; + private getEditsForFileRename; + private getCodeFixes; + private getCombinedCodeFix; + private applyCodeActionCommand; + private getStartAndEndPosition; + private mapCodeAction; + private mapCodeFixAction; + private mapTextChangesToCodeEdits; + private mapTextChangeToCodeEdit; + private convertTextChangeToCodeEdit; + private getBraceMatching; + private getDiagnosticsForProject; + private configurePlugin; + getCanonicalFileName(fileName: string): string; + exit(): void; + private notRequired; + private requiredResponse; + private handlers; + addProtocolHandler(command: string, handler: (request: protocol.Request) => HandlerResponse): void; + private setCurrentRequest; + private resetCurrentRequest; + executeWithRequestId(requestId: number, f: () => T): T; + executeCommand(request: protocol.Request): HandlerResponse; + onMessage(message: string): void; + private getFormatOptions; + private getPreferences; + private getHostFormatOptions; + private getHostPreferences; + } + interface HandlerResponse { + response?: {}; + responseRequired?: boolean; + } +} + +export = ts; +export as namespace ts; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/typescript.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/typescript.d.ts new file mode 100644 index 0000000..cfaad2a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/typescript.d.ts @@ -0,0 +1,5567 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +declare namespace ts { + const versionMajorMinor = "3.2"; + /** The version of the TypeScript compiler release */ + const version: string; +} +declare namespace ts { + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + interface SortedReadonlyArray extends ReadonlyArray { + " __sortedArrayBrand": any; + } + interface SortedArray extends Array { + " __sortedArrayBrand": any; + } + /** ES6 Map interface, only read methods included. */ + interface ReadonlyMap { + get(key: string): T | undefined; + has(key: string): boolean; + forEach(action: (value: T, key: string) => void): void; + readonly size: number; + keys(): Iterator; + values(): Iterator; + entries(): Iterator<[string, T]>; + } + /** ES6 Map interface. */ + interface Map extends ReadonlyMap { + set(key: string, value: T): this; + delete(key: string): boolean; + clear(): void; + } + /** ES6 Iterator type. */ + interface Iterator { + next(): { + value: T; + done: false; + } | { + value: never; + done: true; + }; + } + /** Array that is only intended to be pushed to, never read. */ + interface Push { + push(...values: T[]): void; + } +} +declare namespace ts { + type Path = string & { + __pathBrand: any; + }; + interface TextRange { + pos: number; + end: number; + } + type JsDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.Unknown | KeywordSyntaxKind; + type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InferKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.OfKeyword; + type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; + enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + BigIntLiteral = 9, + StringLiteral = 10, + JsxText = 11, + JsxTextAllWhiteSpaces = 12, + RegularExpressionLiteral = 13, + NoSubstitutionTemplateLiteral = 14, + TemplateHead = 15, + TemplateMiddle = 16, + TemplateTail = 17, + OpenBraceToken = 18, + CloseBraceToken = 19, + OpenParenToken = 20, + CloseParenToken = 21, + OpenBracketToken = 22, + CloseBracketToken = 23, + DotToken = 24, + DotDotDotToken = 25, + SemicolonToken = 26, + CommaToken = 27, + LessThanToken = 28, + LessThanSlashToken = 29, + GreaterThanToken = 30, + LessThanEqualsToken = 31, + GreaterThanEqualsToken = 32, + EqualsEqualsToken = 33, + ExclamationEqualsToken = 34, + EqualsEqualsEqualsToken = 35, + ExclamationEqualsEqualsToken = 36, + EqualsGreaterThanToken = 37, + PlusToken = 38, + MinusToken = 39, + AsteriskToken = 40, + AsteriskAsteriskToken = 41, + SlashToken = 42, + PercentToken = 43, + PlusPlusToken = 44, + MinusMinusToken = 45, + LessThanLessThanToken = 46, + GreaterThanGreaterThanToken = 47, + GreaterThanGreaterThanGreaterThanToken = 48, + AmpersandToken = 49, + BarToken = 50, + CaretToken = 51, + ExclamationToken = 52, + TildeToken = 53, + AmpersandAmpersandToken = 54, + BarBarToken = 55, + QuestionToken = 56, + ColonToken = 57, + AtToken = 58, + EqualsToken = 59, + PlusEqualsToken = 60, + MinusEqualsToken = 61, + AsteriskEqualsToken = 62, + AsteriskAsteriskEqualsToken = 63, + SlashEqualsToken = 64, + PercentEqualsToken = 65, + LessThanLessThanEqualsToken = 66, + GreaterThanGreaterThanEqualsToken = 67, + GreaterThanGreaterThanGreaterThanEqualsToken = 68, + AmpersandEqualsToken = 69, + BarEqualsToken = 70, + CaretEqualsToken = 71, + Identifier = 72, + BreakKeyword = 73, + CaseKeyword = 74, + CatchKeyword = 75, + ClassKeyword = 76, + ConstKeyword = 77, + ContinueKeyword = 78, + DebuggerKeyword = 79, + DefaultKeyword = 80, + DeleteKeyword = 81, + DoKeyword = 82, + ElseKeyword = 83, + EnumKeyword = 84, + ExportKeyword = 85, + ExtendsKeyword = 86, + FalseKeyword = 87, + FinallyKeyword = 88, + ForKeyword = 89, + FunctionKeyword = 90, + IfKeyword = 91, + ImportKeyword = 92, + InKeyword = 93, + InstanceOfKeyword = 94, + NewKeyword = 95, + NullKeyword = 96, + ReturnKeyword = 97, + SuperKeyword = 98, + SwitchKeyword = 99, + ThisKeyword = 100, + ThrowKeyword = 101, + TrueKeyword = 102, + TryKeyword = 103, + TypeOfKeyword = 104, + VarKeyword = 105, + VoidKeyword = 106, + WhileKeyword = 107, + WithKeyword = 108, + ImplementsKeyword = 109, + InterfaceKeyword = 110, + LetKeyword = 111, + PackageKeyword = 112, + PrivateKeyword = 113, + ProtectedKeyword = 114, + PublicKeyword = 115, + StaticKeyword = 116, + YieldKeyword = 117, + AbstractKeyword = 118, + AsKeyword = 119, + AnyKeyword = 120, + AsyncKeyword = 121, + AwaitKeyword = 122, + BooleanKeyword = 123, + ConstructorKeyword = 124, + DeclareKeyword = 125, + GetKeyword = 126, + InferKeyword = 127, + IsKeyword = 128, + KeyOfKeyword = 129, + ModuleKeyword = 130, + NamespaceKeyword = 131, + NeverKeyword = 132, + ReadonlyKeyword = 133, + RequireKeyword = 134, + NumberKeyword = 135, + ObjectKeyword = 136, + SetKeyword = 137, + StringKeyword = 138, + SymbolKeyword = 139, + TypeKeyword = 140, + UndefinedKeyword = 141, + UniqueKeyword = 142, + UnknownKeyword = 143, + FromKeyword = 144, + GlobalKeyword = 145, + BigIntKeyword = 146, + OfKeyword = 147, + QualifiedName = 148, + ComputedPropertyName = 149, + TypeParameter = 150, + Parameter = 151, + Decorator = 152, + PropertySignature = 153, + PropertyDeclaration = 154, + MethodSignature = 155, + MethodDeclaration = 156, + Constructor = 157, + GetAccessor = 158, + SetAccessor = 159, + CallSignature = 160, + ConstructSignature = 161, + IndexSignature = 162, + TypePredicate = 163, + TypeReference = 164, + FunctionType = 165, + ConstructorType = 166, + TypeQuery = 167, + TypeLiteral = 168, + ArrayType = 169, + TupleType = 170, + OptionalType = 171, + RestType = 172, + UnionType = 173, + IntersectionType = 174, + ConditionalType = 175, + InferType = 176, + ParenthesizedType = 177, + ThisType = 178, + TypeOperator = 179, + IndexedAccessType = 180, + MappedType = 181, + LiteralType = 182, + ImportType = 183, + ObjectBindingPattern = 184, + ArrayBindingPattern = 185, + BindingElement = 186, + ArrayLiteralExpression = 187, + ObjectLiteralExpression = 188, + PropertyAccessExpression = 189, + ElementAccessExpression = 190, + CallExpression = 191, + NewExpression = 192, + TaggedTemplateExpression = 193, + TypeAssertionExpression = 194, + ParenthesizedExpression = 195, + FunctionExpression = 196, + ArrowFunction = 197, + DeleteExpression = 198, + TypeOfExpression = 199, + VoidExpression = 200, + AwaitExpression = 201, + PrefixUnaryExpression = 202, + PostfixUnaryExpression = 203, + BinaryExpression = 204, + ConditionalExpression = 205, + TemplateExpression = 206, + YieldExpression = 207, + SpreadElement = 208, + ClassExpression = 209, + OmittedExpression = 210, + ExpressionWithTypeArguments = 211, + AsExpression = 212, + NonNullExpression = 213, + MetaProperty = 214, + SyntheticExpression = 215, + TemplateSpan = 216, + SemicolonClassElement = 217, + Block = 218, + VariableStatement = 219, + EmptyStatement = 220, + ExpressionStatement = 221, + IfStatement = 222, + DoStatement = 223, + WhileStatement = 224, + ForStatement = 225, + ForInStatement = 226, + ForOfStatement = 227, + ContinueStatement = 228, + BreakStatement = 229, + ReturnStatement = 230, + WithStatement = 231, + SwitchStatement = 232, + LabeledStatement = 233, + ThrowStatement = 234, + TryStatement = 235, + DebuggerStatement = 236, + VariableDeclaration = 237, + VariableDeclarationList = 238, + FunctionDeclaration = 239, + ClassDeclaration = 240, + InterfaceDeclaration = 241, + TypeAliasDeclaration = 242, + EnumDeclaration = 243, + ModuleDeclaration = 244, + ModuleBlock = 245, + CaseBlock = 246, + NamespaceExportDeclaration = 247, + ImportEqualsDeclaration = 248, + ImportDeclaration = 249, + ImportClause = 250, + NamespaceImport = 251, + NamedImports = 252, + ImportSpecifier = 253, + ExportAssignment = 254, + ExportDeclaration = 255, + NamedExports = 256, + ExportSpecifier = 257, + MissingDeclaration = 258, + ExternalModuleReference = 259, + JsxElement = 260, + JsxSelfClosingElement = 261, + JsxOpeningElement = 262, + JsxClosingElement = 263, + JsxFragment = 264, + JsxOpeningFragment = 265, + JsxClosingFragment = 266, + JsxAttribute = 267, + JsxAttributes = 268, + JsxSpreadAttribute = 269, + JsxExpression = 270, + CaseClause = 271, + DefaultClause = 272, + HeritageClause = 273, + CatchClause = 274, + PropertyAssignment = 275, + ShorthandPropertyAssignment = 276, + SpreadAssignment = 277, + EnumMember = 278, + SourceFile = 279, + Bundle = 280, + UnparsedSource = 281, + InputFiles = 282, + JSDocTypeExpression = 283, + JSDocAllType = 284, + JSDocUnknownType = 285, + JSDocNullableType = 286, + JSDocNonNullableType = 287, + JSDocOptionalType = 288, + JSDocFunctionType = 289, + JSDocVariadicType = 290, + JSDocComment = 291, + JSDocTypeLiteral = 292, + JSDocSignature = 293, + JSDocTag = 294, + JSDocAugmentsTag = 295, + JSDocClassTag = 296, + JSDocCallbackTag = 297, + JSDocEnumTag = 298, + JSDocParameterTag = 299, + JSDocReturnTag = 300, + JSDocThisTag = 301, + JSDocTypeTag = 302, + JSDocTemplateTag = 303, + JSDocTypedefTag = 304, + JSDocPropertyTag = 305, + SyntaxList = 306, + NotEmittedStatement = 307, + PartiallyEmittedExpression = 308, + CommaListExpression = 309, + MergeDeclarationMarker = 310, + EndOfDeclarationMarker = 311, + Count = 312, + FirstAssignment = 59, + LastAssignment = 71, + FirstCompoundAssignment = 60, + LastCompoundAssignment = 71, + FirstReservedWord = 73, + LastReservedWord = 108, + FirstKeyword = 73, + LastKeyword = 147, + FirstFutureReservedWord = 109, + LastFutureReservedWord = 117, + FirstTypeNode = 163, + LastTypeNode = 183, + FirstPunctuation = 18, + LastPunctuation = 71, + FirstToken = 0, + LastToken = 147, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 14, + FirstTemplateToken = 14, + LastTemplateToken = 17, + FirstBinaryOperator = 28, + LastBinaryOperator = 71, + FirstNode = 148, + FirstJSDocNode = 283, + LastJSDocNode = 305, + FirstJSDocTagNode = 294, + LastJSDocTagNode = 305 + } + enum NodeFlags { + None = 0, + Let = 1, + Const = 2, + NestedNamespace = 4, + Synthesized = 8, + Namespace = 16, + ExportContext = 32, + ContainsThis = 64, + HasImplicitReturn = 128, + HasExplicitReturn = 256, + GlobalAugmentation = 512, + HasAsyncFunctions = 1024, + DisallowInContext = 2048, + YieldContext = 4096, + DecoratorContext = 8192, + AwaitContext = 16384, + ThisNodeHasError = 32768, + JavaScriptFile = 65536, + ThisNodeOrAnySubNodesHasError = 131072, + HasAggregatedChildData = 262144, + JSDoc = 2097152, + JsonFile = 16777216, + BlockScoped = 3, + ReachabilityCheckFlags = 384, + ReachabilityAndEmitFlags = 1408, + ContextFlags = 12679168, + TypeExcludesFlags = 20480 + } + enum ModifierFlags { + None = 0, + Export = 1, + Ambient = 2, + Public = 4, + Private = 8, + Protected = 16, + Static = 32, + Readonly = 64, + Abstract = 128, + Async = 256, + Default = 512, + Const = 2048, + HasComputedFlags = 536870912, + AccessibilityModifier = 28, + ParameterPropertyModifier = 92, + NonPublicAccessibilityModifier = 24, + TypeScriptModifier = 2270, + ExportDefault = 513, + All = 3071 + } + enum JsxFlags { + None = 0, + /** An element from a named property of the JSX.IntrinsicElements interface */ + IntrinsicNamedElement = 1, + /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ + IntrinsicIndexedElement = 2, + IntrinsicElement = 3 + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent: Node; + } + interface JSDocContainer { + } + type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | EndOfFileToken; + type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; + type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; + type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + interface NodeArray extends ReadonlyArray, TextRange { + hasTrailingComma?: boolean; + } + interface Token extends Node { + kind: TKind; + } + type DotDotDotToken = Token; + type QuestionToken = Token; + type ExclamationToken = Token; + type ColonToken = Token; + type EqualsToken = Token; + type AsteriskToken = Token; + type EqualsGreaterThanToken = Token; + type EndOfFileToken = Token & JSDocContainer; + type ReadonlyToken = Token; + type AwaitKeywordToken = Token; + type PlusToken = Token; + type MinusToken = Token; + type Modifier = Token | Token | Token | Token | Token | Token | Token | Token | Token | Token | Token; + type ModifiersArray = NodeArray; + interface Identifier extends PrimaryExpression, Declaration { + kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + escapedText: __String; + originalKeywordKind?: SyntaxKind; + isInJSDocNamespace?: boolean; + } + interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + interface QualifiedName extends Node { + kind: SyntaxKind.QualifiedName; + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName; + type DeclarationName = Identifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + } + interface NamedDeclaration extends Declaration { + name?: DeclarationName; + } + interface DeclarationStatement extends NamedDeclaration, Statement { + name?: Identifier | StringLiteral | NumericLiteral; + } + interface ComputedPropertyName extends Node { + parent: Declaration; + kind: SyntaxKind.ComputedPropertyName; + expression: Expression; + } + interface Decorator extends Node { + kind: SyntaxKind.Decorator; + parent: NamedDeclaration; + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends NamedDeclaration { + kind: SyntaxKind.TypeParameter; + parent: DeclarationWithTypeParameterChildren | InferTypeNode; + name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + constraint?: TypeNode; + default?: TypeNode; + expression?: Expression; + } + interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SignatureDeclaration["kind"]; + name?: PropertyName; + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; + interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.CallSignature; + } + interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.ConstructSignature; + } + type BindingName = Identifier | BindingPattern; + interface VariableDeclaration extends NamedDeclaration { + kind: SyntaxKind.VariableDeclaration; + parent: VariableDeclarationList | CatchClause; + name: BindingName; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + kind: SyntaxKind.VariableDeclarationList; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + declarations: NodeArray; + } + interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.Parameter; + parent: SignatureDeclaration; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends NamedDeclaration { + kind: SyntaxKind.BindingElement; + parent: BindingPattern; + propertyName?: PropertyName; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + initializer?: Expression; + } + interface PropertySignature extends TypeElement, JSDocContainer { + kind: SyntaxKind.PropertySignature; + name: PropertyName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface PropertyDeclaration extends ClassElement, JSDocContainer { + kind: SyntaxKind.PropertyDeclaration; + parent: ClassLikeDeclaration; + name: PropertyName; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrandBrand: any; + name?: PropertyName; + } + /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ + type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration; + interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.PropertyAssignment; + name: PropertyName; + questionToken?: QuestionToken; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.ShorthandPropertyAssignment; + name: Identifier; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + equalsToken?: Token; + objectAssignmentInitializer?: Expression; + } + interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.SpreadAssignment; + expression: Expression; + } + type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag; + interface PropertyLikeDeclaration extends NamedDeclaration { + name: PropertyName; + } + interface ObjectBindingPattern extends Node { + kind: SyntaxKind.ObjectBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + interface ArrayBindingPattern extends Node { + kind: SyntaxKind.ArrayBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + type ArrayBindingElement = BindingElement | OmittedExpression; + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + asteriskToken?: AsteriskToken; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + body?: Block | Expression; + } + type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; + /** @deprecated Use SignatureDeclaration */ + type FunctionLike = SignatureDeclaration; + interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.FunctionDeclaration; + name?: Identifier; + body?: FunctionBody; + } + interface MethodSignature extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.MethodSignature; + parent: ObjectTypeDeclaration; + name: PropertyName; + } + interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.MethodDeclaration; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { + kind: SyntaxKind.Constructor; + parent: ClassLikeDeclaration; + body?: FunctionBody; + } + /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ + interface SemicolonClassElement extends ClassElement { + kind: SyntaxKind.SemicolonClassElement; + parent: ClassLikeDeclaration; + } + interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.GetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.SetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + kind: SyntaxKind.IndexSignature; + parent: ObjectTypeDeclaration; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface KeywordTypeNode extends TypeNode { + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + } + interface ImportTypeNode extends NodeWithTypeArguments { + kind: SyntaxKind.ImportType; + isTypeOf?: boolean; + argument: TypeNode; + qualifier?: EntityName; + } + interface ThisTypeNode extends TypeNode { + kind: SyntaxKind.ThisType; + } + type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.FunctionType; + } + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.ConstructorType; + } + interface NodeWithTypeArguments extends TypeNode { + typeArguments?: NodeArray; + } + type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + interface TypeReferenceNode extends NodeWithTypeArguments { + kind: SyntaxKind.TypeReference; + typeName: EntityName; + } + interface TypePredicateNode extends TypeNode { + kind: SyntaxKind.TypePredicate; + parent: SignatureDeclaration | JSDocTypeExpression; + parameterName: Identifier | ThisTypeNode; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + kind: SyntaxKind.TypeQuery; + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + kind: SyntaxKind.TypeLiteral; + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + kind: SyntaxKind.ArrayType; + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + kind: SyntaxKind.TupleType; + elementTypes: NodeArray; + } + interface OptionalTypeNode extends TypeNode { + kind: SyntaxKind.OptionalType; + type: TypeNode; + } + interface RestTypeNode extends TypeNode { + kind: SyntaxKind.RestType; + type: TypeNode; + } + type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + interface UnionTypeNode extends TypeNode { + kind: SyntaxKind.UnionType; + types: NodeArray; + } + interface IntersectionTypeNode extends TypeNode { + kind: SyntaxKind.IntersectionType; + types: NodeArray; + } + interface ConditionalTypeNode extends TypeNode { + kind: SyntaxKind.ConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; + } + interface InferTypeNode extends TypeNode { + kind: SyntaxKind.InferType; + typeParameter: TypeParameterDeclaration; + } + interface ParenthesizedTypeNode extends TypeNode { + kind: SyntaxKind.ParenthesizedType; + type: TypeNode; + } + interface TypeOperatorNode extends TypeNode { + kind: SyntaxKind.TypeOperator; + operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword; + type: TypeNode; + } + interface IndexedAccessTypeNode extends TypeNode { + kind: SyntaxKind.IndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; + } + interface MappedTypeNode extends TypeNode, Declaration { + kind: SyntaxKind.MappedType; + readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + typeParameter: TypeParameterDeclaration; + questionToken?: QuestionToken | PlusToken | MinusToken; + type?: TypeNode; + } + interface LiteralTypeNode extends TypeNode { + kind: SyntaxKind.LiteralType; + literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression; + } + interface StringLiteral extends LiteralExpression { + kind: SyntaxKind.StringLiteral; + } + type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; + interface Expression extends Node { + _expressionBrand: any; + } + interface OmittedExpression extends Expression { + kind: SyntaxKind.OmittedExpression; + } + interface PartiallyEmittedExpression extends LeftHandSideExpression { + kind: SyntaxKind.PartiallyEmittedExpression; + expression: Expression; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + /** Deprecated, please use UpdateExpression */ + type IncrementExpression = UpdateExpression; + interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; + } + type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken; + interface PrefixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: PrefixUnaryOperator; + operand: UnaryExpression; + } + type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken; + interface PostfixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PostfixUnaryExpression; + operand: LeftHandSideExpression; + operator: PostfixUnaryOperator; + } + interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface NullLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.NullKeyword; + } + interface BooleanLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword; + } + interface ThisExpression extends PrimaryExpression, KeywordTypeNode { + kind: SyntaxKind.ThisKeyword; + } + interface SuperExpression extends PrimaryExpression { + kind: SyntaxKind.SuperKeyword; + } + interface ImportExpression extends PrimaryExpression { + kind: SyntaxKind.ImportKeyword; + } + interface DeleteExpression extends UnaryExpression { + kind: SyntaxKind.DeleteExpression; + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + kind: SyntaxKind.TypeOfExpression; + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + kind: SyntaxKind.VoidExpression; + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + kind: SyntaxKind.AwaitExpression; + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + kind: SyntaxKind.YieldExpression; + asteriskToken?: AsteriskToken; + expression?: Expression; + } + interface SyntheticExpression extends Expression { + kind: SyntaxKind.SyntheticExpression; + isSpread: boolean; + type: Type; + } + type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken; + type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator; + type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken; + type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator; + type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator; + type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword; + type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator; + type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken; + type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator; + type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken; + type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator; + type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken; + type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator; + type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken; + type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator; + type AssignmentOperatorOrHigher = LogicalOperatorOrHigher | AssignmentOperator; + type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken; + type BinaryOperatorToken = Token; + interface BinaryExpression extends Expression, Declaration { + kind: SyntaxKind.BinaryExpression; + left: Expression; + operatorToken: BinaryOperatorToken; + right: Expression; + } + type AssignmentOperatorToken = Token; + interface AssignmentExpression extends BinaryExpression { + left: LeftHandSideExpression; + operatorToken: TOperator; + } + interface ObjectDestructuringAssignment extends AssignmentExpression { + left: ObjectLiteralExpression; + } + interface ArrayDestructuringAssignment extends AssignmentExpression { + left: ArrayLiteralExpression; + } + type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment; + type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression | Identifier | PropertyAccessExpression | ElementAccessExpression; + type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment; + type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression; + type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression; + type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression; + type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + interface ConditionalExpression extends Expression { + kind: SyntaxKind.ConditionalExpression; + condition: Expression; + questionToken: QuestionToken; + whenTrue: Expression; + colonToken: ColonToken; + whenFalse: Expression; + } + type FunctionBody = Block; + type ConciseBody = FunctionBody | Expression; + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.FunctionExpression; + name?: Identifier; + body: FunctionBody; + } + interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.ArrowFunction; + equalsGreaterThanToken: EqualsGreaterThanToken; + body: ConciseBody; + name: never; + } + interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; + } + interface RegularExpressionLiteral extends LiteralExpression { + kind: SyntaxKind.RegularExpressionLiteral; + } + interface NoSubstitutionTemplateLiteral extends LiteralExpression { + kind: SyntaxKind.NoSubstitutionTemplateLiteral; + } + interface NumericLiteral extends LiteralExpression { + kind: SyntaxKind.NumericLiteral; + } + interface BigIntLiteral extends LiteralExpression { + kind: SyntaxKind.BigIntLiteral; + } + interface TemplateHead extends LiteralLikeNode { + kind: SyntaxKind.TemplateHead; + parent: TemplateExpression; + } + interface TemplateMiddle extends LiteralLikeNode { + kind: SyntaxKind.TemplateMiddle; + parent: TemplateSpan; + } + interface TemplateTail extends LiteralLikeNode { + kind: SyntaxKind.TemplateTail; + parent: TemplateSpan; + } + type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; + interface TemplateExpression extends PrimaryExpression { + kind: SyntaxKind.TemplateExpression; + head: TemplateHead; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + kind: SyntaxKind.TemplateSpan; + parent: TemplateExpression; + expression: Expression; + literal: TemplateMiddle | TemplateTail; + } + interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer { + kind: SyntaxKind.ParenthesizedExpression; + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + kind: SyntaxKind.ArrayLiteralExpression; + elements: NodeArray; + } + interface SpreadElement extends Expression { + kind: SyntaxKind.SpreadElement; + parent: ArrayLiteralExpression | CallExpression | NewExpression; + expression: Expression; + } + /** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ + interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + kind: SyntaxKind.ObjectLiteralExpression; + } + type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + kind: SyntaxKind.PropertyAccessExpression; + expression: LeftHandSideExpression; + name: Identifier; + } + interface SuperPropertyAccessExpression extends PropertyAccessExpression { + expression: SuperExpression; + } + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } + interface ElementAccessExpression extends MemberExpression { + kind: SyntaxKind.ElementAccessExpression; + expression: LeftHandSideExpression; + argumentExpression: Expression; + } + interface SuperElementAccessExpression extends ElementAccessExpression { + expression: SuperExpression; + } + type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + interface CallExpression extends LeftHandSideExpression, Declaration { + kind: SyntaxKind.CallExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface SuperCall extends CallExpression { + expression: SuperExpression; + } + interface ImportCall extends CallExpression { + expression: ImportExpression; + } + interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + kind: SyntaxKind.ExpressionWithTypeArguments; + parent: HeritageClause | JSDocAugmentsTag; + expression: LeftHandSideExpression; + } + interface NewExpression extends PrimaryExpression, Declaration { + kind: SyntaxKind.NewExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments?: NodeArray; + } + interface TaggedTemplateExpression extends MemberExpression { + kind: SyntaxKind.TaggedTemplateExpression; + tag: LeftHandSideExpression; + typeArguments?: NodeArray; + template: TemplateLiteral; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement; + interface AsExpression extends Expression { + kind: SyntaxKind.AsExpression; + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + kind: SyntaxKind.TypeAssertionExpression; + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface NonNullExpression extends LeftHandSideExpression { + kind: SyntaxKind.NonNullExpression; + expression: Expression; + } + interface MetaProperty extends PrimaryExpression { + kind: SyntaxKind.MetaProperty; + keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + name: Identifier; + } + interface JsxElement extends PrimaryExpression { + kind: SyntaxKind.JsxElement; + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; + type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess; + interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + expression: JsxTagNameExpression; + } + interface JsxAttributes extends ObjectLiteralExpressionBase { + parent: JsxOpeningLikeElement; + } + interface JsxOpeningElement extends Expression { + kind: SyntaxKind.JsxOpeningElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxSelfClosingElement extends PrimaryExpression { + kind: SyntaxKind.JsxSelfClosingElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxFragment extends PrimaryExpression { + kind: SyntaxKind.JsxFragment; + openingFragment: JsxOpeningFragment; + children: NodeArray; + closingFragment: JsxClosingFragment; + } + interface JsxOpeningFragment extends Expression { + kind: SyntaxKind.JsxOpeningFragment; + parent: JsxFragment; + } + interface JsxClosingFragment extends Expression { + kind: SyntaxKind.JsxClosingFragment; + parent: JsxFragment; + } + interface JsxAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxAttribute; + parent: JsxAttributes; + name: Identifier; + initializer?: StringLiteral | JsxExpression; + } + interface JsxSpreadAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxSpreadAttribute; + parent: JsxAttributes; + expression: Expression; + } + interface JsxClosingElement extends Node { + kind: SyntaxKind.JsxClosingElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + } + interface JsxExpression extends Expression { + kind: SyntaxKind.JsxExpression; + parent: JsxElement | JsxAttributeLike; + dotDotDotToken?: Token; + expression?: Expression; + } + interface JsxText extends Node { + kind: SyntaxKind.JsxText; + containsOnlyWhiteSpaces: boolean; + parent: JsxElement; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; + interface Statement extends Node { + _statementBrand: any; + } + interface NotEmittedStatement extends Statement { + kind: SyntaxKind.NotEmittedStatement; + } + /** + * A list of comma-separated expressions. This node is only created by transformations. + */ + interface CommaListExpression extends Expression { + kind: SyntaxKind.CommaListExpression; + elements: NodeArray; + } + interface EmptyStatement extends Statement { + kind: SyntaxKind.EmptyStatement; + } + interface DebuggerStatement extends Statement { + kind: SyntaxKind.DebuggerStatement; + } + interface MissingDeclaration extends DeclarationStatement { + kind: SyntaxKind.MissingDeclaration; + name?: Identifier; + } + type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause; + interface Block extends Statement { + kind: SyntaxKind.Block; + statements: NodeArray; + } + interface VariableStatement extends Statement, JSDocContainer { + kind: SyntaxKind.VariableStatement; + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement, JSDocContainer { + kind: SyntaxKind.ExpressionStatement; + expression: Expression; + } + interface IfStatement extends Statement { + kind: SyntaxKind.IfStatement; + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + kind: SyntaxKind.DoStatement; + expression: Expression; + } + interface WhileStatement extends IterationStatement { + kind: SyntaxKind.WhileStatement; + expression: Expression; + } + type ForInitializer = VariableDeclarationList | Expression; + interface ForStatement extends IterationStatement { + kind: SyntaxKind.ForStatement; + initializer?: ForInitializer; + condition?: Expression; + incrementor?: Expression; + } + type ForInOrOfStatement = ForInStatement | ForOfStatement; + interface ForInStatement extends IterationStatement { + kind: SyntaxKind.ForInStatement; + initializer: ForInitializer; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + kind: SyntaxKind.ForOfStatement; + awaitModifier?: AwaitKeywordToken; + initializer: ForInitializer; + expression: Expression; + } + interface BreakStatement extends Statement { + kind: SyntaxKind.BreakStatement; + label?: Identifier; + } + interface ContinueStatement extends Statement { + kind: SyntaxKind.ContinueStatement; + label?: Identifier; + } + type BreakOrContinueStatement = BreakStatement | ContinueStatement; + interface ReturnStatement extends Statement { + kind: SyntaxKind.ReturnStatement; + expression?: Expression; + } + interface WithStatement extends Statement { + kind: SyntaxKind.WithStatement; + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + kind: SyntaxKind.SwitchStatement; + expression: Expression; + caseBlock: CaseBlock; + possiblyExhaustive?: boolean; + } + interface CaseBlock extends Node { + kind: SyntaxKind.CaseBlock; + parent: SwitchStatement; + clauses: NodeArray; + } + interface CaseClause extends Node { + kind: SyntaxKind.CaseClause; + parent: CaseBlock; + expression: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + kind: SyntaxKind.DefaultClause; + parent: CaseBlock; + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement, JSDocContainer { + kind: SyntaxKind.LabeledStatement; + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + kind: SyntaxKind.ThrowStatement; + expression?: Expression; + } + interface TryStatement extends Statement { + kind: SyntaxKind.TryStatement; + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + kind: SyntaxKind.CatchClause; + parent: TryStatement; + variableDeclaration?: VariableDeclaration; + block: Block; + } + type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode; + type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature; + type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag; + interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.ClassDeclaration; + /** May be undefined in `export default class { ... }`. */ + name?: Identifier; + } + interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + kind: SyntaxKind.ClassExpression; + } + type ClassLikeDeclaration = ClassDeclaration | ClassExpression; + interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + name?: PropertyName; + } + interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + name?: PropertyName; + questionToken?: QuestionToken; + } + interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.InterfaceDeclaration; + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + kind: SyntaxKind.HeritageClause; + parent: InterfaceDeclaration | ClassLikeDeclaration; + token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + types: NodeArray; + } + interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.TypeAliasDeclaration; + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.EnumMember; + parent: EnumDeclaration; + name: PropertyName; + initializer?: Expression; + } + interface EnumDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.EnumDeclaration; + name: Identifier; + members: NodeArray; + } + type ModuleName = Identifier | StringLiteral; + type ModuleBody = NamespaceBody | JSDocNamespaceBody; + interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ModuleDeclaration; + parent: ModuleBody | SourceFile; + name: ModuleName; + body?: ModuleBody | JSDocNamespaceDeclaration; + } + type NamespaceBody = ModuleBlock | NamespaceDeclaration; + interface NamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body: NamespaceBody; + } + type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; + interface JSDocNamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body?: JSDocNamespaceBody; + } + interface ModuleBlock extends Node, Statement { + kind: SyntaxKind.ModuleBlock; + parent: ModuleDeclaration; + statements: NodeArray; + } + type ModuleReference = EntityName | ExternalModuleReference; + /** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ + interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ImportEqualsDeclaration; + parent: SourceFile | ModuleBlock; + name: Identifier; + moduleReference: ModuleReference; + } + interface ExternalModuleReference extends Node { + kind: SyntaxKind.ExternalModuleReference; + parent: ImportEqualsDeclaration; + expression: Expression; + } + interface ImportDeclaration extends Statement { + kind: SyntaxKind.ImportDeclaration; + parent: SourceFile | ModuleBlock; + importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier: Expression; + } + type NamedImportBindings = NamespaceImport | NamedImports; + interface ImportClause extends NamedDeclaration { + kind: SyntaxKind.ImportClause; + parent: ImportDeclaration; + name?: Identifier; + namedBindings?: NamedImportBindings; + } + interface NamespaceImport extends NamedDeclaration { + kind: SyntaxKind.NamespaceImport; + parent: ImportClause; + name: Identifier; + } + interface NamespaceExportDeclaration extends DeclarationStatement { + kind: SyntaxKind.NamespaceExportDeclaration; + name: Identifier; + } + interface ExportDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ExportDeclaration; + parent: SourceFile | ModuleBlock; + /** Will not be assigned in the case of `export * from "foo";` */ + exportClause?: NamedExports; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier?: Expression; + } + interface NamedImports extends Node { + kind: SyntaxKind.NamedImports; + parent: ImportClause; + elements: NodeArray; + } + interface NamedExports extends Node { + kind: SyntaxKind.NamedExports; + parent: ExportDeclaration; + elements: NodeArray; + } + type NamedImportsOrExports = NamedImports | NamedExports; + interface ImportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ImportSpecifier; + parent: NamedImports; + propertyName?: Identifier; + name: Identifier; + } + interface ExportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ExportSpecifier; + parent: NamedExports; + propertyName?: Identifier; + name: Identifier; + } + type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier; + /** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ + interface ExportAssignment extends DeclarationStatement { + kind: SyntaxKind.ExportAssignment; + parent: SourceFile; + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CheckJsDirective extends TextRange { + enabled: boolean; + } + type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia; + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: CommentKind; + } + interface SynthesizedComment extends CommentRange { + text: string; + pos: -1; + end: -1; + } + interface JSDocTypeExpression extends TypeNode { + kind: SyntaxKind.JSDocTypeExpression; + type: TypeNode; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + kind: SyntaxKind.JSDocAllType; + } + interface JSDocUnknownType extends JSDocType { + kind: SyntaxKind.JSDocUnknownType; + } + interface JSDocNonNullableType extends JSDocType { + kind: SyntaxKind.JSDocNonNullableType; + type: TypeNode; + } + interface JSDocNullableType extends JSDocType { + kind: SyntaxKind.JSDocNullableType; + type: TypeNode; + } + interface JSDocOptionalType extends JSDocType { + kind: SyntaxKind.JSDocOptionalType; + type: TypeNode; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase { + kind: SyntaxKind.JSDocFunctionType; + } + interface JSDocVariadicType extends JSDocType { + kind: SyntaxKind.JSDocVariadicType; + type: TypeNode; + } + type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; + interface JSDoc extends Node { + kind: SyntaxKind.JSDocComment; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; + } + interface JSDocTag extends Node { + parent: JSDoc | JSDocTypeLiteral; + tagName: Identifier; + comment?: string; + } + interface JSDocUnknownTag extends JSDocTag { + kind: SyntaxKind.JSDocTag; + } + /** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ + interface JSDocAugmentsTag extends JSDocTag { + kind: SyntaxKind.JSDocAugmentsTag; + class: ExpressionWithTypeArguments & { + expression: Identifier | PropertyAccessEntityNameExpression; + }; + } + interface JSDocClassTag extends JSDocTag { + kind: SyntaxKind.JSDocClassTag; + } + interface JSDocEnumTag extends JSDocTag { + kind: SyntaxKind.JSDocEnumTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocThisTag extends JSDocTag { + kind: SyntaxKind.JSDocThisTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTemplateTag extends JSDocTag { + kind: SyntaxKind.JSDocTemplateTag; + constraint: JSDocTypeExpression | undefined; + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + kind: SyntaxKind.JSDocReturnTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + kind: SyntaxKind.JSDocTypeTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocTypedefTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; + } + interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocCallbackTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression: JSDocSignature; + } + interface JSDocSignature extends JSDocType, Declaration { + kind: SyntaxKind.JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + type: JSDocReturnTag | undefined; + } + interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + parent: JSDoc; + name: EntityName; + typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + isNameFirst: boolean; + isBracketed: boolean; + } + interface JSDocPropertyTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocPropertyTag; + } + interface JSDocParameterTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocParameterTag; + } + interface JSDocTypeLiteral extends JSDocType { + kind: SyntaxKind.JSDocTypeLiteral; + jsDocPropertyTags?: ReadonlyArray; + /** If true, then this type literal represents an *array* of its type. */ + isArrayType?: boolean; + } + enum FlowFlags { + Unreachable = 1, + Start = 2, + BranchLabel = 4, + LoopLabel = 8, + Assignment = 16, + TrueCondition = 32, + FalseCondition = 64, + SwitchClause = 128, + ArrayMutation = 256, + Referenced = 512, + Shared = 1024, + PreFinally = 2048, + AfterFinally = 4096, + Label = 12, + Condition = 96 + } + interface FlowLock { + locked?: boolean; + } + interface AfterFinallyFlow extends FlowNodeBase, FlowLock { + antecedent: FlowNode; + } + interface PreFinallyFlow extends FlowNodeBase { + antecedent: FlowNode; + lock: FlowLock; + } + type FlowNode = AfterFinallyFlow | PreFinallyFlow | FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation; + interface FlowNodeBase { + flags: FlowFlags; + id?: number; + } + interface FlowStart extends FlowNodeBase { + container?: FunctionExpression | ArrowFunction | MethodDeclaration; + } + interface FlowLabel extends FlowNodeBase { + antecedents: FlowNode[] | undefined; + } + interface FlowAssignment extends FlowNodeBase { + node: Expression | VariableDeclaration | BindingElement; + antecedent: FlowNode; + } + interface FlowCondition extends FlowNodeBase { + expression: Expression; + antecedent: FlowNode; + } + interface FlowSwitchClause extends FlowNodeBase { + switchStatement: SwitchStatement; + clauseStart: number; + clauseEnd: number; + antecedent: FlowNode; + } + interface FlowArrayMutation extends FlowNodeBase { + node: CallExpression | BinaryExpression; + antecedent: FlowNode; + } + type FlowType = Type | IncompleteType; + interface IncompleteType { + flags: TypeFlags; + type: Type; + } + interface AmdDependency { + path: string; + name?: string; + } + interface SourceFile extends Declaration { + kind: SyntaxKind.SourceFile; + statements: NodeArray; + endOfFileToken: Token; + fileName: string; + text: string; + amdDependencies: ReadonlyArray; + moduleName?: string; + referencedFiles: ReadonlyArray; + typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; + languageVariant: LanguageVariant; + isDeclarationFile: boolean; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface Bundle extends Node { + kind: SyntaxKind.Bundle; + prepends: ReadonlyArray; + sourceFiles: ReadonlyArray; + } + interface InputFiles extends Node { + kind: SyntaxKind.InputFiles; + javascriptText: string; + javascriptMapPath?: string; + javascriptMapText?: string; + declarationText: string; + declarationMapPath?: string; + declarationMapText?: string; + } + interface UnparsedSource extends Node { + kind: SyntaxKind.UnparsedSource; + text: string; + sourceMapPath?: string; + sourceMapText?: string; + } + interface JsonSourceFile extends SourceFile { + statements: NodeArray; + } + interface TsConfigSourceFile extends JsonSourceFile { + extendedSourceFiles?: string[]; + } + interface JsonMinusNumericLiteral extends PrefixUnaryExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: SyntaxKind.MinusToken; + operand: NumericLiteral; + } + interface JsonObjectExpressionStatement extends ExpressionStatement { + expression: ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile | undefined; + getSourceFileByPath(path: Path): SourceFile | undefined; + getCurrentDirectory(): string; + } + interface ParseConfigHost { + useCaseSensitiveFileNames: boolean; + readDirectory(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): ReadonlyArray; + /** + * Gets a value indicating whether the specified path exists and is a file. + * @param path The path to test. + */ + fileExists(path: string): boolean; + readFile(path: string): string | undefined; + trace?(s: string): void; + } + /** + * Branded string for keeping track of when we've turned an ambiguous path + * specified like "./blah" to an absolute path to an actual + * tsconfig file, e.g. "/root/blah/tsconfig.json" + */ + type ResolvedConfigFileName = string & { + _isResolvedConfigFileName: never; + }; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): ReadonlyArray; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Gets a type checker that can be used to semantically analyze source files in the program. + */ + getTypeChecker(): TypeChecker; + isSourceFileFromExternalLibrary(file: SourceFile): boolean; + isSourceFileDefaultLibrary(file: SourceFile): boolean; + getProjectReferences(): ReadonlyArray | undefined; + getResolvedProjectReferences(): ReadonlyArray | undefined; + } + interface ResolvedProjectReference { + commandLine: ParsedCommandLine; + sourceFile: SourceFile; + references?: ReadonlyArray; + } + interface CustomTransformers { + /** Custom transformers to evaluate before built-in .js transformations. */ + before?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .js transformations. */ + after?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .d.ts transformations. */ + afterDeclarations?: TransformerFactory[]; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2 + } + interface EmitResult { + emitSkipped: boolean; + /** Contains declaration emit diagnostics */ + diagnostics: ReadonlyArray; + emittedFiles?: string[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol | undefined; + getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; + getSignaturesOfType(type: Type, kind: SignatureKind): ReadonlyArray; + getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; + getBaseTypes(type: InterfaceType): BaseType[]; + getBaseTypeOfLiteralType(type: Type): Type; + getWidenedType(type: Type): Type; + getReturnTypeOfSignature(signature: Signature): Type; + getNullableType(type: Type, flags: TypeFlags): Type; + getNonNullableType(type: Type): Type; + /** Note that the resulting nodes cannot be checked. */ + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; + /** Note that the resulting nodes cannot be checked. */ + signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { + typeArguments?: NodeArray; + }) | undefined; + /** Note that the resulting nodes cannot be checked. */ + indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, kind: IndexKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): IndexSignatureDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): EntityName | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Expression | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): NodeArray | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): ParameterDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeParameterDeclaration | undefined; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[]; + /** + * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment. + * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value. + */ + getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined; + getExportSpecifierLocalTargetSymbol(location: ExportSpecifier): Symbol | undefined; + /** + * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol. + * Otherwise returns its input. + * For example, at `export type T = number;`: + * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`. + * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol. + * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol. + */ + getExportSymbolOfSymbol(symbol: Symbol): Symbol; + getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeAtLocation(node: Node): Type; + getTypeFromTypeNode(node: TypeNode): Type; + signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string; + typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): ReadonlyArray; + getContextualType(node: Expression): Type | undefined; + /** + * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. + * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. + */ + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; + isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + isUnknownSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean; + /** Follow all aliases to get the original symbol. */ + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxIntrinsicTagNamesAt(location: Node): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + getAmbientModules(): Symbol[]; + tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined; + getApparentType(type: Type): Type; + getBaseConstraintOfType(type: Type): Type | undefined; + getDefaultFromTypeParameter(type: Type): Type | undefined; + /** + * Depending on the operation performed, it may be appropriate to throw away the checker + * if the cancellation token is triggered. Typically, if it is used for error checking + * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. + */ + runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + } + enum NodeBuilderFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, + UseStructuralFallback = 8, + ForbidIndexedAccessSymbolReferences = 16, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + UseOnlyExternalAliasing = 128, + SuppressAnyReturnType = 256, + WriteTypeParametersInQualifiedName = 512, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowThisInObjectLiteral = 32768, + AllowQualifedNameInPlaceOfIdentifier = 65536, + AllowAnonymousIdentifier = 131072, + AllowEmptyUnionOrIntersection = 262144, + AllowEmptyTuple = 524288, + AllowUniqueESSymbolType = 1048576, + AllowEmptyIndexInfoType = 2097152, + AllowNodeModulesRelativePaths = 67108864, + IgnoreErrors = 70221824, + InObjectTypeLiteral = 4194304, + InTypeAlias = 8388608, + InInitialEntityName = 16777216, + InReverseMappedType = 33554432 + } + enum TypeFormatFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + UseStructuralFallback = 8, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + SuppressAnyReturnType = 256, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowUniqueESSymbolType = 1048576, + AddUndefined = 131072, + WriteArrowStyleSignature = 262144, + InArrayType = 524288, + InElementType = 2097152, + InFirstTypeArgument = 4194304, + InTypeAlias = 8388608, + /** @deprecated */ WriteOwnNameForAnyLike = 0, + NodeBuilderFlagsMask = 9469291 + } + enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + AllowAnyNodeKind = 4, + UseAliasDefinedOutsideCurrentScope = 8 + } + enum TypePredicateKind { + This = 0, + Identifier = 1 + } + interface TypePredicateBase { + kind: TypePredicateKind; + type: Type; + } + interface ThisTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.This; + } + interface IdentifierTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.Identifier; + parameterName: string; + parameterIndex: number; + } + type TypePredicate = IdentifierTypePredicate | ThisTypePredicate; + enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + Alias = 2097152, + Prototype = 4194304, + ExportStar = 8388608, + Optional = 16777216, + Transient = 33554432, + Assignment = 67108864, + ModuleExports = 134217728, + Enum = 384, + Variable = 3, + Value = 67220415, + Type = 67897832, + Namespace = 1920, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 67220414, + BlockScopedVariableExcludes = 67220415, + ParameterExcludes = 67220415, + PropertyExcludes = 0, + EnumMemberExcludes = 68008959, + FunctionExcludes = 67219887, + ClassExcludes = 68008383, + InterfaceExcludes = 67897736, + RegularEnumExcludes = 68008191, + ConstEnumExcludes = 68008831, + ValueModuleExcludes = 110735, + NamespaceModuleExcludes = 0, + MethodExcludes = 67212223, + GetAccessorExcludes = 67154879, + SetAccessorExcludes = 67187647, + TypeParameterExcludes = 67635688, + TypeAliasExcludes = 67897832, + AliasExcludes = 2097152, + ModuleMember = 2623475, + ExportHasLocal = 944, + BlockScoped = 418, + PropertyOrAccessor = 98308, + ClassMember = 106500 + } + interface Symbol { + flags: SymbolFlags; + escapedName: __String; + declarations: Declaration[]; + valueDeclaration: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + globalExports?: SymbolTable; + } + enum InternalSymbolName { + Call = "__call", + Constructor = "__constructor", + New = "__new", + Index = "__index", + ExportStar = "__export", + Global = "__global", + Missing = "__missing", + Type = "__type", + Object = "__object", + JSXAttributes = "__jsxAttributes", + Class = "__class", + Function = "__function", + Computed = "__computed", + Resolving = "__resolving__", + ExportEquals = "export=", + Default = "default", + This = "this" + } + /** + * This represents a string whose leading underscore have been escaped by adding extra leading underscores. + * The shape of this brand is rather unique compared to others we've used. + * Instead of just an intersection of a string and an object, it is that union-ed + * with an intersection of void and an object. This makes it wholly incompatible + * with a normal string (which is good, it cannot be misused on assignment or on usage), + * while still being comparable with a normal string via === (also good) and castable from a string. + */ + type __String = (string & { + __escapedIdentifier: void; + }) | (void & { + __escapedIdentifier: void; + }) | InternalSymbolName; + /** ReadonlyMap where keys are `__String`s. */ + interface ReadonlyUnderscoreEscapedMap { + get(key: __String): T | undefined; + has(key: __String): boolean; + forEach(action: (value: T, key: __String) => void): void; + readonly size: number; + keys(): Iterator<__String>; + values(): Iterator; + entries(): Iterator<[__String, T]>; + } + /** Map where keys are `__String`s. */ + interface UnderscoreEscapedMap extends ReadonlyUnderscoreEscapedMap { + set(key: __String, value: T): this; + delete(key: __String): boolean; + clear(): void; + } + /** SymbolTable based on ES6 Map interface. */ + type SymbolTable = UnderscoreEscapedMap; + enum TypeFlags { + Any = 1, + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + BigInt = 64, + StringLiteral = 128, + NumberLiteral = 256, + BooleanLiteral = 512, + EnumLiteral = 1024, + BigIntLiteral = 2048, + ESSymbol = 4096, + UniqueESSymbol = 8192, + Void = 16384, + Undefined = 32768, + Null = 65536, + Never = 131072, + TypeParameter = 262144, + Object = 524288, + Union = 1048576, + Intersection = 2097152, + Index = 4194304, + IndexedAccess = 8388608, + Conditional = 16777216, + Substitution = 33554432, + NonPrimitive = 67108864, + Literal = 2944, + Unit = 109440, + StringOrNumberLiteral = 384, + PossiblyFalsy = 117724, + StringLike = 132, + NumberLike = 296, + BigIntLike = 2112, + BooleanLike = 528, + EnumLike = 1056, + ESSymbolLike = 12288, + VoidLike = 49152, + UnionOrIntersection = 3145728, + StructuredType = 3670016, + TypeVariable = 8650752, + InstantiableNonPrimitive = 58982400, + InstantiablePrimitive = 4194304, + Instantiable = 63176704, + StructuredOrInstantiable = 66846720, + Narrowable = 133970943, + NotUnionOrUnit = 67637251 + } + type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; + interface Type { + flags: TypeFlags; + symbol: Symbol; + pattern?: DestructuringPattern; + aliasSymbol?: Symbol; + aliasTypeArguments?: ReadonlyArray; + } + interface LiteralType extends Type { + value: string | number | PseudoBigInt; + freshType: LiteralType; + regularType: LiteralType; + } + interface UniqueESSymbolType extends Type { + symbol: Symbol; + } + interface StringLiteralType extends LiteralType { + value: string; + } + interface NumberLiteralType extends LiteralType { + value: number; + } + interface BigIntLiteralType extends LiteralType { + value: PseudoBigInt; + } + interface EnumType extends Type { + } + enum ObjectFlags { + Class = 1, + Interface = 2, + Reference = 4, + Tuple = 8, + Anonymous = 16, + Mapped = 32, + Instantiated = 64, + ObjectLiteral = 128, + EvolvingArray = 256, + ObjectLiteralPatternWithComputedProperties = 512, + ContainsSpread = 1024, + ReverseMapped = 2048, + JsxAttributes = 4096, + MarkerType = 8192, + JSLiteral = 16384, + FreshLiteral = 32768, + ClassOrInterface = 3 + } + interface ObjectType extends Type { + objectFlags: ObjectFlags; + } + /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; + } + type BaseType = ObjectType | IntersectionType; + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; + } + /** + * Type references (ObjectFlags.Reference). When a class or interface has type parameters or + * a "this" type, references to the class or interface are made using type references. The + * typeArguments property specifies the types to substitute for the type parameters of the + * class or interface and optionally includes an extra element that specifies the type to + * substitute for "this" in the resulting instantiation. When no extra argument is present, + * the type reference itself is substituted for "this". The typeArguments property is undefined + * if the class or interface has no type parameters and the reference isn't specifying an + * explicit "this" argument. + */ + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments?: ReadonlyArray; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends GenericType { + minLength: number; + hasRestElement: boolean; + associatedNames?: __String[]; + } + interface TupleTypeReference extends TypeReference { + target: TupleType; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + type StructuredType = ObjectType | UnionType | IntersectionType; + interface EvolvingArrayType extends ObjectType { + elementType: Type; + finalArrayType?: Type; + } + interface InstantiableType extends Type { + } + interface TypeParameter extends InstantiableType { + } + interface IndexedAccessType extends InstantiableType { + objectType: Type; + indexType: Type; + constraint?: Type; + simplified?: Type; + } + type TypeVariable = TypeParameter | IndexedAccessType; + interface IndexType extends InstantiableType { + type: InstantiableType | UnionOrIntersectionType; + } + interface ConditionalRoot { + node: ConditionalTypeNode; + checkType: Type; + extendsType: Type; + trueType: Type; + falseType: Type; + isDistributive: boolean; + inferTypeParameters?: TypeParameter[]; + outerTypeParameters?: TypeParameter[]; + instantiations?: Map; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; + } + interface ConditionalType extends InstantiableType { + root: ConditionalRoot; + checkType: Type; + extendsType: Type; + resolvedTrueType?: Type; + resolvedFalseType?: Type; + } + interface SubstitutionType extends InstantiableType { + typeVariable: TypeVariable; + substitute: Type; + } + enum SignatureKind { + Call = 0, + Construct = 1 + } + interface Signature { + declaration?: SignatureDeclaration | JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + } + enum IndexKind { + String = 0, + Number = 1 + } + interface IndexInfo { + type: Type; + isReadonly: boolean; + declaration?: IndexSignatureDeclaration; + } + enum InferencePriority { + NakedTypeVariable = 1, + HomomorphicMappedType = 2, + MappedTypeConstraint = 4, + ReturnType = 8, + LiteralKeyof = 16, + NoConstraints = 32, + AlwaysStrict = 64, + PriorityImpliesCombination = 28 + } + /** @deprecated Use FileExtensionInfo instead. */ + type JsFileExtensionInfo = FileExtensionInfo; + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + message: string; + reportsUnnecessary?: {}; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + interface DiagnosticRelatedInformation { + category: DiagnosticCategory; + code: number; + file: SourceFile | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Suggestion = 2, + Message = 3 + } + enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface PluginImport { + name: string; + } + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined; + } + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 6 + } + enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3 + } + enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + interface LineAndCharacter { + /** 0-based. */ + line: number; + character: number; + } + enum ScriptKind { + Unknown = 0, + JS = 1, + JSX = 2, + TS = 3, + TSX = 4, + External = 5, + JSON = 6, + /** + * Used on extensions that doesn't define the ScriptKind but the content defines it. + * Deferred extensions are going to be included in all project contexts. + */ + Deferred = 7 + } + enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ESNext = 6, + JSON = 100, + Latest = 6 + } + enum LanguageVariant { + Standard = 0, + JSX = 1 + } + /** Either a parsed command line or a parsed tsconfig.json */ + interface ParsedCommandLine { + options: CompilerOptions; + typeAcquisition?: TypeAcquisition; + fileNames: string[]; + projectReferences?: ReadonlyArray; + raw?: any; + errors: Diagnostic[]; + wildcardDirectories?: MapLike; + compileOnSave?: boolean; + } + enum WatchDirectoryFlags { + None = 0, + Recursive = 1 + } + interface ExpandResult { + fileNames: string[]; + wildcardDirectories: MapLike; + } + interface CreateProgramOptions { + rootNames: ReadonlyArray; + options: CompilerOptions; + projectReferences?: ReadonlyArray; + host?: CompilerHost; + oldProgram?: Program; + configFileParsingDiagnostics?: ReadonlyArray; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + trace?(s: string): void; + directoryExists?(directoryName: string): boolean; + /** + * Resolve a symbolic link. + * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options + */ + realpath?(path: string): string; + getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; + } + /** + * Represents the result of module resolution. + * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off. + * The Program will then filter results based on these flags. + * + * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred. + */ + interface ResolvedModule { + /** Path of the file the module was resolved to. */ + resolvedFileName: string; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + /** + * ResolvedModule with an explicitly provided `extension` property. + * Prefer this over `ResolvedModule`. + * If changing this, remember to change `moduleResolutionIsEqualTo`. + */ + interface ResolvedModuleFull extends ResolvedModule { + /** + * Extension of resolvedFileName. This must match what's at the end of resolvedFileName. + * This is optional for backwards-compatibility, but will be added if not provided. + */ + extension: Extension; + packageId?: PackageId; + } + /** + * Unique identifier with a package name and version. + * If changing this, remember to change `packageIdIsEqual`. + */ + interface PackageId { + /** + * Name of the package. + * Should not include `@types`. + * If accessing a non-index file, this should include its name e.g. "foo/bar". + */ + name: string; + /** + * Name of a submodule within this package. + * May be "". + */ + subModuleName: string; + /** Version of the package, e.g. "1.2.3" */ + version: string; + } + enum Extension { + Ts = ".ts", + Tsx = ".tsx", + Dts = ".d.ts", + Js = ".js", + Jsx = ".jsx", + Json = ".json" + } + interface ResolvedModuleWithFailedLookupLocations { + readonly resolvedModule: ResolvedModuleFull | undefined; + } + interface ResolvedTypeReferenceDirective { + primary: boolean; + resolvedFileName: string | undefined; + packageId?: PackageId; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; + readonly failedLookupLocations: ReadonlyArray; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + readDirectory?(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): string[]; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** + * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files + */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getEnvironmentVariable?(name: string): string | undefined; + createHash?(data: string): string; + } + interface SourceMapRange extends TextRange { + source?: SourceMapSource; + } + interface SourceMapSource { + fileName: string; + text: string; + skipTrivia?: (pos: number) => number; + } + enum EmitFlags { + None = 0, + SingleLine = 1, + AdviseOnEmitNode = 2, + NoSubstitution = 4, + CapturesThis = 8, + NoLeadingSourceMap = 16, + NoTrailingSourceMap = 32, + NoSourceMap = 48, + NoNestedSourceMaps = 64, + NoTokenLeadingSourceMaps = 128, + NoTokenTrailingSourceMaps = 256, + NoTokenSourceMaps = 384, + NoLeadingComments = 512, + NoTrailingComments = 1024, + NoComments = 1536, + NoNestedComments = 2048, + HelperName = 4096, + ExportName = 8192, + LocalName = 16384, + InternalName = 32768, + Indented = 65536, + NoIndentation = 131072, + AsyncFunctionBody = 262144, + ReuseTempVariableScope = 524288, + CustomPrologue = 1048576, + NoHoisting = 2097152, + HasEndOfDeclarationMarker = 4194304, + Iterator = 8388608, + NoAsciiEscaping = 16777216 + } + interface EmitHelper { + readonly name: string; + readonly scoped: boolean; + readonly text: string | ((node: EmitHelperUniqueNameCallback) => string); + readonly priority?: number; + } + type EmitHelperUniqueNameCallback = (name: string) => string; + enum EmitHint { + SourceFile = 0, + Expression = 1, + IdentifierName = 2, + MappedTypeParameter = 3, + Unspecified = 4, + EmbeddedStatement = 5 + } + interface TransformationContext { + /** Gets the compiler options supplied to the transformer. */ + getCompilerOptions(): CompilerOptions; + /** Starts a new lexical environment. */ + startLexicalEnvironment(): void; + /** Suspends the current lexical environment, usually after visiting a parameter list. */ + suspendLexicalEnvironment(): void; + /** Resumes a suspended lexical environment, usually before visiting a function body. */ + resumeLexicalEnvironment(): void; + /** Ends a lexical environment, returning any declarations. */ + endLexicalEnvironment(): Statement[] | undefined; + /** Hoists a function declaration to the containing scope. */ + hoistFunctionDeclaration(node: FunctionDeclaration): void; + /** Hoists a variable declaration to the containing scope. */ + hoistVariableDeclaration(node: Identifier): void; + /** Records a request for a non-scoped emit helper in the current context. */ + requestEmitHelper(helper: EmitHelper): void; + /** Gets and resets the requested non-scoped emit helpers. */ + readEmitHelpers(): EmitHelper[] | undefined; + /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ + enableSubstitution(kind: SyntaxKind): void; + /** Determines whether expression substitutions are enabled for the provided node. */ + isSubstitutionEnabled(node: Node): boolean; + /** + * Hook used by transformers to substitute expressions just before they + * are emitted by the pretty printer. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onSubstituteNode: (hint: EmitHint, node: Node) => Node; + /** + * Enables before/after emit notifications in the pretty printer for the provided + * SyntaxKind. + */ + enableEmitNotification(kind: SyntaxKind): void; + /** + * Determines whether before/after emit notifications should be raised in the pretty + * printer when it emits a node. + */ + isEmitNotificationEnabled(node: Node): boolean; + /** + * Hook used to allow transformers to capture state before or after + * the printer emits a node. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void; + } + interface TransformationResult { + /** Gets the transformed source files. */ + transformed: T[]; + /** Gets diagnostics for the transformation. */ + diagnostics?: DiagnosticWithLocation[]; + /** + * Gets a substitute for a node, if one is available; otherwise, returns the original node. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + substituteNode(hint: EmitHint, node: Node): Node; + /** + * Emits a node with possible notification. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to emit. + * @param emitCallback A callback used to emit the node. + */ + emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + /** + * Clean up EmitNode entries on any parse-tree nodes. + */ + dispose(): void; + } + /** + * A function that is used to initialize and return a `Transformer` callback, which in turn + * will be used to transform one or more nodes. + */ + type TransformerFactory = (context: TransformationContext) => Transformer; + /** + * A function that transforms a node. + */ + type Transformer = (node: T) => T; + /** + * A function that accepts and possibly transforms a node. + */ + type Visitor = (node: Node) => VisitResult; + type VisitResult = T | T[] | undefined; + interface Printer { + /** + * Print a node and its subtree as-is, without any emit transformations. + * @param hint A value indicating the purpose of a node. This is primarily used to + * distinguish between an `Identifier` used in an expression position, versus an + * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you + * should just pass `Unspecified`. + * @param node The node to print. The node and its subtree are printed as-is, without any + * emit transformations. + * @param sourceFile A source file that provides context for the node. The source text of + * the file is used to emit the original source content for literals and identifiers, while + * the identifiers of the source file are used when generating unique names to avoid + * collisions. + */ + printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string; + /** + * Prints a list of nodes using the given format flags + */ + printList(format: ListFormat, list: NodeArray, sourceFile: SourceFile): string; + /** + * Prints a source file as-is, without any emit transformations. + */ + printFile(sourceFile: SourceFile): string; + /** + * Prints a bundle of source files as-is, without any emit transformations. + */ + printBundle(bundle: Bundle): string; + } + interface PrintHandlers { + /** + * A hook used by the Printer when generating unique names to avoid collisions with + * globally defined names that exist outside of the current source file. + */ + hasGlobalName?(name: string): boolean; + /** + * A hook used by the Printer to provide notifications prior to emitting a node. A + * compatible implementation **must** invoke `emitCallback` with the provided `hint` and + * `node` values. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @param emitCallback A callback that, when invoked, will emit the node. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * onEmitNode(hint, node, emitCallback) { + * // set up or track state prior to emitting the node... + * emitCallback(hint, node); + * // restore state after emitting the node... + * } + * }); + * ``` + */ + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; + /** + * A hook used by the Printer to perform just-in-time substitution of a node. This is + * primarily used by node transformations that need to substitute one node for another, + * such as replacing `myExportedVar` with `exports.myExportedVar`. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * substituteNode(hint, node) { + * // perform substitution if necessary... + * return node; + * } + * }); + * ``` + */ + substituteNode?(hint: EmitHint, node: Node): Node; + } + interface PrinterOptions { + removeComments?: boolean; + newLine?: NewLineKind; + omitTrailingSemicolon?: boolean; + noEmitHelpers?: boolean; + } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } + interface SyntaxList extends Node { + _children: Node[]; + } + enum ListFormat { + None = 0, + SingleLine = 0, + MultiLine = 1, + PreserveLines = 2, + LinesMask = 3, + NotDelimited = 0, + BarDelimited = 4, + AmpersandDelimited = 8, + CommaDelimited = 16, + AsteriskDelimited = 32, + DelimitersMask = 60, + AllowTrailingComma = 64, + Indented = 128, + SpaceBetweenBraces = 256, + SpaceBetweenSiblings = 512, + Braces = 1024, + Parenthesis = 2048, + AngleBrackets = 4096, + SquareBrackets = 8192, + BracketsMask = 15360, + OptionalIfUndefined = 16384, + OptionalIfEmpty = 32768, + Optional = 49152, + PreferNewLine = 65536, + NoTrailingNewLine = 131072, + NoInterveningComments = 262144, + NoSpaceIfEmpty = 524288, + SingleElement = 1048576, + Modifiers = 262656, + HeritageClauses = 512, + SingleLineTypeLiteralMembers = 768, + MultiLineTypeLiteralMembers = 32897, + TupleTypeElements = 528, + UnionTypeConstituents = 516, + IntersectionTypeConstituents = 520, + ObjectBindingPatternElements = 525136, + ArrayBindingPatternElements = 524880, + ObjectLiteralExpressionProperties = 526226, + ArrayLiteralExpressionElements = 8914, + CommaListElements = 528, + CallExpressionArguments = 2576, + NewExpressionArguments = 18960, + TemplateExpressionSpans = 262144, + SingleLineBlockStatements = 768, + MultiLineBlockStatements = 129, + VariableDeclarationList = 528, + SingleLineFunctionBodyStatements = 768, + MultiLineFunctionBodyStatements = 1, + ClassHeritageClauses = 0, + ClassMembers = 129, + InterfaceMembers = 129, + EnumMembers = 145, + CaseBlockClauses = 129, + NamedImportsOrExportsElements = 525136, + JsxElementOrFragmentChildren = 262144, + JsxElementAttributes = 262656, + CaseOrDefaultClauseStatements = 163969, + HeritageClauseTypes = 528, + SourceFileStatements = 131073, + Decorators = 49153, + TypeArguments = 53776, + TypeParameters = 53776, + Parameters = 2576, + IndexSignatureParameters = 8848, + JSDocComment = 33 + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + readonly includeCompletionsForModuleExports?: boolean; + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ + readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; + readonly allowTextChangesInNewFiles?: boolean; + } + /** Represents a bigint literal value without requiring bigint support */ + interface PseudoBigInt { + negative: boolean; + base10Value: string; + } +} +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; +declare function clearTimeout(handle: any): void; +declare namespace ts { + enum FileWatcherEventKind { + Created = 0, + Changed = 1, + Deleted = 2 + } + type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + type DirectoryWatcherCallback = (fileName: string) => void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + writeOutputIsTTY?(): boolean; + readFile(path: string, encoding?: string): string | undefined; + getFileSize?(path: string): number; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + /** + * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that + * use native OS file watching + */ + watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + getModifiedTime?(path: string): Date | undefined; + setModifiedTime?(path: string, time: Date): void; + deleteFile?(path: string): void; + /** + * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) + */ + createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + realpath?(path: string): string; + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout?(timeoutId: any): void; + clearScreen?(): void; + base64decode?(input: string): string; + base64encode?(input: string): string; + } + interface FileWatcher { + close(): void; + } + function getNodeMajorVersion(): number | undefined; + let sys: System; +} +declare namespace ts { + type ErrorCallback = (message: DiagnosticMessage, length: number) => void; + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + scanJsxAttributeValue(): SyntaxKind; + reScanJsxToken(): JsxTokenSyntaxKind; + scanJsxToken(): JsxTokenSyntaxKind; + scanJSDocToken(): JsDocSyntaxKind; + scan(): SyntaxKind; + getText(): string; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + scanRange(start: number, length: number, callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string | undefined; + function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter; + function isWhiteSpaceLike(ch: number): boolean; + /** Does not include line breaks. For that, see isWhiteSpaceLike. */ + function isWhiteSpaceSingleLine(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + /** Optionally, get the shebang */ + function getShebang(text: string): string | undefined; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function isExternalModuleNameRelative(moduleName: string): boolean; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): SortedReadonlyArray; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; + type ParameterPropertyDeclaration = ParameterDeclaration & { + parent: ConstructorDeclaration; + name: Identifier; + }; + function isParameterPropertyDeclaration(node: Node): node is ParameterPropertyDeclaration; + function isEmptyBindingPattern(node: BindingName): node is BindingPattern; + function isEmptyBindingElement(node: BindingElement): boolean; + function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration; + function getCombinedModifierFlags(node: Declaration): ModifierFlags; + function getCombinedNodeFlags(node: Node): NodeFlags; + /** + * Checks to see if the locale is in the appropriate format, + * and if it is, attempts to set the appropriate language. + */ + function validateLocaleAndSetLanguage(locale: string, sys: { + getExecutingFilePath(): string; + resolvePath(path: string): string; + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + }, errors?: Push): void; + function getOriginalNode(node: Node): Node; + function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; + /** + * Gets a value indicating whether a node originated in the parse tree. + * + * @param node The node to test. + */ + function isParseTreeNode(node: Node): boolean; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node): Node; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; + /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ + function escapeLeadingUnderscores(identifier: string): __String; + /** + * Remove extra underscore from escaped identifier text content. + * + * @param identifier The escaped identifier text. + * @returns The unescaped identifier text. + */ + function unescapeLeadingUnderscores(identifier: __String): string; + function idText(identifier: Identifier): string; + function symbolName(symbol: Symbol): string; + function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + /** + * Gets the JSDoc parameter tags for the node if present. + * + * @remarks Returns any JSDoc param tag whose name matches the provided + * parameter, whether a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the param + * tag on the containing function expression would be first. + * + * For binding patterns, parameter tags are matched by position. + */ + function getJSDocParameterTags(param: ParameterDeclaration): ReadonlyArray; + /** + * Gets the JSDoc type parameter tags for the node if present. + * + * @remarks Returns any JSDoc template tag whose names match the provided + * parameter, whether a template tag on a containing function + * expression, or a template tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the template + * tag on the containing function expression would be first. + */ + function getJSDocTypeParameterTags(param: TypeParameterDeclaration): ReadonlyArray; + /** + * Return true if the node has JSDoc parameter tags. + * + * @remarks Includes parameter tags that are not directly on the node, + * for example on a variable declaration whose initializer is a function expression. + */ + function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean; + /** Gets the JSDoc augments tag for the node if present */ + function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined; + /** Gets the JSDoc class tag for the node if present */ + function getJSDocClassTag(node: Node): JSDocClassTag | undefined; + /** Gets the JSDoc enum tag for the node if present */ + function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined; + /** Gets the JSDoc this tag for the node if present */ + function getJSDocThisTag(node: Node): JSDocThisTag | undefined; + /** Gets the JSDoc return tag for the node if present */ + function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined; + /** Gets the JSDoc template tag for the node if present */ + function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined; + /** Gets the JSDoc type tag for the node if present and valid */ + function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined; + /** + * Gets the type node for the node if provided via JSDoc. + * + * @remarks The search includes any JSDoc param tag that relates + * to the provided parameter, for example a type tag on the + * parameter itself, or a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are examined first, so in the previous example, the type + * tag directly on the node would be returned. + */ + function getJSDocType(node: Node): TypeNode | undefined; + /** + * Gets the return type node for the node if provided via JSDoc return tag or type tag. + * + * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function + * gets the type from inside the braces, after the fat arrow, etc. + */ + function getJSDocReturnType(node: Node): TypeNode | undefined; + /** Get all JSDoc tags related to a node, including those on parent nodes. */ + function getJSDocTags(node: Node): ReadonlyArray; + /** Gets all JSDoc tags of a specified kind, or undefined if not present. */ + function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): ReadonlyArray; + /** + * Gets the effective type parameters. If the node was parsed in a + * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + */ + function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray; + function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; +} +declare namespace ts { + function isNumericLiteral(node: Node): node is NumericLiteral; + function isBigIntLiteral(node: Node): node is BigIntLiteral; + function isStringLiteral(node: Node): node is StringLiteral; + function isJsxText(node: Node): node is JsxText; + function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral; + function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral; + function isTemplateHead(node: Node): node is TemplateHead; + function isTemplateMiddle(node: Node): node is TemplateMiddle; + function isTemplateTail(node: Node): node is TemplateTail; + function isIdentifier(node: Node): node is Identifier; + function isQualifiedName(node: Node): node is QualifiedName; + function isComputedPropertyName(node: Node): node is ComputedPropertyName; + function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration; + function isParameter(node: Node): node is ParameterDeclaration; + function isDecorator(node: Node): node is Decorator; + function isPropertySignature(node: Node): node is PropertySignature; + function isPropertyDeclaration(node: Node): node is PropertyDeclaration; + function isMethodSignature(node: Node): node is MethodSignature; + function isMethodDeclaration(node: Node): node is MethodDeclaration; + function isConstructorDeclaration(node: Node): node is ConstructorDeclaration; + function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration; + function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration; + function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration; + function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration; + function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration; + function isTypePredicateNode(node: Node): node is TypePredicateNode; + function isTypeReferenceNode(node: Node): node is TypeReferenceNode; + function isFunctionTypeNode(node: Node): node is FunctionTypeNode; + function isConstructorTypeNode(node: Node): node is ConstructorTypeNode; + function isTypeQueryNode(node: Node): node is TypeQueryNode; + function isTypeLiteralNode(node: Node): node is TypeLiteralNode; + function isArrayTypeNode(node: Node): node is ArrayTypeNode; + function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isUnionTypeNode(node: Node): node is UnionTypeNode; + function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode; + function isConditionalTypeNode(node: Node): node is ConditionalTypeNode; + function isInferTypeNode(node: Node): node is InferTypeNode; + function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode; + function isThisTypeNode(node: Node): node is ThisTypeNode; + function isTypeOperatorNode(node: Node): node is TypeOperatorNode; + function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode; + function isMappedTypeNode(node: Node): node is MappedTypeNode; + function isLiteralTypeNode(node: Node): node is LiteralTypeNode; + function isImportTypeNode(node: Node): node is ImportTypeNode; + function isObjectBindingPattern(node: Node): node is ObjectBindingPattern; + function isArrayBindingPattern(node: Node): node is ArrayBindingPattern; + function isBindingElement(node: Node): node is BindingElement; + function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression; + function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression; + function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression; + function isElementAccessExpression(node: Node): node is ElementAccessExpression; + function isCallExpression(node: Node): node is CallExpression; + function isNewExpression(node: Node): node is NewExpression; + function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression; + function isTypeAssertion(node: Node): node is TypeAssertion; + function isParenthesizedExpression(node: Node): node is ParenthesizedExpression; + function skipPartiallyEmittedExpressions(node: Expression): Expression; + function skipPartiallyEmittedExpressions(node: Node): Node; + function isFunctionExpression(node: Node): node is FunctionExpression; + function isArrowFunction(node: Node): node is ArrowFunction; + function isDeleteExpression(node: Node): node is DeleteExpression; + function isTypeOfExpression(node: Node): node is TypeOfExpression; + function isVoidExpression(node: Node): node is VoidExpression; + function isAwaitExpression(node: Node): node is AwaitExpression; + function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression; + function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression; + function isBinaryExpression(node: Node): node is BinaryExpression; + function isConditionalExpression(node: Node): node is ConditionalExpression; + function isTemplateExpression(node: Node): node is TemplateExpression; + function isYieldExpression(node: Node): node is YieldExpression; + function isSpreadElement(node: Node): node is SpreadElement; + function isClassExpression(node: Node): node is ClassExpression; + function isOmittedExpression(node: Node): node is OmittedExpression; + function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; + function isAsExpression(node: Node): node is AsExpression; + function isNonNullExpression(node: Node): node is NonNullExpression; + function isMetaProperty(node: Node): node is MetaProperty; + function isTemplateSpan(node: Node): node is TemplateSpan; + function isSemicolonClassElement(node: Node): node is SemicolonClassElement; + function isBlock(node: Node): node is Block; + function isVariableStatement(node: Node): node is VariableStatement; + function isEmptyStatement(node: Node): node is EmptyStatement; + function isExpressionStatement(node: Node): node is ExpressionStatement; + function isIfStatement(node: Node): node is IfStatement; + function isDoStatement(node: Node): node is DoStatement; + function isWhileStatement(node: Node): node is WhileStatement; + function isForStatement(node: Node): node is ForStatement; + function isForInStatement(node: Node): node is ForInStatement; + function isForOfStatement(node: Node): node is ForOfStatement; + function isContinueStatement(node: Node): node is ContinueStatement; + function isBreakStatement(node: Node): node is BreakStatement; + function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement; + function isReturnStatement(node: Node): node is ReturnStatement; + function isWithStatement(node: Node): node is WithStatement; + function isSwitchStatement(node: Node): node is SwitchStatement; + function isLabeledStatement(node: Node): node is LabeledStatement; + function isThrowStatement(node: Node): node is ThrowStatement; + function isTryStatement(node: Node): node is TryStatement; + function isDebuggerStatement(node: Node): node is DebuggerStatement; + function isVariableDeclaration(node: Node): node is VariableDeclaration; + function isVariableDeclarationList(node: Node): node is VariableDeclarationList; + function isFunctionDeclaration(node: Node): node is FunctionDeclaration; + function isClassDeclaration(node: Node): node is ClassDeclaration; + function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration; + function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration; + function isEnumDeclaration(node: Node): node is EnumDeclaration; + function isModuleDeclaration(node: Node): node is ModuleDeclaration; + function isModuleBlock(node: Node): node is ModuleBlock; + function isCaseBlock(node: Node): node is CaseBlock; + function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration; + function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; + function isImportDeclaration(node: Node): node is ImportDeclaration; + function isImportClause(node: Node): node is ImportClause; + function isNamespaceImport(node: Node): node is NamespaceImport; + function isNamedImports(node: Node): node is NamedImports; + function isImportSpecifier(node: Node): node is ImportSpecifier; + function isExportAssignment(node: Node): node is ExportAssignment; + function isExportDeclaration(node: Node): node is ExportDeclaration; + function isNamedExports(node: Node): node is NamedExports; + function isExportSpecifier(node: Node): node is ExportSpecifier; + function isMissingDeclaration(node: Node): node is MissingDeclaration; + function isExternalModuleReference(node: Node): node is ExternalModuleReference; + function isJsxElement(node: Node): node is JsxElement; + function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement; + function isJsxOpeningElement(node: Node): node is JsxOpeningElement; + function isJsxClosingElement(node: Node): node is JsxClosingElement; + function isJsxFragment(node: Node): node is JsxFragment; + function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment; + function isJsxClosingFragment(node: Node): node is JsxClosingFragment; + function isJsxAttribute(node: Node): node is JsxAttribute; + function isJsxAttributes(node: Node): node is JsxAttributes; + function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute; + function isJsxExpression(node: Node): node is JsxExpression; + function isCaseClause(node: Node): node is CaseClause; + function isDefaultClause(node: Node): node is DefaultClause; + function isHeritageClause(node: Node): node is HeritageClause; + function isCatchClause(node: Node): node is CatchClause; + function isPropertyAssignment(node: Node): node is PropertyAssignment; + function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment; + function isSpreadAssignment(node: Node): node is SpreadAssignment; + function isEnumMember(node: Node): node is EnumMember; + function isSourceFile(node: Node): node is SourceFile; + function isBundle(node: Node): node is Bundle; + function isUnparsedSource(node: Node): node is UnparsedSource; + function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression; + function isJSDocAllType(node: JSDocAllType): node is JSDocAllType; + function isJSDocUnknownType(node: Node): node is JSDocUnknownType; + function isJSDocNullableType(node: Node): node is JSDocNullableType; + function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType; + function isJSDocOptionalType(node: Node): node is JSDocOptionalType; + function isJSDocFunctionType(node: Node): node is JSDocFunctionType; + function isJSDocVariadicType(node: Node): node is JSDocVariadicType; + function isJSDoc(node: Node): node is JSDoc; + function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag; + function isJSDocClassTag(node: Node): node is JSDocClassTag; + function isJSDocEnumTag(node: Node): node is JSDocEnumTag; + function isJSDocThisTag(node: Node): node is JSDocThisTag; + function isJSDocParameterTag(node: Node): node is JSDocParameterTag; + function isJSDocReturnTag(node: Node): node is JSDocReturnTag; + function isJSDocTypeTag(node: Node): node is JSDocTypeTag; + function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag; + function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag; + function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag; + function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag; + function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral; + function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag; + function isJSDocSignature(node: Node): node is JSDocSignature; +} +declare namespace ts { + /** + * True if node is of some token syntax kind. + * For example, this is true for an IfKeyword but not for an IfStatement. + * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. + */ + function isToken(n: Node): boolean; + function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; + function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; + function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; + function isModifier(node: Node): node is Modifier; + function isEntityName(node: Node): node is EntityName; + function isPropertyName(node: Node): node is PropertyName; + function isBindingName(node: Node): node is BindingName; + function isFunctionLike(node: Node): node is SignatureDeclaration; + function isClassElement(node: Node): node is ClassElement; + function isClassLike(node: Node): node is ClassLikeDeclaration; + function isAccessor(node: Node): node is AccessorDeclaration; + function isTypeElement(node: Node): node is TypeElement; + function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; + function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; + /** + * Node test that determines whether a node is a valid type node. + * This differs from the `isPartOfTypeNode` function which determines whether a node is *part* + * of a TypeNode. + */ + function isTypeNode(node: Node): node is TypeNode; + function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode; + function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName; + function isCallLikeExpression(node: Node): node is CallLikeExpression; + function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression; + function isTemplateLiteral(node: Node): node is TemplateLiteral; + function isAssertionExpression(node: Node): node is AssertionExpression; + function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement; + function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement; + function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement; + function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause; + /** True if node is of a kind that may contain comment text. */ + function isJSDocCommentContainingNode(node: Node): boolean; + function isSetAccessor(node: Node): node is SetAccessorDeclaration; + function isGetAccessor(node: Node): node is GetAccessorDeclaration; + function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; + function isStringLiteralLike(node: Node): node is StringLiteralLike; +} +declare namespace ts { + function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes + * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, + * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns + * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned. + * + * @param node a given node to visit its children + * @param cbNode a callback to be invoked for all child nodes + * @param cbNodes a callback to be invoked for embedded array + * + * @remarks `forEachChild` must visit the children of a node in the order + * that they appear in the source code. The language service depends on this property to locate nodes by position. + */ + function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; + /** + * Parse json text into SyntaxTree and return node and parse errors if any + * @param fileName + * @param sourceText + */ + function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; + function isExternalModule(file: SourceFile): boolean; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + function parseCommandLine(commandLine: ReadonlyArray, readFile?: (path: string) => string | undefined): ParsedCommandLine; + type DiagnosticReporter = (diagnostic: Diagnostic) => void; + /** + * Reports config file diagnostics + */ + interface ConfigFileDiagnosticsReporter { + /** + * Reports unrecoverable error when parsing config file + */ + onUnRecoverableConfigFileDiagnostic: DiagnosticReporter; + } + /** + * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors + */ + interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter { + getCurrentDirectory(): string; + } + /** + * Reads the config file, reports errors if any and exits if the config file cannot be found + */ + function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost): ParsedCommandLine | undefined; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileTextToJson(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile; + /** + * Convert the json syntax tree into the json value + */ + function convertToObject(sourceFile: JsonSourceFile, errors: Push): any; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + /** + * Parse the contents of a config file (tsconfig.json). + * @param jsonNode The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: CompilerOptions; + errors: Diagnostic[]; + }; + function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: TypeAcquisition; + errors: Diagnostic[]; + }; +} +declare namespace ts { + function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; + /** + * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. + * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups + * is assumed to be the same as root directory of the project. + */ + function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + /** + * Given a set of options, returns the set of type directive names + * that should be included for this program automatically. + * This list could either come from the config file, + * or from enumerating the types root + initial secondary types lookup location. + * More type directives might appear in the program later as a result of loading actual source files; + * this list is only the set of defaults that are implicitly included. + */ + function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[]; + /** + * Cached module resolutions per containing directory. + * This assumes that any module id will have the same resolution for sibling files located in the same folder. + */ + interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache { + getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map; + } + /** + * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory + * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive. + */ + interface NonRelativeModuleNameResolutionCache { + getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache; + } + interface PerModuleNameCache { + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; + set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; + } + function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; + function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; +} +declare namespace ts { + function createNodeArray(elements?: ReadonlyArray, hasTrailingComma?: boolean): NodeArray; + /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ + function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; + function createLiteral(value: number | PseudoBigInt): NumericLiteral; + function createLiteral(value: boolean): BooleanLiteral; + function createLiteral(value: string | number | PseudoBigInt | boolean): PrimaryExpression; + function createNumericLiteral(value: string): NumericLiteral; + function createBigIntLiteral(value: string): BigIntLiteral; + function createStringLiteral(text: string): StringLiteral; + function createRegularExpressionLiteral(text: string): RegularExpressionLiteral; + function createIdentifier(text: string): Identifier; + function updateIdentifier(node: Identifier): Identifier; + /** Create a unique temporary variable. */ + function createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier; + /** Create a unique temporary variable for use in a loop. */ + function createLoopVariable(): Identifier; + /** Create a unique name based on the supplied text. */ + function createUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. */ + function createOptimisticUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. This does not consider names injected by the transformer. */ + function createFileLevelUniqueName(text: string): Identifier; + /** Create a unique name generated for a node. */ + function getGeneratedNameForNode(node: Node | undefined): Identifier; + function createToken(token: TKind): Token; + function createSuper(): SuperExpression; + function createThis(): ThisExpression & Token; + function createNull(): NullLiteral & Token; + function createTrue(): BooleanLiteral & Token; + function createFalse(): BooleanLiteral & Token; + function createModifier(kind: T): Token; + function createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + function createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; + function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; + function createComputedPropertyName(expression: Expression): ComputedPropertyName; + function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + function createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + function updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + function createParameter(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + function updateParameter(node: ParameterDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + function createDecorator(expression: Expression): Decorator; + function updateDecorator(node: Decorator, expression: Expression): Decorator; + function createPropertySignature(modifiers: ReadonlyArray | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function updatePropertySignature(node: PropertySignature, modifiers: ReadonlyArray | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function createProperty(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function updateProperty(node: PropertyDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function createMethodSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function updateMethodSignature(node: MethodSignature, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined, name: PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function createMethod(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function updateMethod(node: MethodDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function createConstructor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function updateConstructor(node: ConstructorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function createGetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function updateGetAccessor(node: GetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function createSetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function updateSetAccessor(node: SetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function createCallSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): CallSignatureDeclaration; + function updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; + function createConstructSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function createIndexSignature(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function updateIndexSignature(node: IndexSignatureDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function createKeywordTypeNode(kind: KeywordTypeNode["kind"]): KeywordTypeNode; + function createTypePredicateNode(parameterName: Identifier | ThisTypeNode | string, type: TypeNode): TypePredicateNode; + function updateTypePredicateNode(node: TypePredicateNode, parameterName: Identifier | ThisTypeNode, type: TypeNode): TypePredicateNode; + function createTypeReferenceNode(typeName: string | EntityName, typeArguments: ReadonlyArray | undefined): TypeReferenceNode; + function updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray | undefined): TypeReferenceNode; + function createFunctionTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): FunctionTypeNode; + function updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): FunctionTypeNode; + function createConstructorTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructorTypeNode; + function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; + function createTypeQueryNode(exprName: EntityName): TypeQueryNode; + function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; + function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; + function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; + function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; + function createTupleTypeNode(elementTypes: ReadonlyArray): TupleTypeNode; + function updateTupleTypeNode(node: TupleTypeNode, elementTypes: ReadonlyArray): TupleTypeNode; + function createOptionalTypeNode(type: TypeNode): OptionalTypeNode; + function updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode; + function createRestTypeNode(type: TypeNode): RestTypeNode; + function updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode; + function createUnionTypeNode(types: ReadonlyArray): UnionTypeNode; + function updateUnionTypeNode(node: UnionTypeNode, types: NodeArray): UnionTypeNode; + function createIntersectionTypeNode(types: ReadonlyArray): IntersectionTypeNode; + function updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray): IntersectionTypeNode; + function createUnionOrIntersectionTypeNode(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, types: ReadonlyArray): UnionOrIntersectionTypeNode; + function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; + function updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; + function createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; + function updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; + function createThisTypeNode(): ThisTypeNode; + function createTypeOperatorNode(type: TypeNode): TypeOperatorNode; + function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode; + function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode; + function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function createMappedTypeNode(readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function createObjectBindingPattern(elements: ReadonlyArray): ObjectBindingPattern; + function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray): ObjectBindingPattern; + function createArrayBindingPattern(elements: ReadonlyArray): ArrayBindingPattern; + function updateArrayBindingPattern(node: ArrayBindingPattern, elements: ReadonlyArray): ArrayBindingPattern; + function createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement; + function updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement; + function createArrayLiteral(elements?: ReadonlyArray, multiLine?: boolean): ArrayLiteralExpression; + function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; + function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; + function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; + function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; + function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; + function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + /** @deprecated */ function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + /** @deprecated */ function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; + function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; + function createParen(expression: Expression): ParenthesizedExpression; + function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; + function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; + function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: Token, body: ConciseBody): ArrowFunction; + function createDelete(expression: Expression): DeleteExpression; + function updateDelete(node: DeleteExpression, expression: Expression): DeleteExpression; + function createTypeOf(expression: Expression): TypeOfExpression; + function updateTypeOf(node: TypeOfExpression, expression: Expression): TypeOfExpression; + function createVoid(expression: Expression): VoidExpression; + function updateVoid(node: VoidExpression, expression: Expression): VoidExpression; + function createAwait(expression: Expression): AwaitExpression; + function updateAwait(node: AwaitExpression, expression: Expression): AwaitExpression; + function createPrefix(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression; + function updatePrefix(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression; + function createPostfix(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression; + function updatePostfix(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression; + function createBinary(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression; + function updateBinary(node: BinaryExpression, left: Expression, right: Expression, operator?: BinaryOperator | BinaryOperatorToken): BinaryExpression; + /** @deprecated */ function createConditional(condition: Expression, whenTrue: Expression, whenFalse: Expression): ConditionalExpression; + function createConditional(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression; + function updateConditional(node: ConditionalExpression, condition: Expression, questionToken: Token, whenTrue: Expression, colonToken: Token, whenFalse: Expression): ConditionalExpression; + function createTemplateExpression(head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function createTemplateHead(text: string): TemplateHead; + function createTemplateMiddle(text: string): TemplateMiddle; + function createTemplateTail(text: string): TemplateTail; + function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; + function createYield(expression?: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function createSpread(expression: Expression): SpreadElement; + function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function createOmittedExpression(): OmittedExpression; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function createAsExpression(expression: Expression, type: TypeNode): AsExpression; + function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; + function createNonNullExpression(expression: Expression): NonNullExpression; + function updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression; + function createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; + function updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + function createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function createSemicolonClassElement(): SemicolonClassElement; + function createBlock(statements: ReadonlyArray, multiLine?: boolean): Block; + function updateBlock(node: Block, statements: ReadonlyArray): Block; + function createVariableStatement(modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList | ReadonlyArray): VariableStatement; + function updateVariableStatement(node: VariableStatement, modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList): VariableStatement; + function createEmptyStatement(): EmptyStatement; + function createExpressionStatement(expression: Expression): ExpressionStatement; + function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement; + /** @deprecated Use `createExpressionStatement` instead. */ + const createStatement: typeof createExpressionStatement; + /** @deprecated Use `updateExpressionStatement` instead. */ + const updateStatement: typeof updateExpressionStatement; + function createIf(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement; + function updateIf(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement; + function createDo(statement: Statement, expression: Expression): DoStatement; + function updateDo(node: DoStatement, statement: Statement, expression: Expression): DoStatement; + function createWhile(expression: Expression, statement: Statement): WhileStatement; + function updateWhile(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement; + function createFor(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createContinue(label?: string | Identifier): ContinueStatement; + function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; + function createBreak(label?: string | Identifier): BreakStatement; + function updateBreak(node: BreakStatement, label: Identifier | undefined): BreakStatement; + function createReturn(expression?: Expression): ReturnStatement; + function updateReturn(node: ReturnStatement, expression: Expression | undefined): ReturnStatement; + function createWith(expression: Expression, statement: Statement): WithStatement; + function updateWith(node: WithStatement, expression: Expression, statement: Statement): WithStatement; + function createSwitch(expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function updateSwitch(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function createLabel(label: string | Identifier, statement: Statement): LabeledStatement; + function updateLabel(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement; + function createThrow(expression: Expression): ThrowStatement; + function updateThrow(node: ThrowStatement, expression: Expression): ThrowStatement; + function createTry(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function updateTry(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function createDebuggerStatement(): DebuggerStatement; + function createVariableDeclaration(name: string | BindingName, type?: TypeNode, initializer?: Expression): VariableDeclaration; + function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; + function createVariableDeclarationList(declarations: ReadonlyArray, flags?: NodeFlags): VariableDeclarationList; + function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; + function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function createEnumDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, members: ReadonlyArray): EnumDeclaration; + function updateEnumDeclaration(node: EnumDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, members: ReadonlyArray): EnumDeclaration; + function createModuleDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + function updateModuleDeclaration(node: ModuleDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + function createModuleBlock(statements: ReadonlyArray): ModuleBlock; + function updateModuleBlock(node: ModuleBlock, statements: ReadonlyArray): ModuleBlock; + function createCaseBlock(clauses: ReadonlyArray): CaseBlock; + function updateCaseBlock(node: CaseBlock, clauses: ReadonlyArray): CaseBlock; + function createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; + function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; + function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function createNamespaceImport(name: Identifier): NamespaceImport; + function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; + function createNamedImports(elements: ReadonlyArray): NamedImports; + function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; + function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; + function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; + function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; + function createNamedExports(elements: ReadonlyArray): NamedExports; + function updateNamedExports(node: NamedExports, elements: ReadonlyArray): NamedExports; + function createExportSpecifier(propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; + function updateExportSpecifier(node: ExportSpecifier, propertyName: Identifier | undefined, name: Identifier): ExportSpecifier; + function createExternalModuleReference(expression: Expression): ExternalModuleReference; + function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; + function createJsxElement(openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement; + function updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement; + function createJsxFragment(openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function createJsxAttributes(properties: ReadonlyArray): JsxAttributes; + function updateJsxAttributes(node: JsxAttributes, properties: ReadonlyArray): JsxAttributes; + function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; + function updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute; + function createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression; + function updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression; + function createCaseClause(expression: Expression, statements: ReadonlyArray): CaseClause; + function updateCaseClause(node: CaseClause, expression: Expression, statements: ReadonlyArray): CaseClause; + function createDefaultClause(statements: ReadonlyArray): DefaultClause; + function updateDefaultClause(node: DefaultClause, statements: ReadonlyArray): DefaultClause; + function createHeritageClause(token: HeritageClause["token"], types: ReadonlyArray): HeritageClause; + function updateHeritageClause(node: HeritageClause, types: ReadonlyArray): HeritageClause; + function createCatchClause(variableDeclaration: string | VariableDeclaration | undefined, block: Block): CatchClause; + function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause; + function createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment; + function updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment; + function createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment; + function updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment; + function createSpreadAssignment(expression: Expression): SpreadAssignment; + function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; + function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; + function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; + /** + * Creates a shallow, memberwise clone of a node for mutation. + */ + function getMutableClone(node: T): T; + /** + * Creates a synthetic statement to act as a placeholder for a not-emitted statement in + * order to preserve comments. + * + * @param original The original statement. + */ + function createNotEmittedStatement(original: Node): NotEmittedStatement; + /** + * Creates a synthetic expression to act as a placeholder for a not-emitted expression in + * order to preserve comments or sourcemap positions. + * + * @param expression The inner expression to emit. + * @param original The original outer expression. + * @param location The location for the expression. Defaults to the positions from "original" if provided. + */ + function createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression; + function updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression; + function createCommaList(elements: ReadonlyArray): CommaListExpression; + function updateCommaList(node: CommaListExpression, elements: ReadonlyArray): CommaListExpression; + function createBundle(sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createUnparsedSourceFile(text: string): UnparsedSource; + function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource; + function createInputFiles(javascript: string, declaration: string): InputFiles; + function createInputFiles(javascript: string, declaration: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createComma(left: Expression, right: Expression): Expression; + function createLessThan(left: Expression, right: Expression): Expression; + function createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment; + function createAssignment(left: Expression, right: Expression): BinaryExpression; + function createStrictEquality(left: Expression, right: Expression): BinaryExpression; + function createStrictInequality(left: Expression, right: Expression): BinaryExpression; + function createAdd(left: Expression, right: Expression): BinaryExpression; + function createSubtract(left: Expression, right: Expression): BinaryExpression; + function createPostfixIncrement(operand: Expression): PostfixUnaryExpression; + function createLogicalAnd(left: Expression, right: Expression): BinaryExpression; + function createLogicalOr(left: Expression, right: Expression): BinaryExpression; + function createLogicalNot(operand: Expression): PrefixUnaryExpression; + function createVoidZero(): VoidExpression; + function createExportDefault(expression: Expression): ExportAssignment; + function createExternalModuleExport(exportName: Identifier): ExportDeclaration; + /** + * Clears any EmitNode entries from parse-tree nodes. + * @param sourceFile A source file. + */ + function disposeEmitNodes(sourceFile: SourceFile): void; + function setTextRange(range: T, location: TextRange | undefined): T; + /** + * Sets flags that control emit behavior of a node. + */ + function setEmitFlags(node: T, emitFlags: EmitFlags): T; + /** + * Gets a custom text range to use when emitting source maps. + */ + function getSourceMapRange(node: Node): SourceMapRange; + /** + * Sets a custom text range to use when emitting source maps. + */ + function setSourceMapRange(node: T, range: SourceMapRange | undefined): T; + /** + * Create an external source map source file reference + */ + function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource; + /** + * Gets the TextRange to use for source maps for a token of a node. + */ + function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined; + /** + * Sets the TextRange to use for source maps for a token of a node. + */ + function setTokenSourceMapRange(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T; + /** + * Gets a custom text range to use when emitting comments. + */ + function getCommentRange(node: Node): TextRange; + /** + * Sets a custom text range to use when emitting comments. + */ + function setCommentRange(node: T, range: TextRange): T; + function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; + /** + * Gets the constant value to emit for an expression. + */ + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + /** + * Sets the constant value to emit for an expression. + */ + function setConstantValue(node: PropertyAccessExpression | ElementAccessExpression, value: string | number): PropertyAccessExpression | ElementAccessExpression; + /** + * Adds an EmitHelper to a node. + */ + function addEmitHelper(node: T, helper: EmitHelper): T; + /** + * Add EmitHelpers to a node. + */ + function addEmitHelpers(node: T, helpers: EmitHelper[] | undefined): T; + /** + * Removes an EmitHelper from a node. + */ + function removeEmitHelper(node: Node, helper: EmitHelper): boolean; + /** + * Gets the EmitHelpers of a node. + */ + function getEmitHelpers(node: Node): EmitHelper[] | undefined; + /** + * Moves matching emit helpers from a source node to a target node. + */ + function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void; + function setOriginalNode(node: T, original: Node | undefined): T; +} +declare namespace ts { + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; + /** + * Starts a new lexical environment and visits a statement list, ending the lexical environment + * and merging hoisted declarations upon completion. + */ + function visitLexicalEnvironment(statements: NodeArray, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean): NodeArray; + /** + * Starts a new lexical environment and visits a parameter list, suspending the lexical + * environment upon completion. + */ + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined; + /** + * Resumes a suspended lexical environment and visits a concise body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +} +declare namespace ts { + function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer; +} +declare namespace ts { + function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + interface FormatDiagnosticsHost { + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; + } + function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; + function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; + function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param rootNames - A set of root files. + * @param options - The compiler options which should be used. + * @param host - The host interacts with the underlying file system. + * @param oldProgram - Reuses an old program structure. + * @param configFileParsingDiagnostics - error during config file parsing + * @returns A 'Program' object. + */ + function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; + /** @deprecated */ interface ResolveProjectReferencePathHost { + fileExists(fileName: string): boolean; + } + /** + * Returns the target config filename of a project reference. + * Note: The file might not exist. + */ + function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName; + /** @deprecated */ function resolveProjectReferencePath(host: ResolveProjectReferencePathHost, ref: ProjectReference): ResolvedConfigFileName; +} +declare namespace ts { + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } +} +declare namespace ts { + type AffectedFileResult = { + result: T; + affected: SourceFile | Program; + } | undefined; + interface BuilderProgramHost { + /** + * return true if file names are treated with case sensitivity + */ + useCaseSensitiveFileNames(): boolean; + /** + * If provided this would be used this hash instead of actual file shape text for detecting changes + */ + createHash?: (data: string) => string; + /** + * When emit or emitNextAffectedFile are called without writeFile, + * this callback if present would be used to write files + */ + writeFile?: WriteFileCallback; + } + /** + * Builder to manage the program state changes + */ + interface BuilderProgram { + /** + * Returns current program + */ + getProgram(): Program; + /** + * Get compiler options of the program + */ + getCompilerOptions(): CompilerOptions; + /** + * Get the source file in the program with file name + */ + getSourceFile(fileName: string): SourceFile | undefined; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Get the diagnostics for compiler options + */ + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics that dont belong to any file + */ + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics from config file parsing + */ + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Get the syntax diagnostics, for all source files if source file is not supplied + */ + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get all the dependencies of the file + */ + getAllDependencies(sourceFile: SourceFile): ReadonlyArray; + /** + * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program + * The semantic diagnostics are cached and managed here + * Note that it is assumed that when asked about semantic diagnostics through this API, + * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics + * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided, + * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics + */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. + * When targetSource file is specified, emits the files corresponding to that source file, + * otherwise for the whole program. + * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified, + * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified, + * it will only emit all the affected files instead of whole program + * + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + /** + * Get the current directory of the program + */ + getCurrentDirectory(): string; + } + /** + * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files + */ + interface SemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Gets the semantic diagnostics from the program for the next affected file and caches it + * Returns undefined if the iteration is complete + */ + getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult>; + } + /** + * The builder that can handle the changes in program and iterate through changed file to emit the files + * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files + */ + interface EmitAndSemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult; + } + /** + * Create the builder to manage semantic diagnostics and cache them + */ + function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + /** + * Create the builder that can handle the changes in program and iterate through changed files + * to emit the those files and manage semantic diagnostics cache as well + */ + function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + /** + * Creates a builder thats just abstraction over program and can be used with watch + */ + function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): BuilderProgram; +} +declare namespace ts { + type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; + /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */ + type CreateProgram = (rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray | undefined) => T; + /** Host that has watch functionality used in --watch mode */ + interface WatchHost { + /** If provided, called with Diagnostic message that informs about change in watch status */ + onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions): void; + /** Used to watch changes in source files, missing files needed to update the program or config file */ + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + /** If provided, will be used to reset existing delayed compilation */ + clearTimeout?(timeoutId: any): void; + } + interface WatchCompilerHost extends WatchHost { + /** + * Used to create the program when need for program creation or recreation detected + */ + createProgram: CreateProgram; + /** If provided, callback to invoke after every new program creation */ + afterProgramCreate?(program: T): void; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + createHash?(data: string): string; + /** + * Use to check file presence for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + fileExists(path: string): boolean; + /** + * Use to read file text for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + readFile(path: string, encoding?: string): string | undefined; + /** If provided, used for module resolution as well as to handle directory structure */ + directoryExists?(path: string): boolean; + /** If provided, used in resolutions as well as handling directory structure */ + getDirectories?(path: string): string[]; + /** If provided, used to cache and handle directory structure modifications */ + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + /** Symbol links resolution */ + realpath?(path: string): string; + /** If provided would be used to write log about compilation */ + trace?(s: string): void; + /** If provided is used to get the environment variable */ + getEnvironmentVariable?(name: string): string | undefined; + /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + } + /** + * Host to create watch with root files and options + */ + interface WatchCompilerHostOfFilesAndCompilerOptions extends WatchCompilerHost { + /** root files to use to generate program */ + rootFiles: string[]; + /** Compiler options */ + options: CompilerOptions; + /** Project References */ + projectReferences?: ReadonlyArray; + } + /** + * Host to create watch with config file + */ + interface WatchCompilerHostOfConfigFile extends WatchCompilerHost, ConfigFileDiagnosticsReporter { + /** Name of the config file to compile */ + configFileName: string; + /** Options to extend */ + optionsToExtend?: CompilerOptions; + /** + * Used to generate source file names from the config file and its include, exclude, files rules + * and also to cache the directory stucture + */ + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + } + interface Watch { + /** Synchronize with host and get updated program */ + getProgram(): T; + } + /** + * Creates the watch what generates program using the config file + */ + interface WatchOfConfigFile extends Watch { + } + /** + * Creates the watch that generates program using the root files and compiler options + */ + interface WatchOfFilesAndCompilerOptions extends Watch { + /** Updates the root files in the program, only if this is not config file compilation */ + updateRootFileNames(fileNames: string[]): void; + } + /** + * Create the watch compiler host for either configFile or fileNames and its options + */ + function createWatchCompilerHost(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): WatchCompilerHostOfConfigFile; + function createWatchCompilerHost(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: ReadonlyArray): WatchCompilerHostOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for root files and compiler options + */ + function createWatchProgram(host: WatchCompilerHostOfFilesAndCompilerOptions): WatchOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for config file + */ + function createWatchProgram(host: WatchCompilerHostOfConfigFile): WatchOfConfigFile; +} +declare namespace ts.server { + type ActionSet = "action::set"; + type ActionInvalidate = "action::invalidate"; + type ActionPackageInstalled = "action::packageInstalled"; + type ActionValueInspected = "action::valueInspected"; + type EventTypesRegistry = "event::typesRegistry"; + type EventBeginInstallTypes = "event::beginInstallTypes"; + type EventEndInstallTypes = "event::endInstallTypes"; + type EventInitializationFailed = "event::initializationFailed"; + interface TypingInstallerResponse { + readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | ActionValueInspected | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed; + } + interface TypingInstallerRequestWithProjectName { + readonly projectName: string; + } + interface DiscoverTypings extends TypingInstallerRequestWithProjectName { + readonly fileNames: string[]; + readonly projectRootPath: Path; + readonly compilerOptions: CompilerOptions; + readonly typeAcquisition: TypeAcquisition; + readonly unresolvedImports: SortedReadonlyArray; + readonly cachePath?: string; + readonly kind: "discover"; + } + interface CloseProject extends TypingInstallerRequestWithProjectName { + readonly kind: "closeProject"; + } + interface TypesRegistryRequest { + readonly kind: "typesRegistry"; + } + interface InstallPackageRequest extends TypingInstallerRequestWithProjectName { + readonly kind: "installPackage"; + readonly fileName: Path; + readonly packageName: string; + readonly projectRootPath: Path; + } + interface PackageInstalledResponse extends ProjectResponse { + readonly kind: ActionPackageInstalled; + readonly success: boolean; + readonly message: string; + } + interface InitializationFailedResponse extends TypingInstallerResponse { + readonly kind: EventInitializationFailed; + readonly message: string; + } + interface ProjectResponse extends TypingInstallerResponse { + readonly projectName: string; + } + interface InvalidateCachedTypings extends ProjectResponse { + readonly kind: ActionInvalidate; + } + interface InstallTypes extends ProjectResponse { + readonly kind: EventBeginInstallTypes | EventEndInstallTypes; + readonly eventId: number; + readonly typingsInstallerVersion: string; + readonly packagesToInstall: ReadonlyArray; + } + interface BeginInstallTypes extends InstallTypes { + readonly kind: EventBeginInstallTypes; + } + interface EndInstallTypes extends InstallTypes { + readonly kind: EventEndInstallTypes; + readonly installSuccess: boolean; + } + interface SetTypings extends ProjectResponse { + readonly typeAcquisition: TypeAcquisition; + readonly compilerOptions: CompilerOptions; + readonly typings: string[]; + readonly unresolvedImports: SortedReadonlyArray; + readonly kind: ActionSet; + } +} +declare namespace ts { + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFileLike): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; + forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; + } + interface Identifier { + readonly text: string; + } + interface Symbol { + readonly name: string; + getFlags(): SymbolFlags; + getEscapedName(): __String; + getName(): string; + getDeclarations(): Declaration[] | undefined; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol | undefined; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol | undefined; + getApparentProperties(): Symbol[]; + getCallSignatures(): ReadonlyArray; + getConstructSignatures(): ReadonlyArray; + getStringIndexType(): Type | undefined; + getNumberIndexType(): Type | undefined; + getBaseTypes(): BaseType[] | undefined; + getNonNullableType(): Type; + getConstraint(): Type | undefined; + getDefault(): Type | undefined; + isUnion(): this is UnionType; + isIntersection(): this is IntersectionType; + isUnionOrIntersection(): this is UnionOrIntersectionType; + isLiteral(): this is LiteralType; + isStringLiteral(): this is StringLiteralType; + isNumberLiteral(): this is NumberLiteralType; + isTypeParameter(): this is TypeParameter; + isClassOrInterface(): this is InterfaceType; + isClass(): this is InterfaceType; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): TypeParameter[] | undefined; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineEndOfPosition(pos: number): number; + getLineStarts(): ReadonlyArray; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + interface SourceFileLike { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + interface SourceMapSource { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + namespace ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules?: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface InstallPackageOptions { + fileName: Path; + packageName: string; + } + interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getProjectReferences?(): ReadonlyArray | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile?(path: string, encoding?: string): string | undefined; + realpath?(path: string): string; + fileExists?(path: string): boolean; + getTypeRootsVersion?(): number; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getDirectories?(directoryName: string): string[]; + /** + * Gets a set of custom transformers to use during emit. + */ + getCustomTransformers?(): CustomTransformers | undefined; + isKnownTypesPackageName?(name: string): boolean; + installPackage?(options: InstallPackageOptions): Promise; + writeFile?(fileName: string, content: string): void; + } + type WithMetadata = T & { + metadata?: unknown; + }; + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReadonlyArray | undefined; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getImplementationAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getNavigationTree(fileName: string): NavigationTree; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; + toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; + getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; + applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise; + getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; + getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; + organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; + getProgram(): Program | undefined; + dispose(): void; + } + interface JsxClosingTagInfo { + readonly newText: string; + } + interface CombinedCodeFixScope { + type: "file"; + fileName: string; + } + type OrganizeImportsScope = CombinedCodeFixScope; + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + interface GetCompletionsAtPositionOptions extends UserPreferences { + /** + * If the editor is asking for completions because a certain character was typed + * (as opposed to when the user explicitly requested them) this should be set. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** @deprecated Use includeCompletionsForModuleExports */ + includeExternalModuleExports?: boolean; + /** @deprecated Use includeCompletionsWithInsertText */ + includeInsertTextCompletions?: boolean; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + interface SignatureHelpItemsOptions { + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + interface ApplyCodeActionCommandResult { + successMessage: string; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: ClassificationTypeNames; + } + /** + * Navigation bar interface designed for visual studio's dual-column layout. + * This does not form a proper tree. + * The navbar is returned as a list of top-level items, each of which has a list of child items. + * Child items always have an empty array for their `childItems`. + */ + interface NavigationBarItem { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + /** + * Node in a tree of nested declarations in a file. + * The top node is always a script or module node. + */ + interface NavigationTree { + /** Name of the declaration, or a short description, e.g. "". */ + text: string; + kind: ScriptElementKind; + /** ScriptElementKindModifier separated by commas, e.g. "public,abstract" */ + kindModifiers: string; + /** + * Spans of the nodes that generated this declaration. + * There will be more than one if this is the result of merging. + */ + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + /** Present if non-empty */ + childItems?: NavigationTree[]; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + interface TextChange { + span: TextSpan; + newText: string; + } + interface FileTextChanges { + fileName: string; + textChanges: TextChange[]; + isNewFile?: boolean; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileTextChanges[]; + /** + * If the user accepts the code fix, the editor should send the action back in a `applyAction` request. + * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix. + */ + commands?: CodeActionCommand[]; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + fixAllDescription?: string; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray; + } + type CodeActionCommand = InstallPackageAction | GenerateTypesAction; + interface InstallPackageAction { + } + interface GenerateTypesAction extends GenerateTypesOptions { + } + interface GenerateTypesOptions { + readonly file: string; + readonly fileToGenerateTypesFor: string; + readonly outputFileName: string; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + /** + * A set of edits to make in response to a refactor action, plus an optional + * location where renaming should be invoked from + */ + interface RefactorEditInfo { + edits: FileTextChanges[]; + renameFilename?: string; + renameLocation?: number; + commands?: CodeActionCommand[]; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface DocumentSpan { + textSpan: TextSpan; + fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; + } + interface RenameLocation extends DocumentSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface ReferenceEntry extends DocumentSpan { + isWriteAccess: boolean; + isDefinition: boolean; + isInString?: true; + } + interface ImplementationLocation extends DocumentSpan { + kind: ScriptElementKind; + displayParts: SymbolDisplayPart[]; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + interface HighlightSpan { + fileName?: string; + isInString?: true; + textSpan: TextSpan; + kind: HighlightSpanKind; + } + interface NavigateToItem { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + matchKind: "exact" | "prefix" | "substring" | "camelCase"; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: ScriptElementKind; + } + enum IndentStyle { + None = 0, + Block = 1, + Smart = 2 + } + interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterConstructor?: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + InsertSpaceAfterTypeAssertion?: boolean; + InsertSpaceBeforeFunctionParenthesis?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface FormatCodeSettings extends EditorSettings { + readonly insertSpaceAfterCommaDelimiter?: boolean; + readonly insertSpaceAfterSemicolonInForStatements?: boolean; + readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean; + readonly insertSpaceAfterConstructor?: boolean; + readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + readonly insertSpaceAfterTypeAssertion?: boolean; + readonly insertSpaceBeforeFunctionParenthesis?: boolean; + readonly placeOpenBraceOnNewLineForFunctions?: boolean; + readonly placeOpenBraceOnNewLineForControlBlocks?: boolean; + readonly insertSpaceBeforeTypeAnnotation?: boolean; + readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; + } + function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings; + interface DefinitionInfo extends DocumentSpan { + kind: ScriptElementKind; + name: string; + containerKind: ScriptElementKind; + containerName: string; + } + interface DefinitionInfoAndBoundSpan { + definitions?: ReadonlyArray; + textSpan: TextSpan; + } + interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21 + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface JSDocTagInfo { + name: string; + text?: string; + } + interface QuickInfo { + kind: ScriptElementKind; + kindModifiers: string; + textSpan: TextSpan; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + } + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + displayName: string; + fullDisplayName: string; + kind: ScriptElementKind; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + localizedErrorMessage: string; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + tags: JSDocTagInfo[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + /** Not true for all glboal completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ + isGlobalCompletion: boolean; + isMemberCompletion: boolean; + /** + * true when the current location also allows for a new identifier + */ + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: ScriptElementKind; + kindModifiers?: string; + sortText: string; + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + hasAction?: true; + source?: string; + isRecommended?: true; + } + interface CompletionEntryDetails { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + codeActions?: CodeAction[]; + source?: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2 + } + enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6 + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + BigIntLiteral = 7, + StringLiteral = 8, + RegExpLiteral = 9 + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + enum ScriptElementKindModifier { + none = "", + publicMemberModifier = "public", + privateMemberModifier = "private", + protectedMemberModifier = "protected", + exportedModifier = "export", + ambientModifier = "declare", + staticModifier = "static", + abstractModifier = "abstract", + optionalModifier = "optional", + dtsModifier = ".d.ts", + tsModifier = ".ts", + tsxModifier = ".tsx", + jsModifier = ".js", + jsxModifier = ".jsx", + jsonModifier = ".json" + } + enum ClassificationTypeNames { + comment = "comment", + identifier = "identifier", + keyword = "keyword", + numericLiteral = "number", + bigintLiteral = "bigint", + operator = "operator", + stringLiteral = "string", + whiteSpace = "whitespace", + text = "text", + punctuation = "punctuation", + className = "class name", + enumName = "enum name", + interfaceName = "interface name", + moduleName = "module name", + typeParameterName = "type parameter name", + typeAliasName = "type alias name", + parameterName = "parameter name", + docCommentTagName = "doc comment tag name", + jsxOpenTagName = "jsx open tag name", + jsxCloseTagName = "jsx close tag name", + jsxSelfClosingTagName = "jsx self closing tag name", + jsxAttribute = "jsx attribute", + jsxText = "jsx text", + jsxAttributeStringLiteralValue = "jsx attribute string literal value" + } + enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + bigintLiteral = 25 + } +} +declare namespace ts { + function createClassifier(): Classifier; +} +declare namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @param version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + reportStats(): string; + } + type DocumentRegistryBucketKey = string & { + __bucketKey: any; + }; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string): DocumentRegistry; +} +declare namespace ts { + function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; +} +declare namespace ts { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + transformers?: CustomTransformers; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; +} +declare namespace ts { + function generateTypesForModule(name: string, moduleValue: unknown, formatSettings: FormatCodeSettings): string; + function generateTypesForGlobal(name: string, globalValue: unknown, formatSettings: FormatCodeSettings): string; +} +declare namespace ts { + /** The version of the language service API */ + const servicesVersion = "0.8"; + function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; + function getDefaultCompilerOptions(): CompilerOptions; + function getSupportedCodeFixes(): string[]; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} +declare namespace ts { + /** + * Transform one or more nodes using the supplied transformers. + * @param source A single `Node` or an array of `Node` objects. + * @param transformers An array of `TransformerFactory` callbacks used to process the transformation. + * @param compilerOptions Optional compiler options. + */ + function transform(source: T | T[], transformers: TransformerFactory[], compilerOptions?: CompilerOptions): TransformationResult; +} + +export = ts; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/typescriptServices.d.ts b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/typescriptServices.d.ts new file mode 100644 index 0000000..4c854ca --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/typescript/lib/typescriptServices.d.ts @@ -0,0 +1,5565 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +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 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +declare namespace ts { + const versionMajorMinor = "3.2"; + /** The version of the TypeScript compiler release */ + const version: string; +} +declare namespace ts { + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + interface SortedReadonlyArray extends ReadonlyArray { + " __sortedArrayBrand": any; + } + interface SortedArray extends Array { + " __sortedArrayBrand": any; + } + /** ES6 Map interface, only read methods included. */ + interface ReadonlyMap { + get(key: string): T | undefined; + has(key: string): boolean; + forEach(action: (value: T, key: string) => void): void; + readonly size: number; + keys(): Iterator; + values(): Iterator; + entries(): Iterator<[string, T]>; + } + /** ES6 Map interface. */ + interface Map extends ReadonlyMap { + set(key: string, value: T): this; + delete(key: string): boolean; + clear(): void; + } + /** ES6 Iterator type. */ + interface Iterator { + next(): { + value: T; + done: false; + } | { + value: never; + done: true; + }; + } + /** Array that is only intended to be pushed to, never read. */ + interface Push { + push(...values: T[]): void; + } +} +declare namespace ts { + type Path = string & { + __pathBrand: any; + }; + interface TextRange { + pos: number; + end: number; + } + type JsDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.Unknown | KeywordSyntaxKind; + type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InferKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.OfKeyword; + type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; + enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + BigIntLiteral = 9, + StringLiteral = 10, + JsxText = 11, + JsxTextAllWhiteSpaces = 12, + RegularExpressionLiteral = 13, + NoSubstitutionTemplateLiteral = 14, + TemplateHead = 15, + TemplateMiddle = 16, + TemplateTail = 17, + OpenBraceToken = 18, + CloseBraceToken = 19, + OpenParenToken = 20, + CloseParenToken = 21, + OpenBracketToken = 22, + CloseBracketToken = 23, + DotToken = 24, + DotDotDotToken = 25, + SemicolonToken = 26, + CommaToken = 27, + LessThanToken = 28, + LessThanSlashToken = 29, + GreaterThanToken = 30, + LessThanEqualsToken = 31, + GreaterThanEqualsToken = 32, + EqualsEqualsToken = 33, + ExclamationEqualsToken = 34, + EqualsEqualsEqualsToken = 35, + ExclamationEqualsEqualsToken = 36, + EqualsGreaterThanToken = 37, + PlusToken = 38, + MinusToken = 39, + AsteriskToken = 40, + AsteriskAsteriskToken = 41, + SlashToken = 42, + PercentToken = 43, + PlusPlusToken = 44, + MinusMinusToken = 45, + LessThanLessThanToken = 46, + GreaterThanGreaterThanToken = 47, + GreaterThanGreaterThanGreaterThanToken = 48, + AmpersandToken = 49, + BarToken = 50, + CaretToken = 51, + ExclamationToken = 52, + TildeToken = 53, + AmpersandAmpersandToken = 54, + BarBarToken = 55, + QuestionToken = 56, + ColonToken = 57, + AtToken = 58, + EqualsToken = 59, + PlusEqualsToken = 60, + MinusEqualsToken = 61, + AsteriskEqualsToken = 62, + AsteriskAsteriskEqualsToken = 63, + SlashEqualsToken = 64, + PercentEqualsToken = 65, + LessThanLessThanEqualsToken = 66, + GreaterThanGreaterThanEqualsToken = 67, + GreaterThanGreaterThanGreaterThanEqualsToken = 68, + AmpersandEqualsToken = 69, + BarEqualsToken = 70, + CaretEqualsToken = 71, + Identifier = 72, + BreakKeyword = 73, + CaseKeyword = 74, + CatchKeyword = 75, + ClassKeyword = 76, + ConstKeyword = 77, + ContinueKeyword = 78, + DebuggerKeyword = 79, + DefaultKeyword = 80, + DeleteKeyword = 81, + DoKeyword = 82, + ElseKeyword = 83, + EnumKeyword = 84, + ExportKeyword = 85, + ExtendsKeyword = 86, + FalseKeyword = 87, + FinallyKeyword = 88, + ForKeyword = 89, + FunctionKeyword = 90, + IfKeyword = 91, + ImportKeyword = 92, + InKeyword = 93, + InstanceOfKeyword = 94, + NewKeyword = 95, + NullKeyword = 96, + ReturnKeyword = 97, + SuperKeyword = 98, + SwitchKeyword = 99, + ThisKeyword = 100, + ThrowKeyword = 101, + TrueKeyword = 102, + TryKeyword = 103, + TypeOfKeyword = 104, + VarKeyword = 105, + VoidKeyword = 106, + WhileKeyword = 107, + WithKeyword = 108, + ImplementsKeyword = 109, + InterfaceKeyword = 110, + LetKeyword = 111, + PackageKeyword = 112, + PrivateKeyword = 113, + ProtectedKeyword = 114, + PublicKeyword = 115, + StaticKeyword = 116, + YieldKeyword = 117, + AbstractKeyword = 118, + AsKeyword = 119, + AnyKeyword = 120, + AsyncKeyword = 121, + AwaitKeyword = 122, + BooleanKeyword = 123, + ConstructorKeyword = 124, + DeclareKeyword = 125, + GetKeyword = 126, + InferKeyword = 127, + IsKeyword = 128, + KeyOfKeyword = 129, + ModuleKeyword = 130, + NamespaceKeyword = 131, + NeverKeyword = 132, + ReadonlyKeyword = 133, + RequireKeyword = 134, + NumberKeyword = 135, + ObjectKeyword = 136, + SetKeyword = 137, + StringKeyword = 138, + SymbolKeyword = 139, + TypeKeyword = 140, + UndefinedKeyword = 141, + UniqueKeyword = 142, + UnknownKeyword = 143, + FromKeyword = 144, + GlobalKeyword = 145, + BigIntKeyword = 146, + OfKeyword = 147, + QualifiedName = 148, + ComputedPropertyName = 149, + TypeParameter = 150, + Parameter = 151, + Decorator = 152, + PropertySignature = 153, + PropertyDeclaration = 154, + MethodSignature = 155, + MethodDeclaration = 156, + Constructor = 157, + GetAccessor = 158, + SetAccessor = 159, + CallSignature = 160, + ConstructSignature = 161, + IndexSignature = 162, + TypePredicate = 163, + TypeReference = 164, + FunctionType = 165, + ConstructorType = 166, + TypeQuery = 167, + TypeLiteral = 168, + ArrayType = 169, + TupleType = 170, + OptionalType = 171, + RestType = 172, + UnionType = 173, + IntersectionType = 174, + ConditionalType = 175, + InferType = 176, + ParenthesizedType = 177, + ThisType = 178, + TypeOperator = 179, + IndexedAccessType = 180, + MappedType = 181, + LiteralType = 182, + ImportType = 183, + ObjectBindingPattern = 184, + ArrayBindingPattern = 185, + BindingElement = 186, + ArrayLiteralExpression = 187, + ObjectLiteralExpression = 188, + PropertyAccessExpression = 189, + ElementAccessExpression = 190, + CallExpression = 191, + NewExpression = 192, + TaggedTemplateExpression = 193, + TypeAssertionExpression = 194, + ParenthesizedExpression = 195, + FunctionExpression = 196, + ArrowFunction = 197, + DeleteExpression = 198, + TypeOfExpression = 199, + VoidExpression = 200, + AwaitExpression = 201, + PrefixUnaryExpression = 202, + PostfixUnaryExpression = 203, + BinaryExpression = 204, + ConditionalExpression = 205, + TemplateExpression = 206, + YieldExpression = 207, + SpreadElement = 208, + ClassExpression = 209, + OmittedExpression = 210, + ExpressionWithTypeArguments = 211, + AsExpression = 212, + NonNullExpression = 213, + MetaProperty = 214, + SyntheticExpression = 215, + TemplateSpan = 216, + SemicolonClassElement = 217, + Block = 218, + VariableStatement = 219, + EmptyStatement = 220, + ExpressionStatement = 221, + IfStatement = 222, + DoStatement = 223, + WhileStatement = 224, + ForStatement = 225, + ForInStatement = 226, + ForOfStatement = 227, + ContinueStatement = 228, + BreakStatement = 229, + ReturnStatement = 230, + WithStatement = 231, + SwitchStatement = 232, + LabeledStatement = 233, + ThrowStatement = 234, + TryStatement = 235, + DebuggerStatement = 236, + VariableDeclaration = 237, + VariableDeclarationList = 238, + FunctionDeclaration = 239, + ClassDeclaration = 240, + InterfaceDeclaration = 241, + TypeAliasDeclaration = 242, + EnumDeclaration = 243, + ModuleDeclaration = 244, + ModuleBlock = 245, + CaseBlock = 246, + NamespaceExportDeclaration = 247, + ImportEqualsDeclaration = 248, + ImportDeclaration = 249, + ImportClause = 250, + NamespaceImport = 251, + NamedImports = 252, + ImportSpecifier = 253, + ExportAssignment = 254, + ExportDeclaration = 255, + NamedExports = 256, + ExportSpecifier = 257, + MissingDeclaration = 258, + ExternalModuleReference = 259, + JsxElement = 260, + JsxSelfClosingElement = 261, + JsxOpeningElement = 262, + JsxClosingElement = 263, + JsxFragment = 264, + JsxOpeningFragment = 265, + JsxClosingFragment = 266, + JsxAttribute = 267, + JsxAttributes = 268, + JsxSpreadAttribute = 269, + JsxExpression = 270, + CaseClause = 271, + DefaultClause = 272, + HeritageClause = 273, + CatchClause = 274, + PropertyAssignment = 275, + ShorthandPropertyAssignment = 276, + SpreadAssignment = 277, + EnumMember = 278, + SourceFile = 279, + Bundle = 280, + UnparsedSource = 281, + InputFiles = 282, + JSDocTypeExpression = 283, + JSDocAllType = 284, + JSDocUnknownType = 285, + JSDocNullableType = 286, + JSDocNonNullableType = 287, + JSDocOptionalType = 288, + JSDocFunctionType = 289, + JSDocVariadicType = 290, + JSDocComment = 291, + JSDocTypeLiteral = 292, + JSDocSignature = 293, + JSDocTag = 294, + JSDocAugmentsTag = 295, + JSDocClassTag = 296, + JSDocCallbackTag = 297, + JSDocEnumTag = 298, + JSDocParameterTag = 299, + JSDocReturnTag = 300, + JSDocThisTag = 301, + JSDocTypeTag = 302, + JSDocTemplateTag = 303, + JSDocTypedefTag = 304, + JSDocPropertyTag = 305, + SyntaxList = 306, + NotEmittedStatement = 307, + PartiallyEmittedExpression = 308, + CommaListExpression = 309, + MergeDeclarationMarker = 310, + EndOfDeclarationMarker = 311, + Count = 312, + FirstAssignment = 59, + LastAssignment = 71, + FirstCompoundAssignment = 60, + LastCompoundAssignment = 71, + FirstReservedWord = 73, + LastReservedWord = 108, + FirstKeyword = 73, + LastKeyword = 147, + FirstFutureReservedWord = 109, + LastFutureReservedWord = 117, + FirstTypeNode = 163, + LastTypeNode = 183, + FirstPunctuation = 18, + LastPunctuation = 71, + FirstToken = 0, + LastToken = 147, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 14, + FirstTemplateToken = 14, + LastTemplateToken = 17, + FirstBinaryOperator = 28, + LastBinaryOperator = 71, + FirstNode = 148, + FirstJSDocNode = 283, + LastJSDocNode = 305, + FirstJSDocTagNode = 294, + LastJSDocTagNode = 305 + } + enum NodeFlags { + None = 0, + Let = 1, + Const = 2, + NestedNamespace = 4, + Synthesized = 8, + Namespace = 16, + ExportContext = 32, + ContainsThis = 64, + HasImplicitReturn = 128, + HasExplicitReturn = 256, + GlobalAugmentation = 512, + HasAsyncFunctions = 1024, + DisallowInContext = 2048, + YieldContext = 4096, + DecoratorContext = 8192, + AwaitContext = 16384, + ThisNodeHasError = 32768, + JavaScriptFile = 65536, + ThisNodeOrAnySubNodesHasError = 131072, + HasAggregatedChildData = 262144, + JSDoc = 2097152, + JsonFile = 16777216, + BlockScoped = 3, + ReachabilityCheckFlags = 384, + ReachabilityAndEmitFlags = 1408, + ContextFlags = 12679168, + TypeExcludesFlags = 20480 + } + enum ModifierFlags { + None = 0, + Export = 1, + Ambient = 2, + Public = 4, + Private = 8, + Protected = 16, + Static = 32, + Readonly = 64, + Abstract = 128, + Async = 256, + Default = 512, + Const = 2048, + HasComputedFlags = 536870912, + AccessibilityModifier = 28, + ParameterPropertyModifier = 92, + NonPublicAccessibilityModifier = 24, + TypeScriptModifier = 2270, + ExportDefault = 513, + All = 3071 + } + enum JsxFlags { + None = 0, + /** An element from a named property of the JSX.IntrinsicElements interface */ + IntrinsicNamedElement = 1, + /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ + IntrinsicIndexedElement = 2, + IntrinsicElement = 3 + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent: Node; + } + interface JSDocContainer { + } + type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | EndOfFileToken; + type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; + type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; + type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + interface NodeArray extends ReadonlyArray, TextRange { + hasTrailingComma?: boolean; + } + interface Token extends Node { + kind: TKind; + } + type DotDotDotToken = Token; + type QuestionToken = Token; + type ExclamationToken = Token; + type ColonToken = Token; + type EqualsToken = Token; + type AsteriskToken = Token; + type EqualsGreaterThanToken = Token; + type EndOfFileToken = Token & JSDocContainer; + type ReadonlyToken = Token; + type AwaitKeywordToken = Token; + type PlusToken = Token; + type MinusToken = Token; + type Modifier = Token | Token | Token | Token | Token | Token | Token | Token | Token | Token | Token; + type ModifiersArray = NodeArray; + interface Identifier extends PrimaryExpression, Declaration { + kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + escapedText: __String; + originalKeywordKind?: SyntaxKind; + isInJSDocNamespace?: boolean; + } + interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + interface QualifiedName extends Node { + kind: SyntaxKind.QualifiedName; + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName; + type DeclarationName = Identifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + } + interface NamedDeclaration extends Declaration { + name?: DeclarationName; + } + interface DeclarationStatement extends NamedDeclaration, Statement { + name?: Identifier | StringLiteral | NumericLiteral; + } + interface ComputedPropertyName extends Node { + parent: Declaration; + kind: SyntaxKind.ComputedPropertyName; + expression: Expression; + } + interface Decorator extends Node { + kind: SyntaxKind.Decorator; + parent: NamedDeclaration; + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends NamedDeclaration { + kind: SyntaxKind.TypeParameter; + parent: DeclarationWithTypeParameterChildren | InferTypeNode; + name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + constraint?: TypeNode; + default?: TypeNode; + expression?: Expression; + } + interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SignatureDeclaration["kind"]; + name?: PropertyName; + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; + interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.CallSignature; + } + interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.ConstructSignature; + } + type BindingName = Identifier | BindingPattern; + interface VariableDeclaration extends NamedDeclaration { + kind: SyntaxKind.VariableDeclaration; + parent: VariableDeclarationList | CatchClause; + name: BindingName; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + kind: SyntaxKind.VariableDeclarationList; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + declarations: NodeArray; + } + interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.Parameter; + parent: SignatureDeclaration; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends NamedDeclaration { + kind: SyntaxKind.BindingElement; + parent: BindingPattern; + propertyName?: PropertyName; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + initializer?: Expression; + } + interface PropertySignature extends TypeElement, JSDocContainer { + kind: SyntaxKind.PropertySignature; + name: PropertyName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface PropertyDeclaration extends ClassElement, JSDocContainer { + kind: SyntaxKind.PropertyDeclaration; + parent: ClassLikeDeclaration; + name: PropertyName; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrandBrand: any; + name?: PropertyName; + } + /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ + type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration; + interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.PropertyAssignment; + name: PropertyName; + questionToken?: QuestionToken; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.ShorthandPropertyAssignment; + name: Identifier; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + equalsToken?: Token; + objectAssignmentInitializer?: Expression; + } + interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.SpreadAssignment; + expression: Expression; + } + type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag; + interface PropertyLikeDeclaration extends NamedDeclaration { + name: PropertyName; + } + interface ObjectBindingPattern extends Node { + kind: SyntaxKind.ObjectBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + interface ArrayBindingPattern extends Node { + kind: SyntaxKind.ArrayBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + type ArrayBindingElement = BindingElement | OmittedExpression; + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + asteriskToken?: AsteriskToken; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + body?: Block | Expression; + } + type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; + /** @deprecated Use SignatureDeclaration */ + type FunctionLike = SignatureDeclaration; + interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.FunctionDeclaration; + name?: Identifier; + body?: FunctionBody; + } + interface MethodSignature extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.MethodSignature; + parent: ObjectTypeDeclaration; + name: PropertyName; + } + interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.MethodDeclaration; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { + kind: SyntaxKind.Constructor; + parent: ClassLikeDeclaration; + body?: FunctionBody; + } + /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ + interface SemicolonClassElement extends ClassElement { + kind: SyntaxKind.SemicolonClassElement; + parent: ClassLikeDeclaration; + } + interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.GetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.SetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + kind: SyntaxKind.IndexSignature; + parent: ObjectTypeDeclaration; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface KeywordTypeNode extends TypeNode { + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + } + interface ImportTypeNode extends NodeWithTypeArguments { + kind: SyntaxKind.ImportType; + isTypeOf?: boolean; + argument: TypeNode; + qualifier?: EntityName; + } + interface ThisTypeNode extends TypeNode { + kind: SyntaxKind.ThisType; + } + type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.FunctionType; + } + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.ConstructorType; + } + interface NodeWithTypeArguments extends TypeNode { + typeArguments?: NodeArray; + } + type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + interface TypeReferenceNode extends NodeWithTypeArguments { + kind: SyntaxKind.TypeReference; + typeName: EntityName; + } + interface TypePredicateNode extends TypeNode { + kind: SyntaxKind.TypePredicate; + parent: SignatureDeclaration | JSDocTypeExpression; + parameterName: Identifier | ThisTypeNode; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + kind: SyntaxKind.TypeQuery; + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + kind: SyntaxKind.TypeLiteral; + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + kind: SyntaxKind.ArrayType; + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + kind: SyntaxKind.TupleType; + elementTypes: NodeArray; + } + interface OptionalTypeNode extends TypeNode { + kind: SyntaxKind.OptionalType; + type: TypeNode; + } + interface RestTypeNode extends TypeNode { + kind: SyntaxKind.RestType; + type: TypeNode; + } + type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + interface UnionTypeNode extends TypeNode { + kind: SyntaxKind.UnionType; + types: NodeArray; + } + interface IntersectionTypeNode extends TypeNode { + kind: SyntaxKind.IntersectionType; + types: NodeArray; + } + interface ConditionalTypeNode extends TypeNode { + kind: SyntaxKind.ConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; + } + interface InferTypeNode extends TypeNode { + kind: SyntaxKind.InferType; + typeParameter: TypeParameterDeclaration; + } + interface ParenthesizedTypeNode extends TypeNode { + kind: SyntaxKind.ParenthesizedType; + type: TypeNode; + } + interface TypeOperatorNode extends TypeNode { + kind: SyntaxKind.TypeOperator; + operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword; + type: TypeNode; + } + interface IndexedAccessTypeNode extends TypeNode { + kind: SyntaxKind.IndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; + } + interface MappedTypeNode extends TypeNode, Declaration { + kind: SyntaxKind.MappedType; + readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + typeParameter: TypeParameterDeclaration; + questionToken?: QuestionToken | PlusToken | MinusToken; + type?: TypeNode; + } + interface LiteralTypeNode extends TypeNode { + kind: SyntaxKind.LiteralType; + literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression; + } + interface StringLiteral extends LiteralExpression { + kind: SyntaxKind.StringLiteral; + } + type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; + interface Expression extends Node { + _expressionBrand: any; + } + interface OmittedExpression extends Expression { + kind: SyntaxKind.OmittedExpression; + } + interface PartiallyEmittedExpression extends LeftHandSideExpression { + kind: SyntaxKind.PartiallyEmittedExpression; + expression: Expression; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + /** Deprecated, please use UpdateExpression */ + type IncrementExpression = UpdateExpression; + interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; + } + type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken; + interface PrefixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: PrefixUnaryOperator; + operand: UnaryExpression; + } + type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken; + interface PostfixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PostfixUnaryExpression; + operand: LeftHandSideExpression; + operator: PostfixUnaryOperator; + } + interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface NullLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.NullKeyword; + } + interface BooleanLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword; + } + interface ThisExpression extends PrimaryExpression, KeywordTypeNode { + kind: SyntaxKind.ThisKeyword; + } + interface SuperExpression extends PrimaryExpression { + kind: SyntaxKind.SuperKeyword; + } + interface ImportExpression extends PrimaryExpression { + kind: SyntaxKind.ImportKeyword; + } + interface DeleteExpression extends UnaryExpression { + kind: SyntaxKind.DeleteExpression; + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + kind: SyntaxKind.TypeOfExpression; + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + kind: SyntaxKind.VoidExpression; + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + kind: SyntaxKind.AwaitExpression; + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + kind: SyntaxKind.YieldExpression; + asteriskToken?: AsteriskToken; + expression?: Expression; + } + interface SyntheticExpression extends Expression { + kind: SyntaxKind.SyntheticExpression; + isSpread: boolean; + type: Type; + } + type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken; + type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator; + type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken; + type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator; + type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator; + type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword; + type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator; + type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken; + type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator; + type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken; + type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator; + type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken; + type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator; + type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken; + type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator; + type AssignmentOperatorOrHigher = LogicalOperatorOrHigher | AssignmentOperator; + type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken; + type BinaryOperatorToken = Token; + interface BinaryExpression extends Expression, Declaration { + kind: SyntaxKind.BinaryExpression; + left: Expression; + operatorToken: BinaryOperatorToken; + right: Expression; + } + type AssignmentOperatorToken = Token; + interface AssignmentExpression extends BinaryExpression { + left: LeftHandSideExpression; + operatorToken: TOperator; + } + interface ObjectDestructuringAssignment extends AssignmentExpression { + left: ObjectLiteralExpression; + } + interface ArrayDestructuringAssignment extends AssignmentExpression { + left: ArrayLiteralExpression; + } + type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment; + type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression | Identifier | PropertyAccessExpression | ElementAccessExpression; + type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment; + type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression; + type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression; + type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression; + type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + interface ConditionalExpression extends Expression { + kind: SyntaxKind.ConditionalExpression; + condition: Expression; + questionToken: QuestionToken; + whenTrue: Expression; + colonToken: ColonToken; + whenFalse: Expression; + } + type FunctionBody = Block; + type ConciseBody = FunctionBody | Expression; + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.FunctionExpression; + name?: Identifier; + body: FunctionBody; + } + interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.ArrowFunction; + equalsGreaterThanToken: EqualsGreaterThanToken; + body: ConciseBody; + name: never; + } + interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; + } + interface RegularExpressionLiteral extends LiteralExpression { + kind: SyntaxKind.RegularExpressionLiteral; + } + interface NoSubstitutionTemplateLiteral extends LiteralExpression { + kind: SyntaxKind.NoSubstitutionTemplateLiteral; + } + interface NumericLiteral extends LiteralExpression { + kind: SyntaxKind.NumericLiteral; + } + interface BigIntLiteral extends LiteralExpression { + kind: SyntaxKind.BigIntLiteral; + } + interface TemplateHead extends LiteralLikeNode { + kind: SyntaxKind.TemplateHead; + parent: TemplateExpression; + } + interface TemplateMiddle extends LiteralLikeNode { + kind: SyntaxKind.TemplateMiddle; + parent: TemplateSpan; + } + interface TemplateTail extends LiteralLikeNode { + kind: SyntaxKind.TemplateTail; + parent: TemplateSpan; + } + type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; + interface TemplateExpression extends PrimaryExpression { + kind: SyntaxKind.TemplateExpression; + head: TemplateHead; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + kind: SyntaxKind.TemplateSpan; + parent: TemplateExpression; + expression: Expression; + literal: TemplateMiddle | TemplateTail; + } + interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer { + kind: SyntaxKind.ParenthesizedExpression; + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + kind: SyntaxKind.ArrayLiteralExpression; + elements: NodeArray; + } + interface SpreadElement extends Expression { + kind: SyntaxKind.SpreadElement; + parent: ArrayLiteralExpression | CallExpression | NewExpression; + expression: Expression; + } + /** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ + interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + kind: SyntaxKind.ObjectLiteralExpression; + } + type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + kind: SyntaxKind.PropertyAccessExpression; + expression: LeftHandSideExpression; + name: Identifier; + } + interface SuperPropertyAccessExpression extends PropertyAccessExpression { + expression: SuperExpression; + } + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } + interface ElementAccessExpression extends MemberExpression { + kind: SyntaxKind.ElementAccessExpression; + expression: LeftHandSideExpression; + argumentExpression: Expression; + } + interface SuperElementAccessExpression extends ElementAccessExpression { + expression: SuperExpression; + } + type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + interface CallExpression extends LeftHandSideExpression, Declaration { + kind: SyntaxKind.CallExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface SuperCall extends CallExpression { + expression: SuperExpression; + } + interface ImportCall extends CallExpression { + expression: ImportExpression; + } + interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + kind: SyntaxKind.ExpressionWithTypeArguments; + parent: HeritageClause | JSDocAugmentsTag; + expression: LeftHandSideExpression; + } + interface NewExpression extends PrimaryExpression, Declaration { + kind: SyntaxKind.NewExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments?: NodeArray; + } + interface TaggedTemplateExpression extends MemberExpression { + kind: SyntaxKind.TaggedTemplateExpression; + tag: LeftHandSideExpression; + typeArguments?: NodeArray; + template: TemplateLiteral; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement; + interface AsExpression extends Expression { + kind: SyntaxKind.AsExpression; + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + kind: SyntaxKind.TypeAssertionExpression; + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface NonNullExpression extends LeftHandSideExpression { + kind: SyntaxKind.NonNullExpression; + expression: Expression; + } + interface MetaProperty extends PrimaryExpression { + kind: SyntaxKind.MetaProperty; + keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + name: Identifier; + } + interface JsxElement extends PrimaryExpression { + kind: SyntaxKind.JsxElement; + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; + type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess; + interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + expression: JsxTagNameExpression; + } + interface JsxAttributes extends ObjectLiteralExpressionBase { + parent: JsxOpeningLikeElement; + } + interface JsxOpeningElement extends Expression { + kind: SyntaxKind.JsxOpeningElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxSelfClosingElement extends PrimaryExpression { + kind: SyntaxKind.JsxSelfClosingElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxFragment extends PrimaryExpression { + kind: SyntaxKind.JsxFragment; + openingFragment: JsxOpeningFragment; + children: NodeArray; + closingFragment: JsxClosingFragment; + } + interface JsxOpeningFragment extends Expression { + kind: SyntaxKind.JsxOpeningFragment; + parent: JsxFragment; + } + interface JsxClosingFragment extends Expression { + kind: SyntaxKind.JsxClosingFragment; + parent: JsxFragment; + } + interface JsxAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxAttribute; + parent: JsxAttributes; + name: Identifier; + initializer?: StringLiteral | JsxExpression; + } + interface JsxSpreadAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxSpreadAttribute; + parent: JsxAttributes; + expression: Expression; + } + interface JsxClosingElement extends Node { + kind: SyntaxKind.JsxClosingElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + } + interface JsxExpression extends Expression { + kind: SyntaxKind.JsxExpression; + parent: JsxElement | JsxAttributeLike; + dotDotDotToken?: Token; + expression?: Expression; + } + interface JsxText extends Node { + kind: SyntaxKind.JsxText; + containsOnlyWhiteSpaces: boolean; + parent: JsxElement; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; + interface Statement extends Node { + _statementBrand: any; + } + interface NotEmittedStatement extends Statement { + kind: SyntaxKind.NotEmittedStatement; + } + /** + * A list of comma-separated expressions. This node is only created by transformations. + */ + interface CommaListExpression extends Expression { + kind: SyntaxKind.CommaListExpression; + elements: NodeArray; + } + interface EmptyStatement extends Statement { + kind: SyntaxKind.EmptyStatement; + } + interface DebuggerStatement extends Statement { + kind: SyntaxKind.DebuggerStatement; + } + interface MissingDeclaration extends DeclarationStatement { + kind: SyntaxKind.MissingDeclaration; + name?: Identifier; + } + type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause; + interface Block extends Statement { + kind: SyntaxKind.Block; + statements: NodeArray; + } + interface VariableStatement extends Statement, JSDocContainer { + kind: SyntaxKind.VariableStatement; + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement, JSDocContainer { + kind: SyntaxKind.ExpressionStatement; + expression: Expression; + } + interface IfStatement extends Statement { + kind: SyntaxKind.IfStatement; + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + kind: SyntaxKind.DoStatement; + expression: Expression; + } + interface WhileStatement extends IterationStatement { + kind: SyntaxKind.WhileStatement; + expression: Expression; + } + type ForInitializer = VariableDeclarationList | Expression; + interface ForStatement extends IterationStatement { + kind: SyntaxKind.ForStatement; + initializer?: ForInitializer; + condition?: Expression; + incrementor?: Expression; + } + type ForInOrOfStatement = ForInStatement | ForOfStatement; + interface ForInStatement extends IterationStatement { + kind: SyntaxKind.ForInStatement; + initializer: ForInitializer; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + kind: SyntaxKind.ForOfStatement; + awaitModifier?: AwaitKeywordToken; + initializer: ForInitializer; + expression: Expression; + } + interface BreakStatement extends Statement { + kind: SyntaxKind.BreakStatement; + label?: Identifier; + } + interface ContinueStatement extends Statement { + kind: SyntaxKind.ContinueStatement; + label?: Identifier; + } + type BreakOrContinueStatement = BreakStatement | ContinueStatement; + interface ReturnStatement extends Statement { + kind: SyntaxKind.ReturnStatement; + expression?: Expression; + } + interface WithStatement extends Statement { + kind: SyntaxKind.WithStatement; + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + kind: SyntaxKind.SwitchStatement; + expression: Expression; + caseBlock: CaseBlock; + possiblyExhaustive?: boolean; + } + interface CaseBlock extends Node { + kind: SyntaxKind.CaseBlock; + parent: SwitchStatement; + clauses: NodeArray; + } + interface CaseClause extends Node { + kind: SyntaxKind.CaseClause; + parent: CaseBlock; + expression: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + kind: SyntaxKind.DefaultClause; + parent: CaseBlock; + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement, JSDocContainer { + kind: SyntaxKind.LabeledStatement; + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + kind: SyntaxKind.ThrowStatement; + expression?: Expression; + } + interface TryStatement extends Statement { + kind: SyntaxKind.TryStatement; + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + kind: SyntaxKind.CatchClause; + parent: TryStatement; + variableDeclaration?: VariableDeclaration; + block: Block; + } + type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode; + type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature; + type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag; + interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.ClassDeclaration; + /** May be undefined in `export default class { ... }`. */ + name?: Identifier; + } + interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + kind: SyntaxKind.ClassExpression; + } + type ClassLikeDeclaration = ClassDeclaration | ClassExpression; + interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + name?: PropertyName; + } + interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + name?: PropertyName; + questionToken?: QuestionToken; + } + interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.InterfaceDeclaration; + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + kind: SyntaxKind.HeritageClause; + parent: InterfaceDeclaration | ClassLikeDeclaration; + token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + types: NodeArray; + } + interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.TypeAliasDeclaration; + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.EnumMember; + parent: EnumDeclaration; + name: PropertyName; + initializer?: Expression; + } + interface EnumDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.EnumDeclaration; + name: Identifier; + members: NodeArray; + } + type ModuleName = Identifier | StringLiteral; + type ModuleBody = NamespaceBody | JSDocNamespaceBody; + interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ModuleDeclaration; + parent: ModuleBody | SourceFile; + name: ModuleName; + body?: ModuleBody | JSDocNamespaceDeclaration; + } + type NamespaceBody = ModuleBlock | NamespaceDeclaration; + interface NamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body: NamespaceBody; + } + type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; + interface JSDocNamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body?: JSDocNamespaceBody; + } + interface ModuleBlock extends Node, Statement { + kind: SyntaxKind.ModuleBlock; + parent: ModuleDeclaration; + statements: NodeArray; + } + type ModuleReference = EntityName | ExternalModuleReference; + /** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ + interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ImportEqualsDeclaration; + parent: SourceFile | ModuleBlock; + name: Identifier; + moduleReference: ModuleReference; + } + interface ExternalModuleReference extends Node { + kind: SyntaxKind.ExternalModuleReference; + parent: ImportEqualsDeclaration; + expression: Expression; + } + interface ImportDeclaration extends Statement { + kind: SyntaxKind.ImportDeclaration; + parent: SourceFile | ModuleBlock; + importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier: Expression; + } + type NamedImportBindings = NamespaceImport | NamedImports; + interface ImportClause extends NamedDeclaration { + kind: SyntaxKind.ImportClause; + parent: ImportDeclaration; + name?: Identifier; + namedBindings?: NamedImportBindings; + } + interface NamespaceImport extends NamedDeclaration { + kind: SyntaxKind.NamespaceImport; + parent: ImportClause; + name: Identifier; + } + interface NamespaceExportDeclaration extends DeclarationStatement { + kind: SyntaxKind.NamespaceExportDeclaration; + name: Identifier; + } + interface ExportDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ExportDeclaration; + parent: SourceFile | ModuleBlock; + /** Will not be assigned in the case of `export * from "foo";` */ + exportClause?: NamedExports; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier?: Expression; + } + interface NamedImports extends Node { + kind: SyntaxKind.NamedImports; + parent: ImportClause; + elements: NodeArray; + } + interface NamedExports extends Node { + kind: SyntaxKind.NamedExports; + parent: ExportDeclaration; + elements: NodeArray; + } + type NamedImportsOrExports = NamedImports | NamedExports; + interface ImportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ImportSpecifier; + parent: NamedImports; + propertyName?: Identifier; + name: Identifier; + } + interface ExportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ExportSpecifier; + parent: NamedExports; + propertyName?: Identifier; + name: Identifier; + } + type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier; + /** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ + interface ExportAssignment extends DeclarationStatement { + kind: SyntaxKind.ExportAssignment; + parent: SourceFile; + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CheckJsDirective extends TextRange { + enabled: boolean; + } + type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia; + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: CommentKind; + } + interface SynthesizedComment extends CommentRange { + text: string; + pos: -1; + end: -1; + } + interface JSDocTypeExpression extends TypeNode { + kind: SyntaxKind.JSDocTypeExpression; + type: TypeNode; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + kind: SyntaxKind.JSDocAllType; + } + interface JSDocUnknownType extends JSDocType { + kind: SyntaxKind.JSDocUnknownType; + } + interface JSDocNonNullableType extends JSDocType { + kind: SyntaxKind.JSDocNonNullableType; + type: TypeNode; + } + interface JSDocNullableType extends JSDocType { + kind: SyntaxKind.JSDocNullableType; + type: TypeNode; + } + interface JSDocOptionalType extends JSDocType { + kind: SyntaxKind.JSDocOptionalType; + type: TypeNode; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase { + kind: SyntaxKind.JSDocFunctionType; + } + interface JSDocVariadicType extends JSDocType { + kind: SyntaxKind.JSDocVariadicType; + type: TypeNode; + } + type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; + interface JSDoc extends Node { + kind: SyntaxKind.JSDocComment; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; + } + interface JSDocTag extends Node { + parent: JSDoc | JSDocTypeLiteral; + tagName: Identifier; + comment?: string; + } + interface JSDocUnknownTag extends JSDocTag { + kind: SyntaxKind.JSDocTag; + } + /** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ + interface JSDocAugmentsTag extends JSDocTag { + kind: SyntaxKind.JSDocAugmentsTag; + class: ExpressionWithTypeArguments & { + expression: Identifier | PropertyAccessEntityNameExpression; + }; + } + interface JSDocClassTag extends JSDocTag { + kind: SyntaxKind.JSDocClassTag; + } + interface JSDocEnumTag extends JSDocTag { + kind: SyntaxKind.JSDocEnumTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocThisTag extends JSDocTag { + kind: SyntaxKind.JSDocThisTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTemplateTag extends JSDocTag { + kind: SyntaxKind.JSDocTemplateTag; + constraint: JSDocTypeExpression | undefined; + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + kind: SyntaxKind.JSDocReturnTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + kind: SyntaxKind.JSDocTypeTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocTypedefTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; + } + interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocCallbackTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression: JSDocSignature; + } + interface JSDocSignature extends JSDocType, Declaration { + kind: SyntaxKind.JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + type: JSDocReturnTag | undefined; + } + interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + parent: JSDoc; + name: EntityName; + typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + isNameFirst: boolean; + isBracketed: boolean; + } + interface JSDocPropertyTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocPropertyTag; + } + interface JSDocParameterTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocParameterTag; + } + interface JSDocTypeLiteral extends JSDocType { + kind: SyntaxKind.JSDocTypeLiteral; + jsDocPropertyTags?: ReadonlyArray; + /** If true, then this type literal represents an *array* of its type. */ + isArrayType?: boolean; + } + enum FlowFlags { + Unreachable = 1, + Start = 2, + BranchLabel = 4, + LoopLabel = 8, + Assignment = 16, + TrueCondition = 32, + FalseCondition = 64, + SwitchClause = 128, + ArrayMutation = 256, + Referenced = 512, + Shared = 1024, + PreFinally = 2048, + AfterFinally = 4096, + Label = 12, + Condition = 96 + } + interface FlowLock { + locked?: boolean; + } + interface AfterFinallyFlow extends FlowNodeBase, FlowLock { + antecedent: FlowNode; + } + interface PreFinallyFlow extends FlowNodeBase { + antecedent: FlowNode; + lock: FlowLock; + } + type FlowNode = AfterFinallyFlow | PreFinallyFlow | FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation; + interface FlowNodeBase { + flags: FlowFlags; + id?: number; + } + interface FlowStart extends FlowNodeBase { + container?: FunctionExpression | ArrowFunction | MethodDeclaration; + } + interface FlowLabel extends FlowNodeBase { + antecedents: FlowNode[] | undefined; + } + interface FlowAssignment extends FlowNodeBase { + node: Expression | VariableDeclaration | BindingElement; + antecedent: FlowNode; + } + interface FlowCondition extends FlowNodeBase { + expression: Expression; + antecedent: FlowNode; + } + interface FlowSwitchClause extends FlowNodeBase { + switchStatement: SwitchStatement; + clauseStart: number; + clauseEnd: number; + antecedent: FlowNode; + } + interface FlowArrayMutation extends FlowNodeBase { + node: CallExpression | BinaryExpression; + antecedent: FlowNode; + } + type FlowType = Type | IncompleteType; + interface IncompleteType { + flags: TypeFlags; + type: Type; + } + interface AmdDependency { + path: string; + name?: string; + } + interface SourceFile extends Declaration { + kind: SyntaxKind.SourceFile; + statements: NodeArray; + endOfFileToken: Token; + fileName: string; + text: string; + amdDependencies: ReadonlyArray; + moduleName?: string; + referencedFiles: ReadonlyArray; + typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; + languageVariant: LanguageVariant; + isDeclarationFile: boolean; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface Bundle extends Node { + kind: SyntaxKind.Bundle; + prepends: ReadonlyArray; + sourceFiles: ReadonlyArray; + } + interface InputFiles extends Node { + kind: SyntaxKind.InputFiles; + javascriptText: string; + javascriptMapPath?: string; + javascriptMapText?: string; + declarationText: string; + declarationMapPath?: string; + declarationMapText?: string; + } + interface UnparsedSource extends Node { + kind: SyntaxKind.UnparsedSource; + text: string; + sourceMapPath?: string; + sourceMapText?: string; + } + interface JsonSourceFile extends SourceFile { + statements: NodeArray; + } + interface TsConfigSourceFile extends JsonSourceFile { + extendedSourceFiles?: string[]; + } + interface JsonMinusNumericLiteral extends PrefixUnaryExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: SyntaxKind.MinusToken; + operand: NumericLiteral; + } + interface JsonObjectExpressionStatement extends ExpressionStatement { + expression: ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile | undefined; + getSourceFileByPath(path: Path): SourceFile | undefined; + getCurrentDirectory(): string; + } + interface ParseConfigHost { + useCaseSensitiveFileNames: boolean; + readDirectory(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): ReadonlyArray; + /** + * Gets a value indicating whether the specified path exists and is a file. + * @param path The path to test. + */ + fileExists(path: string): boolean; + readFile(path: string): string | undefined; + trace?(s: string): void; + } + /** + * Branded string for keeping track of when we've turned an ambiguous path + * specified like "./blah" to an absolute path to an actual + * tsconfig file, e.g. "/root/blah/tsconfig.json" + */ + type ResolvedConfigFileName = string & { + _isResolvedConfigFileName: never; + }; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): ReadonlyArray; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Gets a type checker that can be used to semantically analyze source files in the program. + */ + getTypeChecker(): TypeChecker; + isSourceFileFromExternalLibrary(file: SourceFile): boolean; + isSourceFileDefaultLibrary(file: SourceFile): boolean; + getProjectReferences(): ReadonlyArray | undefined; + getResolvedProjectReferences(): ReadonlyArray | undefined; + } + interface ResolvedProjectReference { + commandLine: ParsedCommandLine; + sourceFile: SourceFile; + references?: ReadonlyArray; + } + interface CustomTransformers { + /** Custom transformers to evaluate before built-in .js transformations. */ + before?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .js transformations. */ + after?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .d.ts transformations. */ + afterDeclarations?: TransformerFactory[]; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2 + } + interface EmitResult { + emitSkipped: boolean; + /** Contains declaration emit diagnostics */ + diagnostics: ReadonlyArray; + emittedFiles?: string[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol | undefined; + getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; + getSignaturesOfType(type: Type, kind: SignatureKind): ReadonlyArray; + getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; + getBaseTypes(type: InterfaceType): BaseType[]; + getBaseTypeOfLiteralType(type: Type): Type; + getWidenedType(type: Type): Type; + getReturnTypeOfSignature(signature: Signature): Type; + getNullableType(type: Type, flags: TypeFlags): Type; + getNonNullableType(type: Type): Type; + /** Note that the resulting nodes cannot be checked. */ + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; + /** Note that the resulting nodes cannot be checked. */ + signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { + typeArguments?: NodeArray; + }) | undefined; + /** Note that the resulting nodes cannot be checked. */ + indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, kind: IndexKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): IndexSignatureDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): EntityName | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Expression | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): NodeArray | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): ParameterDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeParameterDeclaration | undefined; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[]; + /** + * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment. + * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value. + */ + getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined; + getExportSpecifierLocalTargetSymbol(location: ExportSpecifier): Symbol | undefined; + /** + * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol. + * Otherwise returns its input. + * For example, at `export type T = number;`: + * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`. + * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol. + * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol. + */ + getExportSymbolOfSymbol(symbol: Symbol): Symbol; + getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeAtLocation(node: Node): Type; + getTypeFromTypeNode(node: TypeNode): Type; + signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string; + typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): ReadonlyArray; + getContextualType(node: Expression): Type | undefined; + /** + * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. + * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. + */ + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; + isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + isUnknownSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean; + /** Follow all aliases to get the original symbol. */ + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxIntrinsicTagNamesAt(location: Node): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + getAmbientModules(): Symbol[]; + tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined; + getApparentType(type: Type): Type; + getBaseConstraintOfType(type: Type): Type | undefined; + getDefaultFromTypeParameter(type: Type): Type | undefined; + /** + * Depending on the operation performed, it may be appropriate to throw away the checker + * if the cancellation token is triggered. Typically, if it is used for error checking + * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. + */ + runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + } + enum NodeBuilderFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, + UseStructuralFallback = 8, + ForbidIndexedAccessSymbolReferences = 16, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + UseOnlyExternalAliasing = 128, + SuppressAnyReturnType = 256, + WriteTypeParametersInQualifiedName = 512, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowThisInObjectLiteral = 32768, + AllowQualifedNameInPlaceOfIdentifier = 65536, + AllowAnonymousIdentifier = 131072, + AllowEmptyUnionOrIntersection = 262144, + AllowEmptyTuple = 524288, + AllowUniqueESSymbolType = 1048576, + AllowEmptyIndexInfoType = 2097152, + AllowNodeModulesRelativePaths = 67108864, + IgnoreErrors = 70221824, + InObjectTypeLiteral = 4194304, + InTypeAlias = 8388608, + InInitialEntityName = 16777216, + InReverseMappedType = 33554432 + } + enum TypeFormatFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + UseStructuralFallback = 8, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + SuppressAnyReturnType = 256, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowUniqueESSymbolType = 1048576, + AddUndefined = 131072, + WriteArrowStyleSignature = 262144, + InArrayType = 524288, + InElementType = 2097152, + InFirstTypeArgument = 4194304, + InTypeAlias = 8388608, + /** @deprecated */ WriteOwnNameForAnyLike = 0, + NodeBuilderFlagsMask = 9469291 + } + enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + AllowAnyNodeKind = 4, + UseAliasDefinedOutsideCurrentScope = 8 + } + enum TypePredicateKind { + This = 0, + Identifier = 1 + } + interface TypePredicateBase { + kind: TypePredicateKind; + type: Type; + } + interface ThisTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.This; + } + interface IdentifierTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.Identifier; + parameterName: string; + parameterIndex: number; + } + type TypePredicate = IdentifierTypePredicate | ThisTypePredicate; + enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + Alias = 2097152, + Prototype = 4194304, + ExportStar = 8388608, + Optional = 16777216, + Transient = 33554432, + Assignment = 67108864, + ModuleExports = 134217728, + Enum = 384, + Variable = 3, + Value = 67220415, + Type = 67897832, + Namespace = 1920, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 67220414, + BlockScopedVariableExcludes = 67220415, + ParameterExcludes = 67220415, + PropertyExcludes = 0, + EnumMemberExcludes = 68008959, + FunctionExcludes = 67219887, + ClassExcludes = 68008383, + InterfaceExcludes = 67897736, + RegularEnumExcludes = 68008191, + ConstEnumExcludes = 68008831, + ValueModuleExcludes = 110735, + NamespaceModuleExcludes = 0, + MethodExcludes = 67212223, + GetAccessorExcludes = 67154879, + SetAccessorExcludes = 67187647, + TypeParameterExcludes = 67635688, + TypeAliasExcludes = 67897832, + AliasExcludes = 2097152, + ModuleMember = 2623475, + ExportHasLocal = 944, + BlockScoped = 418, + PropertyOrAccessor = 98308, + ClassMember = 106500 + } + interface Symbol { + flags: SymbolFlags; + escapedName: __String; + declarations: Declaration[]; + valueDeclaration: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + globalExports?: SymbolTable; + } + enum InternalSymbolName { + Call = "__call", + Constructor = "__constructor", + New = "__new", + Index = "__index", + ExportStar = "__export", + Global = "__global", + Missing = "__missing", + Type = "__type", + Object = "__object", + JSXAttributes = "__jsxAttributes", + Class = "__class", + Function = "__function", + Computed = "__computed", + Resolving = "__resolving__", + ExportEquals = "export=", + Default = "default", + This = "this" + } + /** + * This represents a string whose leading underscore have been escaped by adding extra leading underscores. + * The shape of this brand is rather unique compared to others we've used. + * Instead of just an intersection of a string and an object, it is that union-ed + * with an intersection of void and an object. This makes it wholly incompatible + * with a normal string (which is good, it cannot be misused on assignment or on usage), + * while still being comparable with a normal string via === (also good) and castable from a string. + */ + type __String = (string & { + __escapedIdentifier: void; + }) | (void & { + __escapedIdentifier: void; + }) | InternalSymbolName; + /** ReadonlyMap where keys are `__String`s. */ + interface ReadonlyUnderscoreEscapedMap { + get(key: __String): T | undefined; + has(key: __String): boolean; + forEach(action: (value: T, key: __String) => void): void; + readonly size: number; + keys(): Iterator<__String>; + values(): Iterator; + entries(): Iterator<[__String, T]>; + } + /** Map where keys are `__String`s. */ + interface UnderscoreEscapedMap extends ReadonlyUnderscoreEscapedMap { + set(key: __String, value: T): this; + delete(key: __String): boolean; + clear(): void; + } + /** SymbolTable based on ES6 Map interface. */ + type SymbolTable = UnderscoreEscapedMap; + enum TypeFlags { + Any = 1, + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + BigInt = 64, + StringLiteral = 128, + NumberLiteral = 256, + BooleanLiteral = 512, + EnumLiteral = 1024, + BigIntLiteral = 2048, + ESSymbol = 4096, + UniqueESSymbol = 8192, + Void = 16384, + Undefined = 32768, + Null = 65536, + Never = 131072, + TypeParameter = 262144, + Object = 524288, + Union = 1048576, + Intersection = 2097152, + Index = 4194304, + IndexedAccess = 8388608, + Conditional = 16777216, + Substitution = 33554432, + NonPrimitive = 67108864, + Literal = 2944, + Unit = 109440, + StringOrNumberLiteral = 384, + PossiblyFalsy = 117724, + StringLike = 132, + NumberLike = 296, + BigIntLike = 2112, + BooleanLike = 528, + EnumLike = 1056, + ESSymbolLike = 12288, + VoidLike = 49152, + UnionOrIntersection = 3145728, + StructuredType = 3670016, + TypeVariable = 8650752, + InstantiableNonPrimitive = 58982400, + InstantiablePrimitive = 4194304, + Instantiable = 63176704, + StructuredOrInstantiable = 66846720, + Narrowable = 133970943, + NotUnionOrUnit = 67637251 + } + type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; + interface Type { + flags: TypeFlags; + symbol: Symbol; + pattern?: DestructuringPattern; + aliasSymbol?: Symbol; + aliasTypeArguments?: ReadonlyArray; + } + interface LiteralType extends Type { + value: string | number | PseudoBigInt; + freshType: LiteralType; + regularType: LiteralType; + } + interface UniqueESSymbolType extends Type { + symbol: Symbol; + } + interface StringLiteralType extends LiteralType { + value: string; + } + interface NumberLiteralType extends LiteralType { + value: number; + } + interface BigIntLiteralType extends LiteralType { + value: PseudoBigInt; + } + interface EnumType extends Type { + } + enum ObjectFlags { + Class = 1, + Interface = 2, + Reference = 4, + Tuple = 8, + Anonymous = 16, + Mapped = 32, + Instantiated = 64, + ObjectLiteral = 128, + EvolvingArray = 256, + ObjectLiteralPatternWithComputedProperties = 512, + ContainsSpread = 1024, + ReverseMapped = 2048, + JsxAttributes = 4096, + MarkerType = 8192, + JSLiteral = 16384, + FreshLiteral = 32768, + ClassOrInterface = 3 + } + interface ObjectType extends Type { + objectFlags: ObjectFlags; + } + /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; + } + type BaseType = ObjectType | IntersectionType; + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; + } + /** + * Type references (ObjectFlags.Reference). When a class or interface has type parameters or + * a "this" type, references to the class or interface are made using type references. The + * typeArguments property specifies the types to substitute for the type parameters of the + * class or interface and optionally includes an extra element that specifies the type to + * substitute for "this" in the resulting instantiation. When no extra argument is present, + * the type reference itself is substituted for "this". The typeArguments property is undefined + * if the class or interface has no type parameters and the reference isn't specifying an + * explicit "this" argument. + */ + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments?: ReadonlyArray; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends GenericType { + minLength: number; + hasRestElement: boolean; + associatedNames?: __String[]; + } + interface TupleTypeReference extends TypeReference { + target: TupleType; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + type StructuredType = ObjectType | UnionType | IntersectionType; + interface EvolvingArrayType extends ObjectType { + elementType: Type; + finalArrayType?: Type; + } + interface InstantiableType extends Type { + } + interface TypeParameter extends InstantiableType { + } + interface IndexedAccessType extends InstantiableType { + objectType: Type; + indexType: Type; + constraint?: Type; + simplified?: Type; + } + type TypeVariable = TypeParameter | IndexedAccessType; + interface IndexType extends InstantiableType { + type: InstantiableType | UnionOrIntersectionType; + } + interface ConditionalRoot { + node: ConditionalTypeNode; + checkType: Type; + extendsType: Type; + trueType: Type; + falseType: Type; + isDistributive: boolean; + inferTypeParameters?: TypeParameter[]; + outerTypeParameters?: TypeParameter[]; + instantiations?: Map; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; + } + interface ConditionalType extends InstantiableType { + root: ConditionalRoot; + checkType: Type; + extendsType: Type; + resolvedTrueType?: Type; + resolvedFalseType?: Type; + } + interface SubstitutionType extends InstantiableType { + typeVariable: TypeVariable; + substitute: Type; + } + enum SignatureKind { + Call = 0, + Construct = 1 + } + interface Signature { + declaration?: SignatureDeclaration | JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + } + enum IndexKind { + String = 0, + Number = 1 + } + interface IndexInfo { + type: Type; + isReadonly: boolean; + declaration?: IndexSignatureDeclaration; + } + enum InferencePriority { + NakedTypeVariable = 1, + HomomorphicMappedType = 2, + MappedTypeConstraint = 4, + ReturnType = 8, + LiteralKeyof = 16, + NoConstraints = 32, + AlwaysStrict = 64, + PriorityImpliesCombination = 28 + } + /** @deprecated Use FileExtensionInfo instead. */ + type JsFileExtensionInfo = FileExtensionInfo; + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + message: string; + reportsUnnecessary?: {}; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + interface DiagnosticRelatedInformation { + category: DiagnosticCategory; + code: number; + file: SourceFile | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Suggestion = 2, + Message = 3 + } + enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface PluginImport { + name: string; + } + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined; + } + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 6 + } + enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3 + } + enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + interface LineAndCharacter { + /** 0-based. */ + line: number; + character: number; + } + enum ScriptKind { + Unknown = 0, + JS = 1, + JSX = 2, + TS = 3, + TSX = 4, + External = 5, + JSON = 6, + /** + * Used on extensions that doesn't define the ScriptKind but the content defines it. + * Deferred extensions are going to be included in all project contexts. + */ + Deferred = 7 + } + enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ESNext = 6, + JSON = 100, + Latest = 6 + } + enum LanguageVariant { + Standard = 0, + JSX = 1 + } + /** Either a parsed command line or a parsed tsconfig.json */ + interface ParsedCommandLine { + options: CompilerOptions; + typeAcquisition?: TypeAcquisition; + fileNames: string[]; + projectReferences?: ReadonlyArray; + raw?: any; + errors: Diagnostic[]; + wildcardDirectories?: MapLike; + compileOnSave?: boolean; + } + enum WatchDirectoryFlags { + None = 0, + Recursive = 1 + } + interface ExpandResult { + fileNames: string[]; + wildcardDirectories: MapLike; + } + interface CreateProgramOptions { + rootNames: ReadonlyArray; + options: CompilerOptions; + projectReferences?: ReadonlyArray; + host?: CompilerHost; + oldProgram?: Program; + configFileParsingDiagnostics?: ReadonlyArray; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + trace?(s: string): void; + directoryExists?(directoryName: string): boolean; + /** + * Resolve a symbolic link. + * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options + */ + realpath?(path: string): string; + getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; + } + /** + * Represents the result of module resolution. + * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off. + * The Program will then filter results based on these flags. + * + * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred. + */ + interface ResolvedModule { + /** Path of the file the module was resolved to. */ + resolvedFileName: string; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + /** + * ResolvedModule with an explicitly provided `extension` property. + * Prefer this over `ResolvedModule`. + * If changing this, remember to change `moduleResolutionIsEqualTo`. + */ + interface ResolvedModuleFull extends ResolvedModule { + /** + * Extension of resolvedFileName. This must match what's at the end of resolvedFileName. + * This is optional for backwards-compatibility, but will be added if not provided. + */ + extension: Extension; + packageId?: PackageId; + } + /** + * Unique identifier with a package name and version. + * If changing this, remember to change `packageIdIsEqual`. + */ + interface PackageId { + /** + * Name of the package. + * Should not include `@types`. + * If accessing a non-index file, this should include its name e.g. "foo/bar". + */ + name: string; + /** + * Name of a submodule within this package. + * May be "". + */ + subModuleName: string; + /** Version of the package, e.g. "1.2.3" */ + version: string; + } + enum Extension { + Ts = ".ts", + Tsx = ".tsx", + Dts = ".d.ts", + Js = ".js", + Jsx = ".jsx", + Json = ".json" + } + interface ResolvedModuleWithFailedLookupLocations { + readonly resolvedModule: ResolvedModuleFull | undefined; + } + interface ResolvedTypeReferenceDirective { + primary: boolean; + resolvedFileName: string | undefined; + packageId?: PackageId; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; + readonly failedLookupLocations: ReadonlyArray; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + readDirectory?(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): string[]; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** + * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files + */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getEnvironmentVariable?(name: string): string | undefined; + createHash?(data: string): string; + } + interface SourceMapRange extends TextRange { + source?: SourceMapSource; + } + interface SourceMapSource { + fileName: string; + text: string; + skipTrivia?: (pos: number) => number; + } + enum EmitFlags { + None = 0, + SingleLine = 1, + AdviseOnEmitNode = 2, + NoSubstitution = 4, + CapturesThis = 8, + NoLeadingSourceMap = 16, + NoTrailingSourceMap = 32, + NoSourceMap = 48, + NoNestedSourceMaps = 64, + NoTokenLeadingSourceMaps = 128, + NoTokenTrailingSourceMaps = 256, + NoTokenSourceMaps = 384, + NoLeadingComments = 512, + NoTrailingComments = 1024, + NoComments = 1536, + NoNestedComments = 2048, + HelperName = 4096, + ExportName = 8192, + LocalName = 16384, + InternalName = 32768, + Indented = 65536, + NoIndentation = 131072, + AsyncFunctionBody = 262144, + ReuseTempVariableScope = 524288, + CustomPrologue = 1048576, + NoHoisting = 2097152, + HasEndOfDeclarationMarker = 4194304, + Iterator = 8388608, + NoAsciiEscaping = 16777216 + } + interface EmitHelper { + readonly name: string; + readonly scoped: boolean; + readonly text: string | ((node: EmitHelperUniqueNameCallback) => string); + readonly priority?: number; + } + type EmitHelperUniqueNameCallback = (name: string) => string; + enum EmitHint { + SourceFile = 0, + Expression = 1, + IdentifierName = 2, + MappedTypeParameter = 3, + Unspecified = 4, + EmbeddedStatement = 5 + } + interface TransformationContext { + /** Gets the compiler options supplied to the transformer. */ + getCompilerOptions(): CompilerOptions; + /** Starts a new lexical environment. */ + startLexicalEnvironment(): void; + /** Suspends the current lexical environment, usually after visiting a parameter list. */ + suspendLexicalEnvironment(): void; + /** Resumes a suspended lexical environment, usually before visiting a function body. */ + resumeLexicalEnvironment(): void; + /** Ends a lexical environment, returning any declarations. */ + endLexicalEnvironment(): Statement[] | undefined; + /** Hoists a function declaration to the containing scope. */ + hoistFunctionDeclaration(node: FunctionDeclaration): void; + /** Hoists a variable declaration to the containing scope. */ + hoistVariableDeclaration(node: Identifier): void; + /** Records a request for a non-scoped emit helper in the current context. */ + requestEmitHelper(helper: EmitHelper): void; + /** Gets and resets the requested non-scoped emit helpers. */ + readEmitHelpers(): EmitHelper[] | undefined; + /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ + enableSubstitution(kind: SyntaxKind): void; + /** Determines whether expression substitutions are enabled for the provided node. */ + isSubstitutionEnabled(node: Node): boolean; + /** + * Hook used by transformers to substitute expressions just before they + * are emitted by the pretty printer. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onSubstituteNode: (hint: EmitHint, node: Node) => Node; + /** + * Enables before/after emit notifications in the pretty printer for the provided + * SyntaxKind. + */ + enableEmitNotification(kind: SyntaxKind): void; + /** + * Determines whether before/after emit notifications should be raised in the pretty + * printer when it emits a node. + */ + isEmitNotificationEnabled(node: Node): boolean; + /** + * Hook used to allow transformers to capture state before or after + * the printer emits a node. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void; + } + interface TransformationResult { + /** Gets the transformed source files. */ + transformed: T[]; + /** Gets diagnostics for the transformation. */ + diagnostics?: DiagnosticWithLocation[]; + /** + * Gets a substitute for a node, if one is available; otherwise, returns the original node. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + substituteNode(hint: EmitHint, node: Node): Node; + /** + * Emits a node with possible notification. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to emit. + * @param emitCallback A callback used to emit the node. + */ + emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + /** + * Clean up EmitNode entries on any parse-tree nodes. + */ + dispose(): void; + } + /** + * A function that is used to initialize and return a `Transformer` callback, which in turn + * will be used to transform one or more nodes. + */ + type TransformerFactory = (context: TransformationContext) => Transformer; + /** + * A function that transforms a node. + */ + type Transformer = (node: T) => T; + /** + * A function that accepts and possibly transforms a node. + */ + type Visitor = (node: Node) => VisitResult; + type VisitResult = T | T[] | undefined; + interface Printer { + /** + * Print a node and its subtree as-is, without any emit transformations. + * @param hint A value indicating the purpose of a node. This is primarily used to + * distinguish between an `Identifier` used in an expression position, versus an + * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you + * should just pass `Unspecified`. + * @param node The node to print. The node and its subtree are printed as-is, without any + * emit transformations. + * @param sourceFile A source file that provides context for the node. The source text of + * the file is used to emit the original source content for literals and identifiers, while + * the identifiers of the source file are used when generating unique names to avoid + * collisions. + */ + printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string; + /** + * Prints a list of nodes using the given format flags + */ + printList(format: ListFormat, list: NodeArray, sourceFile: SourceFile): string; + /** + * Prints a source file as-is, without any emit transformations. + */ + printFile(sourceFile: SourceFile): string; + /** + * Prints a bundle of source files as-is, without any emit transformations. + */ + printBundle(bundle: Bundle): string; + } + interface PrintHandlers { + /** + * A hook used by the Printer when generating unique names to avoid collisions with + * globally defined names that exist outside of the current source file. + */ + hasGlobalName?(name: string): boolean; + /** + * A hook used by the Printer to provide notifications prior to emitting a node. A + * compatible implementation **must** invoke `emitCallback` with the provided `hint` and + * `node` values. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @param emitCallback A callback that, when invoked, will emit the node. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * onEmitNode(hint, node, emitCallback) { + * // set up or track state prior to emitting the node... + * emitCallback(hint, node); + * // restore state after emitting the node... + * } + * }); + * ``` + */ + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; + /** + * A hook used by the Printer to perform just-in-time substitution of a node. This is + * primarily used by node transformations that need to substitute one node for another, + * such as replacing `myExportedVar` with `exports.myExportedVar`. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * substituteNode(hint, node) { + * // perform substitution if necessary... + * return node; + * } + * }); + * ``` + */ + substituteNode?(hint: EmitHint, node: Node): Node; + } + interface PrinterOptions { + removeComments?: boolean; + newLine?: NewLineKind; + omitTrailingSemicolon?: boolean; + noEmitHelpers?: boolean; + } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } + interface SyntaxList extends Node { + _children: Node[]; + } + enum ListFormat { + None = 0, + SingleLine = 0, + MultiLine = 1, + PreserveLines = 2, + LinesMask = 3, + NotDelimited = 0, + BarDelimited = 4, + AmpersandDelimited = 8, + CommaDelimited = 16, + AsteriskDelimited = 32, + DelimitersMask = 60, + AllowTrailingComma = 64, + Indented = 128, + SpaceBetweenBraces = 256, + SpaceBetweenSiblings = 512, + Braces = 1024, + Parenthesis = 2048, + AngleBrackets = 4096, + SquareBrackets = 8192, + BracketsMask = 15360, + OptionalIfUndefined = 16384, + OptionalIfEmpty = 32768, + Optional = 49152, + PreferNewLine = 65536, + NoTrailingNewLine = 131072, + NoInterveningComments = 262144, + NoSpaceIfEmpty = 524288, + SingleElement = 1048576, + Modifiers = 262656, + HeritageClauses = 512, + SingleLineTypeLiteralMembers = 768, + MultiLineTypeLiteralMembers = 32897, + TupleTypeElements = 528, + UnionTypeConstituents = 516, + IntersectionTypeConstituents = 520, + ObjectBindingPatternElements = 525136, + ArrayBindingPatternElements = 524880, + ObjectLiteralExpressionProperties = 526226, + ArrayLiteralExpressionElements = 8914, + CommaListElements = 528, + CallExpressionArguments = 2576, + NewExpressionArguments = 18960, + TemplateExpressionSpans = 262144, + SingleLineBlockStatements = 768, + MultiLineBlockStatements = 129, + VariableDeclarationList = 528, + SingleLineFunctionBodyStatements = 768, + MultiLineFunctionBodyStatements = 1, + ClassHeritageClauses = 0, + ClassMembers = 129, + InterfaceMembers = 129, + EnumMembers = 145, + CaseBlockClauses = 129, + NamedImportsOrExportsElements = 525136, + JsxElementOrFragmentChildren = 262144, + JsxElementAttributes = 262656, + CaseOrDefaultClauseStatements = 163969, + HeritageClauseTypes = 528, + SourceFileStatements = 131073, + Decorators = 49153, + TypeArguments = 53776, + TypeParameters = 53776, + Parameters = 2576, + IndexSignatureParameters = 8848, + JSDocComment = 33 + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + readonly includeCompletionsForModuleExports?: boolean; + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ + readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; + readonly allowTextChangesInNewFiles?: boolean; + } + /** Represents a bigint literal value without requiring bigint support */ + interface PseudoBigInt { + negative: boolean; + base10Value: string; + } +} +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; +declare function clearTimeout(handle: any): void; +declare namespace ts { + enum FileWatcherEventKind { + Created = 0, + Changed = 1, + Deleted = 2 + } + type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + type DirectoryWatcherCallback = (fileName: string) => void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + writeOutputIsTTY?(): boolean; + readFile(path: string, encoding?: string): string | undefined; + getFileSize?(path: string): number; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + /** + * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that + * use native OS file watching + */ + watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + getModifiedTime?(path: string): Date | undefined; + setModifiedTime?(path: string, time: Date): void; + deleteFile?(path: string): void; + /** + * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) + */ + createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + realpath?(path: string): string; + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout?(timeoutId: any): void; + clearScreen?(): void; + base64decode?(input: string): string; + base64encode?(input: string): string; + } + interface FileWatcher { + close(): void; + } + function getNodeMajorVersion(): number | undefined; + let sys: System; +} +declare namespace ts { + type ErrorCallback = (message: DiagnosticMessage, length: number) => void; + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + scanJsxAttributeValue(): SyntaxKind; + reScanJsxToken(): JsxTokenSyntaxKind; + scanJsxToken(): JsxTokenSyntaxKind; + scanJSDocToken(): JsDocSyntaxKind; + scan(): SyntaxKind; + getText(): string; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + scanRange(start: number, length: number, callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string | undefined; + function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter; + function isWhiteSpaceLike(ch: number): boolean; + /** Does not include line breaks. For that, see isWhiteSpaceLike. */ + function isWhiteSpaceSingleLine(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + /** Optionally, get the shebang */ + function getShebang(text: string): string | undefined; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function isExternalModuleNameRelative(moduleName: string): boolean; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): SortedReadonlyArray; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; + type ParameterPropertyDeclaration = ParameterDeclaration & { + parent: ConstructorDeclaration; + name: Identifier; + }; + function isParameterPropertyDeclaration(node: Node): node is ParameterPropertyDeclaration; + function isEmptyBindingPattern(node: BindingName): node is BindingPattern; + function isEmptyBindingElement(node: BindingElement): boolean; + function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration; + function getCombinedModifierFlags(node: Declaration): ModifierFlags; + function getCombinedNodeFlags(node: Node): NodeFlags; + /** + * Checks to see if the locale is in the appropriate format, + * and if it is, attempts to set the appropriate language. + */ + function validateLocaleAndSetLanguage(locale: string, sys: { + getExecutingFilePath(): string; + resolvePath(path: string): string; + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + }, errors?: Push): void; + function getOriginalNode(node: Node): Node; + function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; + /** + * Gets a value indicating whether a node originated in the parse tree. + * + * @param node The node to test. + */ + function isParseTreeNode(node: Node): boolean; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node): Node; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; + /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ + function escapeLeadingUnderscores(identifier: string): __String; + /** + * Remove extra underscore from escaped identifier text content. + * + * @param identifier The escaped identifier text. + * @returns The unescaped identifier text. + */ + function unescapeLeadingUnderscores(identifier: __String): string; + function idText(identifier: Identifier): string; + function symbolName(symbol: Symbol): string; + function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + /** + * Gets the JSDoc parameter tags for the node if present. + * + * @remarks Returns any JSDoc param tag whose name matches the provided + * parameter, whether a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the param + * tag on the containing function expression would be first. + * + * For binding patterns, parameter tags are matched by position. + */ + function getJSDocParameterTags(param: ParameterDeclaration): ReadonlyArray; + /** + * Gets the JSDoc type parameter tags for the node if present. + * + * @remarks Returns any JSDoc template tag whose names match the provided + * parameter, whether a template tag on a containing function + * expression, or a template tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the template + * tag on the containing function expression would be first. + */ + function getJSDocTypeParameterTags(param: TypeParameterDeclaration): ReadonlyArray; + /** + * Return true if the node has JSDoc parameter tags. + * + * @remarks Includes parameter tags that are not directly on the node, + * for example on a variable declaration whose initializer is a function expression. + */ + function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean; + /** Gets the JSDoc augments tag for the node if present */ + function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined; + /** Gets the JSDoc class tag for the node if present */ + function getJSDocClassTag(node: Node): JSDocClassTag | undefined; + /** Gets the JSDoc enum tag for the node if present */ + function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined; + /** Gets the JSDoc this tag for the node if present */ + function getJSDocThisTag(node: Node): JSDocThisTag | undefined; + /** Gets the JSDoc return tag for the node if present */ + function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined; + /** Gets the JSDoc template tag for the node if present */ + function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined; + /** Gets the JSDoc type tag for the node if present and valid */ + function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined; + /** + * Gets the type node for the node if provided via JSDoc. + * + * @remarks The search includes any JSDoc param tag that relates + * to the provided parameter, for example a type tag on the + * parameter itself, or a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are examined first, so in the previous example, the type + * tag directly on the node would be returned. + */ + function getJSDocType(node: Node): TypeNode | undefined; + /** + * Gets the return type node for the node if provided via JSDoc return tag or type tag. + * + * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function + * gets the type from inside the braces, after the fat arrow, etc. + */ + function getJSDocReturnType(node: Node): TypeNode | undefined; + /** Get all JSDoc tags related to a node, including those on parent nodes. */ + function getJSDocTags(node: Node): ReadonlyArray; + /** Gets all JSDoc tags of a specified kind, or undefined if not present. */ + function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): ReadonlyArray; + /** + * Gets the effective type parameters. If the node was parsed in a + * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + */ + function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray; + function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; +} +declare namespace ts { + function isNumericLiteral(node: Node): node is NumericLiteral; + function isBigIntLiteral(node: Node): node is BigIntLiteral; + function isStringLiteral(node: Node): node is StringLiteral; + function isJsxText(node: Node): node is JsxText; + function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral; + function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral; + function isTemplateHead(node: Node): node is TemplateHead; + function isTemplateMiddle(node: Node): node is TemplateMiddle; + function isTemplateTail(node: Node): node is TemplateTail; + function isIdentifier(node: Node): node is Identifier; + function isQualifiedName(node: Node): node is QualifiedName; + function isComputedPropertyName(node: Node): node is ComputedPropertyName; + function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration; + function isParameter(node: Node): node is ParameterDeclaration; + function isDecorator(node: Node): node is Decorator; + function isPropertySignature(node: Node): node is PropertySignature; + function isPropertyDeclaration(node: Node): node is PropertyDeclaration; + function isMethodSignature(node: Node): node is MethodSignature; + function isMethodDeclaration(node: Node): node is MethodDeclaration; + function isConstructorDeclaration(node: Node): node is ConstructorDeclaration; + function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration; + function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration; + function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration; + function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration; + function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration; + function isTypePredicateNode(node: Node): node is TypePredicateNode; + function isTypeReferenceNode(node: Node): node is TypeReferenceNode; + function isFunctionTypeNode(node: Node): node is FunctionTypeNode; + function isConstructorTypeNode(node: Node): node is ConstructorTypeNode; + function isTypeQueryNode(node: Node): node is TypeQueryNode; + function isTypeLiteralNode(node: Node): node is TypeLiteralNode; + function isArrayTypeNode(node: Node): node is ArrayTypeNode; + function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isUnionTypeNode(node: Node): node is UnionTypeNode; + function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode; + function isConditionalTypeNode(node: Node): node is ConditionalTypeNode; + function isInferTypeNode(node: Node): node is InferTypeNode; + function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode; + function isThisTypeNode(node: Node): node is ThisTypeNode; + function isTypeOperatorNode(node: Node): node is TypeOperatorNode; + function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode; + function isMappedTypeNode(node: Node): node is MappedTypeNode; + function isLiteralTypeNode(node: Node): node is LiteralTypeNode; + function isImportTypeNode(node: Node): node is ImportTypeNode; + function isObjectBindingPattern(node: Node): node is ObjectBindingPattern; + function isArrayBindingPattern(node: Node): node is ArrayBindingPattern; + function isBindingElement(node: Node): node is BindingElement; + function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression; + function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression; + function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression; + function isElementAccessExpression(node: Node): node is ElementAccessExpression; + function isCallExpression(node: Node): node is CallExpression; + function isNewExpression(node: Node): node is NewExpression; + function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression; + function isTypeAssertion(node: Node): node is TypeAssertion; + function isParenthesizedExpression(node: Node): node is ParenthesizedExpression; + function skipPartiallyEmittedExpressions(node: Expression): Expression; + function skipPartiallyEmittedExpressions(node: Node): Node; + function isFunctionExpression(node: Node): node is FunctionExpression; + function isArrowFunction(node: Node): node is ArrowFunction; + function isDeleteExpression(node: Node): node is DeleteExpression; + function isTypeOfExpression(node: Node): node is TypeOfExpression; + function isVoidExpression(node: Node): node is VoidExpression; + function isAwaitExpression(node: Node): node is AwaitExpression; + function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression; + function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression; + function isBinaryExpression(node: Node): node is BinaryExpression; + function isConditionalExpression(node: Node): node is ConditionalExpression; + function isTemplateExpression(node: Node): node is TemplateExpression; + function isYieldExpression(node: Node): node is YieldExpression; + function isSpreadElement(node: Node): node is SpreadElement; + function isClassExpression(node: Node): node is ClassExpression; + function isOmittedExpression(node: Node): node is OmittedExpression; + function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; + function isAsExpression(node: Node): node is AsExpression; + function isNonNullExpression(node: Node): node is NonNullExpression; + function isMetaProperty(node: Node): node is MetaProperty; + function isTemplateSpan(node: Node): node is TemplateSpan; + function isSemicolonClassElement(node: Node): node is SemicolonClassElement; + function isBlock(node: Node): node is Block; + function isVariableStatement(node: Node): node is VariableStatement; + function isEmptyStatement(node: Node): node is EmptyStatement; + function isExpressionStatement(node: Node): node is ExpressionStatement; + function isIfStatement(node: Node): node is IfStatement; + function isDoStatement(node: Node): node is DoStatement; + function isWhileStatement(node: Node): node is WhileStatement; + function isForStatement(node: Node): node is ForStatement; + function isForInStatement(node: Node): node is ForInStatement; + function isForOfStatement(node: Node): node is ForOfStatement; + function isContinueStatement(node: Node): node is ContinueStatement; + function isBreakStatement(node: Node): node is BreakStatement; + function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement; + function isReturnStatement(node: Node): node is ReturnStatement; + function isWithStatement(node: Node): node is WithStatement; + function isSwitchStatement(node: Node): node is SwitchStatement; + function isLabeledStatement(node: Node): node is LabeledStatement; + function isThrowStatement(node: Node): node is ThrowStatement; + function isTryStatement(node: Node): node is TryStatement; + function isDebuggerStatement(node: Node): node is DebuggerStatement; + function isVariableDeclaration(node: Node): node is VariableDeclaration; + function isVariableDeclarationList(node: Node): node is VariableDeclarationList; + function isFunctionDeclaration(node: Node): node is FunctionDeclaration; + function isClassDeclaration(node: Node): node is ClassDeclaration; + function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration; + function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration; + function isEnumDeclaration(node: Node): node is EnumDeclaration; + function isModuleDeclaration(node: Node): node is ModuleDeclaration; + function isModuleBlock(node: Node): node is ModuleBlock; + function isCaseBlock(node: Node): node is CaseBlock; + function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration; + function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; + function isImportDeclaration(node: Node): node is ImportDeclaration; + function isImportClause(node: Node): node is ImportClause; + function isNamespaceImport(node: Node): node is NamespaceImport; + function isNamedImports(node: Node): node is NamedImports; + function isImportSpecifier(node: Node): node is ImportSpecifier; + function isExportAssignment(node: Node): node is ExportAssignment; + function isExportDeclaration(node: Node): node is ExportDeclaration; + function isNamedExports(node: Node): node is NamedExports; + function isExportSpecifier(node: Node): node is ExportSpecifier; + function isMissingDeclaration(node: Node): node is MissingDeclaration; + function isExternalModuleReference(node: Node): node is ExternalModuleReference; + function isJsxElement(node: Node): node is JsxElement; + function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement; + function isJsxOpeningElement(node: Node): node is JsxOpeningElement; + function isJsxClosingElement(node: Node): node is JsxClosingElement; + function isJsxFragment(node: Node): node is JsxFragment; + function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment; + function isJsxClosingFragment(node: Node): node is JsxClosingFragment; + function isJsxAttribute(node: Node): node is JsxAttribute; + function isJsxAttributes(node: Node): node is JsxAttributes; + function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute; + function isJsxExpression(node: Node): node is JsxExpression; + function isCaseClause(node: Node): node is CaseClause; + function isDefaultClause(node: Node): node is DefaultClause; + function isHeritageClause(node: Node): node is HeritageClause; + function isCatchClause(node: Node): node is CatchClause; + function isPropertyAssignment(node: Node): node is PropertyAssignment; + function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment; + function isSpreadAssignment(node: Node): node is SpreadAssignment; + function isEnumMember(node: Node): node is EnumMember; + function isSourceFile(node: Node): node is SourceFile; + function isBundle(node: Node): node is Bundle; + function isUnparsedSource(node: Node): node is UnparsedSource; + function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression; + function isJSDocAllType(node: JSDocAllType): node is JSDocAllType; + function isJSDocUnknownType(node: Node): node is JSDocUnknownType; + function isJSDocNullableType(node: Node): node is JSDocNullableType; + function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType; + function isJSDocOptionalType(node: Node): node is JSDocOptionalType; + function isJSDocFunctionType(node: Node): node is JSDocFunctionType; + function isJSDocVariadicType(node: Node): node is JSDocVariadicType; + function isJSDoc(node: Node): node is JSDoc; + function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag; + function isJSDocClassTag(node: Node): node is JSDocClassTag; + function isJSDocEnumTag(node: Node): node is JSDocEnumTag; + function isJSDocThisTag(node: Node): node is JSDocThisTag; + function isJSDocParameterTag(node: Node): node is JSDocParameterTag; + function isJSDocReturnTag(node: Node): node is JSDocReturnTag; + function isJSDocTypeTag(node: Node): node is JSDocTypeTag; + function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag; + function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag; + function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag; + function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag; + function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral; + function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag; + function isJSDocSignature(node: Node): node is JSDocSignature; +} +declare namespace ts { + /** + * True if node is of some token syntax kind. + * For example, this is true for an IfKeyword but not for an IfStatement. + * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. + */ + function isToken(n: Node): boolean; + function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; + function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; + function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; + function isModifier(node: Node): node is Modifier; + function isEntityName(node: Node): node is EntityName; + function isPropertyName(node: Node): node is PropertyName; + function isBindingName(node: Node): node is BindingName; + function isFunctionLike(node: Node): node is SignatureDeclaration; + function isClassElement(node: Node): node is ClassElement; + function isClassLike(node: Node): node is ClassLikeDeclaration; + function isAccessor(node: Node): node is AccessorDeclaration; + function isTypeElement(node: Node): node is TypeElement; + function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; + function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; + /** + * Node test that determines whether a node is a valid type node. + * This differs from the `isPartOfTypeNode` function which determines whether a node is *part* + * of a TypeNode. + */ + function isTypeNode(node: Node): node is TypeNode; + function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode; + function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName; + function isCallLikeExpression(node: Node): node is CallLikeExpression; + function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression; + function isTemplateLiteral(node: Node): node is TemplateLiteral; + function isAssertionExpression(node: Node): node is AssertionExpression; + function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement; + function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement; + function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement; + function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause; + /** True if node is of a kind that may contain comment text. */ + function isJSDocCommentContainingNode(node: Node): boolean; + function isSetAccessor(node: Node): node is SetAccessorDeclaration; + function isGetAccessor(node: Node): node is GetAccessorDeclaration; + function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; + function isStringLiteralLike(node: Node): node is StringLiteralLike; +} +declare namespace ts { + function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes + * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, + * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns + * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned. + * + * @param node a given node to visit its children + * @param cbNode a callback to be invoked for all child nodes + * @param cbNodes a callback to be invoked for embedded array + * + * @remarks `forEachChild` must visit the children of a node in the order + * that they appear in the source code. The language service depends on this property to locate nodes by position. + */ + function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; + /** + * Parse json text into SyntaxTree and return node and parse errors if any + * @param fileName + * @param sourceText + */ + function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; + function isExternalModule(file: SourceFile): boolean; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + function parseCommandLine(commandLine: ReadonlyArray, readFile?: (path: string) => string | undefined): ParsedCommandLine; + type DiagnosticReporter = (diagnostic: Diagnostic) => void; + /** + * Reports config file diagnostics + */ + interface ConfigFileDiagnosticsReporter { + /** + * Reports unrecoverable error when parsing config file + */ + onUnRecoverableConfigFileDiagnostic: DiagnosticReporter; + } + /** + * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors + */ + interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter { + getCurrentDirectory(): string; + } + /** + * Reads the config file, reports errors if any and exits if the config file cannot be found + */ + function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost): ParsedCommandLine | undefined; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileTextToJson(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile; + /** + * Convert the json syntax tree into the json value + */ + function convertToObject(sourceFile: JsonSourceFile, errors: Push): any; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + /** + * Parse the contents of a config file (tsconfig.json). + * @param jsonNode The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: CompilerOptions; + errors: Diagnostic[]; + }; + function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: TypeAcquisition; + errors: Diagnostic[]; + }; +} +declare namespace ts { + function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; + /** + * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. + * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups + * is assumed to be the same as root directory of the project. + */ + function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + /** + * Given a set of options, returns the set of type directive names + * that should be included for this program automatically. + * This list could either come from the config file, + * or from enumerating the types root + initial secondary types lookup location. + * More type directives might appear in the program later as a result of loading actual source files; + * this list is only the set of defaults that are implicitly included. + */ + function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[]; + /** + * Cached module resolutions per containing directory. + * This assumes that any module id will have the same resolution for sibling files located in the same folder. + */ + interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache { + getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map; + } + /** + * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory + * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive. + */ + interface NonRelativeModuleNameResolutionCache { + getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache; + } + interface PerModuleNameCache { + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; + set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; + } + function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; + function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; +} +declare namespace ts { + function createNodeArray(elements?: ReadonlyArray, hasTrailingComma?: boolean): NodeArray; + /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ + function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; + function createLiteral(value: number | PseudoBigInt): NumericLiteral; + function createLiteral(value: boolean): BooleanLiteral; + function createLiteral(value: string | number | PseudoBigInt | boolean): PrimaryExpression; + function createNumericLiteral(value: string): NumericLiteral; + function createBigIntLiteral(value: string): BigIntLiteral; + function createStringLiteral(text: string): StringLiteral; + function createRegularExpressionLiteral(text: string): RegularExpressionLiteral; + function createIdentifier(text: string): Identifier; + function updateIdentifier(node: Identifier): Identifier; + /** Create a unique temporary variable. */ + function createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier; + /** Create a unique temporary variable for use in a loop. */ + function createLoopVariable(): Identifier; + /** Create a unique name based on the supplied text. */ + function createUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. */ + function createOptimisticUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. This does not consider names injected by the transformer. */ + function createFileLevelUniqueName(text: string): Identifier; + /** Create a unique name generated for a node. */ + function getGeneratedNameForNode(node: Node | undefined): Identifier; + function createToken(token: TKind): Token; + function createSuper(): SuperExpression; + function createThis(): ThisExpression & Token; + function createNull(): NullLiteral & Token; + function createTrue(): BooleanLiteral & Token; + function createFalse(): BooleanLiteral & Token; + function createModifier(kind: T): Token; + function createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + function createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; + function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; + function createComputedPropertyName(expression: Expression): ComputedPropertyName; + function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + function createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + function updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + function createParameter(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + function updateParameter(node: ParameterDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + function createDecorator(expression: Expression): Decorator; + function updateDecorator(node: Decorator, expression: Expression): Decorator; + function createPropertySignature(modifiers: ReadonlyArray | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function updatePropertySignature(node: PropertySignature, modifiers: ReadonlyArray | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function createProperty(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function updateProperty(node: PropertyDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function createMethodSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function updateMethodSignature(node: MethodSignature, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined, name: PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function createMethod(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function updateMethod(node: MethodDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function createConstructor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function updateConstructor(node: ConstructorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function createGetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function updateGetAccessor(node: GetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function createSetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function updateSetAccessor(node: SetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function createCallSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): CallSignatureDeclaration; + function updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; + function createConstructSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function createIndexSignature(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function updateIndexSignature(node: IndexSignatureDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function createKeywordTypeNode(kind: KeywordTypeNode["kind"]): KeywordTypeNode; + function createTypePredicateNode(parameterName: Identifier | ThisTypeNode | string, type: TypeNode): TypePredicateNode; + function updateTypePredicateNode(node: TypePredicateNode, parameterName: Identifier | ThisTypeNode, type: TypeNode): TypePredicateNode; + function createTypeReferenceNode(typeName: string | EntityName, typeArguments: ReadonlyArray | undefined): TypeReferenceNode; + function updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray | undefined): TypeReferenceNode; + function createFunctionTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): FunctionTypeNode; + function updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): FunctionTypeNode; + function createConstructorTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructorTypeNode; + function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; + function createTypeQueryNode(exprName: EntityName): TypeQueryNode; + function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; + function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; + function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; + function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; + function createTupleTypeNode(elementTypes: ReadonlyArray): TupleTypeNode; + function updateTupleTypeNode(node: TupleTypeNode, elementTypes: ReadonlyArray): TupleTypeNode; + function createOptionalTypeNode(type: TypeNode): OptionalTypeNode; + function updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode; + function createRestTypeNode(type: TypeNode): RestTypeNode; + function updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode; + function createUnionTypeNode(types: ReadonlyArray): UnionTypeNode; + function updateUnionTypeNode(node: UnionTypeNode, types: NodeArray): UnionTypeNode; + function createIntersectionTypeNode(types: ReadonlyArray): IntersectionTypeNode; + function updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray): IntersectionTypeNode; + function createUnionOrIntersectionTypeNode(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, types: ReadonlyArray): UnionOrIntersectionTypeNode; + function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; + function updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; + function createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; + function updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; + function createThisTypeNode(): ThisTypeNode; + function createTypeOperatorNode(type: TypeNode): TypeOperatorNode; + function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode; + function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode; + function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function createMappedTypeNode(readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function createObjectBindingPattern(elements: ReadonlyArray): ObjectBindingPattern; + function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray): ObjectBindingPattern; + function createArrayBindingPattern(elements: ReadonlyArray): ArrayBindingPattern; + function updateArrayBindingPattern(node: ArrayBindingPattern, elements: ReadonlyArray): ArrayBindingPattern; + function createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement; + function updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement; + function createArrayLiteral(elements?: ReadonlyArray, multiLine?: boolean): ArrayLiteralExpression; + function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; + function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; + function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; + function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; + function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; + function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + /** @deprecated */ function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + /** @deprecated */ function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; + function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; + function createParen(expression: Expression): ParenthesizedExpression; + function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; + function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; + function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: Token, body: ConciseBody): ArrowFunction; + function createDelete(expression: Expression): DeleteExpression; + function updateDelete(node: DeleteExpression, expression: Expression): DeleteExpression; + function createTypeOf(expression: Expression): TypeOfExpression; + function updateTypeOf(node: TypeOfExpression, expression: Expression): TypeOfExpression; + function createVoid(expression: Expression): VoidExpression; + function updateVoid(node: VoidExpression, expression: Expression): VoidExpression; + function createAwait(expression: Expression): AwaitExpression; + function updateAwait(node: AwaitExpression, expression: Expression): AwaitExpression; + function createPrefix(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression; + function updatePrefix(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression; + function createPostfix(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression; + function updatePostfix(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression; + function createBinary(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression; + function updateBinary(node: BinaryExpression, left: Expression, right: Expression, operator?: BinaryOperator | BinaryOperatorToken): BinaryExpression; + /** @deprecated */ function createConditional(condition: Expression, whenTrue: Expression, whenFalse: Expression): ConditionalExpression; + function createConditional(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression; + function updateConditional(node: ConditionalExpression, condition: Expression, questionToken: Token, whenTrue: Expression, colonToken: Token, whenFalse: Expression): ConditionalExpression; + function createTemplateExpression(head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function createTemplateHead(text: string): TemplateHead; + function createTemplateMiddle(text: string): TemplateMiddle; + function createTemplateTail(text: string): TemplateTail; + function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; + function createYield(expression?: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function createSpread(expression: Expression): SpreadElement; + function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function createOmittedExpression(): OmittedExpression; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function createAsExpression(expression: Expression, type: TypeNode): AsExpression; + function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; + function createNonNullExpression(expression: Expression): NonNullExpression; + function updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression; + function createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; + function updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + function createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function createSemicolonClassElement(): SemicolonClassElement; + function createBlock(statements: ReadonlyArray, multiLine?: boolean): Block; + function updateBlock(node: Block, statements: ReadonlyArray): Block; + function createVariableStatement(modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList | ReadonlyArray): VariableStatement; + function updateVariableStatement(node: VariableStatement, modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList): VariableStatement; + function createEmptyStatement(): EmptyStatement; + function createExpressionStatement(expression: Expression): ExpressionStatement; + function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement; + /** @deprecated Use `createExpressionStatement` instead. */ + const createStatement: typeof createExpressionStatement; + /** @deprecated Use `updateExpressionStatement` instead. */ + const updateStatement: typeof updateExpressionStatement; + function createIf(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement; + function updateIf(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement; + function createDo(statement: Statement, expression: Expression): DoStatement; + function updateDo(node: DoStatement, statement: Statement, expression: Expression): DoStatement; + function createWhile(expression: Expression, statement: Statement): WhileStatement; + function updateWhile(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement; + function createFor(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createContinue(label?: string | Identifier): ContinueStatement; + function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; + function createBreak(label?: string | Identifier): BreakStatement; + function updateBreak(node: BreakStatement, label: Identifier | undefined): BreakStatement; + function createReturn(expression?: Expression): ReturnStatement; + function updateReturn(node: ReturnStatement, expression: Expression | undefined): ReturnStatement; + function createWith(expression: Expression, statement: Statement): WithStatement; + function updateWith(node: WithStatement, expression: Expression, statement: Statement): WithStatement; + function createSwitch(expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function updateSwitch(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function createLabel(label: string | Identifier, statement: Statement): LabeledStatement; + function updateLabel(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement; + function createThrow(expression: Expression): ThrowStatement; + function updateThrow(node: ThrowStatement, expression: Expression): ThrowStatement; + function createTry(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function updateTry(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function createDebuggerStatement(): DebuggerStatement; + function createVariableDeclaration(name: string | BindingName, type?: TypeNode, initializer?: Expression): VariableDeclaration; + function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; + function createVariableDeclarationList(declarations: ReadonlyArray, flags?: NodeFlags): VariableDeclarationList; + function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; + function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function createEnumDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, members: ReadonlyArray): EnumDeclaration; + function updateEnumDeclaration(node: EnumDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, members: ReadonlyArray): EnumDeclaration; + function createModuleDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + function updateModuleDeclaration(node: ModuleDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + function createModuleBlock(statements: ReadonlyArray): ModuleBlock; + function updateModuleBlock(node: ModuleBlock, statements: ReadonlyArray): ModuleBlock; + function createCaseBlock(clauses: ReadonlyArray): CaseBlock; + function updateCaseBlock(node: CaseBlock, clauses: ReadonlyArray): CaseBlock; + function createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; + function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; + function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function createNamespaceImport(name: Identifier): NamespaceImport; + function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; + function createNamedImports(elements: ReadonlyArray): NamedImports; + function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; + function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; + function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; + function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; + function createNamedExports(elements: ReadonlyArray): NamedExports; + function updateNamedExports(node: NamedExports, elements: ReadonlyArray): NamedExports; + function createExportSpecifier(propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; + function updateExportSpecifier(node: ExportSpecifier, propertyName: Identifier | undefined, name: Identifier): ExportSpecifier; + function createExternalModuleReference(expression: Expression): ExternalModuleReference; + function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; + function createJsxElement(openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement; + function updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement; + function createJsxFragment(openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function createJsxAttributes(properties: ReadonlyArray): JsxAttributes; + function updateJsxAttributes(node: JsxAttributes, properties: ReadonlyArray): JsxAttributes; + function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; + function updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute; + function createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression; + function updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression; + function createCaseClause(expression: Expression, statements: ReadonlyArray): CaseClause; + function updateCaseClause(node: CaseClause, expression: Expression, statements: ReadonlyArray): CaseClause; + function createDefaultClause(statements: ReadonlyArray): DefaultClause; + function updateDefaultClause(node: DefaultClause, statements: ReadonlyArray): DefaultClause; + function createHeritageClause(token: HeritageClause["token"], types: ReadonlyArray): HeritageClause; + function updateHeritageClause(node: HeritageClause, types: ReadonlyArray): HeritageClause; + function createCatchClause(variableDeclaration: string | VariableDeclaration | undefined, block: Block): CatchClause; + function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause; + function createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment; + function updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment; + function createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment; + function updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment; + function createSpreadAssignment(expression: Expression): SpreadAssignment; + function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; + function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; + function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; + /** + * Creates a shallow, memberwise clone of a node for mutation. + */ + function getMutableClone(node: T): T; + /** + * Creates a synthetic statement to act as a placeholder for a not-emitted statement in + * order to preserve comments. + * + * @param original The original statement. + */ + function createNotEmittedStatement(original: Node): NotEmittedStatement; + /** + * Creates a synthetic expression to act as a placeholder for a not-emitted expression in + * order to preserve comments or sourcemap positions. + * + * @param expression The inner expression to emit. + * @param original The original outer expression. + * @param location The location for the expression. Defaults to the positions from "original" if provided. + */ + function createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression; + function updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression; + function createCommaList(elements: ReadonlyArray): CommaListExpression; + function updateCommaList(node: CommaListExpression, elements: ReadonlyArray): CommaListExpression; + function createBundle(sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createUnparsedSourceFile(text: string): UnparsedSource; + function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource; + function createInputFiles(javascript: string, declaration: string): InputFiles; + function createInputFiles(javascript: string, declaration: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createComma(left: Expression, right: Expression): Expression; + function createLessThan(left: Expression, right: Expression): Expression; + function createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment; + function createAssignment(left: Expression, right: Expression): BinaryExpression; + function createStrictEquality(left: Expression, right: Expression): BinaryExpression; + function createStrictInequality(left: Expression, right: Expression): BinaryExpression; + function createAdd(left: Expression, right: Expression): BinaryExpression; + function createSubtract(left: Expression, right: Expression): BinaryExpression; + function createPostfixIncrement(operand: Expression): PostfixUnaryExpression; + function createLogicalAnd(left: Expression, right: Expression): BinaryExpression; + function createLogicalOr(left: Expression, right: Expression): BinaryExpression; + function createLogicalNot(operand: Expression): PrefixUnaryExpression; + function createVoidZero(): VoidExpression; + function createExportDefault(expression: Expression): ExportAssignment; + function createExternalModuleExport(exportName: Identifier): ExportDeclaration; + /** + * Clears any EmitNode entries from parse-tree nodes. + * @param sourceFile A source file. + */ + function disposeEmitNodes(sourceFile: SourceFile): void; + function setTextRange(range: T, location: TextRange | undefined): T; + /** + * Sets flags that control emit behavior of a node. + */ + function setEmitFlags(node: T, emitFlags: EmitFlags): T; + /** + * Gets a custom text range to use when emitting source maps. + */ + function getSourceMapRange(node: Node): SourceMapRange; + /** + * Sets a custom text range to use when emitting source maps. + */ + function setSourceMapRange(node: T, range: SourceMapRange | undefined): T; + /** + * Create an external source map source file reference + */ + function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource; + /** + * Gets the TextRange to use for source maps for a token of a node. + */ + function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined; + /** + * Sets the TextRange to use for source maps for a token of a node. + */ + function setTokenSourceMapRange(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T; + /** + * Gets a custom text range to use when emitting comments. + */ + function getCommentRange(node: Node): TextRange; + /** + * Sets a custom text range to use when emitting comments. + */ + function setCommentRange(node: T, range: TextRange): T; + function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; + /** + * Gets the constant value to emit for an expression. + */ + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + /** + * Sets the constant value to emit for an expression. + */ + function setConstantValue(node: PropertyAccessExpression | ElementAccessExpression, value: string | number): PropertyAccessExpression | ElementAccessExpression; + /** + * Adds an EmitHelper to a node. + */ + function addEmitHelper(node: T, helper: EmitHelper): T; + /** + * Add EmitHelpers to a node. + */ + function addEmitHelpers(node: T, helpers: EmitHelper[] | undefined): T; + /** + * Removes an EmitHelper from a node. + */ + function removeEmitHelper(node: Node, helper: EmitHelper): boolean; + /** + * Gets the EmitHelpers of a node. + */ + function getEmitHelpers(node: Node): EmitHelper[] | undefined; + /** + * Moves matching emit helpers from a source node to a target node. + */ + function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void; + function setOriginalNode(node: T, original: Node | undefined): T; +} +declare namespace ts { + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; + /** + * Starts a new lexical environment and visits a statement list, ending the lexical environment + * and merging hoisted declarations upon completion. + */ + function visitLexicalEnvironment(statements: NodeArray, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean): NodeArray; + /** + * Starts a new lexical environment and visits a parameter list, suspending the lexical + * environment upon completion. + */ + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined; + /** + * Resumes a suspended lexical environment and visits a concise body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +} +declare namespace ts { + function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer; +} +declare namespace ts { + function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + interface FormatDiagnosticsHost { + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; + } + function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; + function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; + function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param rootNames - A set of root files. + * @param options - The compiler options which should be used. + * @param host - The host interacts with the underlying file system. + * @param oldProgram - Reuses an old program structure. + * @param configFileParsingDiagnostics - error during config file parsing + * @returns A 'Program' object. + */ + function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; + /** @deprecated */ interface ResolveProjectReferencePathHost { + fileExists(fileName: string): boolean; + } + /** + * Returns the target config filename of a project reference. + * Note: The file might not exist. + */ + function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName; + /** @deprecated */ function resolveProjectReferencePath(host: ResolveProjectReferencePathHost, ref: ProjectReference): ResolvedConfigFileName; +} +declare namespace ts { + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } +} +declare namespace ts { + type AffectedFileResult = { + result: T; + affected: SourceFile | Program; + } | undefined; + interface BuilderProgramHost { + /** + * return true if file names are treated with case sensitivity + */ + useCaseSensitiveFileNames(): boolean; + /** + * If provided this would be used this hash instead of actual file shape text for detecting changes + */ + createHash?: (data: string) => string; + /** + * When emit or emitNextAffectedFile are called without writeFile, + * this callback if present would be used to write files + */ + writeFile?: WriteFileCallback; + } + /** + * Builder to manage the program state changes + */ + interface BuilderProgram { + /** + * Returns current program + */ + getProgram(): Program; + /** + * Get compiler options of the program + */ + getCompilerOptions(): CompilerOptions; + /** + * Get the source file in the program with file name + */ + getSourceFile(fileName: string): SourceFile | undefined; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Get the diagnostics for compiler options + */ + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics that dont belong to any file + */ + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics from config file parsing + */ + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Get the syntax diagnostics, for all source files if source file is not supplied + */ + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get all the dependencies of the file + */ + getAllDependencies(sourceFile: SourceFile): ReadonlyArray; + /** + * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program + * The semantic diagnostics are cached and managed here + * Note that it is assumed that when asked about semantic diagnostics through this API, + * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics + * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided, + * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics + */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. + * When targetSource file is specified, emits the files corresponding to that source file, + * otherwise for the whole program. + * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified, + * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified, + * it will only emit all the affected files instead of whole program + * + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + /** + * Get the current directory of the program + */ + getCurrentDirectory(): string; + } + /** + * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files + */ + interface SemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Gets the semantic diagnostics from the program for the next affected file and caches it + * Returns undefined if the iteration is complete + */ + getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult>; + } + /** + * The builder that can handle the changes in program and iterate through changed file to emit the files + * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files + */ + interface EmitAndSemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult; + } + /** + * Create the builder to manage semantic diagnostics and cache them + */ + function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + /** + * Create the builder that can handle the changes in program and iterate through changed files + * to emit the those files and manage semantic diagnostics cache as well + */ + function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + /** + * Creates a builder thats just abstraction over program and can be used with watch + */ + function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): BuilderProgram; +} +declare namespace ts { + type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; + /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */ + type CreateProgram = (rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray | undefined) => T; + /** Host that has watch functionality used in --watch mode */ + interface WatchHost { + /** If provided, called with Diagnostic message that informs about change in watch status */ + onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions): void; + /** Used to watch changes in source files, missing files needed to update the program or config file */ + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + /** If provided, will be used to reset existing delayed compilation */ + clearTimeout?(timeoutId: any): void; + } + interface WatchCompilerHost extends WatchHost { + /** + * Used to create the program when need for program creation or recreation detected + */ + createProgram: CreateProgram; + /** If provided, callback to invoke after every new program creation */ + afterProgramCreate?(program: T): void; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + createHash?(data: string): string; + /** + * Use to check file presence for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + fileExists(path: string): boolean; + /** + * Use to read file text for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + readFile(path: string, encoding?: string): string | undefined; + /** If provided, used for module resolution as well as to handle directory structure */ + directoryExists?(path: string): boolean; + /** If provided, used in resolutions as well as handling directory structure */ + getDirectories?(path: string): string[]; + /** If provided, used to cache and handle directory structure modifications */ + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + /** Symbol links resolution */ + realpath?(path: string): string; + /** If provided would be used to write log about compilation */ + trace?(s: string): void; + /** If provided is used to get the environment variable */ + getEnvironmentVariable?(name: string): string | undefined; + /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + } + /** + * Host to create watch with root files and options + */ + interface WatchCompilerHostOfFilesAndCompilerOptions extends WatchCompilerHost { + /** root files to use to generate program */ + rootFiles: string[]; + /** Compiler options */ + options: CompilerOptions; + /** Project References */ + projectReferences?: ReadonlyArray; + } + /** + * Host to create watch with config file + */ + interface WatchCompilerHostOfConfigFile extends WatchCompilerHost, ConfigFileDiagnosticsReporter { + /** Name of the config file to compile */ + configFileName: string; + /** Options to extend */ + optionsToExtend?: CompilerOptions; + /** + * Used to generate source file names from the config file and its include, exclude, files rules + * and also to cache the directory stucture + */ + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + } + interface Watch { + /** Synchronize with host and get updated program */ + getProgram(): T; + } + /** + * Creates the watch what generates program using the config file + */ + interface WatchOfConfigFile extends Watch { + } + /** + * Creates the watch that generates program using the root files and compiler options + */ + interface WatchOfFilesAndCompilerOptions extends Watch { + /** Updates the root files in the program, only if this is not config file compilation */ + updateRootFileNames(fileNames: string[]): void; + } + /** + * Create the watch compiler host for either configFile or fileNames and its options + */ + function createWatchCompilerHost(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): WatchCompilerHostOfConfigFile; + function createWatchCompilerHost(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: ReadonlyArray): WatchCompilerHostOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for root files and compiler options + */ + function createWatchProgram(host: WatchCompilerHostOfFilesAndCompilerOptions): WatchOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for config file + */ + function createWatchProgram(host: WatchCompilerHostOfConfigFile): WatchOfConfigFile; +} +declare namespace ts.server { + type ActionSet = "action::set"; + type ActionInvalidate = "action::invalidate"; + type ActionPackageInstalled = "action::packageInstalled"; + type ActionValueInspected = "action::valueInspected"; + type EventTypesRegistry = "event::typesRegistry"; + type EventBeginInstallTypes = "event::beginInstallTypes"; + type EventEndInstallTypes = "event::endInstallTypes"; + type EventInitializationFailed = "event::initializationFailed"; + interface TypingInstallerResponse { + readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | ActionValueInspected | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed; + } + interface TypingInstallerRequestWithProjectName { + readonly projectName: string; + } + interface DiscoverTypings extends TypingInstallerRequestWithProjectName { + readonly fileNames: string[]; + readonly projectRootPath: Path; + readonly compilerOptions: CompilerOptions; + readonly typeAcquisition: TypeAcquisition; + readonly unresolvedImports: SortedReadonlyArray; + readonly cachePath?: string; + readonly kind: "discover"; + } + interface CloseProject extends TypingInstallerRequestWithProjectName { + readonly kind: "closeProject"; + } + interface TypesRegistryRequest { + readonly kind: "typesRegistry"; + } + interface InstallPackageRequest extends TypingInstallerRequestWithProjectName { + readonly kind: "installPackage"; + readonly fileName: Path; + readonly packageName: string; + readonly projectRootPath: Path; + } + interface PackageInstalledResponse extends ProjectResponse { + readonly kind: ActionPackageInstalled; + readonly success: boolean; + readonly message: string; + } + interface InitializationFailedResponse extends TypingInstallerResponse { + readonly kind: EventInitializationFailed; + readonly message: string; + } + interface ProjectResponse extends TypingInstallerResponse { + readonly projectName: string; + } + interface InvalidateCachedTypings extends ProjectResponse { + readonly kind: ActionInvalidate; + } + interface InstallTypes extends ProjectResponse { + readonly kind: EventBeginInstallTypes | EventEndInstallTypes; + readonly eventId: number; + readonly typingsInstallerVersion: string; + readonly packagesToInstall: ReadonlyArray; + } + interface BeginInstallTypes extends InstallTypes { + readonly kind: EventBeginInstallTypes; + } + interface EndInstallTypes extends InstallTypes { + readonly kind: EventEndInstallTypes; + readonly installSuccess: boolean; + } + interface SetTypings extends ProjectResponse { + readonly typeAcquisition: TypeAcquisition; + readonly compilerOptions: CompilerOptions; + readonly typings: string[]; + readonly unresolvedImports: SortedReadonlyArray; + readonly kind: ActionSet; + } +} +declare namespace ts { + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFileLike): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; + forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; + } + interface Identifier { + readonly text: string; + } + interface Symbol { + readonly name: string; + getFlags(): SymbolFlags; + getEscapedName(): __String; + getName(): string; + getDeclarations(): Declaration[] | undefined; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol | undefined; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol | undefined; + getApparentProperties(): Symbol[]; + getCallSignatures(): ReadonlyArray; + getConstructSignatures(): ReadonlyArray; + getStringIndexType(): Type | undefined; + getNumberIndexType(): Type | undefined; + getBaseTypes(): BaseType[] | undefined; + getNonNullableType(): Type; + getConstraint(): Type | undefined; + getDefault(): Type | undefined; + isUnion(): this is UnionType; + isIntersection(): this is IntersectionType; + isUnionOrIntersection(): this is UnionOrIntersectionType; + isLiteral(): this is LiteralType; + isStringLiteral(): this is StringLiteralType; + isNumberLiteral(): this is NumberLiteralType; + isTypeParameter(): this is TypeParameter; + isClassOrInterface(): this is InterfaceType; + isClass(): this is InterfaceType; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): TypeParameter[] | undefined; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineEndOfPosition(pos: number): number; + getLineStarts(): ReadonlyArray; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + interface SourceFileLike { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + interface SourceMapSource { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + namespace ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules?: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface InstallPackageOptions { + fileName: Path; + packageName: string; + } + interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getProjectReferences?(): ReadonlyArray | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile?(path: string, encoding?: string): string | undefined; + realpath?(path: string): string; + fileExists?(path: string): boolean; + getTypeRootsVersion?(): number; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getDirectories?(directoryName: string): string[]; + /** + * Gets a set of custom transformers to use during emit. + */ + getCustomTransformers?(): CustomTransformers | undefined; + isKnownTypesPackageName?(name: string): boolean; + installPackage?(options: InstallPackageOptions): Promise; + writeFile?(fileName: string, content: string): void; + } + type WithMetadata = T & { + metadata?: unknown; + }; + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReadonlyArray | undefined; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getImplementationAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getNavigationTree(fileName: string): NavigationTree; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; + toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; + getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; + applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise; + getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; + getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; + organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; + getProgram(): Program | undefined; + dispose(): void; + } + interface JsxClosingTagInfo { + readonly newText: string; + } + interface CombinedCodeFixScope { + type: "file"; + fileName: string; + } + type OrganizeImportsScope = CombinedCodeFixScope; + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + interface GetCompletionsAtPositionOptions extends UserPreferences { + /** + * If the editor is asking for completions because a certain character was typed + * (as opposed to when the user explicitly requested them) this should be set. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** @deprecated Use includeCompletionsForModuleExports */ + includeExternalModuleExports?: boolean; + /** @deprecated Use includeCompletionsWithInsertText */ + includeInsertTextCompletions?: boolean; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + interface SignatureHelpItemsOptions { + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + interface ApplyCodeActionCommandResult { + successMessage: string; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: ClassificationTypeNames; + } + /** + * Navigation bar interface designed for visual studio's dual-column layout. + * This does not form a proper tree. + * The navbar is returned as a list of top-level items, each of which has a list of child items. + * Child items always have an empty array for their `childItems`. + */ + interface NavigationBarItem { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + /** + * Node in a tree of nested declarations in a file. + * The top node is always a script or module node. + */ + interface NavigationTree { + /** Name of the declaration, or a short description, e.g. "". */ + text: string; + kind: ScriptElementKind; + /** ScriptElementKindModifier separated by commas, e.g. "public,abstract" */ + kindModifiers: string; + /** + * Spans of the nodes that generated this declaration. + * There will be more than one if this is the result of merging. + */ + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + /** Present if non-empty */ + childItems?: NavigationTree[]; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + interface TextChange { + span: TextSpan; + newText: string; + } + interface FileTextChanges { + fileName: string; + textChanges: TextChange[]; + isNewFile?: boolean; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileTextChanges[]; + /** + * If the user accepts the code fix, the editor should send the action back in a `applyAction` request. + * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix. + */ + commands?: CodeActionCommand[]; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + fixAllDescription?: string; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray; + } + type CodeActionCommand = InstallPackageAction | GenerateTypesAction; + interface InstallPackageAction { + } + interface GenerateTypesAction extends GenerateTypesOptions { + } + interface GenerateTypesOptions { + readonly file: string; + readonly fileToGenerateTypesFor: string; + readonly outputFileName: string; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + /** + * A set of edits to make in response to a refactor action, plus an optional + * location where renaming should be invoked from + */ + interface RefactorEditInfo { + edits: FileTextChanges[]; + renameFilename?: string; + renameLocation?: number; + commands?: CodeActionCommand[]; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface DocumentSpan { + textSpan: TextSpan; + fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; + } + interface RenameLocation extends DocumentSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface ReferenceEntry extends DocumentSpan { + isWriteAccess: boolean; + isDefinition: boolean; + isInString?: true; + } + interface ImplementationLocation extends DocumentSpan { + kind: ScriptElementKind; + displayParts: SymbolDisplayPart[]; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + interface HighlightSpan { + fileName?: string; + isInString?: true; + textSpan: TextSpan; + kind: HighlightSpanKind; + } + interface NavigateToItem { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + matchKind: "exact" | "prefix" | "substring" | "camelCase"; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: ScriptElementKind; + } + enum IndentStyle { + None = 0, + Block = 1, + Smart = 2 + } + interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterConstructor?: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + InsertSpaceAfterTypeAssertion?: boolean; + InsertSpaceBeforeFunctionParenthesis?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface FormatCodeSettings extends EditorSettings { + readonly insertSpaceAfterCommaDelimiter?: boolean; + readonly insertSpaceAfterSemicolonInForStatements?: boolean; + readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean; + readonly insertSpaceAfterConstructor?: boolean; + readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + readonly insertSpaceAfterTypeAssertion?: boolean; + readonly insertSpaceBeforeFunctionParenthesis?: boolean; + readonly placeOpenBraceOnNewLineForFunctions?: boolean; + readonly placeOpenBraceOnNewLineForControlBlocks?: boolean; + readonly insertSpaceBeforeTypeAnnotation?: boolean; + readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; + } + function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings; + interface DefinitionInfo extends DocumentSpan { + kind: ScriptElementKind; + name: string; + containerKind: ScriptElementKind; + containerName: string; + } + interface DefinitionInfoAndBoundSpan { + definitions?: ReadonlyArray; + textSpan: TextSpan; + } + interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21 + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface JSDocTagInfo { + name: string; + text?: string; + } + interface QuickInfo { + kind: ScriptElementKind; + kindModifiers: string; + textSpan: TextSpan; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + } + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + displayName: string; + fullDisplayName: string; + kind: ScriptElementKind; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + localizedErrorMessage: string; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + tags: JSDocTagInfo[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + /** Not true for all glboal completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ + isGlobalCompletion: boolean; + isMemberCompletion: boolean; + /** + * true when the current location also allows for a new identifier + */ + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: ScriptElementKind; + kindModifiers?: string; + sortText: string; + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + hasAction?: true; + source?: string; + isRecommended?: true; + } + interface CompletionEntryDetails { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + codeActions?: CodeAction[]; + source?: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2 + } + enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6 + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + BigIntLiteral = 7, + StringLiteral = 8, + RegExpLiteral = 9 + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + enum ScriptElementKindModifier { + none = "", + publicMemberModifier = "public", + privateMemberModifier = "private", + protectedMemberModifier = "protected", + exportedModifier = "export", + ambientModifier = "declare", + staticModifier = "static", + abstractModifier = "abstract", + optionalModifier = "optional", + dtsModifier = ".d.ts", + tsModifier = ".ts", + tsxModifier = ".tsx", + jsModifier = ".js", + jsxModifier = ".jsx", + jsonModifier = ".json" + } + enum ClassificationTypeNames { + comment = "comment", + identifier = "identifier", + keyword = "keyword", + numericLiteral = "number", + bigintLiteral = "bigint", + operator = "operator", + stringLiteral = "string", + whiteSpace = "whitespace", + text = "text", + punctuation = "punctuation", + className = "class name", + enumName = "enum name", + interfaceName = "interface name", + moduleName = "module name", + typeParameterName = "type parameter name", + typeAliasName = "type alias name", + parameterName = "parameter name", + docCommentTagName = "doc comment tag name", + jsxOpenTagName = "jsx open tag name", + jsxCloseTagName = "jsx close tag name", + jsxSelfClosingTagName = "jsx self closing tag name", + jsxAttribute = "jsx attribute", + jsxText = "jsx text", + jsxAttributeStringLiteralValue = "jsx attribute string literal value" + } + enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + bigintLiteral = 25 + } +} +declare namespace ts { + function createClassifier(): Classifier; +} +declare namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @param version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + reportStats(): string; + } + type DocumentRegistryBucketKey = string & { + __bucketKey: any; + }; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string): DocumentRegistry; +} +declare namespace ts { + function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; +} +declare namespace ts { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + transformers?: CustomTransformers; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; +} +declare namespace ts { + function generateTypesForModule(name: string, moduleValue: unknown, formatSettings: FormatCodeSettings): string; + function generateTypesForGlobal(name: string, globalValue: unknown, formatSettings: FormatCodeSettings): string; +} +declare namespace ts { + /** The version of the language service API */ + const servicesVersion = "0.8"; + function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; + function getDefaultCompilerOptions(): CompilerOptions; + function getSupportedCodeFixes(): string[]; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} +declare namespace ts { + /** + * Transform one or more nodes using the supplied transformers. + * @param source A single `Node` or an array of `Node` objects. + * @param transformers An array of `TransformerFactory` callbacks used to process the transformation. + * @param compilerOptions Optional compiler options. + */ + function transform(source: T | T[], transformers: TransformerFactory[], compilerOptions?: CompilerOptions): TransformationResult; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/uncacheable.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/uncacheable.js new file mode 100644 index 0000000..28e5af3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/loaders/uncacheable.js @@ -0,0 +1,4 @@ +module.exports = function (input, map) { + this.cacheable(false); + return this.callback(null, input, map); +}; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/readme.md b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/readme.md new file mode 100644 index 0000000..36574a3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/readme.md @@ -0,0 +1,11 @@ +# About this directory + +This directory will contain: + +- `index.js` the main ncc bundle +- `cli.js` the CLI bundle, excluding the main ncc bundle +- `typescript.js` the TypeScript detection file + +These are generated by the `build` step defined in `../../package.json`. + +These files are published to npm. diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js new file mode 100644 index 0000000..990eb8d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js @@ -0,0 +1,8 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const basename = __dirname + '/sourcemap-register.js'; +const source = readFileSync(basename + '.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache'); +const scriptOpts = { filename: basename + '.cache.js', columnOffset: -62 } +const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} }); diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js.cache b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js.cache new file mode 100644 index 0000000..0ef64eb Binary files /dev/null and b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js.cache differ diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js.cache.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js.cache.js new file mode 100644 index 0000000..e822564 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/sourcemap-register.js.cache.js @@ -0,0 +1,3910 @@ +module.exports = +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 650: +/***/ ((module) => { + +var toString = Object.prototype.toString + +var isModern = ( + typeof Buffer.alloc === 'function' && + typeof Buffer.allocUnsafe === 'function' && + typeof Buffer.from === 'function' +) + +function isArrayBuffer (input) { + return toString.call(input).slice(8, -1) === 'ArrayBuffer' +} + +function fromArrayBuffer (obj, byteOffset, length) { + byteOffset >>>= 0 + + var maxLength = obj.byteLength - byteOffset + + if (maxLength < 0) { + throw new RangeError("'offset' is out of bounds") + } + + if (length === undefined) { + length = maxLength + } else { + length >>>= 0 + + if (length > maxLength) { + throw new RangeError("'length' is out of bounds") + } + } + + return isModern + ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) + : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length))) +} + +function fromString (string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + return isModern + ? Buffer.from(string, encoding) + : new Buffer(string, encoding) +} + +function bufferFrom (value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (isArrayBuffer(value)) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(value, encodingOrOffset) + } + + return isModern + ? Buffer.from(value) + : new Buffer(value) +} + +module.exports = bufferFrom + + +/***/ }), + +/***/ 645: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +__webpack_require__(284).install(); + + +/***/ }), + +/***/ 284: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +var SourceMapConsumer = __webpack_require__(596).SourceMapConsumer; +var path = __webpack_require__(622); + +var fs; +try { + fs = __webpack_require__(747); + if (!fs.existsSync || !fs.readFileSync) { + // fs doesn't have all methods we need + fs = null; + } +} catch (err) { + /* nop */ +} + +var bufferFrom = __webpack_require__(650); + +// Only install once if called multiple times +var errorFormatterInstalled = false; +var uncaughtShimInstalled = false; + +// If true, the caches are reset before a stack trace formatting operation +var emptyCacheBetweenOperations = false; + +// Supports {browser, node, auto} +var environment = "auto"; + +// Maps a file path to a string containing the file contents +var fileContentsCache = {}; + +// Maps a file path to a source map for that file +var sourceMapCache = {}; + +// Regex for detecting source maps +var reSourceMap = /^data:application\/json[^,]+base64,/; + +// Priority list of retrieve handlers +var retrieveFileHandlers = []; +var retrieveMapHandlers = []; + +function isInBrowser() { + if (environment === "browser") + return true; + if (environment === "node") + return false; + return ((typeof window !== 'undefined') && (typeof XMLHttpRequest === 'function') && !(window.require && window.module && window.process && window.process.type === "renderer")); +} + +function hasGlobalProcessEventEmitter() { + return ((typeof process === 'object') && (process !== null) && (typeof process.on === 'function')); +} + +function handlerExec(list) { + return function(arg) { + for (var i = 0; i < list.length; i++) { + var ret = list[i](arg); + if (ret) { + return ret; + } + } + return null; + }; +} + +var retrieveFile = handlerExec(retrieveFileHandlers); + +retrieveFileHandlers.push(function(path) { + // Trim the path to make sure there is no extra whitespace. + path = path.trim(); + if (/^file:/.test(path)) { + // existsSync/readFileSync can't handle file protocol, but once stripped, it works + path = path.replace(/file:\/\/\/(\w:)?/, function(protocol, drive) { + return drive ? + '' : // file:///C:/dir/file -> C:/dir/file + '/'; // file:///root-dir/file -> /root-dir/file + }); + } + if (path in fileContentsCache) { + return fileContentsCache[path]; + } + + var contents = ''; + try { + if (!fs) { + // Use SJAX if we are in the browser + var xhr = new XMLHttpRequest(); + xhr.open('GET', path, /** async */ false); + xhr.send(null); + if (xhr.readyState === 4 && xhr.status === 200) { + contents = xhr.responseText; + } + } else if (fs.existsSync(path)) { + // Otherwise, use the filesystem + contents = fs.readFileSync(path, 'utf8'); + } + } catch (er) { + /* ignore any errors */ + } + + return fileContentsCache[path] = contents; +}); + +// Support URLs relative to a directory, but be careful about a protocol prefix +// in case we are in the browser (i.e. directories may start with "http://" or "file:///") +function supportRelativeURL(file, url) { + if (!file) return url; + var dir = path.dirname(file); + var match = /^\w+:\/\/[^\/]*/.exec(dir); + var protocol = match ? match[0] : ''; + var startPath = dir.slice(protocol.length); + if (protocol && /^\/\w\:/.test(startPath)) { + // handle file:///C:/ paths + protocol += '/'; + return protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\/g, '/'); + } + return protocol + path.resolve(dir.slice(protocol.length), url); +} + +function retrieveSourceMapURL(source) { + var fileData; + + if (isInBrowser()) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', source, false); + xhr.send(null); + fileData = xhr.readyState === 4 ? xhr.responseText : null; + + // Support providing a sourceMappingURL via the SourceMap header + var sourceMapHeader = xhr.getResponseHeader("SourceMap") || + xhr.getResponseHeader("X-SourceMap"); + if (sourceMapHeader) { + return sourceMapHeader; + } + } catch (e) { + } + } + + // Get the URL of the source map + fileData = retrieveFile(source); + var re = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/)[ \t]*$)/mg; + // Keep executing the search to find the *last* sourceMappingURL to avoid + // picking up sourceMappingURLs from comments, strings, etc. + var lastMatch, match; + while (match = re.exec(fileData)) lastMatch = match; + if (!lastMatch) return null; + return lastMatch[1]; +}; + +// Can be overridden by the retrieveSourceMap option to install. Takes a +// generated source filename; returns a {map, optional url} object, or null if +// there is no source map. The map field may be either a string or the parsed +// JSON object (ie, it must be a valid argument to the SourceMapConsumer +// constructor). +var retrieveSourceMap = handlerExec(retrieveMapHandlers); +retrieveMapHandlers.push(function(source) { + var sourceMappingURL = retrieveSourceMapURL(source); + if (!sourceMappingURL) return null; + + // Read the contents of the source map + var sourceMapData; + if (reSourceMap.test(sourceMappingURL)) { + // Support source map URL as a data url + var rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(',') + 1); + sourceMapData = bufferFrom(rawData, "base64").toString(); + sourceMappingURL = source; + } else { + // Support source map URLs relative to the source URL + sourceMappingURL = supportRelativeURL(source, sourceMappingURL); + sourceMapData = retrieveFile(sourceMappingURL); + } + + if (!sourceMapData) { + return null; + } + + return { + url: sourceMappingURL, + map: sourceMapData + }; +}); + +function mapSourcePosition(position) { + var sourceMap = sourceMapCache[position.source]; + if (!sourceMap) { + // Call the (overrideable) retrieveSourceMap function to get the source map. + var urlAndMap = retrieveSourceMap(position.source); + if (urlAndMap) { + sourceMap = sourceMapCache[position.source] = { + url: urlAndMap.url, + map: new SourceMapConsumer(urlAndMap.map) + }; + + // Load all sources stored inline with the source map into the file cache + // to pretend like they are already loaded. They may not exist on disk. + if (sourceMap.map.sourcesContent) { + sourceMap.map.sources.forEach(function(source, i) { + var contents = sourceMap.map.sourcesContent[i]; + if (contents) { + var url = supportRelativeURL(sourceMap.url, source); + fileContentsCache[url] = contents; + } + }); + } + } else { + sourceMap = sourceMapCache[position.source] = { + url: null, + map: null + }; + } + } + + // Resolve the source URL relative to the URL of the source map + if (sourceMap && sourceMap.map) { + var originalPosition = sourceMap.map.originalPositionFor(position); + + // Only return the original position if a matching line was found. If no + // matching line is found then we return position instead, which will cause + // the stack trace to print the path and line for the compiled file. It is + // better to give a precise location in the compiled file than a vague + // location in the original file. + if (originalPosition.source !== null) { + originalPosition.source = supportRelativeURL( + sourceMap.url, originalPosition.source); + return originalPosition; + } + } + + return position; +} + +// Parses code generated by FormatEvalOrigin(), a function inside V8: +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js +function mapEvalOrigin(origin) { + // Most eval() calls are in this format + var match = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin); + if (match) { + var position = mapSourcePosition({ + source: match[2], + line: +match[3], + column: match[4] - 1 + }); + return 'eval at ' + match[1] + ' (' + position.source + ':' + + position.line + ':' + (position.column + 1) + ')'; + } + + // Parse nested eval() calls using recursion + match = /^eval at ([^(]+) \((.+)\)$/.exec(origin); + if (match) { + return 'eval at ' + match[1] + ' (' + mapEvalOrigin(match[2]) + ')'; + } + + // Make sure we still return useful information if we didn't find anything + return origin; +} + +// This is copied almost verbatim from the V8 source code at +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js. The +// implementation of wrapCallSite() used to just forward to the actual source +// code of CallSite.prototype.toString but unfortunately a new release of V8 +// did something to the prototype chain and broke the shim. The only fix I +// could find was copy/paste. +function CallSiteToString() { + var fileName; + var fileLocation = ""; + if (this.isNative()) { + fileLocation = "native"; + } else { + fileName = this.getScriptNameOrSourceURL(); + if (!fileName && this.isEval()) { + fileLocation = this.getEvalOrigin(); + fileLocation += ", "; // Expecting source position to follow. + } + + if (fileName) { + fileLocation += fileName; + } else { + // Source code does not originate from a file and is not native, but we + // can still get the source position inside the source string, e.g. in + // an eval string. + fileLocation += ""; + } + var lineNumber = this.getLineNumber(); + if (lineNumber != null) { + fileLocation += ":" + lineNumber; + var columnNumber = this.getColumnNumber(); + if (columnNumber) { + fileLocation += ":" + columnNumber; + } + } + } + + var line = ""; + var functionName = this.getFunctionName(); + var addSuffix = true; + var isConstructor = this.isConstructor(); + var isMethodCall = !(this.isToplevel() || isConstructor); + if (isMethodCall) { + var typeName = this.getTypeName(); + // Fixes shim to be backward compatable with Node v0 to v4 + if (typeName === "[object Object]") { + typeName = "null"; + } + var methodName = this.getMethodName(); + if (functionName) { + if (typeName && functionName.indexOf(typeName) != 0) { + line += typeName + "."; + } + line += functionName; + if (methodName && functionName.indexOf("." + methodName) != functionName.length - methodName.length - 1) { + line += " [as " + methodName + "]"; + } + } else { + line += typeName + "." + (methodName || ""); + } + } else if (isConstructor) { + line += "new " + (functionName || ""); + } else if (functionName) { + line += functionName; + } else { + line += fileLocation; + addSuffix = false; + } + if (addSuffix) { + line += " (" + fileLocation + ")"; + } + return line; +} + +function cloneCallSite(frame) { + var object = {}; + Object.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach(function(name) { + object[name] = /^(?:is|get)/.test(name) ? function() { return frame[name].call(frame); } : frame[name]; + }); + object.toString = CallSiteToString; + return object; +} + +function wrapCallSite(frame) { + if(frame.isNative()) { + return frame; + } + + // Most call sites will return the source file from getFileName(), but code + // passed to eval() ending in "//# sourceURL=..." will return the source file + // from getScriptNameOrSourceURL() instead + var source = frame.getFileName() || frame.getScriptNameOrSourceURL(); + if (source) { + var line = frame.getLineNumber(); + var column = frame.getColumnNumber() - 1; + + // Fix position in Node where some (internal) code is prepended. + // See https://github.com/evanw/node-source-map-support/issues/36 + var headerLength = 62; + if (line === 1 && column > headerLength && !isInBrowser() && !frame.isEval()) { + column -= headerLength; + } + + var position = mapSourcePosition({ + source: source, + line: line, + column: column + }); + frame = cloneCallSite(frame); + var originalFunctionName = frame.getFunctionName; + frame.getFunctionName = function() { return position.name || originalFunctionName(); }; + frame.getFileName = function() { return position.source; }; + frame.getLineNumber = function() { return position.line; }; + frame.getColumnNumber = function() { return position.column + 1; }; + frame.getScriptNameOrSourceURL = function() { return position.source; }; + return frame; + } + + // Code called using eval() needs special handling + var origin = frame.isEval() && frame.getEvalOrigin(); + if (origin) { + origin = mapEvalOrigin(origin); + frame = cloneCallSite(frame); + frame.getEvalOrigin = function() { return origin; }; + return frame; + } + + // If we get here then we were unable to change the source position + return frame; +} + +// This function is part of the V8 stack trace API, for more info see: +// http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi +function prepareStackTrace(error, stack) { + if (emptyCacheBetweenOperations) { + fileContentsCache = {}; + sourceMapCache = {}; + } + + return error + stack.map(function(frame) { + return '\n at ' + wrapCallSite(frame); + }).join(''); +} + +// Generate position and snippet of original source with pointer +function getErrorSource(error) { + var match = /\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(error.stack); + if (match) { + var source = match[1]; + var line = +match[2]; + var column = +match[3]; + + // Support the inline sourceContents inside the source map + var contents = fileContentsCache[source]; + + // Support files on disk + if (!contents && fs && fs.existsSync(source)) { + try { + contents = fs.readFileSync(source, 'utf8'); + } catch (er) { + contents = ''; + } + } + + // Format the line from the original source code like node does + if (contents) { + var code = contents.split(/(?:\r\n|\r|\n)/)[line - 1]; + if (code) { + return source + ':' + line + '\n' + code + '\n' + + new Array(column).join(' ') + '^'; + } + } + } + return null; +} + +function printErrorAndExit (error) { + var source = getErrorSource(error); + + // Ensure error is printed synchronously and not truncated + if (process.stderr._handle && process.stderr._handle.setBlocking) { + process.stderr._handle.setBlocking(true); + } + + if (source) { + console.error(); + console.error(source); + } + + console.error(error.stack); + process.exit(1); +} + +function shimEmitUncaughtException () { + var origEmit = process.emit; + + process.emit = function (type) { + if (type === 'uncaughtException') { + var hasStack = (arguments[1] && arguments[1].stack); + var hasListeners = (this.listeners(type).length > 0); + + if (hasStack && !hasListeners) { + return printErrorAndExit(arguments[1]); + } + } + + return origEmit.apply(this, arguments); + }; +} + +var originalRetrieveFileHandlers = retrieveFileHandlers.slice(0); +var originalRetrieveMapHandlers = retrieveMapHandlers.slice(0); + +exports.wrapCallSite = wrapCallSite; +exports.getErrorSource = getErrorSource; +exports.mapSourcePosition = mapSourcePosition; +exports.retrieveSourceMap = retrieveSourceMap; + +exports.install = function(options) { + options = options || {}; + + if (options.environment) { + environment = options.environment; + if (["node", "browser", "auto"].indexOf(environment) === -1) { + throw new Error("environment " + environment + " was unknown. Available options are {auto, browser, node}") + } + } + + // Allow sources to be found by methods other than reading the files + // directly from disk. + if (options.retrieveFile) { + if (options.overrideRetrieveFile) { + retrieveFileHandlers.length = 0; + } + + retrieveFileHandlers.unshift(options.retrieveFile); + } + + // Allow source maps to be found by methods other than reading the files + // directly from disk. + if (options.retrieveSourceMap) { + if (options.overrideRetrieveSourceMap) { + retrieveMapHandlers.length = 0; + } + + retrieveMapHandlers.unshift(options.retrieveSourceMap); + } + + // Support runtime transpilers that include inline source maps + if (options.hookRequire && !isInBrowser()) { + var Module; + try { + Module = __webpack_require__(282); + } catch (err) { + // NOP: Loading in catch block to convert webpack error to warning. + } + var $compile = Module.prototype._compile; + + if (!$compile.__sourceMapSupport) { + Module.prototype._compile = function(content, filename) { + fileContentsCache[filename] = content; + sourceMapCache[filename] = undefined; + return $compile.call(this, content, filename); + }; + + Module.prototype._compile.__sourceMapSupport = true; + } + } + + // Configure options + if (!emptyCacheBetweenOperations) { + emptyCacheBetweenOperations = 'emptyCacheBetweenOperations' in options ? + options.emptyCacheBetweenOperations : false; + } + + // Install the error reformatter + if (!errorFormatterInstalled) { + errorFormatterInstalled = true; + Error.prepareStackTrace = prepareStackTrace; + } + + if (!uncaughtShimInstalled) { + var installHandler = 'handleUncaughtExceptions' in options ? + options.handleUncaughtExceptions : true; + + // Provide the option to not install the uncaught exception handler. This is + // to support other uncaught exception handlers (in test frameworks, for + // example). If this handler is not installed and there are no other uncaught + // exception handlers, uncaught exceptions will be caught by node's built-in + // exception handler and the process will still be terminated. However, the + // generated JavaScript code will be shown above the stack trace instead of + // the original source code. + if (installHandler && hasGlobalProcessEventEmitter()) { + uncaughtShimInstalled = true; + shimEmitUncaughtException(); + } + } +}; + +exports.resetRetrieveHandlers = function() { + retrieveFileHandlers.length = 0; + retrieveMapHandlers.length = 0; + + retrieveFileHandlers = originalRetrieveFileHandlers.slice(0); + retrieveMapHandlers = originalRetrieveMapHandlers.slice(0); +} + + +/***/ }), + +/***/ 837: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(983); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.I = ArraySet; + + +/***/ }), + +/***/ 215: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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 + * OWNER 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. + */ + +var base64 = __webpack_require__(537); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + + +/***/ }), + +/***/ 537: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + + +/***/ }), + +/***/ 164: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + + +/***/ }), + +/***/ 740: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(983); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.H = MappingList; + + +/***/ }), + +/***/ 226: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.U = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + + +/***/ }), + +/***/ 327: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(983); +var binarySearch = __webpack_require__(164); +var ArraySet = __webpack_require__(837)/* .ArraySet */ .I; +var base64VLQ = __webpack_require__(215); +var quickSort = __webpack_require__(226)/* .quickSort */ .U; + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +__webpack_unused_export__ = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +__webpack_unused_export__ = IndexedSourceMapConsumer; + + +/***/ }), + +/***/ 341: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = __webpack_require__(215); +var util = __webpack_require__(983); +var ArraySet = __webpack_require__(837)/* .ArraySet */ .I; +var MappingList = __webpack_require__(740)/* .MappingList */ .H; + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.h = SourceMapGenerator; + + +/***/ }), + +/***/ 990: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = __webpack_require__(341)/* .SourceMapGenerator */ .h; +var util = __webpack_require__(983); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +__webpack_unused_export__ = SourceNode; + + +/***/ }), + +/***/ 983: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; + + +/***/ }), + +/***/ 596: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +/* unused reexport */ __webpack_require__(341)/* .SourceMapGenerator */ .h; +exports.SourceMapConsumer = __webpack_require__(327).SourceMapConsumer; +/* unused reexport */ __webpack_require__(990); + + +/***/ }), + +/***/ 747: +/***/ ((module) => { + +"use strict"; +module.exports = require("fs"); + +/***/ }), + +/***/ 282: +/***/ ((module) => { + +"use strict"; +module.exports = require("module"); + +/***/ }), + +/***/ 622: +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete __webpack_module_cache__[moduleId]; +/******/ } +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat */ +/******/ +/******/ __webpack_require__.ab = __dirname + "/";/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __webpack_require__(645); +/******/ })() +; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/typescript.js b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/typescript.js new file mode 100644 index 0000000..f43082b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/ncc/typescript.js @@ -0,0 +1,14 @@ + +const { Module } = require('module'); +const m = new Module('', null); +m.paths = Module._nodeModulePaths(process.env.TYPESCRIPT_LOOKUP_PATH || (process.cwd() + '/')); +let typescript; +try { + typescript = m.require('typescript'); + console.log("ncc: Using typescript@" + typescript.version + " (local user-provided)"); +} +catch (e) { + typescript = require('./loaders/ts-loader.js').typescript; + console.log("ncc: Using typescript@" + typescript.version + " (ncc built-in)"); +} +module.exports = typescript; diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/readme.md b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/readme.md new file mode 100644 index 0000000..0c4f698 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/dist/readme.md @@ -0,0 +1,9 @@ +# About this directory + +This directory will contain: +- `buildin`: the webpack `buildin/` folder, required at runtime +- `ncc`: the output from the ncc build + +They are generated by the `build` script defined in `../package.json`. + +This directory is the only one published to npm. diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/package.json b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/package.json new file mode 100644 index 0000000..ab0b66d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/package.json @@ -0,0 +1,112 @@ +{ + "name": "@vercel/ncc", + "description": "Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.", + "version": "0.24.1", + "repository": "vercel/ncc", + "license": "MIT", + "main": "./dist/ncc/index.js", + "bin": { + "ncc": "./dist/ncc/cli.js" + }, + "scripts": { + "build": "node scripts/build", + "build-test-binary": "cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node", + "codecov": "codecov", + "test": "node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest", + "test-coverage": "node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest --coverage --globals \"{\\\"coverage\\\":true}\" && codecov", + "prepublish": "yarn build" + }, + "devDependencies": { + "@azure/cosmos": "^2.0.5", + "@bugsnag/js": "^5.0.1", + "@ffmpeg-installer/ffmpeg": "^1.0.17", + "@google-cloud/bigquery": "^2.0.1", + "@google-cloud/firestore": "^2.2.0", + "@sentry/node": "^4.3.0", + "@tensorflow/tfjs-node": "^0.3.0", + "@zeit/webpack-asset-relocator-loader": "0.8.0", + "analytics-node": "^3.3.0", + "apollo-server-express": "^2.2.2", + "arg": "^4.1.0", + "auth0": "^2.14.0", + "aws-sdk": "^2.356.0", + "axios": "^0.18.1", + "azure-storage": "^2.10.2", + "browserify-middleware": "^8.1.1", + "bytes": "^3.0.0", + "canvas": "^2.2.0", + "chromeless": "^1.5.2", + "codecov": "^3.6.5", + "consolidate": "^0.15.1", + "copy": "^0.3.2", + "core-js": "^2.5.7", + "cowsay": "^1.3.1", + "esm": "^3.2.22", + "express": "^4.16.4", + "fetch-h2": "^1.0.2", + "firebase": "^6.1.1", + "firebase-admin": "^6.3.0", + "fluent-ffmpeg": "^2.1.2", + "fontkit": "^1.7.7", + "get-folder-size": "^2.0.0", + "glob": "^7.1.3", + "got": "^9.3.2", + "graceful-fs": "^4.1.15", + "graphql": "^14.0.2", + "highlights": "^3.1.1", + "hot-shots": "^5.9.2", + "in-publish": "^2.0.0", + "ioredis": "^4.2.0", + "isomorphic-unfetch": "^3.0.0", + "jest": "^26.3.0", + "jimp": "^0.5.6", + "jugglingdb": "2.0.1", + "koa": "^2.6.2", + "leveldown": "^5.6.0", + "license-webpack-plugin": "^2.3.0", + "lighthouse": "^5.0.0", + "loopback": "^3.24.0", + "mailgun": "^0.5.0", + "mariadb": "^2.0.1-beta", + "memcached": "^2.2.2", + "mkdirp": "^0.5.1", + "mongoose": "^5.3.12", + "mysql": "^2.16.0", + "node-gyp": "^3.8.0", + "npm": "^6.13.4", + "oracledb": "^4.2.0", + "passport": "^0.4.0", + "passport-google-oauth": "^1.0.0", + "path-platform": "^0.11.15", + "pdf2json": "^1.1.8", + "pdfkit": "^0.8.3", + "pg": "^7.6.1", + "pug": "^2.0.3", + "react": "^16.6.3", + "react-dom": "^16.6.3", + "redis": "^2.8.0", + "request": "^2.88.0", + "rxjs": "^6.3.3", + "saslprep": "^1.0.2", + "sequelize": "^5.8.6", + "sharp": "^0.25.2", + "shebang-loader": "^0.0.1", + "socket.io": "^2.2.0", + "source-map-support": "^0.5.9", + "stripe": "^6.15.0", + "swig": "^1.4.2", + "terser": "^3.11.0", + "the-answer": "^1.0.0", + "tiny-json-http": "^7.0.2", + "ts-loader": "^5.3.1", + "tsconfig-paths": "^3.7.0", + "tsconfig-paths-webpack-plugin": "^3.2.0", + "twilio": "^3.23.2", + "typescript": "^3.2.2", + "vm2": "^3.6.6", + "vue": "^2.5.17", + "vue-server-renderer": "^2.5.17", + "webpack": "5.0.0-beta.28", + "when": "^3.7.8" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/readme.md b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/readme.md new file mode 100644 index 0000000..ed74695 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/@vercel/ncc/readme.md @@ -0,0 +1,143 @@ +# ncc + +[![CI Status](https://github.com/vercel/ncc/workflows/CI/badge.svg)](https://github.com/vercel/ncc/actions?workflow=CI) +[![codecov](https://codecov.io/gh/vercel/ncc/branch/master/graph/badge.svg)](https://codecov.io/gh/vercel/ncc) + +Simple CLI for compiling a Node.js module into a single file, +together with all its dependencies, gcc-style. + +## Motivation + +- Publish minimal packages to npm +- Only ship relevant app code to serverless environments +- Don't waste time configuring bundlers +- Generally faster bootup time and less I/O overhead +- Compiled language-like experience (e.g.: `go`) + +## Design goals + +- Zero configuration +- TypeScript built-in +- Only supports Node.js programs as input / output +- Support all Node.js patterns and npm modules + +## Usage + +### Installation +```bash +npm i -g @vercel/ncc +``` + +### Usage + +```bash +$ ncc +``` +Eg: +```bash +$ ncc build input.js -o dist +``` + +Outputs the Node.js compact build of `input.js` into `dist/index.js`. + +> Note: If the input file is using a `.cjs` extension, then so will the corresponding output file. +> This is useful for packages that want to use `.js` files as modules in native Node.js using +> a `"type": "module"` in the package.json file. + +#### Commands: +``` + build [opts] + run [opts] + cache clean|dir|size + help + version +``` + +#### Options: +``` + -o, --out [file] Output directory for build (defaults to dist) + -m, --minify Minify output + -C, --no-cache Skip build cache population + -s, --source-map Generate source map + --no-source-map-register Skip source-map-register source map support + -e, --external [mod] Skip bundling 'mod'. Can be used many times + -q, --quiet Disable build summaries / non-error outputs + -w, --watch Start a watched build + --v8-cache Emit a build using the v8 compile cache + --license [file] Adds a file containing licensing information to the output + --stats-out [file] Emit webpack stats as json to the specified output file +``` + +### Execution Testing + +For testing and debugging, a file can be built into a temporary directory and executed with full source maps support with the command: + +```bash +$ ncc run input.js +``` + +### With TypeScript + +The only requirement is to point `ncc` to `.ts` or `.tsx` files. A `tsconfig.json` +file is necessary. Most likely you want to indicate `es2015` support: + +```json +{ + "compilerOptions": { + "target": "es2015", + "moduleResolution": "node" + } +} +``` + +### Package Support + +Some packages may need some extra options for ncc support in order to better work with the static analysis. + +See [package-support.md](package-support.md) for some common packages and their usage with ncc. + +### Programmatically From Node.js + +```js +require('@vercel/ncc')('/path/to/input', { + // provide a custom cache path or disable caching + cache: "./custom/cache/path" | false, + // externals to leave as requires of the build + externals: ["externalpackage"], + // directory outside of which never to emit assets + filterAssetBase: process.cwd(), // default + minify: false, // default + sourceMap: false, // default + sourceMapBasePrefix: '../', // default treats sources as output-relative + // when outputting a sourcemap, automatically include + // source-map-support in the output file (increases output by 32kB). + sourceMapRegister: true, // default + watch: false, // default + license: '', // default does not generate a license file + v8cache: false, // default + quiet: false, // default + debugLog: false // default +}).then(({ code, map, assets }) => { + console.log(code); + // Assets is an object of asset file names to { source, permissions, symlinks } + // expected relative to the output code (if any) +}) +``` + +When `watch: true` is set, the build object is not a promise, but has the following signature: + +```js +{ + // handler re-run on each build completion + // watch errors are reported on "err" + handler (({ err, code, map, assets }) => { ... }) + // handler re-run on each rebuild start + rebuild (() => {}) + // close the watcher + void close (); +} +``` + +## Caveats + +- Files / assets are relocated based on a [static evaluator](https://github.com/zeit/webpack-asset-relocator-loader#how-it-works). Dynamic non-statically analyzable asset loads may not work out correctly diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/LICENSE new file mode 100644 index 0000000..225063c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/LICENSE @@ -0,0 +1,201 @@ + 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 2018 Gregor Martynus and other contributors. + + 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/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/README.md b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/README.md new file mode 100644 index 0000000..07d7756 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/README.md @@ -0,0 +1,653 @@ +# before-after-hook + +> asynchronous hooks for internal functionality + +[![npm downloads](https://img.shields.io/npm/dw/before-after-hook.svg)](https://www.npmjs.com/package/before-after-hook) +[![Test](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml/badge.svg)](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml) + +## Usage + +### Singular hook + +```js +// instantiate singular hook API +const hook = new Hook.Singular(); + +// Create a hook +function getData(options) { + return hook(fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError); +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hook.before(beforeHook); +hook.error(errorHook); +hook.after(afterHook); + +getData({ id: 123 }); +``` + +### Hook collection + +```js +// instantiate hook collection API +const hookCollection = new Hook.Collection(); + +// Create a hook +function getData(options) { + return hookCollection("get", fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError); +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hookCollection.before("get", beforeHook); +hookCollection.error("get", errorHook); +hookCollection.after("get", afterHook); + +getData({ id: 123 }); +``` + +### Hook.Singular vs Hook.Collection + +There's no fundamental difference between the `Hook.Singular` and `Hook.Collection` hooks except for the fact that a hook from a collection requires you to pass along the name. Therefore the following explanation applies to both code snippets as described above. + +The methods are executed in the following order + +1. `beforeHook` +2. `fetchFromDatabase` +3. `afterHook` +4. `handleData` + +`beforeHook` can mutate `options` before it’s passed to `fetchFromDatabase`. + +If an error is thrown in `beforeHook` or `fetchFromDatabase` then `errorHook` is +called next. + +If `afterHook` throws an error then `handleGetError` is called instead +of `handleData`. + +If `errorHook` throws an error then `handleGetError` is called next, otherwise +`afterHook` and `handleData`. + +You can also use `hook.wrap` to achieve the same thing as shown above (collection example): + +```js +hookCollection.wrap("get", async (getData, options) => { + await beforeHook(options); + + try { + const result = getData(options); + } catch (error) { + await errorHook(error, options); + } + + await afterHook(result, options); +}); +``` + +## Install + +``` +npm install before-after-hook +``` + +Or download [the latest `before-after-hook.min.js`](https://github.com/gr2m/before-after-hook/releases/latest). + +## API + +- [Singular Hook Constructor](#singular-hook-api) +- [Hook Collection Constructor](#hook-collection-api) + +## Singular hook API + +- [Singular constructor](#singular-constructor) +- [hook.api](#singular-api) +- [hook()](#singular-api) +- [hook.before()](#singular-api) +- [hook.error()](#singular-api) +- [hook.after()](#singular-api) +- [hook.wrap()](#singular-api) +- [hook.remove()](#singular-api) + +### Singular constructor + +The `Hook.Singular` constructor has no options and returns a `hook` instance with the +methods below: + +```js +const hook = new Hook.Singular(); +``` + +Using the singular hook is recommended for [TypeScript](#typescript) + +### Singular API + +The singular hook is a reference to a single hook. This means that there's no need to pass along any identifier (such as a `name` as can be seen in the [Hook.Collection API](#hookcollectionapi)). + +The API of a singular hook is exactly the same as a collection hook and we therefore suggest you read the [Hook.Collection API](#hookcollectionapi) and leave out any use of the `name` argument. Just skip it like described in this example: + +```js +const hook = new Hook.Singular(); + +// good +hook.before(beforeHook); +hook.after(afterHook); +hook(fetchFromDatabase, options); + +// bad +hook.before("get", beforeHook); +hook.after("get", afterHook); +hook("get", fetchFromDatabase, options); +``` + +## Hook collection API + +- [Collection constructor](#collection-constructor) +- [hookCollection.api](#hookcollectionapi) +- [hookCollection()](#hookcollection) +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +### Collection constructor + +The `Hook.Collection` constructor has no options and returns a `hookCollection` instance with the +methods below + +```js +const hookCollection = new Hook.Collection(); +``` + +### hookCollection.api + +Use the `api` property to return the public API: + +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +That way you don’t need to expose the [hookCollection()](#hookcollection) method to consumers of your library + +### hookCollection() + +Invoke before and after hooks. Returns a promise. + +```js +hookCollection(nameOrNames, method /*, options */); +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameString or Array of StringsHook name, for example 'save'. Or an array of names, see example below.Yes
methodFunctionCallback to be executed after all before hooks finished execution successfully. options is passed as first argumentYes
optionsObjectWill be passed to all before hooks as reference, so they can mutate itNo, defaults to empty object ({})
+ +Resolves with whatever `method` returns or resolves with. +Rejects with error that is thrown or rejected with by + +1. Any of the before hooks, whichever rejects / throws first +2. `method` +3. Any of the after hooks, whichever rejects / throws first + +Simple Example + +```js +hookCollection( + "save", + function (record) { + return store.save(record); + }, + record +); +// shorter: hookCollection('save', store.save, record) + +hookCollection.before("save", function addTimestamps(record) { + const now = new Date().toISOString(); + if (record.createdAt) { + record.updatedAt = now; + } else { + record.createdAt = now; + } +}); +``` + +Example defining multiple hooks at once. + +```js +hookCollection( + ["add", "save"], + function (record) { + return store.save(record); + }, + record +); + +hookCollection.before("add", function addTimestamps(record) { + if (!record.type) { + throw new Error("type property is required"); + } +}); + +hookCollection.before("save", function addTimestamps(record) { + if (!record.type) { + throw new Error("type property is required"); + } +}); +``` + +Defining multiple hooks is helpful if you have similar methods for which you want to define separate hooks, but also an additional hook that gets called for all at once. The example above is equal to this: + +```js +hookCollection( + "add", + function (record) { + return hookCollection( + "save", + function (record) { + return store.save(record); + }, + record + ); + }, + record +); +``` + +### hookCollection.before() + +Add before hook for given name. + +```js +hookCollection.before(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed before the wrapped method. Called with the hook’s + options argument. Before hooks can mutate the passed options + before they are passed to the wrapped method. + Yes
+ +Example + +```js +hookCollection.before("save", function validate(record) { + if (!record.name) { + throw new Error("name property is required"); + } +}); +``` + +### hookCollection.error() + +Add error hook for given name. + +```js +hookCollection.error(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed when an error occurred in either the wrapped method or a + before hook. Called with the thrown error + and the hook’s options argument. The first method + which does not throw an error will set the result that the after hook + methods will receive. + Yes
+ +Example + +```js +hookCollection.error("save", function (error, options) { + if (error.ignore) return; + throw error; +}); +``` + +### hookCollection.after() + +Add after hook for given name. + +```js +hookCollection.after(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed after wrapped method. Called with what the wrapped method + resolves with the hook’s options argument. + Yes
+ +Example + +```js +hookCollection.after("save", function (result, options) { + if (result.updatedAt) { + app.emit("update", result); + } else { + app.emit("create", result); + } +}); +``` + +### hookCollection.wrap() + +Add wrap hook for given name. + +```js +hookCollection.wrap(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Receives both the wrapped method and the passed options as arguments so it can add logic before and after the wrapped method, it can handle errors and even replace the wrapped method altogether + Yes
+ +Example + +```js +hookCollection.wrap("save", async function (saveInDatabase, options) { + if (!record.name) { + throw new Error("name property is required"); + } + + try { + const result = await saveInDatabase(options); + + if (result.updatedAt) { + app.emit("update", result); + } else { + app.emit("create", result); + } + + return result; + } catch (error) { + if (error.ignore) return; + throw error; + } +}); +``` + +See also: [Test mock example](examples/test-mock-example.md) + +### hookCollection.remove() + +Removes hook for given name. + +```js +hookCollection.remove(name, hookMethod); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
beforeHookMethodFunction + Same function that was previously passed to hookCollection.before(), hookCollection.error(), hookCollection.after() or hookCollection.wrap() + Yes
+ +Example + +```js +hookCollection.remove("save", validateRecord); +``` + +## TypeScript + +This library contains type definitions for TypeScript. + +### Type support for `Singular`: + +```ts +import { Hook } from "before-after-hook"; + +type TOptions = { foo: string }; // type for options +type TResult = { bar: number }; // type for result +type TError = Error; // type for error + +const hook = new Hook.Singular(); + +hook.before((options) => { + // `options.foo` has `string` type + + // not allowed + options.foo = 42; + + // allowed + options.foo = "Forty-Two"; +}); + +const hookedMethod = hook( + (options) => { + // `options.foo` has `string` type + + // not allowed, because it does not satisfy the `R` type + return { foo: 42 }; + + // allowed + return { bar: 42 }; + }, + { foo: "Forty-Two" } +); +``` + +You can choose not to pass the types for options, result or error. So, these are completely valid: + +```ts +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +``` + +In these cases, the omitted types will implicitly be `any`. + +### Type support for `Collection`: + +`Collection` also has strict type support. You can use it like this: + +```ts +import { Hook } from "before-after-hook"; + +type HooksType = { + add: { + Options: { type: string }; + Result: { id: number }; + Error: Error; + }; + save: { + Options: { type: string }; + Result: { id: number }; + }; + read: { + Options: { id: number; foo: number }; + }; + destroy: { + Options: { id: number; foo: string }; + }; +}; + +const hooks = new Hook.Collection(); + +hooks.before("destroy", (options) => { + // `options.id` has `number` type +}); + +hooks.error("add", (err, options) => { + // `options.type` has `string` type + // `err` is `instanceof Error` +}); + +hooks.error("save", (err, options) => { + // `options.type` has `string` type + // `err` has type `any` +}); + +hooks.after("save", (result, options) => { + // `options.type` has `string` type + // `result.id` has `number` type +}); +``` + +You can choose not to pass the types altogether. In that case, everything will implicitly be `any`: + +```ts +const hook = new Hook.Collection(); +``` + +Alternative imports: + +```ts +import { Singular, Collection } from "before-after-hook"; + +const hook = new Singular(); +const hooks = new Collection(); +``` + +## Upgrading to 1.4 + +Since version 1.4 the `Hook` constructor has been deprecated in favor of returning `Hook.Singular` in an upcoming breaking release. + +Version 1.4 is still 100% backwards-compatible, but if you want to continue using hook collections, we recommend using the `Hook.Collection` constructor instead before the next release. + +For even more details, check out [the PR](https://github.com/gr2m/before-after-hook/pull/52). + +## See also + +If `before-after-hook` is not for you, have a look at one of these alternatives: + +- https://github.com/keystonejs/grappling-hook +- https://github.com/sebelga/promised-hooks +- https://github.com/bnoguchi/hooks-js +- https://github.com/cb1kenobi/hook-emitter + +## License + +[Apache 2.0](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/index.d.ts new file mode 100644 index 0000000..817bf93 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/index.d.ts @@ -0,0 +1,186 @@ +type HookMethod = ( + options: Options +) => Result | Promise; + +type BeforeHook = (options: Options) => void | Promise; +type ErrorHook = ( + error: Error, + options: Options +) => unknown | Promise; +type AfterHook = ( + result: Result, + options: Options +) => void | Promise; +type WrapHook = ( + hookMethod: HookMethod, + options: Options +) => Result | Promise; + +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook; + +type TypeStoreKeyLong = "Options" | "Result" | "Error"; +type TypeStoreKeyShort = "O" | "R" | "E"; +type TypeStore = + | ({ [key in TypeStoreKeyLong]?: any } & + { [key in TypeStoreKeyShort]?: never }) + | ({ [key in TypeStoreKeyLong]?: never } & + { [key in TypeStoreKeyShort]?: any }); +type GetType< + Store extends TypeStore, + LongKey extends TypeStoreKeyLong, + ShortKey extends TypeStoreKeyShort +> = LongKey extends keyof Store + ? Store[LongKey] + : ShortKey extends keyof Store + ? Store[ShortKey] + : any; + +export interface HookCollection< + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + >, + HookName extends keyof HooksType = keyof HooksType +> { + /** + * Invoke before and after hooks + */ + ( + name: Name | Name[], + hookMethod: HookMethod< + GetType, + GetType + >, + options?: GetType + ): Promise>; + /** + * Add `before` hook for given `name` + */ + before( + name: Name, + beforeHook: BeforeHook> + ): void; + /** + * Add `error` hook for given `name` + */ + error( + name: Name, + errorHook: ErrorHook< + GetType, + GetType + > + ): void; + /** + * Add `after` hook for given `name` + */ + after( + name: Name, + afterHook: AfterHook< + GetType, + GetType + > + ): void; + /** + * Add `wrap` hook for given `name` + */ + wrap( + name: Name, + wrapHook: WrapHook< + GetType, + GetType + > + ): void; + /** + * Remove added hook for given `name` + */ + remove( + name: Name, + hook: AnyHook< + GetType, + GetType, + GetType + > + ): void; + /** + * Public API + */ + api: Pick< + HookCollection, + "before" | "error" | "after" | "wrap" | "remove" + >; +} + +export interface HookSingular { + /** + * Invoke before and after hooks + */ + (hookMethod: HookMethod, options?: Options): Promise; + /** + * Add `before` hook + */ + before(beforeHook: BeforeHook): void; + /** + * Add `error` hook + */ + error(errorHook: ErrorHook): void; + /** + * Add `after` hook + */ + after(afterHook: AfterHook): void; + /** + * Add `wrap` hook + */ + wrap(wrapHook: WrapHook): void; + /** + * Remove added hook + */ + remove(hook: AnyHook): void; + /** + * Public API + */ + api: Pick< + HookSingular, + "before" | "error" | "after" | "wrap" | "remove" + >; +} + +type Collection = new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > +>() => HookCollection; +type Singular = new < + Options = any, + Result = any, + Error = any +>() => HookSingular; + +interface Hook { + new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > + >(): HookCollection; + + /** + * Creates a collection of hooks + */ + Collection: Collection; + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular; +} + +export const Hook: Hook; +export const Collection: Collection; +export const Singular: Singular; + +export default Hook; diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/index.js b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/index.js new file mode 100644 index 0000000..6b60d3c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/index.js @@ -0,0 +1,61 @@ +var register = require("./lib/register"); +var addHook = require("./lib/add"); +var removeHook = require("./lib/remove"); + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind; +var bindable = bind.bind(bind); + +function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); +} + +function HookSingular() { + var singularHookName = "h"; + var singularHookState = { + registry: {}, + }; + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; +} + +function HookCollection() { + var state = { + registry: {}, + }; + + var hook = register.bind(null, state); + bindApi(hook, state); + + return hook; +} + +var collectionHookDeprecationMessageDisplayed = false; +function Hook() { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; + } + return HookCollection(); +} + +Hook.Singular = HookSingular.bind(); +Hook.Collection = HookCollection.bind(); + +module.exports = Hook; +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook; +module.exports.Singular = Hook.Singular; +module.exports.Collection = Hook.Collection; diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/add.js b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/add.js new file mode 100644 index 0000000..f379eab --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/add.js @@ -0,0 +1,46 @@ +module.exports = addHook; + +function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = function (method, options) { + var result; + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_; + return orig(result, options); + }) + .then(function () { + return result; + }); + }; + } + + if (kind === "error") { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/register.js b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/register.js new file mode 100644 index 0000000..f0d3d4e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/register.js @@ -0,0 +1,27 @@ +module.exports = register; + +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + + if (!options) { + options = {}; + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/remove.js b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/remove.js new file mode 100644 index 0000000..590b963 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/remove.js @@ -0,0 +1,19 @@ +module.exports = removeHook; + +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/package.json b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/package.json new file mode 100644 index 0000000..533a3eb --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/package.json @@ -0,0 +1,71 @@ +{ + "name": "before-after-hook", + "version": "2.2.3", + "description": "asynchronous before/error/after hooks for internal functionality", + "main": "index.js", + "files": [ + "index.js", + "index.d.ts", + "lib" + ], + "types": "./index.d.ts", + "scripts": { + "prebuild": "rimraf dist && mkdirp dist", + "build": "browserify index.js --standalone=Hook > dist/before-after-hook.js", + "postbuild": "uglifyjs dist/before-after-hook.js -mc > dist/before-after-hook.min.js", + "lint": "prettier --check '{lib,test,examples}/**/*' 'index.*' README.md package.json", + "lint:fix": "prettier --write '{lib,test,examples}/**/*' 'index.*' README.md package.json", + "pretest": "npm run -s lint", + "test": "npm run -s test:node | tap-spec", + "posttest": "npm run validate:ts", + "test:node": "node test", + "test:watch": "gaze 'clear && node test | tap-min' 'test/**/*.js' 'index.js' 'lib/**/*.js'", + "test:coverage": "istanbul cover test", + "test:coverage:upload": "istanbul-coveralls", + "validate:ts": "tsc --strict --target es6 index.d.ts", + "postvalidate:ts": "tsc --noEmit --strict --target es6 test/typescript-validate.ts", + "presemantic-release": "npm run build", + "semantic-release": "semantic-release" + }, + "repository": "github:gr2m/before-after-hook", + "keywords": [ + "hook", + "hooks", + "api" + ], + "author": "Gregor Martynus", + "license": "Apache-2.0", + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "gaze-cli": "^0.2.0", + "istanbul": "^0.4.0", + "istanbul-coveralls": "^1.0.3", + "mkdirp": "^1.0.3", + "prettier": "^2.0.0", + "rimraf": "^3.0.0", + "semantic-release": "^19.0.3", + "simple-mock": "^0.8.0", + "tap-min": "^2.0.0", + "tap-spec": "^5.0.0", + "tape": "^5.0.0", + "typescript": "^3.5.3", + "uglify-js": "^3.9.0" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] + }, + "renovate": { + "extends": [ + "github>gr2m/.github" + ] + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/deprecation/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/deprecation/LICENSE new file mode 100644 index 0000000..1683b58 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Gregor Martynus 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/pkg/runner/testdata/actions/node20/node_modules/deprecation/README.md b/pkg/runner/testdata/actions/node20/node_modules/deprecation/README.md new file mode 100644 index 0000000..648809d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/README.md @@ -0,0 +1,77 @@ +# deprecation + +> Log a deprecation message with stack + +![build](https://action-badges.now.sh/gr2m/deprecation) + +## Usage + + + + + + +
+Browsers + + +Load `deprecation` directly from [cdn.pika.dev](https://cdn.pika.dev) + +```html + +``` + +
+Node + + +Install with `npm install deprecation` + +```js +const { Deprecation } = require("deprecation"); +// or: import { Deprecation } from "deprecation"; +``` + +
+ +```js +function foo() { + bar(); +} + +function bar() { + baz(); +} + +function baz() { + console.warn(new Deprecation("[my-lib] foo() is deprecated, use bar()")); +} + +foo(); +// { Deprecation: [my-lib] foo() is deprecated, use bar() +// at baz (/path/to/file.js:12:15) +// at bar (/path/to/file.js:8:3) +// at foo (/path/to/file.js:4:3) +``` + +To log a deprecation message only once, you can use the [once](https://www.npmjs.com/package/once) module. + +```js +const Deprecation = require("deprecation"); +const once = require("once"); + +const deprecateFoo = once(console.warn); + +function foo() { + deprecateFoo(new Deprecation("[my-lib] foo() is deprecated, use bar()")); +} + +foo(); +foo(); // logs nothing +``` + +## License + +[ISC](LICENSE) diff --git a/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-node/index.js new file mode 100644 index 0000000..9da1775 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-node/index.js @@ -0,0 +1,20 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; diff --git a/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-src/index.js new file mode 100644 index 0000000..7950fdc --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-src/index.js @@ -0,0 +1,14 @@ +export class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-types/index.d.ts new file mode 100644 index 0000000..e3ae7ad --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-types/index.d.ts @@ -0,0 +1,3 @@ +export class Deprecation extends Error { + name: "Deprecation"; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-web/index.js new file mode 100644 index 0000000..c6bbda7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/dist-web/index.js @@ -0,0 +1,16 @@ +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +export { Deprecation }; diff --git a/pkg/runner/testdata/actions/node20/node_modules/deprecation/package.json b/pkg/runner/testdata/actions/node20/node_modules/deprecation/package.json new file mode 100644 index 0000000..a45fd51 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/deprecation/package.json @@ -0,0 +1,34 @@ +{ + "name": "deprecation", + "description": "Log a deprecation message with stack", + "version": "2.3.1", + "license": "ISC", + "files": [ + "dist-*/", + "bin/" + ], + "esnext": "dist-src/index.js", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "pika": true, + "sideEffects": false, + "keywords": [ + "deprecate", + "deprecated", + "deprecation" + ], + "repository": { + "type": "git", + "url": "https://github.com/gr2m/deprecation.git" + }, + "dependencies": {}, + "devDependencies": { + "@pika/pack": "^0.3.7", + "@pika/plugin-build-node": "^0.4.0", + "@pika/plugin-build-types": "^0.4.0", + "@pika/plugin-build-web": "^0.4.0", + "@pika/plugin-standard-pkg": "^0.4.0", + "semantic-release": "^15.13.3" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/LICENSE new file mode 100644 index 0000000..3f2eca1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +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/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/README.md b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/README.md new file mode 100644 index 0000000..5c074ab --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/README.md @@ -0,0 +1,125 @@ +# is-plain-object [![NPM version](https://img.shields.io/npm/v/is-plain-object.svg?style=flat)](https://www.npmjs.com/package/is-plain-object) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![NPM total downloads](https://img.shields.io/npm/dt/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-plain-object.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-plain-object) + +> Returns true if an object was created by the `Object` constructor, or Object.create(null). + +Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save is-plain-object +``` + +Use [isobject](https://github.com/jonschlinkert/isobject) if you only want to check if the value is an object and not an array or null. + +## Usage + +with es modules +```js +import { isPlainObject } from 'is-plain-object'; +``` + +or with commonjs +```js +const { isPlainObject } = require('is-plain-object'); +``` + +**true** when created by the `Object` constructor, or Object.create(null). + +```js +isPlainObject(Object.create({})); +//=> true +isPlainObject(Object.create(Object.prototype)); +//=> true +isPlainObject({foo: 'bar'}); +//=> true +isPlainObject({}); +//=> true +isPlainObject(null); +//=> true +``` + +**false** when not created by the `Object` constructor. + +```js +isPlainObject(1); +//=> false +isPlainObject(['foo', 'bar']); +//=> false +isPlainObject([]); +//=> false +isPlainObject(new Foo); +//=> false +isPlainObject(Object.create(null)); +//=> false +``` + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [is-number](https://www.npmjs.com/package/is-number): Returns true if a number or string value is a finite number. Useful for regex… [more](https://github.com/jonschlinkert/is-number) | [homepage](https://github.com/jonschlinkert/is-number "Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.") +* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") +* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 19 | [jonschlinkert](https://github.com/jonschlinkert) | +| 6 | [TrySound](https://github.com/TrySound) | +| 6 | [stevenvachon](https://github.com/stevenvachon) | +| 3 | [onokumus](https://github.com/onokumus) | +| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | + +### Author + +**Jon Schlinkert** + +* [GitHub Profile](https://github.com/jonschlinkert) +* [Twitter Profile](https://twitter.com/jonschlinkert) +* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) + +### License + +Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._ diff --git a/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/dist/is-plain-object.js b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/dist/is-plain-object.js new file mode 100644 index 0000000..d134e4f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/dist/is-plain-object.js @@ -0,0 +1,38 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(o) { + return Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (ctor === undefined) return true; + + // If has modified prototype + prot = ctor.prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +exports.isPlainObject = isPlainObject; diff --git a/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/dist/is-plain-object.mjs b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/dist/is-plain-object.mjs new file mode 100644 index 0000000..c2d9f35 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/dist/is-plain-object.mjs @@ -0,0 +1,34 @@ +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(o) { + return Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (ctor === undefined) return true; + + // If has modified prototype + prot = ctor.prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +export { isPlainObject }; diff --git a/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/is-plain-object.d.ts b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/is-plain-object.d.ts new file mode 100644 index 0000000..a359940 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/is-plain-object.d.ts @@ -0,0 +1 @@ +export function isPlainObject(o: any): boolean; diff --git a/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/package.json b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/package.json new file mode 100644 index 0000000..3ea169a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/is-plain-object/package.json @@ -0,0 +1,85 @@ +{ + "name": "is-plain-object", + "description": "Returns true if an object was created by the `Object` constructor, or Object.create(null).", + "version": "5.0.0", + "homepage": "https://github.com/jonschlinkert/is-plain-object", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Osman Nuri Okumuş (http://onokumus.com)", + "Steven Vachon (https://svachon.com)", + "(https://github.com/wtgtybhertgeghgtwtg)", + "Bogdan Chadkin (https://github.com/TrySound)" + ], + "repository": "jonschlinkert/is-plain-object", + "bugs": { + "url": "https://github.com/jonschlinkert/is-plain-object/issues" + }, + "license": "MIT", + "main": "dist/is-plain-object.js", + "module": "dist/is-plain-object.mjs", + "types": "is-plain-object.d.ts", + "files": [ + "is-plain-object.d.ts", + "dist" + ], + "exports": { + ".": { + "import": "./dist/is-plain-object.mjs", + "require": "./dist/is-plain-object.js" + }, + "./package.json": "./package.json" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "rollup -c", + "test_browser": "mocha-headless-chrome --args=disable-web-security -f test/browser.html", + "test_node": "mocha -r esm", + "test": "npm run test_node && npm run build && npm run test_browser", + "prepare": "rollup -c" + }, + "devDependencies": { + "chai": "^4.2.0", + "esm": "^3.2.22", + "gulp-format-md": "^1.0.0", + "mocha": "^6.1.4", + "mocha-headless-chrome": "^3.1.0", + "rollup": "^2.22.1" + }, + "keywords": [ + "check", + "is", + "is-object", + "isobject", + "javascript", + "kind", + "kind-of", + "object", + "plain", + "type", + "typeof", + "value" + ], + "verb": { + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "related": { + "list": [ + "is-number", + "isobject", + "kind-of" + ] + }, + "lint": { + "reflinks": true + } + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/node-fetch/LICENSE.md b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/LICENSE.md new file mode 100644 index 0000000..660ffec --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/LICENSE.md @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2016 David Frank + +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/pkg/runner/testdata/actions/node20/node_modules/node-fetch/README.md b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/README.md new file mode 100644 index 0000000..4f87a59 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/README.md @@ -0,0 +1,633 @@ +node-fetch +========== + +[![npm version][npm-image]][npm-url] +[![build status][travis-image]][travis-url] +[![coverage status][codecov-image]][codecov-url] +[![install size][install-size-image]][install-size-url] +[![Discord][discord-image]][discord-url] + +A light-weight module that brings `window.fetch` to Node.js + +(We are looking for [v2 maintainers and collaborators](https://github.com/bitinn/node-fetch/issues/567)) + +[![Backers][opencollective-image]][opencollective-url] + + + +- [Motivation](#motivation) +- [Features](#features) +- [Difference from client-side fetch](#difference-from-client-side-fetch) +- [Installation](#installation) +- [Loading and configuring the module](#loading-and-configuring-the-module) +- [Common Usage](#common-usage) + - [Plain text or HTML](#plain-text-or-html) + - [JSON](#json) + - [Simple Post](#simple-post) + - [Post with JSON](#post-with-json) + - [Post with form parameters](#post-with-form-parameters) + - [Handling exceptions](#handling-exceptions) + - [Handling client and server errors](#handling-client-and-server-errors) +- [Advanced Usage](#advanced-usage) + - [Streams](#streams) + - [Buffer](#buffer) + - [Accessing Headers and other Meta data](#accessing-headers-and-other-meta-data) + - [Extract Set-Cookie Header](#extract-set-cookie-header) + - [Post data using a file stream](#post-data-using-a-file-stream) + - [Post with form-data (detect multipart)](#post-with-form-data-detect-multipart) + - [Request cancellation with AbortSignal](#request-cancellation-with-abortsignal) +- [API](#api) + - [fetch(url[, options])](#fetchurl-options) + - [Options](#options) + - [Class: Request](#class-request) + - [Class: Response](#class-response) + - [Class: Headers](#class-headers) + - [Interface: Body](#interface-body) + - [Class: FetchError](#class-fetcherror) +- [License](#license) +- [Acknowledgement](#acknowledgement) + + + +## Motivation + +Instead of implementing `XMLHttpRequest` in Node.js to run browser-specific [Fetch polyfill](https://github.com/github/fetch), why not go from native `http` to `fetch` API directly? Hence, `node-fetch`, minimal code for a `window.fetch` compatible API on Node.js runtime. + +See Matt Andrews' [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch) or Leonardo Quixada's [cross-fetch](https://github.com/lquixada/cross-fetch) for isomorphic usage (exports `node-fetch` for server-side, `whatwg-fetch` for client-side). + +## Features + +- Stay consistent with `window.fetch` API. +- Make conscious trade-off when following [WHATWG fetch spec][whatwg-fetch] and [stream spec](https://streams.spec.whatwg.org/) implementation details, document known differences. +- Use native promise but allow substituting it with [insert your favorite promise library]. +- Use native Node streams for body on both request and response. +- Decode content encoding (gzip/deflate) properly and convert string output (such as `res.text()` and `res.json()`) to UTF-8 automatically. +- Useful extensions such as timeout, redirect limit, response size limit, [explicit errors](ERROR-HANDLING.md) for troubleshooting. + +## Difference from client-side fetch + +- See [Known Differences](LIMITS.md) for details. +- If you happen to use a missing feature that `window.fetch` offers, feel free to open an issue. +- Pull requests are welcomed too! + +## Installation + +Current stable release (`2.x`) + +```sh +$ npm install node-fetch +``` + +## Loading and configuring the module +We suggest you load the module via `require` until the stabilization of ES modules in node: +```js +const fetch = require('node-fetch'); +``` + +If you are using a Promise library other than native, set it through `fetch.Promise`: +```js +const Bluebird = require('bluebird'); + +fetch.Promise = Bluebird; +``` + +## Common Usage + +NOTE: The documentation below is up-to-date with `2.x` releases; see the [`1.x` readme](https://github.com/bitinn/node-fetch/blob/1.x/README.md), [changelog](https://github.com/bitinn/node-fetch/blob/1.x/CHANGELOG.md) and [2.x upgrade guide](UPGRADE-GUIDE.md) for the differences. + +#### Plain text or HTML +```js +fetch('https://github.com/') + .then(res => res.text()) + .then(body => console.log(body)); +``` + +#### JSON + +```js + +fetch('https://api.github.com/users/github') + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Simple Post +```js +fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' }) + .then(res => res.json()) // expecting a json response + .then(json => console.log(json)); +``` + +#### Post with JSON + +```js +const body = { a: 1 }; + +fetch('https://httpbin.org/post', { + method: 'post', + body: JSON.stringify(body), + headers: { 'Content-Type': 'application/json' }, + }) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Post with form parameters +`URLSearchParams` is available in Node.js as of v7.5.0. See [official documentation](https://nodejs.org/api/url.html#url_class_urlsearchparams) for more usage methods. + +NOTE: The `Content-Type` header is only set automatically to `x-www-form-urlencoded` when an instance of `URLSearchParams` is given as such: + +```js +const { URLSearchParams } = require('url'); + +const params = new URLSearchParams(); +params.append('a', 1); + +fetch('https://httpbin.org/post', { method: 'POST', body: params }) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Handling exceptions +NOTE: 3xx-5xx responses are *NOT* exceptions and should be handled in `then()`; see the next section for more information. + +Adding a catch to the fetch promise chain will catch *all* exceptions, such as errors originating from node core libraries, network errors and operational errors, which are instances of FetchError. See the [error handling document](ERROR-HANDLING.md) for more details. + +```js +fetch('https://domain.invalid/') + .catch(err => console.error(err)); +``` + +#### Handling client and server errors +It is common to create a helper function to check that the response contains no client (4xx) or server (5xx) error responses: + +```js +function checkStatus(res) { + if (res.ok) { // res.status >= 200 && res.status < 300 + return res; + } else { + throw MyCustomError(res.statusText); + } +} + +fetch('https://httpbin.org/status/400') + .then(checkStatus) + .then(res => console.log('will not get here...')) +``` + +## Advanced Usage + +#### Streams +The "Node.js way" is to use streams when possible: + +```js +fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png') + .then(res => { + const dest = fs.createWriteStream('./octocat.png'); + res.body.pipe(dest); + }); +``` + +In Node.js 14 you can also use async iterators to read `body`; however, be careful to catch +errors -- the longer a response runs, the more likely it is to encounter an error. + +```js +const fetch = require('node-fetch'); +const response = await fetch('https://httpbin.org/stream/3'); +try { + for await (const chunk of response.body) { + console.dir(JSON.parse(chunk.toString())); + } +} catch (err) { + console.error(err.stack); +} +``` + +In Node.js 12 you can also use async iterators to read `body`; however, async iterators with streams +did not mature until Node.js 14, so you need to do some extra work to ensure you handle errors +directly from the stream and wait on it response to fully close. + +```js +const fetch = require('node-fetch'); +const read = async body => { + let error; + body.on('error', err => { + error = err; + }); + for await (const chunk of body) { + console.dir(JSON.parse(chunk.toString())); + } + return new Promise((resolve, reject) => { + body.on('close', () => { + error ? reject(error) : resolve(); + }); + }); +}; +try { + const response = await fetch('https://httpbin.org/stream/3'); + await read(response.body); +} catch (err) { + console.error(err.stack); +} +``` + +#### Buffer +If you prefer to cache binary data in full, use buffer(). (NOTE: `buffer()` is a `node-fetch`-only API) + +```js +const fileType = require('file-type'); + +fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png') + .then(res => res.buffer()) + .then(buffer => fileType(buffer)) + .then(type => { /* ... */ }); +``` + +#### Accessing Headers and other Meta data +```js +fetch('https://github.com/') + .then(res => { + console.log(res.ok); + console.log(res.status); + console.log(res.statusText); + console.log(res.headers.raw()); + console.log(res.headers.get('content-type')); + }); +``` + +#### Extract Set-Cookie Header + +Unlike browsers, you can access raw `Set-Cookie` headers manually using `Headers.raw()`. This is a `node-fetch` only API. + +```js +fetch(url).then(res => { + // returns an array of values, instead of a string of comma-separated values + console.log(res.headers.raw()['set-cookie']); +}); +``` + +#### Post data using a file stream + +```js +const { createReadStream } = require('fs'); + +const stream = createReadStream('input.txt'); + +fetch('https://httpbin.org/post', { method: 'POST', body: stream }) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Post with form-data (detect multipart) + +```js +const FormData = require('form-data'); + +const form = new FormData(); +form.append('a', 1); + +fetch('https://httpbin.org/post', { method: 'POST', body: form }) + .then(res => res.json()) + .then(json => console.log(json)); + +// OR, using custom headers +// NOTE: getHeaders() is non-standard API + +const form = new FormData(); +form.append('a', 1); + +const options = { + method: 'POST', + body: form, + headers: form.getHeaders() +} + +fetch('https://httpbin.org/post', options) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Request cancellation with AbortSignal + +> NOTE: You may cancel streamed requests only on Node >= v8.0.0 + +You may cancel requests with `AbortController`. A suggested implementation is [`abort-controller`](https://www.npmjs.com/package/abort-controller). + +An example of timing out a request after 150ms could be achieved as the following: + +```js +import AbortController from 'abort-controller'; + +const controller = new AbortController(); +const timeout = setTimeout( + () => { controller.abort(); }, + 150, +); + +fetch(url, { signal: controller.signal }) + .then(res => res.json()) + .then( + data => { + useData(data) + }, + err => { + if (err.name === 'AbortError') { + // request was aborted + } + }, + ) + .finally(() => { + clearTimeout(timeout); + }); +``` + +See [test cases](https://github.com/bitinn/node-fetch/blob/master/test/test.js) for more examples. + + +## API + +### fetch(url[, options]) + +- `url` A string representing the URL for fetching +- `options` [Options](#fetch-options) for the HTTP(S) request +- Returns: Promise<[Response](#class-response)> + +Perform an HTTP(S) fetch. + +`url` should be an absolute url, such as `https://example.com/`. A path-relative URL (`/file/under/root`) or protocol-relative URL (`//can-be-http-or-https.com/`) will result in a rejected `Promise`. + +
+### Options + +The default values are shown after each option key. + +```js +{ + // These properties are part of the Fetch Standard + method: 'GET', + headers: {}, // request headers. format is the identical to that accepted by the Headers constructor (see below) + body: null, // request body. can be null, a string, a Buffer, a Blob, or a Node.js Readable stream + redirect: 'follow', // set to `manual` to extract redirect headers, `error` to reject redirect + signal: null, // pass an instance of AbortSignal to optionally abort requests + + // The following properties are node-fetch extensions + follow: 20, // maximum redirect count. 0 to not follow redirect + timeout: 0, // req/res timeout in ms, it resets on redirect. 0 to disable (OS limit applies). Signal is recommended instead. + compress: true, // support gzip/deflate content encoding. false to disable + size: 0, // maximum response body size in bytes. 0 to disable + agent: null // http(s).Agent instance or function that returns an instance (see below) +} +``` + +##### Default Headers + +If no values are set, the following request headers will be sent automatically: + +Header | Value +------------------- | -------------------------------------------------------- +`Accept-Encoding` | `gzip,deflate` _(when `options.compress === true`)_ +`Accept` | `*/*` +`Connection` | `close` _(when no `options.agent` is present)_ +`Content-Length` | _(automatically calculated, if possible)_ +`Transfer-Encoding` | `chunked` _(when `req.body` is a stream)_ +`User-Agent` | `node-fetch/1.0 (+https://github.com/bitinn/node-fetch)` + +Note: when `body` is a `Stream`, `Content-Length` is not set automatically. + +##### Custom Agent + +The `agent` option allows you to specify networking related options which are out of the scope of Fetch, including and not limited to the following: + +- Support self-signed certificate +- Use only IPv4 or IPv6 +- Custom DNS Lookup + +See [`http.Agent`](https://nodejs.org/api/http.html#http_new_agent_options) for more information. + +In addition, the `agent` option accepts a function that returns `http`(s)`.Agent` instance given current [URL](https://nodejs.org/api/url.html), this is useful during a redirection chain across HTTP and HTTPS protocol. + +```js +const httpAgent = new http.Agent({ + keepAlive: true +}); +const httpsAgent = new https.Agent({ + keepAlive: true +}); + +const options = { + agent: function (_parsedURL) { + if (_parsedURL.protocol == 'http:') { + return httpAgent; + } else { + return httpsAgent; + } + } +} +``` + + +### Class: Request + +An HTTP(S) request containing information about URL, method, headers, and the body. This class implements the [Body](#iface-body) interface. + +Due to the nature of Node.js, the following properties are not implemented at this moment: + +- `type` +- `destination` +- `referrer` +- `referrerPolicy` +- `mode` +- `credentials` +- `cache` +- `integrity` +- `keepalive` + +The following node-fetch extension properties are provided: + +- `follow` +- `compress` +- `counter` +- `agent` + +See [options](#fetch-options) for exact meaning of these extensions. + +#### new Request(input[, options]) + +*(spec-compliant)* + +- `input` A string representing a URL, or another `Request` (which will be cloned) +- `options` [Options][#fetch-options] for the HTTP(S) request + +Constructs a new `Request` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request). + +In most cases, directly `fetch(url, options)` is simpler than creating a `Request` object. + + +### Class: Response + +An HTTP(S) response. This class implements the [Body](#iface-body) interface. + +The following properties are not implemented in node-fetch at this moment: + +- `Response.error()` +- `Response.redirect()` +- `type` +- `trailer` + +#### new Response([body[, options]]) + +*(spec-compliant)* + +- `body` A `String` or [`Readable` stream][node-readable] +- `options` A [`ResponseInit`][response-init] options dictionary + +Constructs a new `Response` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response). + +Because Node.js does not implement service workers (for which this class was designed), one rarely has to construct a `Response` directly. + +#### response.ok + +*(spec-compliant)* + +Convenience property representing if the request ended normally. Will evaluate to true if the response status was greater than or equal to 200 but smaller than 300. + +#### response.redirected + +*(spec-compliant)* + +Convenience property representing if the request has been redirected at least once. Will evaluate to true if the internal redirect counter is greater than 0. + + +### Class: Headers + +This class allows manipulating and iterating over a set of HTTP headers. All methods specified in the [Fetch Standard][whatwg-fetch] are implemented. + +#### new Headers([init]) + +*(spec-compliant)* + +- `init` Optional argument to pre-fill the `Headers` object + +Construct a new `Headers` object. `init` can be either `null`, a `Headers` object, an key-value map object or any iterable object. + +```js +// Example adapted from https://fetch.spec.whatwg.org/#example-headers-class + +const meta = { + 'Content-Type': 'text/xml', + 'Breaking-Bad': '<3' +}; +const headers = new Headers(meta); + +// The above is equivalent to +const meta = [ + [ 'Content-Type', 'text/xml' ], + [ 'Breaking-Bad', '<3' ] +]; +const headers = new Headers(meta); + +// You can in fact use any iterable objects, like a Map or even another Headers +const meta = new Map(); +meta.set('Content-Type', 'text/xml'); +meta.set('Breaking-Bad', '<3'); +const headers = new Headers(meta); +const copyOfHeaders = new Headers(headers); +``` + + +### Interface: Body + +`Body` is an abstract interface with methods that are applicable to both `Request` and `Response` classes. + +The following methods are not yet implemented in node-fetch at this moment: + +- `formData()` + +#### body.body + +*(deviation from spec)* + +* Node.js [`Readable` stream][node-readable] + +Data are encapsulated in the `Body` object. Note that while the [Fetch Standard][whatwg-fetch] requires the property to always be a WHATWG `ReadableStream`, in node-fetch it is a Node.js [`Readable` stream][node-readable]. + +#### body.bodyUsed + +*(spec-compliant)* + +* `Boolean` + +A boolean property for if this body has been consumed. Per the specs, a consumed body cannot be used again. + +#### body.arrayBuffer() +#### body.blob() +#### body.json() +#### body.text() + +*(spec-compliant)* + +* Returns: Promise + +Consume the body and return a promise that will resolve to one of these formats. + +#### body.buffer() + +*(node-fetch extension)* + +* Returns: Promise<Buffer> + +Consume the body and return a promise that will resolve to a Buffer. + +#### body.textConverted() + +*(node-fetch extension)* + +* Returns: Promise<String> + +Identical to `body.text()`, except instead of always converting to UTF-8, encoding sniffing will be performed and text converted to UTF-8 if possible. + +(This API requires an optional dependency of the npm package [encoding](https://www.npmjs.com/package/encoding), which you need to install manually. `webpack` users may see [a warning message](https://github.com/bitinn/node-fetch/issues/412#issuecomment-379007792) due to this optional dependency.) + + +### Class: FetchError + +*(node-fetch extension)* + +An operational error in the fetching process. See [ERROR-HANDLING.md][] for more info. + + +### Class: AbortError + +*(node-fetch extension)* + +An Error thrown when the request is aborted in response to an `AbortSignal`'s `abort` event. It has a `name` property of `AbortError`. See [ERROR-HANDLING.MD][] for more info. + +## Acknowledgement + +Thanks to [github/fetch](https://github.com/github/fetch) for providing a solid implementation reference. + +`node-fetch` v1 was maintained by [@bitinn](https://github.com/bitinn); v2 was maintained by [@TimothyGu](https://github.com/timothygu), [@bitinn](https://github.com/bitinn) and [@jimmywarting](https://github.com/jimmywarting); v2 readme is written by [@jkantr](https://github.com/jkantr). + +## License + +MIT + +[npm-image]: https://flat.badgen.net/npm/v/node-fetch +[npm-url]: https://www.npmjs.com/package/node-fetch +[travis-image]: https://flat.badgen.net/travis/bitinn/node-fetch +[travis-url]: https://travis-ci.org/bitinn/node-fetch +[codecov-image]: https://flat.badgen.net/codecov/c/github/bitinn/node-fetch/master +[codecov-url]: https://codecov.io/gh/bitinn/node-fetch +[install-size-image]: https://flat.badgen.net/packagephobia/install/node-fetch +[install-size-url]: https://packagephobia.now.sh/result?p=node-fetch +[discord-image]: https://img.shields.io/discord/619915844268326952?color=%237289DA&label=Discord&style=flat-square +[discord-url]: https://discord.gg/Zxbndcm +[opencollective-image]: https://opencollective.com/node-fetch/backers.svg +[opencollective-url]: https://opencollective.com/node-fetch +[whatwg-fetch]: https://fetch.spec.whatwg.org/ +[response-init]: https://fetch.spec.whatwg.org/#responseinit +[node-readable]: https://nodejs.org/api/stream.html#stream_readable_streams +[mdn-headers]: https://developer.mozilla.org/en-US/docs/Web/API/Headers +[LIMITS.md]: https://github.com/bitinn/node-fetch/blob/master/LIMITS.md +[ERROR-HANDLING.md]: https://github.com/bitinn/node-fetch/blob/master/ERROR-HANDLING.md +[UPGRADE-GUIDE.md]: https://github.com/bitinn/node-fetch/blob/master/UPGRADE-GUIDE.md diff --git a/pkg/runner/testdata/actions/node20/node_modules/node-fetch/browser.js b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/browser.js new file mode 100644 index 0000000..ee86265 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/browser.js @@ -0,0 +1,25 @@ +"use strict"; + +// ref: https://github.com/tc39/proposal-global +var getGlobal = function () { + // the only reliable means to get the global object is + // `Function('return this')()` + // However, this causes CSP violations in Chrome apps. + if (typeof self !== 'undefined') { return self; } + if (typeof window !== 'undefined') { return window; } + if (typeof global !== 'undefined') { return global; } + throw new Error('unable to locate global object'); +} + +var globalObject = getGlobal(); + +module.exports = exports = globalObject.fetch; + +// Needed for TypeScript and Webpack. +if (globalObject.fetch) { + exports.default = globalObject.fetch.bind(globalObject); +} + +exports.Headers = globalObject.Headers; +exports.Request = globalObject.Request; +exports.Response = globalObject.Response; diff --git a/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.es.js b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.es.js new file mode 100644 index 0000000..ed27a46 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.es.js @@ -0,0 +1,1781 @@ +process.emitWarning("The .es.js file is deprecated. Use .mjs instead."); + +import Stream from 'stream'; +import http from 'http'; +import Url from 'url'; +import whatwgUrl from 'whatwg-url'; +import https from 'https'; +import zlib from 'zlib'; + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = require('encoding').convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +export default fetch; +export { Headers, Request, Response, FetchError }; diff --git a/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.js b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.js new file mode 100644 index 0000000..087f2a0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.js @@ -0,0 +1,1790 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(require('stream')); +var http = _interopDefault(require('http')); +var Url = _interopDefault(require('url')); +var whatwgUrl = _interopDefault(require('whatwg-url')); +var https = _interopDefault(require('https')); +var zlib = _interopDefault(require('zlib')); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = require('encoding').convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; diff --git a/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.mjs b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.mjs new file mode 100644 index 0000000..4ed7fa5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/lib/index.mjs @@ -0,0 +1,1779 @@ +import Stream from 'stream'; +import http from 'http'; +import Url from 'url'; +import whatwgUrl from 'whatwg-url'; +import https from 'https'; +import zlib from 'zlib'; + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = require('encoding').convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +export default fetch; +export { Headers, Request, Response, FetchError }; diff --git a/pkg/runner/testdata/actions/node20/node_modules/node-fetch/package.json b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/package.json new file mode 100644 index 0000000..0ba36fd --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/node-fetch/package.json @@ -0,0 +1,89 @@ +{ + "name": "node-fetch", + "version": "2.6.12", + "description": "A light-weight module that brings window.fetch to node.js", + "main": "lib/index.js", + "browser": "./browser.js", + "module": "lib/index.mjs", + "files": [ + "lib/index.js", + "lib/index.mjs", + "lib/index.es.js", + "browser.js" + ], + "engines": { + "node": "4.x || >=6.0.0" + }, + "scripts": { + "build": "cross-env BABEL_ENV=rollup rollup -c", + "prepare": "npm run build", + "test": "cross-env BABEL_ENV=test mocha --require babel-register --throw-deprecation test/test.js", + "report": "cross-env BABEL_ENV=coverage nyc --reporter lcov --reporter text mocha -R spec test/test.js", + "coverage": "cross-env BABEL_ENV=coverage nyc --reporter json --reporter text mocha -R spec test/test.js && codecov -f coverage/coverage-final.json" + }, + "repository": { + "type": "git", + "url": "https://github.com/bitinn/node-fetch.git" + }, + "keywords": [ + "fetch", + "http", + "promise" + ], + "author": "David Frank", + "license": "MIT", + "bugs": { + "url": "https://github.com/bitinn/node-fetch/issues" + }, + "homepage": "https://github.com/bitinn/node-fetch", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + }, + "devDependencies": { + "@ungap/url-search-params": "^0.1.2", + "abort-controller": "^1.1.0", + "abortcontroller-polyfill": "^1.3.0", + "babel-core": "^6.26.3", + "babel-plugin-istanbul": "^4.1.6", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "1.4.0", + "babel-register": "^6.16.3", + "chai": "^3.5.0", + "chai-as-promised": "^7.1.1", + "chai-iterator": "^1.1.1", + "chai-string": "~1.3.0", + "codecov": "3.3.0", + "cross-env": "^5.2.0", + "form-data": "^2.3.3", + "is-builtin-module": "^1.0.0", + "mocha": "^5.0.0", + "nyc": "11.9.0", + "parted": "^0.1.1", + "promise": "^8.0.3", + "resumer": "0.0.0", + "rollup": "^0.63.4", + "rollup-plugin-babel": "^3.0.7", + "string-to-arraybuffer": "^1.0.2", + "teeny-request": "3.7.0" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/once/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/once/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/once/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/pkg/runner/testdata/actions/node20/node_modules/once/README.md b/pkg/runner/testdata/actions/node20/node_modules/once/README.md new file mode 100644 index 0000000..1f1ffca --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/once/README.md @@ -0,0 +1,79 @@ +# once + +Only call a function once. + +## usage + +```javascript +var once = require('once') + +function load (file, cb) { + cb = once(cb) + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Or add to the Function.prototype in a responsible way: + +```javascript +// only has to be done once +require('once').proto() + +function load (file, cb) { + cb = cb.once() + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Ironically, the prototype feature makes this module twice as +complicated as necessary. + +To check whether you function has been called, use `fn.called`. Once the +function is called for the first time the return value of the original +function is saved in `fn.value` and subsequent calls will continue to +return this value. + +```javascript +var once = require('once') + +function load (cb) { + cb = once(cb) + var stream = createStream() + stream.once('data', cb) + stream.once('end', function () { + if (!cb.called) cb(new Error('not found')) + }) +} +``` + +## `once.strict(func)` + +Throw an error if the function is called twice. + +Some functions are expected to be called only once. Using `once` for them would +potentially hide logical errors. + +In the example below, the `greet` function has to call the callback only once: + +```javascript +function greet (name, cb) { + // return is missing from the if statement + // when no name is passed, the callback is called twice + if (!name) cb('Hello anonymous') + cb('Hello ' + name) +} + +function log (msg) { + console.log(msg) +} + +// this will print 'Hello anonymous' but the logical error will be missed +greet(null, once(msg)) + +// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time +greet(null, once.strict(msg)) +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/once/once.js b/pkg/runner/testdata/actions/node20/node_modules/once/once.js new file mode 100644 index 0000000..2354067 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/once/once.js @@ -0,0 +1,42 @@ +var wrappy = require('wrappy') +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/once/package.json b/pkg/runner/testdata/actions/node20/node_modules/once/package.json new file mode 100644 index 0000000..16815b2 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/once/package.json @@ -0,0 +1,33 @@ +{ + "name": "once", + "version": "1.4.0", + "description": "Run a function exactly one time", + "main": "once.js", + "directories": { + "test": "test" + }, + "dependencies": { + "wrappy": "1" + }, + "devDependencies": { + "tap": "^7.0.1" + }, + "scripts": { + "test": "tap test/*.js" + }, + "files": [ + "once.js" + ], + "repository": { + "type": "git", + "url": "git://github.com/isaacs/once" + }, + "keywords": [ + "once", + "function", + "one", + "single" + ], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/tr46/.npmignore b/pkg/runner/testdata/actions/node20/node_modules/tr46/.npmignore new file mode 100644 index 0000000..96e9161 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tr46/.npmignore @@ -0,0 +1,4 @@ +scripts/ +test/ + +!lib/mapping_table.json diff --git a/pkg/runner/testdata/actions/node20/node_modules/tr46/index.js b/pkg/runner/testdata/actions/node20/node_modules/tr46/index.js new file mode 100644 index 0000000..9ce12ca --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/tr46/lib/.gitkeep b/pkg/runner/testdata/actions/node20/node_modules/tr46/lib/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/runner/testdata/actions/node20/node_modules/tr46/lib/mappingTable.json b/pkg/runner/testdata/actions/node20/node_modules/tr46/lib/mappingTable.json new file mode 100644 index 0000000..89cf19a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/tr46/package.json b/pkg/runner/testdata/actions/node20/node_modules/tr46/package.json new file mode 100644 index 0000000..b6826da --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/tunnel/.travis.yml b/pkg/runner/testdata/actions/node20/node_modules/tunnel/.travis.yml new file mode 100644 index 0000000..cb6e182 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "4" + - "6" + - "8" + - "10" diff --git a/pkg/runner/testdata/actions/node20/node_modules/tunnel/CHANGELOG.md b/pkg/runner/testdata/actions/node20/node_modules/tunnel/CHANGELOG.md new file mode 100644 index 0000000..baf6b18 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + + - 0.0.6 (2018/09/11) + - Fix `localAddress` not working (#25) + - Fix `Host:` header for CONNECT method by @tmurakam (#29, #30) + - Fix default port for https (#32) + - Fix error handling when the proxy send illegal response body (#33) + + - 0.0.5 (2017/06/12) + - Fix socket leak. + + - 0.0.4 (2016/01/23) + - supported Node v0.12 or later. + + - 0.0.3 (2014/01/20) + - fixed package.json + + - 0.0.1 (2012/02/18) + - supported Node v0.6.x (0.6.11 or later). + + - 0.0.0 (2012/02/11) + - first release. diff --git a/pkg/runner/testdata/actions/node20/node_modules/tunnel/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/tunnel/LICENSE new file mode 100644 index 0000000..8b8a895 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012 Koichi Kobayashi + +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/pkg/runner/testdata/actions/node20/node_modules/tunnel/README.md b/pkg/runner/testdata/actions/node20/node_modules/tunnel/README.md new file mode 100644 index 0000000..f54bca5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/README.md @@ -0,0 +1,185 @@ +# node-tunnel - HTTP/HTTPS Agents for tunneling proxies + +[![Build Status](https://img.shields.io/travis/koichik/node-tunnel.svg?style=flat)](https://travis-ci.org/koichik/node-tunnel) +[![Dependency Status](http://img.shields.io/david/koichik/node-tunnel.svg?style=flat)](https://david-dm.org/koichik/node-tunnel#info=dependencies) +[![DevDependency Status](http://img.shields.io/david/dev/koichik/node-tunnel.svg?style=flat)](https://david-dm.org/koichik/node-tunnel#info=devDependencies) + +## Example + +```javascript +var tunnel = require('tunnel'); + +var tunnelingAgent = tunnel.httpsOverHttp({ + proxy: { + host: 'localhost', + port: 3128 + } +}); + +var req = https.request({ + host: 'example.com', + port: 443, + agent: tunnelingAgent +}); +``` + +## Installation + + $ npm install tunnel + +## Usages + +### HTTP over HTTP tunneling + +```javascript +var tunnelingAgent = tunnel.httpOverHttp({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 80 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + } + } +}); + +var req = http.request({ + host: 'example.com', + port: 80, + agent: tunnelingAgent +}); +``` + +### HTTPS over HTTP tunneling + +```javascript +var tunnelingAgent = tunnel.httpsOverHttp({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + // CA for origin server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Client certification for origin server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 80 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + }, + } +}); + +var req = https.request({ + host: 'example.com', + port: 443, + agent: tunnelingAgent +}); +``` + +### HTTP over HTTPS tunneling + +```javascript +var tunnelingAgent = tunnel.httpOverHttps({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 443 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + }, + + // CA for proxy server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Server name for verification if necessary + servername: 'example.com', + + // Client certification for proxy server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + } +}); + +var req = http.request({ + host: 'example.com', + port: 80, + agent: tunnelingAgent +}); +``` + +### HTTPS over HTTPS tunneling + +```javascript +var tunnelingAgent = tunnel.httpsOverHttps({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + // CA for origin server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Client certification for origin server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 443 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + } + + // CA for proxy server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Server name for verification if necessary + servername: 'example.com', + + // Client certification for proxy server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + } +}); + +var req = https.request({ + host: 'example.com', + port: 443, + agent: tunnelingAgent +}); +``` + +## CONTRIBUTORS +* [Aleksis Brezas (abresas)](https://github.com/abresas) +* [Jackson Tian (JacksonTian)](https://github.com/JacksonTian) +* [Dmitry Sorin (1999)](https://github.com/1999) + +## License + +Licensed under the [MIT](https://github.com/koichik/node-tunnel/blob/master/LICENSE) license. diff --git a/pkg/runner/testdata/actions/node20/node_modules/tunnel/index.js b/pkg/runner/testdata/actions/node20/node_modules/tunnel/index.js new file mode 100644 index 0000000..2947757 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/tunnel'); diff --git a/pkg/runner/testdata/actions/node20/node_modules/tunnel/lib/tunnel.js b/pkg/runner/testdata/actions/node20/node_modules/tunnel/lib/tunnel.js new file mode 100644 index 0000000..10cc382 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/lib/tunnel.js @@ -0,0 +1,264 @@ +'use strict'; + +var net = require('net'); +var tls = require('tls'); +var http = require('http'); +var https = require('https'); +var events = require('events'); +var assert = require('assert'); +var util = require('util'); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test diff --git a/pkg/runner/testdata/actions/node20/node_modules/tunnel/package.json b/pkg/runner/testdata/actions/node20/node_modules/tunnel/package.json new file mode 100644 index 0000000..bcd7b95 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/tunnel/package.json @@ -0,0 +1,34 @@ +{ + "name": "tunnel", + "version": "0.0.6", + "description": "Node HTTP/HTTPS Agents for tunneling proxies", + "keywords": [ + "http", + "https", + "agent", + "proxy", + "tunnel" + ], + "homepage": "https://github.com/koichik/node-tunnel/", + "bugs": "https://github.com/koichik/node-tunnel/issues", + "license": "MIT", + "author": "Koichi Kobayashi ", + "main": "./index.js", + "directories": { + "lib": "./lib" + }, + "repository": { + "type": "git", + "url": "https://github.com/koichik/node-tunnel.git" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "mocha": "^5.2.0", + "should": "^13.2.3" + }, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/LICENSE.md b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/LICENSE.md new file mode 100644 index 0000000..f105ab0 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/LICENSE.md @@ -0,0 +1,7 @@ +# [ISC License](https://spdx.org/licenses/ISC) + +Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) + +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/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/README.md b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/README.md new file mode 100644 index 0000000..170ae0c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/README.md @@ -0,0 +1,25 @@ +# universal-user-agent + +> Get a user agent string in both browser and node + +[![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent) +[![Build Status](https://github.com/gr2m/universal-user-agent/workflows/Test/badge.svg)](https://github.com/gr2m/universal-user-agent/actions?query=workflow%3ATest+branch%3Amaster) +[![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) + +```js +const { getUserAgent } = require("universal-user-agent"); +// or import { getUserAgent } from "universal-user-agent"; + +const userAgent = getUserAgent(); +// userAgent will look like this +// in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" +// in node: Node.js/v8.9.4 (macOS High Sierra; x64) +``` + +## Credits + +The Node implementation was originally inspired by [default-user-agent](https://www.npmjs.com/package/default-user-agent). + +## License + +[ISC](LICENSE.md) diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-node/index.js new file mode 100644 index 0000000..16c05dc --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-node/index.js @@ -0,0 +1,18 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + + return ""; +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-node/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-node/index.js.map new file mode 100644 index 0000000..6a435c4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":["getUserAgent","navigator","userAgent","process","version","substr","platform","arch"],"mappings":";;;;AAAO,SAASA,YAAT,GAAwB;AAC3B,MAAI,OAAOC,SAAP,KAAqB,QAArB,IAAiC,eAAeA,SAApD,EAA+D;AAC3D,WAAOA,SAAS,CAACC,SAAjB;AACH;;AACD,MAAI,OAAOC,OAAP,KAAmB,QAAnB,IAA+B,aAAaA,OAAhD,EAAyD;AACrD,WAAQ,WAAUA,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAAuB,CAAvB,CAA0B,KAAIF,OAAO,CAACG,QAAS,KAAIH,OAAO,CAACI,IAAK,GAAlF;AACH;;AACD,SAAO,4BAAP;AACH;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-src/index.js b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-src/index.js new file mode 100644 index 0000000..79d75d3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-src/index.js @@ -0,0 +1,9 @@ +export function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-types/index.d.ts b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-types/index.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-web/index.js b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-web/index.js new file mode 100644 index 0000000..c550c02 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-web/index.js @@ -0,0 +1,12 @@ +function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; +} + +export { getUserAgent }; +//# sourceMappingURL=index.js.map diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-web/index.js.map b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-web/index.js.map new file mode 100644 index 0000000..b9d9d79 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;AAC/B,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE;AACnE,QAAQ,OAAO,SAAS,CAAC,SAAS,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,OAAO,EAAE;AAC7D,QAAQ,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,4BAA4B,CAAC;AACxC;;;;"} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/package.json b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/package.json new file mode 100644 index 0000000..ac3e658 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/universal-user-agent/package.json @@ -0,0 +1,31 @@ +{ + "name": "universal-user-agent", + "description": "Get a user agent string in both browser and node", + "version": "6.0.0", + "license": "ISC", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [], + "repository": "https://github.com/gr2m/universal-user-agent.git", + "dependencies": {}, + "devDependencies": { + "@gr2m/pika-plugin-build-web": "^0.6.0-issue-84.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.1", + "@pika/plugin-ts-standard-pkg": "^0.9.1", + "@types/jest": "^25.1.0", + "jest": "^24.9.0", + "prettier": "^2.0.0", + "semantic-release": "^17.0.5", + "ts-jest": "^26.0.0", + "typescript": "^3.6.2" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/CHANGELOG.md b/pkg/runner/testdata/actions/node20/node_modules/uuid/CHANGELOG.md new file mode 100644 index 0000000..7519d19 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/CHANGELOG.md @@ -0,0 +1,229 @@ +# 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. + +### [8.3.2](https://github.com/uuidjs/uuid/compare/v8.3.1...v8.3.2) (2020-12-08) + +### Bug Fixes + +- lazy load getRandomValues ([#537](https://github.com/uuidjs/uuid/issues/537)) ([16c8f6d](https://github.com/uuidjs/uuid/commit/16c8f6df2f6b09b4d6235602d6a591188320a82e)), closes [#536](https://github.com/uuidjs/uuid/issues/536) + +### [8.3.1](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1) (2020-10-04) + +### Bug Fixes + +- support expo>=39.0.0 ([#515](https://github.com/uuidjs/uuid/issues/515)) ([c65a0f3](https://github.com/uuidjs/uuid/commit/c65a0f3fa73b901959d638d1e3591dfacdbed867)), closes [#375](https://github.com/uuidjs/uuid/issues/375) + +## [8.3.0](https://github.com/uuidjs/uuid/compare/v8.2.0...v8.3.0) (2020-07-27) + +### Features + +- add parse/stringify/validate/version/NIL APIs ([#479](https://github.com/uuidjs/uuid/issues/479)) ([0e6c10b](https://github.com/uuidjs/uuid/commit/0e6c10ba1bf9517796ff23c052fc0468eedfd5f4)), closes [#475](https://github.com/uuidjs/uuid/issues/475) [#478](https://github.com/uuidjs/uuid/issues/478) [#480](https://github.com/uuidjs/uuid/issues/480) [#481](https://github.com/uuidjs/uuid/issues/481) [#180](https://github.com/uuidjs/uuid/issues/180) + +## [8.2.0](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0) (2020-06-23) + +### Features + +- improve performance of v1 string representation ([#453](https://github.com/uuidjs/uuid/issues/453)) ([0ee0b67](https://github.com/uuidjs/uuid/commit/0ee0b67c37846529c66089880414d29f3ae132d5)) +- remove deprecated v4 string parameter ([#454](https://github.com/uuidjs/uuid/issues/454)) ([88ce3ca](https://github.com/uuidjs/uuid/commit/88ce3ca0ba046f60856de62c7ce03f7ba98ba46c)), closes [#437](https://github.com/uuidjs/uuid/issues/437) +- support jspm ([#473](https://github.com/uuidjs/uuid/issues/473)) ([e9f2587](https://github.com/uuidjs/uuid/commit/e9f2587a92575cac31bc1d4ae944e17c09756659)) + +### Bug Fixes + +- prepare package exports for webpack 5 ([#468](https://github.com/uuidjs/uuid/issues/468)) ([8d6e6a5](https://github.com/uuidjs/uuid/commit/8d6e6a5f8965ca9575eb4d92e99a43435f4a58a8)) + +## [8.1.0](https://github.com/uuidjs/uuid/compare/v8.0.0...v8.1.0) (2020-05-20) + +### Features + +- improve v4 performance by reusing random number array ([#435](https://github.com/uuidjs/uuid/issues/435)) ([bf4af0d](https://github.com/uuidjs/uuid/commit/bf4af0d711b4d2ed03d1f74fd12ad0baa87dc79d)) +- optimize V8 performance of bytesToUuid ([#434](https://github.com/uuidjs/uuid/issues/434)) ([e156415](https://github.com/uuidjs/uuid/commit/e156415448ec1af2351fa0b6660cfb22581971f2)) + +### Bug Fixes + +- export package.json required by react-native and bundlers ([#449](https://github.com/uuidjs/uuid/issues/449)) ([be1c8fe](https://github.com/uuidjs/uuid/commit/be1c8fe9a3206c358e0059b52fafd7213aa48a52)), closes [ai/nanoevents#44](https://github.com/ai/nanoevents/issues/44#issuecomment-602010343) [#444](https://github.com/uuidjs/uuid/issues/444) + +## [8.0.0](https://github.com/uuidjs/uuid/compare/v7.0.3...v8.0.0) (2020-04-29) + +### ⚠ BREAKING CHANGES + +- For native ECMAScript Module (ESM) usage in Node.js only named exports are exposed, there is no more default export. + + ```diff + -import uuid from 'uuid'; + -console.log(uuid.v4()); // -> 'cd6c3b08-0adc-4f4b-a6ef-36087a1c9869' + +import { v4 as uuidv4 } from 'uuid'; + +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' + ``` + +- Deep requiring specific algorithms of this library like `require('uuid/v4')`, which has been deprecated in `uuid@7`, is no longer supported. + + Instead use the named exports that this module exports. + + For ECMAScript Modules (ESM): + + ```diff + -import uuidv4 from 'uuid/v4'; + +import { v4 as uuidv4 } from 'uuid'; + uuidv4(); + ``` + + For CommonJS: + + ```diff + -const uuidv4 = require('uuid/v4'); + +const { v4: uuidv4 } = require('uuid'); + uuidv4(); + ``` + +### Features + +- native Node.js ES Modules (wrapper approach) ([#423](https://github.com/uuidjs/uuid/issues/423)) ([2d9f590](https://github.com/uuidjs/uuid/commit/2d9f590ad9701d692625c07ed62f0a0f91227991)), closes [#245](https://github.com/uuidjs/uuid/issues/245) [#419](https://github.com/uuidjs/uuid/issues/419) [#342](https://github.com/uuidjs/uuid/issues/342) +- remove deep requires ([#426](https://github.com/uuidjs/uuid/issues/426)) ([daf72b8](https://github.com/uuidjs/uuid/commit/daf72b84ceb20272a81bb5fbddb05dd95922cbba)) + +### Bug Fixes + +- add CommonJS syntax example to README quickstart section ([#417](https://github.com/uuidjs/uuid/issues/417)) ([e0ec840](https://github.com/uuidjs/uuid/commit/e0ec8402c7ad44b7ef0453036c612f5db513fda0)) + +### [7.0.3](https://github.com/uuidjs/uuid/compare/v7.0.2...v7.0.3) (2020-03-31) + +### Bug Fixes + +- make deep require deprecation warning work in browsers ([#409](https://github.com/uuidjs/uuid/issues/409)) ([4b71107](https://github.com/uuidjs/uuid/commit/4b71107d8c0d2ef56861ede6403fc9dc35a1e6bf)), closes [#408](https://github.com/uuidjs/uuid/issues/408) + +### [7.0.2](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2) (2020-03-04) + +### Bug Fixes + +- make access to msCrypto consistent ([#393](https://github.com/uuidjs/uuid/issues/393)) ([8bf2a20](https://github.com/uuidjs/uuid/commit/8bf2a20f3565df743da7215eebdbada9d2df118c)) +- simplify link in deprecation warning ([#391](https://github.com/uuidjs/uuid/issues/391)) ([bb2c8e4](https://github.com/uuidjs/uuid/commit/bb2c8e4e9f4c5f9c1eaaf3ea59710c633cd90cb7)) +- update links to match content in readme ([#386](https://github.com/uuidjs/uuid/issues/386)) ([44f2f86](https://github.com/uuidjs/uuid/commit/44f2f86e9d2bbf14ee5f0f00f72a3db1292666d4)) + +### [7.0.1](https://github.com/uuidjs/uuid/compare/v7.0.0...v7.0.1) (2020-02-25) + +### Bug Fixes + +- clean up esm builds for node and browser ([#383](https://github.com/uuidjs/uuid/issues/383)) ([59e6a49](https://github.com/uuidjs/uuid/commit/59e6a49e7ce7b3e8fb0f3ee52b9daae72af467dc)) +- provide browser versions independent from module system ([#380](https://github.com/uuidjs/uuid/issues/380)) ([4344a22](https://github.com/uuidjs/uuid/commit/4344a22e7aed33be8627eeaaf05360f256a21753)), closes [#378](https://github.com/uuidjs/uuid/issues/378) + +## [7.0.0](https://github.com/uuidjs/uuid/compare/v3.4.0...v7.0.0) (2020-02-24) + +### ⚠ BREAKING CHANGES + +- The default export, which used to be the v4() method but which was already discouraged in v3.x of this library, has been removed. +- Explicitly note that deep imports of the different uuid version functions are deprecated and no longer encouraged and that ECMAScript module named imports should be used instead. Emit a deprecation warning for people who deep-require the different algorithm variants. +- Remove builtin support for insecure random number generators in the browser. Users who want that will have to supply their own random number generator function. +- Remove support for generating v3 and v5 UUIDs in Node.js<4.x +- Convert code base to ECMAScript Modules (ESM) and release CommonJS build for node and ESM build for browser bundlers. + +### Features + +- add UMD build to npm package ([#357](https://github.com/uuidjs/uuid/issues/357)) ([4e75adf](https://github.com/uuidjs/uuid/commit/4e75adf435196f28e3fbbe0185d654b5ded7ca2c)), closes [#345](https://github.com/uuidjs/uuid/issues/345) +- add various es module and CommonJS examples ([b238510](https://github.com/uuidjs/uuid/commit/b238510bf352463521f74bab175a3af9b7a42555)) +- ensure that docs are up-to-date in CI ([ee5e77d](https://github.com/uuidjs/uuid/commit/ee5e77db547474f5a8f23d6c857a6d399209986b)) +- hybrid CommonJS & ECMAScript modules build ([a3f078f](https://github.com/uuidjs/uuid/commit/a3f078faa0baff69ab41aed08e041f8f9c8993d0)) +- remove insecure fallback random number generator ([3a5842b](https://github.com/uuidjs/uuid/commit/3a5842b141a6e5de0ae338f391661e6b84b167c9)), closes [#173](https://github.com/uuidjs/uuid/issues/173) +- remove support for pre Node.js v4 Buffer API ([#356](https://github.com/uuidjs/uuid/issues/356)) ([b59b5c5](https://github.com/uuidjs/uuid/commit/b59b5c5ecad271c5453f1a156f011671f6d35627)) +- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([c37a518](https://github.com/uuidjs/uuid/commit/c37a518e367ac4b6d0aa62dba1bc6ce9e85020f7)), closes [#338](https://github.com/uuidjs/uuid/issues/338) + +### Bug Fixes + +- add deep-require proxies for local testing and adjust tests ([#365](https://github.com/uuidjs/uuid/issues/365)) ([7fedc79](https://github.com/uuidjs/uuid/commit/7fedc79ac8fda4bfd1c566c7f05ef4ac13b2db48)) +- add note about removal of default export ([#372](https://github.com/uuidjs/uuid/issues/372)) ([12749b7](https://github.com/uuidjs/uuid/commit/12749b700eb49db8a9759fd306d8be05dbfbd58c)), closes [#370](https://github.com/uuidjs/uuid/issues/370) +- deprecated deep requiring of the different algorithm versions ([#361](https://github.com/uuidjs/uuid/issues/361)) ([c0bdf15](https://github.com/uuidjs/uuid/commit/c0bdf15e417639b1aeb0b247b2fb11f7a0a26b23)) + +## [3.4.0](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0) (2020-01-16) + +### Features + +- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([e2d7314](https://github.com/uuidjs/uuid/commit/e2d7314)), closes [#338](https://github.com/uuidjs/uuid/issues/338) + +## [3.3.3](https://github.com/uuidjs/uuid/compare/v3.3.2...v3.3.3) (2019-08-19) + +### Bug Fixes + +- no longer run ci tests on node v4 +- upgrade dependencies + +## [3.3.2](https://github.com/uuidjs/uuid/compare/v3.3.1...v3.3.2) (2018-06-28) + +### Bug Fixes + +- typo ([305d877](https://github.com/uuidjs/uuid/commit/305d877)) + +## [3.3.1](https://github.com/uuidjs/uuid/compare/v3.3.0...v3.3.1) (2018-06-28) + +### Bug Fixes + +- fix [#284](https://github.com/uuidjs/uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/uuidjs/uuid/commit/f2a60f2)) + +# [3.3.0](https://github.com/uuidjs/uuid/compare/v3.2.1...v3.3.0) (2018-06-22) + +### Bug Fixes + +- assignment to readonly property to allow running in strict mode ([#270](https://github.com/uuidjs/uuid/issues/270)) ([d062fdc](https://github.com/uuidjs/uuid/commit/d062fdc)) +- fix [#229](https://github.com/uuidjs/uuid/issues/229) ([c9684d4](https://github.com/uuidjs/uuid/commit/c9684d4)) +- Get correct version of IE11 crypto ([#274](https://github.com/uuidjs/uuid/issues/274)) ([153d331](https://github.com/uuidjs/uuid/commit/153d331)) +- mem issue when generating uuid ([#267](https://github.com/uuidjs/uuid/issues/267)) ([c47702c](https://github.com/uuidjs/uuid/commit/c47702c)) + +### Features + +- enforce Conventional Commit style commit messages ([#282](https://github.com/uuidjs/uuid/issues/282)) ([cc9a182](https://github.com/uuidjs/uuid/commit/cc9a182)) + +## [3.2.1](https://github.com/uuidjs/uuid/compare/v3.2.0...v3.2.1) (2018-01-16) + +### Bug Fixes + +- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) + +# [3.2.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.2.0) (2018-01-16) + +### Bug Fixes + +- remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/uuidjs/uuid/commit/09fa824)) +- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) + +### Features + +- Add v3 Support ([#217](https://github.com/uuidjs/uuid/issues/217)) ([d94f726](https://github.com/uuidjs/uuid/commit/d94f726)) + +# [3.1.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.0.1) (2017-06-17) + +### Bug Fixes + +- (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183) +- Fix typo (#178) +- Simple typo fix (#165) + +### Features + +- v5 support in CLI (#197) +- V5 support (#188) + +# 3.0.1 (2016-11-28) + +- split uuid versions into separate files + +# 3.0.0 (2016-11-17) + +- remove .parse and .unparse + +# 2.0.0 + +- Removed uuid.BufferClass + +# 1.4.0 + +- Improved module context detection +- Removed public RNG functions + +# 1.3.2 + +- Improve tests and handling of v1() options (Issue #24) +- Expose RNG option to allow for perf testing with different generators + +# 1.3.0 + +- Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! +- Support for node.js crypto API +- De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/CONTRIBUTING.md b/pkg/runner/testdata/actions/node20/node_modules/uuid/CONTRIBUTING.md new file mode 100644 index 0000000..4a4503d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/CONTRIBUTING.md @@ -0,0 +1,18 @@ +# Contributing + +Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library! + +## Testing + +```shell +npm test +``` + +## Releasing + +Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version): + +```shell +npm run release -- --dry-run # verify output manually +npm run release # follow the instructions from the output of this command +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/LICENSE.md b/pkg/runner/testdata/actions/node20/node_modules/uuid/LICENSE.md new file mode 100644 index 0000000..3934168 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2010-2020 Robert Kieffer and other contributors + +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/pkg/runner/testdata/actions/node20/node_modules/uuid/README.md b/pkg/runner/testdata/actions/node20/node_modules/uuid/README.md new file mode 100644 index 0000000..ed27e57 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/README.md @@ -0,0 +1,505 @@ + + +# uuid [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser) + +For the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs + +- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs +- **Cross-platform** - Support for ... + - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds) + - Node 8, 10, 12, 14 + - Chrome, Safari, Firefox, Edge, IE 11 browsers + - Webpack and rollup.js module bundlers + - [React Native / Expo](#react-native--expo) +- **Secure** - Cryptographically-strong random values +- **Small** - Zero-dependency, small footprint, plays nice with "tree shaking" packagers +- **CLI** - Includes the [`uuid` command line](#command-line) utility + +**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details. + +## Quickstart + +To create a random UUID... + +**1. Install** + +```shell +npm install uuid +``` + +**2. Create a UUID** (ES6 module syntax) + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' +``` + +... or using CommonJS syntax: + +```javascript +const { v4: uuidv4 } = require('uuid'); +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +For timestamp UUIDs, namespace UUIDs, and other options read on ... + +## API Summary + +| | | | +| --- | --- | --- | +| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` | +| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` | +| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` | +| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | | +| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | | +| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | | +| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | | +| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` | +| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` | + +## API + +### uuid.NIL + +The nil UUID string (all zeros). + +Example: + +```javascript +import { NIL as NIL_UUID } from 'uuid'; + +NIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000' +``` + +### uuid.parse(str) + +Convert UUID string to array of bytes + +| | | +| --------- | ---------------------------------------- | +| `str` | A valid UUID `String` | +| _returns_ | `Uint8Array[16]` | +| _throws_ | `TypeError` if `str` is not a valid UUID | + +Note: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below. + +Example: + +```javascript +import { parse as uuidParse } from 'uuid'; + +// Parse a UUID +const bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); + +// Convert to hex strings to show byte order (for documentation purposes) +[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ + // [ + // '6e', 'c0', 'bd', '7f', + // '11', 'c0', '43', 'da', + // '97', '5e', '2a', '8a', + // 'd9', 'eb', 'ae', '0b' + // ] +``` + +### uuid.stringify(arr[, offset]) + +Convert array of bytes to UUID string + +| | | +| -------------- | ---------------------------------------------------------------------------- | +| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. | +| [`offset` = 0] | `Number` Starting index in the Array | +| _returns_ | `String` | +| _throws_ | `TypeError` if a valid UUID string cannot be generated | + +Note: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below. + +Example: + +```javascript +import { stringify as uuidStringify } from 'uuid'; + +const uuidBytes = [ + 0x6e, + 0xc0, + 0xbd, + 0x7f, + 0x11, + 0xc0, + 0x43, + 0xda, + 0x97, + 0x5e, + 0x2a, + 0x8a, + 0xd9, + 0xeb, + 0xae, + 0x0b, +]; + +uuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b' +``` + +### uuid.v1([options[, buffer[, offset]]]) + +Create an RFC version 1 (timestamp) UUID + +| | | +| --- | --- | +| [`options`] | `Object` with one or more of the following properties: | +| [`options.node` ] | RFC "node" field as an `Array[6]` of byte values (per 4.1.6) | +| [`options.clockseq`] | RFC "clock sequence" as a `Number` between 0 - 0x3fff | +| [`options.msecs`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | +| [`options.nsecs`] | RFC "timestamp" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) | +| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | +| _throws_ | `Error` if more than 10M UUIDs/sec are requested | + +Note: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process. + +Note: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields. + +Example: + +```javascript +import { v1 as uuidv1 } from 'uuid'; + +uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d' +``` + +Example using `options`: + +```javascript +import { v1 as uuidv1 } from 'uuid'; + +const v1options = { + node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], + clockseq: 0x1234, + msecs: new Date('2011-11-01').getTime(), + nsecs: 5678, +}; +uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab' +``` + +### uuid.v3(name, namespace[, buffer[, offset]]) + +Create an RFC version 3 (namespace w/ MD5) UUID + +API is identical to `v5()`, but uses "v3" instead. + +⚠️ Note: Per the RFC, "_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_." + +### uuid.v4([options[, buffer[, offset]]]) + +Create an RFC version 4 (random) UUID + +| | | +| --- | --- | +| [`options`] | `Object` with one or more of the following properties: | +| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | + +Example: + +```javascript +import { v4 as uuidv4 } from 'uuid'; + +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +Example using predefined `random` values: + +```javascript +import { v4 as uuidv4 } from 'uuid'; + +const v4options = { + random: [ + 0x10, + 0x91, + 0x56, + 0xbe, + 0xc4, + 0xfb, + 0xc1, + 0xea, + 0x71, + 0xb4, + 0xef, + 0xe1, + 0x67, + 0x1c, + 0x58, + 0x36, + ], +}; +uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836' +``` + +### uuid.v5(name, namespace[, buffer[, offset]]) + +Create an RFC version 5 (namespace w/ SHA-1) UUID + +| | | +| --- | --- | +| `name` | `String \| Array` | +| `namespace` | `String \| Array[16]` Namespace UUID | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | + +Note: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`. + +Example with custom namespace: + +```javascript +import { v5 as uuidv5 } from 'uuid'; + +// Define a custom namespace. Readers, create your own using something like +// https://www.uuidgenerator.net/ +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; + +uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681' +``` + +Example with RFC `URL` namespace: + +```javascript +import { v5 as uuidv5 } from 'uuid'; + +uuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1' +``` + +### uuid.validate(str) + +Test a string to see if it is a valid UUID + +| | | +| --------- | --------------------------------------------------- | +| `str` | `String` to validate | +| _returns_ | `true` if string is a valid UUID, `false` otherwise | + +Example: + +```javascript +import { validate as uuidValidate } from 'uuid'; + +uuidValidate('not a UUID'); // ⇨ false +uuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true +``` + +Using `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds. + +```javascript +import { version as uuidVersion } from 'uuid'; +import { validate as uuidValidate } from 'uuid'; + +function uuidValidateV4(uuid) { + return uuidValidate(uuid) && uuidVersion(uuid) === 4; +} + +const v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210'; +const v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836'; + +uuidValidateV4(v4Uuid); // ⇨ true +uuidValidateV4(v1Uuid); // ⇨ false +``` + +### uuid.version(str) + +Detect RFC version of a UUID + +| | | +| --------- | ---------------------------------------- | +| `str` | A valid UUID `String` | +| _returns_ | `Number` The RFC version of the UUID | +| _throws_ | `TypeError` if `str` is not a valid UUID | + +Example: + +```javascript +import { version as uuidVersion } from 'uuid'; + +uuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1 +uuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4 +``` + +## Command Line + +UUIDs can be generated from the command line using `uuid`. + +```shell +$ uuid +ddeb27fb-d9a0-4624-be4d-4615062daed4 +``` + +The default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details: + +```shell +$ uuid --help + +Usage: + uuid + uuid v1 + uuid v3 + uuid v4 + uuid v5 + uuid --help + +Note: may be "URL" or "DNS" to use the corresponding UUIDs +defined by RFC4122 +``` + +## ECMAScript Modules + +This library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments). + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +To run the examples you must first create a dist build of this library in the module root: + +```shell +npm run build +``` + +## CDN Builds + +### ECMAScript Modules + +To load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/): + +```html + +``` + +### UMD + +To load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs: + +**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**: + +```html + +``` + +**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**: + +```html + +``` + +**Using [cdnjs](https://cdnjs.com/libraries/uuid)**: + +```html + +``` + +These CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method: + +```html + +``` + +Methods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively. + +## "getRandomValues() not supported" + +This error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill: + +### React Native / Expo + +1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme) +1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point: + +```javascript +import 'react-native-get-random-values'; +import { v4 as uuidv4 } from 'uuid'; +``` + +Note: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`. + +### Web Workers / Service Workers (Edge <= 18) + +[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please). + +## Upgrading From `uuid@7.x` + +### Only Named Exports Supported When Using with Node.js ESM + +`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports. + +Instead of doing: + +```javascript +import uuid from 'uuid'; +uuid.v4(); +``` + +you will now have to use the named exports: + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); +``` + +### Deep Requires No Longer Supported + +Deep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported. + +## Upgrading From `uuid@3.x` + +"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_" + +In order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped. + +### Deep Requires Now Deprecated + +`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds: + +```javascript +const uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED! +uuidv4(); +``` + +As of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do "tree-shaking" to remove dead code. Instead, use the `import` syntax: + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); +``` + +... or for CommonJS: + +```javascript +const { v4: uuidv4 } = require('uuid'); +uuidv4(); +``` + +### Default Export Removed + +`uuid@3.x` was exporting the Version 4 UUID method as a default export: + +```javascript +const uuid = require('uuid'); // <== REMOVED! +``` + +This usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`. + +---- +Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd) \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/bin/uuid b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/bin/uuid new file mode 100755 index 0000000..f38d2ee --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/bin/uuid @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('../uuid-bin'); diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/index.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/index.js new file mode 100644 index 0000000..1db6f6d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/index.js @@ -0,0 +1,9 @@ +export { default as v1 } from './v1.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as NIL } from './nil.js'; +export { default as version } from './version.js'; +export { default as validate } from './validate.js'; +export { default as stringify } from './stringify.js'; +export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/md5.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/md5.js new file mode 100644 index 0000000..8b5d46a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/md5.js @@ -0,0 +1,215 @@ +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ +function md5(bytes) { + if (typeof bytes === 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = new Uint8Array(msg.length); + + for (var i = 0; i < msg.length; ++i) { + bytes[i] = msg.charCodeAt(i); + } + } + + return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); +} +/* + * Convert an array of little-endian words to an array of bytes + */ + + +function md5ToHexEncodedArray(input) { + var output = []; + var length32 = input.length * 32; + var hexTab = '0123456789abcdef'; + + for (var i = 0; i < length32; i += 8) { + var x = input[i >> 5] >>> i % 32 & 0xff; + var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); + output.push(hex); + } + + return output; +} +/** + * Calculate output length with padding and bit length + */ + + +function getOutputLength(inputLength8) { + return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; +} +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << len % 32; + x[getOutputLength(len) - 1] = len; + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for (var i = 0; i < x.length; i += 16) { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + + return [a, b, c, d]; +} +/* + * Convert an array bytes to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + +function bytesToWords(input) { + if (input.length === 0) { + return []; + } + + var length8 = input.length * 8; + var output = new Uint32Array(getOutputLength(length8)); + + for (var i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; + } + + return output; +} +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + +function safeAdd(x, y) { + var lsw = (x & 0xffff) + (y & 0xffff); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return msw << 16 | lsw & 0xffff; +} +/* + * Bitwise rotate a 32-bit number to the left. + */ + + +function bitRotateLeft(num, cnt) { + return num << cnt | num >>> 32 - cnt; +} +/* + * These functions implement the four basic operations the algorithm uses. + */ + + +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} + +function md5ff(a, b, c, d, x, s, t) { + return md5cmn(b & c | ~b & d, a, b, x, s, t); +} + +function md5gg(a, b, c, d, x, s, t) { + return md5cmn(b & d | c & ~d, a, b, x, s, t); +} + +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} + +export default md5; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/nil.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/nil.js new file mode 100644 index 0000000..b36324c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/parse.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/parse.js new file mode 100644 index 0000000..7c5b1d5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/parse.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; + +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + var v; + var arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +export default parse; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/regex.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/regex.js new file mode 100644 index 0000000..3da8673 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/regex.js @@ -0,0 +1 @@ +export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/rng.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/rng.js new file mode 100644 index 0000000..8abbf2e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/rng.js @@ -0,0 +1,19 @@ +// Unique ID creation requires a high quality random # generator. In the browser we therefore +// require the crypto API and do not support built-in fallback to lower quality random number +// generators (like Math.random()). +var getRandomValues; +var rnds8 = new Uint8Array(16); +export default function rng() { + // lazy load so that environments that need to polyfill have a chance to do so + if (!getRandomValues) { + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, + // find the complete implementation of crypto (msCrypto) on IE11. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); + + if (!getRandomValues) { + throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); + } + } + + return getRandomValues(rnds8); +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/sha1.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/sha1.js new file mode 100644 index 0000000..940548b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/sha1.js @@ -0,0 +1,96 @@ +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +function f(s, x, y, z) { + switch (s) { + case 0: + return x & y ^ ~x & z; + + case 1: + return x ^ y ^ z; + + case 2: + return x & y ^ x & z ^ y & z; + + case 3: + return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return x << n | x >>> 32 - n; +} + +function sha1(bytes) { + var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof bytes === 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = []; + + for (var i = 0; i < msg.length; ++i) { + bytes.push(msg.charCodeAt(i)); + } + } else if (!Array.isArray(bytes)) { + // Convert Array-like to Array + bytes = Array.prototype.slice.call(bytes); + } + + bytes.push(0x80); + var l = bytes.length / 4 + 2; + var N = Math.ceil(l / 16); + var M = new Array(N); + + for (var _i = 0; _i < N; ++_i) { + var arr = new Uint32Array(16); + + for (var j = 0; j < 16; ++j) { + arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3]; + } + + M[_i] = arr; + } + + M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; + + for (var _i2 = 0; _i2 < N; ++_i2) { + var W = new Uint32Array(80); + + for (var t = 0; t < 16; ++t) { + W[t] = M[_i2][t]; + } + + for (var _t = 16; _t < 80; ++_t) { + W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1); + } + + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + for (var _t2 = 0; _t2 < 80; ++_t2) { + var s = Math.floor(_t2 / 20); + var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = H[0] + a >>> 0; + H[1] = H[1] + b >>> 0; + H[2] = H[2] + c >>> 0; + H[3] = H[3] + d >>> 0; + H[4] = H[4] + e >>> 0; + } + + return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; +} + +export default sha1; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/stringify.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/stringify.js new file mode 100644 index 0000000..3102111 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/stringify.js @@ -0,0 +1,30 @@ +import validate from './validate.js'; +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +var byteToHex = []; + +for (var i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr) { + var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +export default stringify; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v1.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v1.js new file mode 100644 index 0000000..1a22591 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v1.js @@ -0,0 +1,95 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +var _nodeId; + +var _clockseq; // Previous uuid creation time + + +var _lastMSecs = 0; +var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || new Array(16); + options = options || {}; + var node = options.node || _nodeId; + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + var seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (var n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || stringify(b); +} + +export default v1; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v3.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v3.js new file mode 100644 index 0000000..c9ab9a4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v3.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import md5 from './md5.js'; +var v3 = v35('v3', 0x30, md5); +export default v3; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v35.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v35.js new file mode 100644 index 0000000..31dd8a1 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v35.js @@ -0,0 +1,64 @@ +import stringify from './stringify.js'; +import parse from './parse.js'; + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + var bytes = []; + + for (var i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +export var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function (name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + var bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (var i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v4.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v4.js new file mode 100644 index 0000000..404810a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v4.js @@ -0,0 +1,24 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; + +function v4(options, buf, offset) { + options = options || {}; + var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (var i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return stringify(rnds); +} + +export default v4; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v5.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v5.js new file mode 100644 index 0000000..c08d96b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/v5.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import sha1 from './sha1.js'; +var v5 = v35('v5', 0x50, sha1); +export default v5; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/validate.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/validate.js new file mode 100644 index 0000000..f1cdc7a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/validate.js @@ -0,0 +1,7 @@ +import REGEX from './regex.js'; + +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} + +export default validate; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/version.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/version.js new file mode 100644 index 0000000..77530e9 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-browser/version.js @@ -0,0 +1,11 @@ +import validate from './validate.js'; + +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +export default version; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/index.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/index.js new file mode 100644 index 0000000..1db6f6d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/index.js @@ -0,0 +1,9 @@ +export { default as v1 } from './v1.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as NIL } from './nil.js'; +export { default as version } from './version.js'; +export { default as validate } from './validate.js'; +export { default as stringify } from './stringify.js'; +export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/md5.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/md5.js new file mode 100644 index 0000000..4d68b04 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/md5.js @@ -0,0 +1,13 @@ +import crypto from 'crypto'; + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return crypto.createHash('md5').update(bytes).digest(); +} + +export default md5; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/nil.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/nil.js new file mode 100644 index 0000000..b36324c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/parse.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/parse.js new file mode 100644 index 0000000..6421c5d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/parse.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; + +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +export default parse; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/regex.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/regex.js new file mode 100644 index 0000000..3da8673 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/regex.js @@ -0,0 +1 @@ +export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/rng.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/rng.js new file mode 100644 index 0000000..8006244 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/rng.js @@ -0,0 +1,12 @@ +import crypto from 'crypto'; +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; +export default function rng() { + if (poolPtr > rnds8Pool.length - 16) { + crypto.randomFillSync(rnds8Pool); + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/sha1.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/sha1.js new file mode 100644 index 0000000..e23850b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/sha1.js @@ -0,0 +1,13 @@ +import crypto from 'crypto'; + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return crypto.createHash('sha1').update(bytes).digest(); +} + +export default sha1; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/stringify.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/stringify.js new file mode 100644 index 0000000..f9bca12 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/stringify.js @@ -0,0 +1,29 @@ +import validate from './validate.js'; +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +export default stringify; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v1.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v1.js new file mode 100644 index 0000000..ebf81ac --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v1.js @@ -0,0 +1,95 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || stringify(b); +} + +export default v1; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v3.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v3.js new file mode 100644 index 0000000..09063b8 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v3.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import md5 from './md5.js'; +const v3 = v35('v3', 0x30, md5); +export default v3; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v35.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v35.js new file mode 100644 index 0000000..22f6a19 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v35.js @@ -0,0 +1,64 @@ +import stringify from './stringify.js'; +import parse from './parse.js'; + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function (name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v4.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v4.js new file mode 100644 index 0000000..efad926 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v4.js @@ -0,0 +1,24 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; + +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return stringify(rnds); +} + +export default v4; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v5.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v5.js new file mode 100644 index 0000000..e87fe31 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/v5.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import sha1 from './sha1.js'; +const v5 = v35('v5', 0x50, sha1); +export default v5; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/validate.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/validate.js new file mode 100644 index 0000000..f1cdc7a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/validate.js @@ -0,0 +1,7 @@ +import REGEX from './regex.js'; + +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} + +export default validate; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/version.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/version.js new file mode 100644 index 0000000..77530e9 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/esm-node/version.js @@ -0,0 +1,11 @@ +import validate from './validate.js'; + +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +export default version; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/index.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/index.js new file mode 100644 index 0000000..bf13b10 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/index.js @@ -0,0 +1,79 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "v1", { + enumerable: true, + get: function () { + return _v.default; + } +}); +Object.defineProperty(exports, "v3", { + enumerable: true, + get: function () { + return _v2.default; + } +}); +Object.defineProperty(exports, "v4", { + enumerable: true, + get: function () { + return _v3.default; + } +}); +Object.defineProperty(exports, "v5", { + enumerable: true, + get: function () { + return _v4.default; + } +}); +Object.defineProperty(exports, "NIL", { + enumerable: true, + get: function () { + return _nil.default; + } +}); +Object.defineProperty(exports, "version", { + enumerable: true, + get: function () { + return _version.default; + } +}); +Object.defineProperty(exports, "validate", { + enumerable: true, + get: function () { + return _validate.default; + } +}); +Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return _stringify.default; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _parse.default; + } +}); + +var _v = _interopRequireDefault(require("./v1.js")); + +var _v2 = _interopRequireDefault(require("./v3.js")); + +var _v3 = _interopRequireDefault(require("./v4.js")); + +var _v4 = _interopRequireDefault(require("./v5.js")); + +var _nil = _interopRequireDefault(require("./nil.js")); + +var _version = _interopRequireDefault(require("./version.js")); + +var _validate = _interopRequireDefault(require("./validate.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +var _parse = _interopRequireDefault(require("./parse.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/md5-browser.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/md5-browser.js new file mode 100644 index 0000000..7a4582a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/md5-browser.js @@ -0,0 +1,223 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ +function md5(bytes) { + if (typeof bytes === 'string') { + const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = new Uint8Array(msg.length); + + for (let i = 0; i < msg.length; ++i) { + bytes[i] = msg.charCodeAt(i); + } + } + + return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); +} +/* + * Convert an array of little-endian words to an array of bytes + */ + + +function md5ToHexEncodedArray(input) { + const output = []; + const length32 = input.length * 32; + const hexTab = '0123456789abcdef'; + + for (let i = 0; i < length32; i += 8) { + const x = input[i >> 5] >>> i % 32 & 0xff; + const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); + output.push(hex); + } + + return output; +} +/** + * Calculate output length with padding and bit length + */ + + +function getOutputLength(inputLength8) { + return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; +} +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << len % 32; + x[getOutputLength(len) - 1] = len; + let a = 1732584193; + let b = -271733879; + let c = -1732584194; + let d = 271733878; + + for (let i = 0; i < x.length; i += 16) { + const olda = a; + const oldb = b; + const oldc = c; + const oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + + return [a, b, c, d]; +} +/* + * Convert an array bytes to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + +function bytesToWords(input) { + if (input.length === 0) { + return []; + } + + const length8 = input.length * 8; + const output = new Uint32Array(getOutputLength(length8)); + + for (let i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; + } + + return output; +} +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + +function safeAdd(x, y) { + const lsw = (x & 0xffff) + (y & 0xffff); + const msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return msw << 16 | lsw & 0xffff; +} +/* + * Bitwise rotate a 32-bit number to the left. + */ + + +function bitRotateLeft(num, cnt) { + return num << cnt | num >>> 32 - cnt; +} +/* + * These functions implement the four basic operations the algorithm uses. + */ + + +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} + +function md5ff(a, b, c, d, x, s, t) { + return md5cmn(b & c | ~b & d, a, b, x, s, t); +} + +function md5gg(a, b, c, d, x, s, t) { + return md5cmn(b & d | c & ~d, a, b, x, s, t); +} + +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} + +var _default = md5; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/md5.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/md5.js new file mode 100644 index 0000000..824d481 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/md5.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('md5').update(bytes).digest(); +} + +var _default = md5; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/nil.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/nil.js new file mode 100644 index 0000000..7ade577 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/nil.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/parse.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/parse.js new file mode 100644 index 0000000..4c69fc3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/parse.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +var _default = parse; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/regex.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/regex.js new file mode 100644 index 0000000..1ef91d6 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/regex.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/rng-browser.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/rng-browser.js new file mode 100644 index 0000000..91faeae --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/rng-browser.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rng; +// Unique ID creation requires a high quality random # generator. In the browser we therefore +// require the crypto API and do not support built-in fallback to lower quality random number +// generators (like Math.random()). +let getRandomValues; +const rnds8 = new Uint8Array(16); + +function rng() { + // lazy load so that environments that need to polyfill have a chance to do so + if (!getRandomValues) { + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, + // find the complete implementation of crypto (msCrypto) on IE11. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); + + if (!getRandomValues) { + throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); + } + } + + return getRandomValues(rnds8); +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/rng.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/rng.js new file mode 100644 index 0000000..3507f93 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/rng.js @@ -0,0 +1,24 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rng; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; + +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/sha1-browser.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/sha1-browser.js new file mode 100644 index 0000000..24cbced --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/sha1-browser.js @@ -0,0 +1,104 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +function f(s, x, y, z) { + switch (s) { + case 0: + return x & y ^ ~x & z; + + case 1: + return x ^ y ^ z; + + case 2: + return x & y ^ x & z ^ y & z; + + case 3: + return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return x << n | x >>> 32 - n; +} + +function sha1(bytes) { + const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof bytes === 'string') { + const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = []; + + for (let i = 0; i < msg.length; ++i) { + bytes.push(msg.charCodeAt(i)); + } + } else if (!Array.isArray(bytes)) { + // Convert Array-like to Array + bytes = Array.prototype.slice.call(bytes); + } + + bytes.push(0x80); + const l = bytes.length / 4 + 2; + const N = Math.ceil(l / 16); + const M = new Array(N); + + for (let i = 0; i < N; ++i) { + const arr = new Uint32Array(16); + + for (let j = 0; j < 16; ++j) { + arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3]; + } + + M[i] = arr; + } + + M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; + + for (let i = 0; i < N; ++i) { + const W = new Uint32Array(80); + + for (let t = 0; t < 16; ++t) { + W[t] = M[i][t]; + } + + for (let t = 16; t < 80; ++t) { + W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); + } + + let a = H[0]; + let b = H[1]; + let c = H[2]; + let d = H[3]; + let e = H[4]; + + for (let t = 0; t < 80; ++t) { + const s = Math.floor(t / 20); + const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = H[0] + a >>> 0; + H[1] = H[1] + b >>> 0; + H[2] = H[2] + c >>> 0; + H[3] = H[3] + d >>> 0; + H[4] = H[4] + e >>> 0; + } + + return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; +} + +var _default = sha1; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/sha1.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/sha1.js new file mode 100644 index 0000000..03bdd63 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/sha1.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('sha1').update(bytes).digest(); +} + +var _default = sha1; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/stringify.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/stringify.js new file mode 100644 index 0000000..b8e7519 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/stringify.js @@ -0,0 +1,39 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuid.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuid.min.js new file mode 100644 index 0000000..639ca2f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuid.min.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).uuid={})}(this,(function(r){"use strict";var e,n=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(n)}var o=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function a(r){return"string"==typeof r&&o.test(r)}for(var i,u,f=[],s=0;s<256;++s)f.push((s+256).toString(16).substr(1));function c(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[r[e+0]]+f[r[e+1]]+f[r[e+2]]+f[r[e+3]]+"-"+f[r[e+4]]+f[r[e+5]]+"-"+f[r[e+6]]+f[r[e+7]]+"-"+f[r[e+8]]+f[r[e+9]]+"-"+f[r[e+10]]+f[r[e+11]]+f[r[e+12]]+f[r[e+13]]+f[r[e+14]]+f[r[e+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n}var l=0,d=0;function v(r){if(!a(r))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(r.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(r.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(r.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(r.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n}function p(r,e,n){function t(r,t,o,a){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],n=0;n>>9<<4)+1}function y(r,e){var n=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(n>>16)<<16|65535&n}function g(r,e,n,t,o,a){return y((i=y(y(e,r),y(t,a)))<<(u=o)|i>>>32-u,n);var i,u}function m(r,e,n,t,o,a,i){return g(e&n|~e&t,r,e,o,a,i)}function w(r,e,n,t,o,a,i){return g(e&t|n&~t,r,e,o,a,i)}function b(r,e,n,t,o,a,i){return g(e^n^t,r,e,o,a,i)}function A(r,e,n,t,o,a,i){return g(n^(e|~t),r,e,o,a,i)}var U=p("v3",48,(function(r){if("string"==typeof r){var e=unescape(encodeURIComponent(r));r=new Uint8Array(e.length);for(var n=0;n>5]>>>o%32&255,i=parseInt(t.charAt(a>>>4&15)+t.charAt(15&a),16);e.push(i)}return e}(function(r,e){r[e>>5]|=128<>5]|=(255&r[t/8])<>>32-e}var R=p("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var t=unescape(encodeURIComponent(r));r=[];for(var o=0;o>>0;w=m,m=g,g=C(y,30)>>>0,y=h,h=U}n[0]=n[0]+h>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+w>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));r.NIL="00000000-0000-0000-0000-000000000000",r.parse=v,r.stringify=c,r.v1=function(r,e,n){var o=e&&n||0,a=e||new Array(16),f=(r=r||{}).node||i,s=void 0!==r.clockseq?r.clockseq:u;if(null==f||null==s){var v=r.random||(r.rng||t)();null==f&&(f=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==s&&(s=u=16383&(v[6]<<8|v[7]))}var p=void 0!==r.msecs?r.msecs:Date.now(),h=void 0!==r.nsecs?r.nsecs:d+1,y=p-l+(h-d)/1e4;if(y<0&&void 0===r.clockseq&&(s=s+1&16383),(y<0||p>l)&&void 0===r.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=p,d=h,u=s;var g=(1e4*(268435455&(p+=122192928e5))+h)%4294967296;a[o++]=g>>>24&255,a[o++]=g>>>16&255,a[o++]=g>>>8&255,a[o++]=255&g;var m=p/4294967296*1e4&268435455;a[o++]=m>>>8&255,a[o++]=255&m,a[o++]=m>>>24&15|16,a[o++]=m>>>16&255,a[o++]=s>>>8|128,a[o++]=255&s;for(var w=0;w<6;++w)a[o+w]=f[w];return e||c(a)},r.v3=U,r.v4=function(r,e,n){var o=(r=r||{}).random||(r.rng||t)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var a=0;a<16;++a)e[n+a]=o[a];return e}return c(o)},r.v5=R,r.validate=a,r.version=function(r){if(!a(r))throw TypeError("Invalid UUID");return parseInt(r.substr(14,1),16)},Object.defineProperty(r,"__esModule",{value:!0})})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidNIL.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidNIL.min.js new file mode 100644 index 0000000..30b28a7 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidNIL.min.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidNIL=n()}(this,(function(){"use strict";return"00000000-0000-0000-0000-000000000000"})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidParse.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidParse.min.js new file mode 100644 index 0000000..d48ea6a --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidParse.min.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidParse=n()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(n){if(!function(n){return"string"==typeof n&&e.test(n)}(n))throw TypeError("Invalid UUID");var t,i=new Uint8Array(16);return i[0]=(t=parseInt(n.slice(0,8),16))>>>24,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i[4]=(t=parseInt(n.slice(9,13),16))>>>8,i[5]=255&t,i[6]=(t=parseInt(n.slice(14,18),16))>>>8,i[7]=255&t,i[8]=(t=parseInt(n.slice(19,23),16))>>>8,i[9]=255&t,i[10]=(t=parseInt(n.slice(24,36),16))/1099511627776&255,i[11]=t/4294967296&255,i[12]=t>>>24&255,i[13]=t>>>16&255,i[14]=t>>>8&255,i[15]=255&t,i}})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidStringify.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidStringify.min.js new file mode 100644 index 0000000..fd39adc --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidStringify.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidStringify=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){return"string"==typeof t&&e.test(t)}for(var i=[],n=0;n<256;++n)i.push((n+256).toString(16).substr(1));return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,f=(i[e[n+0]]+i[e[n+1]]+i[e[n+2]]+i[e[n+3]]+"-"+i[e[n+4]]+i[e[n+5]]+"-"+i[e[n+6]]+i[e[n+7]]+"-"+i[e[n+8]]+i[e[n+9]]+"-"+i[e[n+10]]+i[e[n+11]]+i[e[n+12]]+i[e[n+13]]+i[e[n+14]]+i[e[n+15]]).toLowerCase();if(!t(f))throw TypeError("Stringified UUID is invalid");return f}})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidValidate.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidValidate.min.js new file mode 100644 index 0000000..378e5b9 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidValidate.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidValidate=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){return"string"==typeof t&&e.test(t)}})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidVersion.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidVersion.min.js new file mode 100644 index 0000000..274bb09 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidVersion.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidVersion=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){if(!function(t){return"string"==typeof t&&e.test(t)}(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv1.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv1.min.js new file mode 100644 index 0000000..2622889 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv1.min.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidv1=o()}(this,(function(){"use strict";var e,o=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(e){return"string"==typeof e&&n.test(e)}for(var i,u,s=[],a=0;a<256;++a)s.push((a+256).toString(16).substr(1));var d=0,f=0;return function(e,o,n){var a=o&&n||0,c=o||new Array(16),l=(e=e||{}).node||i,p=void 0!==e.clockseq?e.clockseq:u;if(null==l||null==p){var v=e.random||(e.rng||t)();null==l&&(l=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==p&&(p=u=16383&(v[6]<<8|v[7]))}var y=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,g=y-d+(m-f)/1e4;if(g<0&&void 0===e.clockseq&&(p=p+1&16383),(g<0||y>d)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");d=y,f=m,u=p;var h=(1e4*(268435455&(y+=122192928e5))+m)%4294967296;c[a++]=h>>>24&255,c[a++]=h>>>16&255,c[a++]=h>>>8&255,c[a++]=255&h;var w=y/4294967296*1e4&268435455;c[a++]=w>>>8&255,c[a++]=255&w,c[a++]=w>>>24&15|16,c[a++]=w>>>16&255,c[a++]=p>>>8|128,c[a++]=255&p;for(var b=0;b<6;++b)c[a+b]=l[b];return o||function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(s[e[o+0]]+s[e[o+1]]+s[e[o+2]]+s[e[o+3]]+"-"+s[e[o+4]]+s[e[o+5]]+"-"+s[e[o+6]]+s[e[o+7]]+"-"+s[e[o+8]]+s[e[o+9]]+"-"+s[e[o+10]]+s[e[o+11]]+s[e[o+12]]+s[e[o+13]]+s[e[o+14]]+s[e[o+15]]).toLowerCase();if(!r(t))throw TypeError("Stringified UUID is invalid");return t}(c)}})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv3.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv3.min.js new file mode 100644 index 0000000..8d37b62 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv3.min.js @@ -0,0 +1 @@ +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n="undefined"!=typeof globalThis?globalThis:n||self).uuidv3=r()}(this,(function(){"use strict";var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(r){return"string"==typeof r&&n.test(r)}for(var e=[],t=0;t<256;++t)e.push((t+256).toString(16).substr(1));function i(n){return 14+(n+64>>>9<<4)+1}function o(n,r){var e=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(e>>16)<<16|65535&e}function a(n,r,e,t,i,a){return o((f=o(o(r,n),o(t,a)))<<(u=i)|f>>>32-u,e);var f,u}function f(n,r,e,t,i,o,f){return a(r&e|~r&t,n,r,i,o,f)}function u(n,r,e,t,i,o,f){return a(r&t|e&~t,n,r,i,o,f)}function c(n,r,e,t,i,o,f){return a(r^e^t,n,r,i,o,f)}function s(n,r,e,t,i,o,f){return a(e^(r|~t),n,r,i,o,f)}return function(n,t,i){function o(n,o,a,f){if("string"==typeof n&&(n=function(n){n=unescape(encodeURIComponent(n));for(var r=[],e=0;e>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=255&e,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=255&e,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=255&e,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=255&e,t}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+n.length);if(u.set(o),u.set(n,o.length),(u=i(u))[6]=15&u[6]|t,u[8]=63&u[8]|128,a){f=f||0;for(var c=0;c<16;++c)a[f+c]=u[c];return a}return function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(e[n[t+0]]+e[n[t+1]]+e[n[t+2]]+e[n[t+3]]+"-"+e[n[t+4]]+e[n[t+5]]+"-"+e[n[t+6]]+e[n[t+7]]+"-"+e[n[t+8]]+e[n[t+9]]+"-"+e[n[t+10]]+e[n[t+11]]+e[n[t+12]]+e[n[t+13]]+e[n[t+14]]+e[n[t+15]]).toLowerCase();if(!r(i))throw TypeError("Stringified UUID is invalid");return i}(u)}try{o.name=n}catch(n){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v3",48,(function(n){if("string"==typeof n){var r=unescape(encodeURIComponent(n));n=new Uint8Array(r.length);for(var e=0;e>5]>>>i%32&255,a=parseInt(t.charAt(o>>>4&15)+t.charAt(15&o),16);r.push(a)}return r}(function(n,r){n[r>>5]|=128<>5]|=(255&n[t/8])<1&&void 0!==arguments[1]?arguments[1]:0,o=(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase();if(!r(o))throw TypeError("Stringified UUID is invalid");return o}(u)}})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv5.min.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv5.min.js new file mode 100644 index 0000000..ba6fc63 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/umd/uuidv5.min.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).uuidv5=e()}(this,(function(){"use strict";var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function e(e){return"string"==typeof e&&r.test(e)}for(var t=[],n=0;n<256;++n)t.push((n+256).toString(16).substr(1));function a(r,e,t,n){switch(r){case 0:return e&t^~e&n;case 1:return e^t^n;case 2:return e&t^e&n^t&n;case 3:return e^t^n}}function o(r,e){return r<>>32-e}return function(r,n,a){function o(r,o,i,f){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],t=0;t>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(r.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(r.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(r.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+r.length);if(s.set(o),s.set(r,o.length),(s=a(s))[6]=15&s[6]|n,s[8]=63&s[8]|128,i){f=f||0;for(var u=0;u<16;++u)i[f+u]=s[u];return i}return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(t[r[n+0]]+t[r[n+1]]+t[r[n+2]]+t[r[n+3]]+"-"+t[r[n+4]]+t[r[n+5]]+"-"+t[r[n+6]]+t[r[n+7]]+"-"+t[r[n+8]]+t[r[n+9]]+"-"+t[r[n+10]]+t[r[n+11]]+t[r[n+12]]+t[r[n+13]]+t[r[n+14]]+t[r[n+15]]).toLowerCase();if(!e(a))throw TypeError("Stringified UUID is invalid");return a}(s)}try{o.name=r}catch(r){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var n=unescape(encodeURIComponent(r));r=[];for(var i=0;i>>0;A=U,U=w,w=o(b,30)>>>0,b=g,g=C}t[0]=t[0]+g>>>0,t[1]=t[1]+b>>>0,t[2]=t[2]+w>>>0,t[3]=t[3]+U>>>0,t[4]=t[4]+A>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,255&t[0],t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,255&t[1],t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,255&t[2],t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,255&t[3],t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,255&t[4]]}))})); \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/uuid-bin.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/uuid-bin.js new file mode 100644 index 0000000..50a7a9f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/uuid-bin.js @@ -0,0 +1,85 @@ +"use strict"; + +var _assert = _interopRequireDefault(require("assert")); + +var _v = _interopRequireDefault(require("./v1.js")); + +var _v2 = _interopRequireDefault(require("./v3.js")); + +var _v3 = _interopRequireDefault(require("./v4.js")); + +var _v4 = _interopRequireDefault(require("./v5.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function usage() { + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); +} + +const args = process.argv.slice(2); + +if (args.indexOf('--help') >= 0) { + usage(); + process.exit(0); +} + +const version = args.shift() || 'v4'; + +switch (version) { + case 'v1': + console.log((0, _v.default)()); + break; + + case 'v3': + { + const name = args.shift(); + let namespace = args.shift(); + (0, _assert.default)(name != null, 'v3 name not specified'); + (0, _assert.default)(namespace != null, 'v3 namespace not specified'); + + if (namespace === 'URL') { + namespace = _v2.default.URL; + } + + if (namespace === 'DNS') { + namespace = _v2.default.DNS; + } + + console.log((0, _v2.default)(name, namespace)); + break; + } + + case 'v4': + console.log((0, _v3.default)()); + break; + + case 'v5': + { + const name = args.shift(); + let namespace = args.shift(); + (0, _assert.default)(name != null, 'v5 name not specified'); + (0, _assert.default)(namespace != null, 'v5 namespace not specified'); + + if (namespace === 'URL') { + namespace = _v4.default.URL; + } + + if (namespace === 'DNS') { + namespace = _v4.default.DNS; + } + + console.log((0, _v4.default)(name, namespace)); + break; + } + + default: + usage(); + process.exit(1); +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v1.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v1.js new file mode 100644 index 0000000..abb9b3d --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v1.js @@ -0,0 +1,107 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(require("./rng.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || (0, _stringify.default)(b); +} + +var _default = v1; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v3.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v3.js new file mode 100644 index 0000000..6b47ff5 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v3.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _v = _interopRequireDefault(require("./v35.js")); + +var _md = _interopRequireDefault(require("./md5.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v35.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v35.js new file mode 100644 index 0000000..f784c63 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v35.js @@ -0,0 +1,78 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +exports.URL = exports.DNS = void 0; + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +var _parse = _interopRequireDefault(require("./parse.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; + +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v4.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v4.js new file mode 100644 index 0000000..838ce0b --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v4.js @@ -0,0 +1,37 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(require("./rng.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return (0, _stringify.default)(rnds); +} + +var _default = v4; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v5.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v5.js new file mode 100644 index 0000000..99d615e --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/v5.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _v = _interopRequireDefault(require("./v35.js")); + +var _sha = _interopRequireDefault(require("./sha1.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/validate.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/validate.js new file mode 100644 index 0000000..fd05215 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/validate.js @@ -0,0 +1,17 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _regex = _interopRequireDefault(require("./regex.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); +} + +var _default = validate; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/version.js b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/version.js new file mode 100644 index 0000000..b72949c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/dist/version.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +var _default = version; +exports.default = _default; \ No newline at end of file diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/package.json b/pkg/runner/testdata/actions/node20/node_modules/uuid/package.json new file mode 100644 index 0000000..f0ab371 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/package.json @@ -0,0 +1,135 @@ +{ + "name": "uuid", + "version": "8.3.2", + "description": "RFC4122 (v1, v4, and v5) UUIDs", + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "keywords": [ + "uuid", + "guid", + "rfc4122" + ], + "license": "MIT", + "bin": { + "uuid": "./dist/bin/uuid" + }, + "sideEffects": false, + "main": "./dist/index.js", + "exports": { + ".": { + "node": { + "module": "./dist/esm-node/index.js", + "require": "./dist/index.js", + "import": "./wrapper.mjs" + }, + "default": "./dist/esm-browser/index.js" + }, + "./package.json": "./package.json" + }, + "module": "./dist/esm-node/index.js", + "browser": { + "./dist/md5.js": "./dist/md5-browser.js", + "./dist/rng.js": "./dist/rng-browser.js", + "./dist/sha1.js": "./dist/sha1-browser.js", + "./dist/esm-node/index.js": "./dist/esm-browser/index.js" + }, + "files": [ + "CHANGELOG.md", + "CONTRIBUTING.md", + "LICENSE.md", + "README.md", + "dist", + "wrapper.mjs" + ], + "devDependencies": { + "@babel/cli": "7.11.6", + "@babel/core": "7.11.6", + "@babel/preset-env": "7.11.5", + "@commitlint/cli": "11.0.0", + "@commitlint/config-conventional": "11.0.0", + "@rollup/plugin-node-resolve": "9.0.0", + "babel-eslint": "10.1.0", + "bundlewatch": "0.3.1", + "eslint": "7.10.0", + "eslint-config-prettier": "6.12.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.1.4", + "eslint-plugin-promise": "4.2.1", + "eslint-plugin-standard": "4.0.1", + "husky": "4.3.0", + "jest": "25.5.4", + "lint-staged": "10.4.0", + "npm-run-all": "4.1.5", + "optional-dev-dependency": "2.0.1", + "prettier": "2.1.2", + "random-seed": "0.3.0", + "rollup": "2.28.2", + "rollup-plugin-terser": "7.0.2", + "runmd": "1.3.2", + "standard-version": "9.0.0" + }, + "optionalDevDependencies": { + "@wdio/browserstack-service": "6.4.0", + "@wdio/cli": "6.4.0", + "@wdio/jasmine-framework": "6.4.0", + "@wdio/local-runner": "6.4.0", + "@wdio/spec-reporter": "6.4.0", + "@wdio/static-server-service": "6.4.0", + "@wdio/sync": "6.4.0" + }, + "scripts": { + "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build", + "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build", + "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test", + "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test", + "lint": "npm run eslint:check && npm run prettier:check", + "eslint:check": "eslint src/ test/ examples/ *.js", + "eslint:fix": "eslint --fix src/ test/ examples/ *.js", + "pretest": "[ -n $CI ] || npm run build", + "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/", + "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**", + "test:browser": "wdio run ./wdio.conf.js", + "pretest:node": "npm run build", + "test:node": "npm-run-all --parallel examples:node:**", + "test:pack": "./scripts/testpack.sh", + "pretest:benchmark": "npm run build", + "test:benchmark": "cd examples/benchmark && npm install && npm test", + "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'", + "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'", + "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json", + "md": "runmd --watch --output=README.md README_js.md", + "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )", + "docs:diff": "npm run docs && git diff --quiet README.md", + "build": "./scripts/build.sh", + "prepack": "npm run build", + "release": "standard-version --no-verify" + }, + "repository": { + "type": "git", + "url": "https://github.com/uuidjs/uuid.git" + }, + "husky": { + "hooks": { + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,jsx,json,md}": [ + "prettier --write" + ], + "*.{js,jsx}": [ + "eslint --fix" + ] + }, + "standard-version": { + "scripts": { + "postchangelog": "prettier --write CHANGELOG.md" + } + } +} diff --git a/pkg/runner/testdata/actions/node20/node_modules/uuid/wrapper.mjs b/pkg/runner/testdata/actions/node20/node_modules/uuid/wrapper.mjs new file mode 100644 index 0000000..c31e9ce --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/uuid/wrapper.mjs @@ -0,0 +1,10 @@ +import uuid from './dist/index.js'; +export const v1 = uuid.v1; +export const v3 = uuid.v3; +export const v4 = uuid.v4; +export const v5 = uuid.v5; +export const NIL = uuid.NIL; +export const version = uuid.version; +export const validate = uuid.validate; +export const stringify = uuid.stringify; +export const parse = uuid.parse; diff --git a/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/LICENSE.md b/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/LICENSE.md new file mode 100644 index 0000000..d4a994f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/README.md b/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/README.md new file mode 100644 index 0000000..3657890 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/lib/index.js b/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/lib/index.js new file mode 100644 index 0000000..c5153a3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/package.json b/pkg/runner/testdata/actions/node20/node_modules/webidl-conversions/package.json new file mode 100644 index 0000000..c31bc07 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/LICENSE.txt b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/LICENSE.txt new file mode 100644 index 0000000..54dfac3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/README.md b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/README.md new file mode 100644 index 0000000..4347a7f --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/URL-impl.js b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/URL-impl.js new file mode 100644 index 0000000..dc7452c --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/URL.js b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/URL.js new file mode 100644 index 0000000..78c7207 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/public-api.js b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/public-api.js new file mode 100644 index 0000000..932dcad --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/url-state-machine.js b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/url-state-machine.js new file mode 100644 index 0000000..c25dbc2 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/utils.js b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/lib/utils.js new file mode 100644 index 0000000..a562009 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/package.json b/pkg/runner/testdata/actions/node20/node_modules/whatwg-url/package.json new file mode 100644 index 0000000..fce35ae --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/wrappy/LICENSE b/pkg/runner/testdata/actions/node20/node_modules/wrappy/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/wrappy/README.md b/pkg/runner/testdata/actions/node20/node_modules/wrappy/README.md new file mode 100644 index 0000000..98eab25 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/node_modules/wrappy/README.md @@ -0,0 +1,36 @@ +# wrappy + +Callback wrapping utility + +## USAGE + +```javascript +var wrappy = require("wrappy") + +// var wrapper = wrappy(wrapperFunction) + +// make sure a cb is called only once +// See also: http://npm.im/once for this specific use case +var once = wrappy(function (cb) { + var called = false + return function () { + if (called) return + called = true + return cb.apply(this, arguments) + } +}) + +function printBoo () { + console.log('boo') +} +// has some rando property +printBoo.iAmBooPrinter = true + +var onlyPrintOnce = once(printBoo) + +onlyPrintOnce() // prints 'boo' +onlyPrintOnce() // does nothing + +// random property is retained! +assert.equal(onlyPrintOnce.iAmBooPrinter, true) +``` diff --git a/pkg/runner/testdata/actions/node20/node_modules/wrappy/package.json b/pkg/runner/testdata/actions/node20/node_modules/wrappy/package.json new file mode 100644 index 0000000..1307520 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/node_modules/wrappy/wrappy.js b/pkg/runner/testdata/actions/node20/node_modules/wrappy/wrappy.js new file mode 100644 index 0000000..bb7e7d6 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/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/pkg/runner/testdata/actions/node20/package-lock.json b/pkg/runner/testdata/actions/node20/package-lock.json new file mode 100644 index 0000000..19933e4 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/package-lock.json @@ -0,0 +1,259 @@ +{ + "name": "node16", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "node16", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@actions/core": "^1.2.6", + "@actions/github": "^4.0.0" + }, + "devDependencies": { + "@vercel/ncc": "^0.24.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/github": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-4.0.0.tgz", + "integrity": "sha512-Ej/Y2E+VV6sR9X7pWL5F3VgEWrABaT292DRqRU6R4hnQjPtC/zD3nagxVdXWiRQvYDh8kHXo7IDmG42eJ/dOMA==", + "dependencies": { + "@actions/http-client": "^1.0.8", + "@octokit/core": "^3.0.0", + "@octokit/plugin-paginate-rest": "^2.2.3", + "@octokit/plugin-rest-endpoint-methods": "^4.0.0" + } + }, + "node_modules/@actions/github/node_modules/@actions/http-client": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", + "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "dependencies": { + "tunnel": "0.0.6" + } + }, + "node_modules/@actions/http-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.1.tgz", + "integrity": "sha512-qhrkRMB40bbbLo7gF+0vu+X+UawOvQQqNAA/5Unx774RS8poaOhThDOG6BGmxvAnxhQnDp2BG/ZUm65xZILTpw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "dependencies": { + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.15.1.tgz", + "integrity": "sha512-4gQg4ySoW7ktKB0Mf38fHzcSffVZd6mT5deJQtpqkuPuAqzlED5AJTeW8Uk7dPRn7KaOlWcXB0MedTFJU1j4qA==", + "dependencies": { + "@octokit/types": "^6.13.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@vercel/ncc": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.24.1.tgz", + "integrity": "sha512-r9m7brz2hNmq5TF3sxrK4qR/FhXn44XIMglQUir4sT7Sh5GOaYXlMYikHFwJStf8rmQGTlvOoBXt4yHVonRG8A==", + "dev": true, + "bin": { + "ncc": "dist/ncc/cli.js" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } +} diff --git a/pkg/runner/testdata/actions/node20/package.json b/pkg/runner/testdata/actions/node20/package.json new file mode 100644 index 0000000..271a172 --- /dev/null +++ b/pkg/runner/testdata/actions/node20/package.json @@ -0,0 +1,23 @@ +{ + "name": "node20", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "ncc build index.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@actions/core": "^1.2.6", + "@actions/github": "^4.0.0" + }, + "devDependencies": { + "@vercel/ncc": "^0.24.1" + }, + "engines": { + "node": ">=20" + } +} diff --git a/pkg/runner/testdata/local-action-js/push.yml b/pkg/runner/testdata/local-action-js/push.yml index 94b1fe5..4f3eb56 100644 --- a/pkg/runner/testdata/local-action-js/push.yml +++ b/pkg/runner/testdata/local-action-js/push.yml @@ -17,3 +17,11 @@ jobs: - uses: ./actions/node16 with: who-to-greet: 'Mona the Octocat' + + test-node20: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./actions/node20 + with: + who-to-greet: 'Mona the Octocat'